From b6d32999b9fbd272fc6977661eae7db2a2d859b7 Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Thu, 22 Jun 2023 01:11:06 +0200 Subject: [PATCH 01/57] Add `JavaVersion` compatible to `icon-pack` This now also contains Kotlin code. --- crypto/build.gradle | 7 ++++--- database/build.gradle | 7 +++++-- icon-pack/build.gradle | 9 +++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/crypto/build.gradle b/crypto/build.gradle index 1ddf5a873..bba3a7eed 100644 --- a/crypto/build.gradle +++ b/crypto/build.gradle @@ -23,7 +23,7 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } - + externalNativeBuild { cmake { path "src/main/jni/CMakeLists.txt" @@ -31,11 +31,12 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_1_8 } + kotlinOptions { - jvmTarget = '1.8' + jvmTarget = "1.8" } } diff --git a/database/build.gradle b/database/build.gradle index c1094d041..ad710fabd 100644 --- a/database/build.gradle +++ b/database/build.gradle @@ -20,13 +20,16 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_1_8 } + kotlinOptions { - jvmTarget = '1.8' + jvmTarget = "1.8" } + testOptions { unitTests { includeAndroidResources = true diff --git a/icon-pack/build.gradle b/icon-pack/build.gradle index 5ae83a35f..5285bb64c 100644 --- a/icon-pack/build.gradle +++ b/icon-pack/build.gradle @@ -10,6 +10,15 @@ android { minSdkVersion 14 targetSdkVersion 33 } + + compileOptions { + targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = "1.8" + } } dependencies { From a260e1d4e30c1d1ae96fa1b548bdda3737339526 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 29 Jul 2023 18:59:16 +0200 Subject: [PATCH 02/57] fix: Encapsulate Keyboard code --- .../EntrySelectionLauncherActivity.kt | 3 +- .../keepass/activities/GroupActivity.kt | 6 +- .../magikeyboard/MagikeyboardService.kt | 55 +++++---------- .../keepass/settings/PreferencesUtil.kt | 6 +- .../InputPreferenceDialogFragmentCompat.kt | 16 ----- .../kunzisoft/keepass/utils/KeyboardUtil.kt | 68 +++++++++++++++++++ .../keepass/view/MainCredentialView.kt | 7 +- .../keepass/view/TemplateAbstractView.kt | 7 +- 8 files changed, 97 insertions(+), 71 deletions(-) create mode 100644 app/src/main/java/com/kunzisoft/keepass/utils/KeyboardUtil.kt diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/EntrySelectionLauncherActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/EntrySelectionLauncherActivity.kt index 74af4eae9..679ab39ba 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/EntrySelectionLauncherActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/EntrySelectionLauncherActivity.kt @@ -31,6 +31,7 @@ import com.kunzisoft.keepass.database.helper.SearchHelper import com.kunzisoft.keepass.magikeyboard.MagikeyboardService 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.utils.WebDomain @@ -116,7 +117,7 @@ class EntrySelectionLauncherActivity : DatabaseModeActivity() { searchInfo: SearchInfo) { // Setting to integrate Magikeyboard - val searchShareForMagikeyboard = MagikeyboardService.activatedInSettings(this) + val searchShareForMagikeyboard = isKeyboardActivatedInSettings() // If database is open val readOnly = database?.isReadOnly != false diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt index cc3359cef..85524df24 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt @@ -35,7 +35,6 @@ import android.util.Log import android.view.Menu import android.view.MenuItem import android.view.View -import android.view.inputmethod.InputMethodManager import android.widget.ImageView import android.widget.ProgressBar import android.widget.TextView @@ -49,7 +48,6 @@ import androidx.appcompat.view.ActionMode import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.Toolbar import androidx.coordinatorlayout.widget.CoordinatorLayout -import androidx.core.content.ContextCompat import androidx.core.view.GravityCompat import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsControllerCompat @@ -97,6 +95,7 @@ import com.kunzisoft.keepass.settings.SettingsActivity import com.kunzisoft.keepass.tasks.ActionRunnable import com.kunzisoft.keepass.timeout.TimeoutHelper import com.kunzisoft.keepass.utils.BACK_PREVIOUS_KEYBOARD_ACTION +import com.kunzisoft.keepass.utils.KeyboardUtil.showKeyboard import com.kunzisoft.keepass.utils.UriUtil.openUrl import com.kunzisoft.keepass.utils.getParcelableCompat import com.kunzisoft.keepass.utils.getParcelableExtraCompat @@ -223,8 +222,7 @@ class GroupActivity : DatabaseLockActivity(), && PreferencesUtil.isKeyboardPreviousSearchEnable(this@GroupActivity)) { // Change to the previous keyboard and show it sendBroadcast(Intent(BACK_PREVIOUS_KEYBOARD_ACTION)) - ContextCompat.getSystemService(this, InputMethodManager::class.java) - ?.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT) + view.showKeyboard() } } diff --git a/app/src/main/java/com/kunzisoft/keepass/magikeyboard/MagikeyboardService.kt b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/MagikeyboardService.kt index 84fadbe59..34770e605 100644 --- a/app/src/main/java/com/kunzisoft/keepass/magikeyboard/MagikeyboardService.kt +++ b/app/src/main/java/com/kunzisoft/keepass/magikeyboard/MagikeyboardService.kt @@ -25,16 +25,17 @@ import android.content.Context import android.content.Intent import android.inputmethodservice.InputMethodService import android.media.AudioManager -import android.os.Build -import android.util.Log -import android.view.* +import android.view.Gravity +import android.view.HapticFeedbackConstants +import android.view.KeyEvent +import android.view.LayoutInflater +import android.view.View +import android.view.WindowManager import android.view.inputmethod.EditorInfo -import android.view.inputmethod.InputMethodManager import android.widget.FrameLayout import android.widget.ImageView import android.widget.PopupWindow import android.widget.TextView -import androidx.core.content.ContextCompat import androidx.core.graphics.BlendModeColorFilterCompat import androidx.core.graphics.BlendModeCompat import androidx.recyclerview.widget.LinearLayoutManager @@ -53,8 +54,14 @@ import com.kunzisoft.keepass.model.SearchInfo import com.kunzisoft.keepass.otp.OtpEntryFields.OTP_TOKEN_FIELD import com.kunzisoft.keepass.services.KeyboardEntryNotificationService import com.kunzisoft.keepass.settings.PreferencesUtil -import com.kunzisoft.keepass.utils.* -import java.util.* +import com.kunzisoft.keepass.utils.KeyboardUtil.showKeyboardPicker +import com.kunzisoft.keepass.utils.KeyboardUtil.switchToPreviousKeyboard +import com.kunzisoft.keepass.utils.LOCK_ACTION +import com.kunzisoft.keepass.utils.LockReceiver +import com.kunzisoft.keepass.utils.REMOVE_ENTRY_MAGIKEYBOARD_ACTION +import com.kunzisoft.keepass.utils.registerLockReceiver +import com.kunzisoft.keepass.utils.unregisterLockReceiver +import java.util.UUID class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionListener { @@ -239,24 +246,6 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL } } - private fun switchToPreviousKeyboard() { - var imeManager: InputMethodManager? = null - try { - imeManager = ContextCompat.getSystemService(this, InputMethodManager::class.java) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - switchToPreviousInputMethod() - } else { - @Suppress("DEPRECATION") - window.window?.let { window -> - imeManager?.switchToLastInputMethod(window.attributes.token) - } - } - } catch (e: Exception) { - Log.e(TAG, "Unable to switch to the previous IME", e) - imeManager?.showInputMethodPicker() - } - } - override fun onKey(primaryCode: Int, keyCodes: IntArray) { val inputConnection = currentInputConnection @@ -267,11 +256,11 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL playClick(primaryCode) when (primaryCode) { - KEY_BACK_KEYBOARD -> switchToPreviousKeyboard() - + KEY_BACK_KEYBOARD -> { + switchToPreviousKeyboard() + } KEY_CHANGE_KEYBOARD -> { - ContextCompat.getSystemService(this, InputMethodManager::class.java) - ?.showInputMethodPicker() + showKeyboardPicker() } KEY_ENTRY -> { var searchInfo: SearchInfo? = null @@ -471,14 +460,6 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL KeyboardEntryNotificationService.launchNotificationIfAllowed(context, entry, toast) } - fun activatedInSettings(context: Context): Boolean { - return ContextCompat.getSystemService(context, InputMethodManager::class.java) - ?.enabledInputMethodList - ?.any { - it.packageName == context.packageName - } ?: false - } - fun performSelection(items: List, actionPopulateKeyboard: (entryInfo: EntryInfo) -> Unit, actionEntrySelection: (autoSearch: Boolean) -> Unit) { diff --git a/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt b/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt index bc6e9e3e7..7d3367341 100644 --- a/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt +++ b/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt @@ -33,11 +33,11 @@ import com.kunzisoft.keepass.biometric.AdvancedUnlockManager import com.kunzisoft.keepass.database.element.SortNodeEnum import com.kunzisoft.keepass.database.search.SearchParameters import com.kunzisoft.keepass.education.Education -import com.kunzisoft.keepass.magikeyboard.MagikeyboardService import com.kunzisoft.keepass.password.PassphraseGenerator import com.kunzisoft.keepass.timeout.TimeoutHelper +import com.kunzisoft.keepass.utils.KeyboardUtil.isKeyboardActivatedInSettings import com.kunzisoft.keepass.utils.UriUtil.isContributingUser -import java.util.* +import java.util.Properties object PreferencesUtil { @@ -631,7 +631,7 @@ object PreferencesUtil { } fun isKeyboardSaveSearchInfoEnable(context: Context): Boolean { - if (!MagikeyboardService.activatedInSettings(context)) + if (!context.isKeyboardActivatedInSettings()) return false val prefs = PreferenceManager.getDefaultSharedPreferences(context) return prefs.getBoolean(context.getString(R.string.keyboard_save_search_info_key), diff --git a/app/src/main/java/com/kunzisoft/keepass/settings/preferencedialogfragment/InputPreferenceDialogFragmentCompat.kt b/app/src/main/java/com/kunzisoft/keepass/settings/preferencedialogfragment/InputPreferenceDialogFragmentCompat.kt index 86c83b36b..5803f309e 100644 --- a/app/src/main/java/com/kunzisoft/keepass/settings/preferencedialogfragment/InputPreferenceDialogFragmentCompat.kt +++ b/app/src/main/java/com/kunzisoft/keepass/settings/preferencedialogfragment/InputPreferenceDialogFragmentCompat.kt @@ -21,13 +21,11 @@ package com.kunzisoft.keepass.settings.preferencedialogfragment import android.view.View import android.view.inputmethod.EditorInfo -import android.view.inputmethod.InputMethodManager import android.widget.Button import android.widget.CompoundButton import android.widget.EditText import android.widget.TextView import androidx.annotation.StringRes -import androidx.core.content.ContextCompat import androidx.preference.PreferenceDialogFragmentCompat import com.kunzisoft.keepass.R @@ -157,20 +155,6 @@ abstract class InputPreferenceDialogFragmentCompat : PreferenceDialogFragmentCom switchElementView?.visibility = View.GONE } - protected fun hideKeyboard(): Boolean { - context?.let { - ContextCompat.getSystemService(it, InputMethodManager::class.java)?.let { inputManager -> - activity?.currentFocus?.let { focus -> - val windowToken = focus.windowToken - if (windowToken != null) { - return inputManager.hideSoftInputFromWindow(windowToken, 0) - } - } - } - } - return false - } - fun setSwitchAction(onCheckedChange: ((isChecked: Boolean)-> Unit)?, defaultChecked: Boolean) { switchElementView?.visibility = if (onCheckedChange == null) View.GONE else View.VISIBLE switchElementView?.isChecked = defaultChecked diff --git a/app/src/main/java/com/kunzisoft/keepass/utils/KeyboardUtil.kt b/app/src/main/java/com/kunzisoft/keepass/utils/KeyboardUtil.kt new file mode 100644 index 000000000..22cd132b3 --- /dev/null +++ b/app/src/main/java/com/kunzisoft/keepass/utils/KeyboardUtil.kt @@ -0,0 +1,68 @@ +package com.kunzisoft.keepass.utils + +import android.app.Activity +import android.content.Context +import android.inputmethodservice.InputMethodService +import android.os.Build +import android.util.Log +import android.view.View +import android.view.inputmethod.InputMethodManager +import androidx.core.content.ContextCompat + +object KeyboardUtil { + + fun Activity.hideKeyboard(): Boolean { + ContextCompat.getSystemService(this, InputMethodManager::class.java)?.let { inputManager -> + this.currentFocus?.let { focus -> + focus.windowToken?.let {windowToken -> + return inputManager.hideSoftInputFromWindow( + windowToken, 0) + } + } + } + return false + } + + fun View.hideKeyboard(): Boolean { + return ContextCompat.getSystemService(context, InputMethodManager::class.java) + ?.hideSoftInputFromWindow(windowToken, 0) ?: false + } + + fun View.showKeyboard() { + ContextCompat.getSystemService(context, InputMethodManager::class.java) + ?.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT) + } + + fun InputMethodService.switchToPreviousKeyboard() { + var imeManager: InputMethodManager? = null + try { + imeManager = ContextCompat.getSystemService(this, InputMethodManager::class.java) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + switchToPreviousInputMethod() + } else { + @Suppress("DEPRECATION") + window.window?.let { window -> + imeManager?.switchToLastInputMethod(window.attributes.token) + } + } + } catch (e: Exception) { + Log.e(TAG, "Unable to switch to the previous IME", e) + imeManager?.showInputMethodPicker() + } + } + + fun Context.showKeyboardPicker() { + ContextCompat.getSystemService(this, InputMethodManager::class.java) + ?.showInputMethodPicker() + } + + fun Context.isKeyboardActivatedInSettings(): Boolean { + return ContextCompat.getSystemService(this, InputMethodManager::class.java) + ?.enabledInputMethodList + ?.any { + it.packageName == this.packageName + } ?: false + } + + private const val TAG = "KeyboardUtil" +} \ No newline at end of file diff --git a/app/src/main/java/com/kunzisoft/keepass/view/MainCredentialView.kt b/app/src/main/java/com/kunzisoft/keepass/view/MainCredentialView.kt index 1c550ee5f..17c51b514 100644 --- a/app/src/main/java/com/kunzisoft/keepass/view/MainCredentialView.kt +++ b/app/src/main/java/com/kunzisoft/keepass/view/MainCredentialView.kt @@ -29,19 +29,17 @@ import android.util.AttributeSet import android.view.KeyEvent import android.view.LayoutInflater import android.view.inputmethod.EditorInfo -import android.view.inputmethod.InputMethodManager import android.widget.CompoundButton import android.widget.EditText import android.widget.FrameLayout import android.widget.TextView -import androidx.appcompat.app.AppCompatActivity -import androidx.core.content.ContextCompat import com.kunzisoft.keepass.R import com.kunzisoft.keepass.activities.helpers.ExternalFileHelper import com.kunzisoft.keepass.activities.helpers.setOpenDocumentClickListener import com.kunzisoft.keepass.database.MainCredential import com.kunzisoft.keepass.hardware.HardwareKey import com.kunzisoft.keepass.model.CredentialStorage +import com.kunzisoft.keepass.utils.KeyboardUtil.showKeyboard class MainCredentialView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, @@ -231,8 +229,7 @@ class MainCredentialView @JvmOverloads constructor(context: Context, fun focusPasswordFieldAndOpenKeyboard() { passwordTextView.postDelayed({ passwordTextView.requestFocusFromTouch() - ContextCompat.getSystemService(context, InputMethodManager::class.java) - ?.showSoftInput(passwordTextView, InputMethodManager.SHOW_IMPLICIT) + passwordTextView.showKeyboard() }, 100) } diff --git a/app/src/main/java/com/kunzisoft/keepass/view/TemplateAbstractView.kt b/app/src/main/java/com/kunzisoft/keepass/view/TemplateAbstractView.kt index c7cb63843..dd336c843 100644 --- a/app/src/main/java/com/kunzisoft/keepass/view/TemplateAbstractView.kt +++ b/app/src/main/java/com/kunzisoft/keepass/view/TemplateAbstractView.kt @@ -1,6 +1,5 @@ package com.kunzisoft.keepass.view -import android.app.Activity import android.content.Context import android.os.Build import android.os.Parcel @@ -11,11 +10,9 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.view.inputmethod.InputMethodManager import android.widget.FrameLayout import android.widget.ImageView import androidx.annotation.IdRes -import androidx.core.content.ContextCompat import com.kunzisoft.keepass.R import com.kunzisoft.keepass.database.element.DateInstant import com.kunzisoft.keepass.database.element.Field @@ -27,6 +24,7 @@ import com.kunzisoft.keepass.model.EntryInfo import com.kunzisoft.keepass.otp.OtpElement import com.kunzisoft.keepass.otp.OtpEntryFields import com.kunzisoft.keepass.settings.PreferencesUtil +import com.kunzisoft.keepass.utils.KeyboardUtil.hideKeyboard import com.kunzisoft.keepass.utils.readParcelableCompat @@ -102,8 +100,7 @@ abstract class TemplateAbstractView< } buildTemplateAndPopulateInfo() clearFocus() - ContextCompat.getSystemService(context, InputMethodManager::class.java) - ?.hideSoftInputFromWindow(windowToken, 0) + hideKeyboard() } } From 552684fd90c4275a521f1efa504643e9d351bdee Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 29 Jul 2023 21:40:00 +0200 Subject: [PATCH 03/57] feat: Delete entry from search --- .../keepass/activities/GroupActivity.kt | 56 +++++++++++-------- .../activities/fragments/GroupFragment.kt | 22 ++------ 2 files changed, 36 insertions(+), 42 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt index 85524df24..5774015fb 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt @@ -86,6 +86,7 @@ import com.kunzisoft.keepass.magikeyboard.MagikeyboardService import com.kunzisoft.keepass.model.GroupInfo import com.kunzisoft.keepass.model.RegisterInfo import com.kunzisoft.keepass.model.SearchInfo +import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_DELETE_NODES_TASK import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_UPDATE_ENTRY_TASK import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_UPDATE_GROUP_TASK import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.NEW_NODES_KEY @@ -226,6 +227,13 @@ class GroupActivity : DatabaseLockActivity(), } } + private val mEntryActivityResultLauncher = EntryEditActivity.registerForEntryResult(this) { entryId -> + entryId?.let { + // Simply refresh the list when entry is updated + loadGroup() + } ?: Log.e(this.javaClass.name, "Entry cannot be retrieved in Activity Result") + } + private fun addSearch() { finishNodeAction() if (mSearchState == null) { @@ -499,14 +507,12 @@ class GroupActivity : DatabaseLockActivity(), EntrySelectionHelper.doSpecialAction(intent, { mMainGroup?.nodeId?.let { currentParentGroupId -> - mGroupFragment?.mEntryActivityResultLauncher?.let { resultLauncher -> - EntryEditActivity.launchToCreate( - this@GroupActivity, - database, - currentParentGroupId, - resultLauncher - ) - } + EntryEditActivity.launchToCreate( + this@GroupActivity, + database, + currentParentGroupId, + mEntryActivityResultLauncher + ) } }, { @@ -706,6 +712,12 @@ class GroupActivity : DatabaseLockActivity(), } } } + ACTION_DATABASE_DELETE_NODES_TASK -> { + if (result.isSuccess) { + // To reload search + loadGroup() + } + } } coordinatorLayout?.showActionErrorIfNeeded(result) @@ -848,14 +860,12 @@ class GroupActivity : DatabaseLockActivity(), val entryVersioned = node as Entry EntrySelectionHelper.doSpecialAction(intent, { - mGroupFragment?.mEntryActivityResultLauncher?.let { resultLauncher -> - EntryActivity.launch( - this@GroupActivity, - database, - entryVersioned.nodeId, - resultLauncher - ) - } + EntryActivity.launch( + this@GroupActivity, + database, + entryVersioned.nodeId, + mEntryActivityResultLauncher + ) }, { // Nothing here, a search is simply performed @@ -1021,14 +1031,12 @@ class GroupActivity : DatabaseLockActivity(), launchDialogForGroupUpdate(node as Group) } Type.ENTRY -> { - mGroupFragment?.mEntryActivityResultLauncher?.let { resultLauncher -> - EntryEditActivity.launchToUpdate( - this@GroupActivity, - database, - (node as Entry).nodeId, - resultLauncher - ) - } + EntryEditActivity.launchToUpdate( + this@GroupActivity, + database, + (node as Entry).nodeId, + mEntryActivityResultLauncher + ) } } reloadGroupIfSearch() diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt index d71919e78..4f9c6fdc3 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt @@ -35,7 +35,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE import com.kunzisoft.keepass.R -import com.kunzisoft.keepass.activities.EntryEditActivity import com.kunzisoft.keepass.activities.dialogs.SortDialogFragment import com.kunzisoft.keepass.activities.helpers.EntrySelectionHelper import com.kunzisoft.keepass.activities.helpers.SpecialMode @@ -47,6 +46,7 @@ import com.kunzisoft.keepass.database.element.node.Node import com.kunzisoft.keepass.database.element.node.Type import com.kunzisoft.keepass.settings.PreferencesUtil import com.kunzisoft.keepass.tasks.ActionRunnable +import com.kunzisoft.keepass.utils.KeyboardUtil.hideKeyboard import com.kunzisoft.keepass.viewmodels.GroupViewModel import java.util.LinkedList @@ -79,19 +79,6 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen private var mRecycleBinEnable: Boolean = false private var mRecycleBin: Group? = null - var mEntryActivityResultLauncher = EntryEditActivity.registerForEntryResult(this) { entryId -> - entryId?.let { - // Simply refresh the list - rebuildList() - // Scroll to the new entry - mDatabase?.getEntryById(it)?.let { entry -> - mAdapter?.indexOf(entry)?.let { position -> - mNodesRecyclerView?.scrollToPosition(position) - } - } - } ?: Log.e(this.javaClass.name, "Entry cannot be retrieved in Activity Result") - } - private var mRecycleViewScrollListener = object : RecyclerView.OnScrollListener() { override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) { super.onScrollStateChanged(recyclerView, newState) @@ -186,8 +173,7 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen mAdapter = NodesAdapter(context, database).apply { setOnNodeClickListener(object : NodesAdapter.NodeClickCallback { override fun onNodeClick(database: ContextualDatabase, node: Node) { - if (mCurrentGroup?.isVirtual == false - && nodeActionSelectionMode) { + if (nodeActionSelectionMode) { if (listActionNodes.contains(node)) { // Remove selected item if already selected listActionNodes.remove(node) @@ -204,8 +190,7 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen } override fun onNodeLongClick(database: ContextualDatabase, node: Node): Boolean { - if (mCurrentGroup?.isVirtual == false - && nodeActionPasteMode == PasteMode.UNDEFINED) { + if (nodeActionPasteMode == PasteMode.UNDEFINED) { // Select the first item after a long click if (!listActionNodes.contains(node)) listActionNodes.add(node) @@ -214,6 +199,7 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen setActionNodes(listActionNodes) notifyNodeChanged(node) + activity?.hideKeyboard() } return true } From cc593e6e1fa1785069c7ed41a9c73952f0df25b6 Mon Sep 17 00:00:00 2001 From: Htet Oo Hlaing Date: Sun, 30 Jul 2023 04:40:47 +0200 Subject: [PATCH 04/57] Added translation using Weblate (Burmese) --- app/src/main/res/values-my/strings.xml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 app/src/main/res/values-my/strings.xml diff --git a/app/src/main/res/values-my/strings.xml b/app/src/main/res/values-my/strings.xml new file mode 100644 index 000000000..a6b3daec9 --- /dev/null +++ b/app/src/main/res/values-my/strings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file From 2a890091d71500ca522ca8d8545b14b8f6577184 Mon Sep 17 00:00:00 2001 From: VfBFan Date: Sun, 30 Jul 2023 09:21:24 +0000 Subject: [PATCH 05/57] Translated using Weblate (German) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/ --- app/src/main/res/values-de/strings.xml | 81 ++++++++++++++++---------- 1 file changed, 51 insertions(+), 30 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 9c4c59a08..f737c207d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -125,7 +125,7 @@ Schutz Schreibgeschützt Abhängig von deinem Dateienmanager hat KeePassDX möglicherweise keine Schreibberechtigung. - Löschen + Entfernen Start Verschlüsselungsrunden Zusätzliche Verschlüsselungsrunden bieten besseren Schutz gegen Brute-Force-Angriffe. Allerdings dauert das Laden und Speichern der Datenbank entsprechend länger. @@ -163,7 +163,7 @@ Dateiname Diese Funktion konnte nicht gestartet werden. Ermöglicht das Scannen biometrischer Merkmale, um die Datenbank zu öffnen - Schnelles Entsperren + Gerät entsperren Biometrisches Entsperren Sperren Erlaubte Zeichen für Passwortgenerator festlegen @@ -171,7 +171,7 @@ Verschlüsseltes Passwort wurde gespeichert Verlauf Allgemein - Diese Datenbank enthält noch keine Anmeldedaten. + Nicht vorhanden Verschlüsselung Schlüsselableitungsfunktion Erweiterte ASCII @@ -202,7 +202,7 @@ Eintrag auswählen … Zwischenablage Verschlüsselungsschlüssel löschen - Alle mit der biometrischen Erkennung verknüpften Verschlüsselungsschlüssel löschen + Alle mit der Geräteentsperrung verknüpften Verschlüsselungsschlüssel löschen Das Gerät läuft mit Android %1$s, benötigt aber %2$s oder höher. Keine entsprechende Hardware gefunden. Papierkorb-Nutzung @@ -233,7 +233,7 @@ \nGruppen/Ordner gliedern Einträge in der Datenbank. Einträge durchsuchen Titel, Nutzernamen oder Inhalte anderer Felder eingeben, um Passwörter zu finden. - Eintrag bearbeiten + Den Eintrag bearbeiten Füge dem Eintrag eigene Felder hinzu. Die Felder können mit Querverweisen aus anderen Einträgen ergänzt werden. Erstelle ein starkes Passwort Generiere ein starkes Passwort, um es mit dem Eintrag zu verknüpfen, gib Passwortanforderungen ein und vergiss die Passwortsicherheit nicht. @@ -244,7 +244,7 @@ Kopierte Felder können überall eingefügt werden. \n \nVerwende deine bevorzugte Methode zur Formular-Ausfüllung. - Datenbank sperren + Die Datenbank sperren Die Datenbank schnell sperren. Die App lässt sich so einstellen, dass sie nach einer gewissen Zeit und beim Ausschalten des Bildschirms gesperrt wird. Sortierung der Einträge Wähle, wie Einträge und Gruppen sortiert werden. @@ -296,7 +296,7 @@ Eintrag Inaktivitätszeit Zeit bis zum Löschen der Tastatureingabe - Benachrichtigung + Benachrichtigungsinfo Benachrichtigung anzeigen, wenn ein Eintrag abrufbar ist Eintrag %1$s über Magikeyboard abrufbar @@ -350,12 +350,12 @@ Aktualisieren Felder schließen Die Datenbank kann mit diesem Passwort und dieser Schlüsseldatei nicht erstellt werden. - Schnelles Entsperren + Geräteentsperrung Biometrisch Aktivieren Deaktivieren Abfrage automatisch öffnen - Automatisch Schnellentsperrung abfragen, falls die Datenbank dafür eingerichtet ist + Die Geräteentsperrung automatisch abfragen, falls die Datenbank dafür eingerichtet ist Hauptschlüssel Sicherheit Verlauf @@ -385,7 +385,7 @@ Problem lösen, indem neue UUIDs für Duplikate generiert werden um fortzufahren\? Datenbank geöffnet Eintragsfelder mit der Zwischenablage des Geräts kopieren - Schnelles Entsperren verwenden, um eine Datenbank einfacher zu öffnen + Geräteentsperrung verwenden, um eine Datenbank einfacher zu öffnen Datenkomprimierung Datenkomprimierung reduziert die Datenbankgröße Maximale Anzahl @@ -453,7 +453,7 @@ Autofüll-Einstellungen Zugriff auf die Datei durch den Dateimanager widerrufen Diese Bezeichnung existiert bereits. - App, die das Formular enthält, neu starten, um die Sperrung zu aktivieren. + Die das Formular enthaltende App neu starten, um die Sperrung zu aktivieren. Automatisches Ausfüllen sperren Domain-Liste, für die automatisches Ausfüllen verhindert wird Webdomain-Sperrliste @@ -465,7 +465,7 @@ Element hinzufügen Filter Tastatur wechseln - Automatische Tastenaktion + Zurück wechseln Datenbank-Anmeldebildschirm Nach dem Ausführen der automatischen Tastenaktion automatisch zur vorherigen Tastatur wechseln Auf dem Datenbank-Anmeldebildschirm automatisch zur vorherigen Tastatur wechseln @@ -507,34 +507,34 @@ Geteilte Informationen speichern Alle Knoten unwiderruflich aus dem Papierkorb löschen\? Der Feldname existiert bereits. - Du musst dich weiterhin an dein Passwort erinnern, wenn du schnelle Entsperrmethoden verwendest. - Schlüssel für Schnellentsperrung löschen - Schnelle Entsperrmethoden + Du musst dich weiterhin an deinen Hauptschlüssel erinnern, wenn du die Geräteentsperrung verwendest. + Schlüssel für Geräteentsperrung löschen + Verknüpfung mit Geräteentsperrung Verknüpfe dein Passwort mit Biometrie- oder Geräteanmeldedaten, um die Datenbank schnell zu entsperren. - Schnelles Datenbank-Entsperren - Zeitlimit für schnelles Entsperren - Dauer der Schnellentsperrnutzung bis sie zurückgesetzt wird - Ablauf der schnellen Entsperrung - Für Nutzung des schnellen Entsperren keine verschlüsselten Inhalte speichern - Zeitlimit für schnelles Entsperren + Geräteentsperrung der Datenbank + Zeitlimit für Geräteentsperrung + Dauer der Geräteentsperrung bis sie zurückgesetzt wird + Ablauf der Geräteentsperrung + Bei Nutzung der Geräteentsperrung keine verschlüsselten Inhalte speichern + Zeitlich begrenzte Geräteentsperrung Ermöglicht das Öffnen der Datenbank mit deinen Geräteanmeldedaten - Drücken, um alle Schnellentsperrschlüssel zu löschen + Drücken, um alle Geräteentsperrschlüssel zu löschen Inhalt - Datenbank mit schnellen Entsperrmethoden öffnen + Datenbank mit Geräteentsperrdaten öffnen Eingabetaste Rücktaste Eintrag auswählen Zurück zur vorherigen Tastatur Benutzerdefinierte Felder - Alle zum schnellen Entsperren zugehörigen Verschlüsselungsschlüssel löschen\? + Alle zur Geräteentsperrung zugehörigen Verschlüsselungsschlüssel löschen\? Entsperrung mit Geräteanmeldedaten Geräteanmeldedaten Passwort eingeben und dann diese Taste drücken. - Schnellentsperrungsabfrage konnte nicht gestartet werden. - Fehler bei schneller Entsperrung: %1$s - Abdruck für schnelles Entsperren nicht erkannt - Schneller Entsperrschlüssel nicht lesbar. Bitte lösche ihn und wiederhole den Vorgang zur Entsperr-Erkennung. - Datenbankanmeldedaten aus schnellen Entsperrdaten gewinnen + Geräteentsperrungsabfrage konnte nicht gestartet werden. + Fehler bei Geräteentsperrung: %1$s + Fingerabdruck für Geräteentsperrung wurde nicht erkannt + Der Geräteentsperrschlüssel ist nicht lesbar. Bitte lösche ihn und wiederhole den Vorgang zur Entsperr-Erkennung. + Datenbankanmeldedaten aus Geräteentsperrdaten gewinnen Die Liste kann nicht ordnungsgemäß neu erstellt werden. Datenbank-URI kann nicht abgerufen werden. Daten neu laden @@ -618,7 +618,7 @@ Eintragsfarben Bildschirm eingeschaltet lassen Der Hash der Datei kann nicht garantiert werden, da Android seine Daten ändern kann. Änder die Dateiendung zu .bin, um die Integrität zu gewährleisten. - Bildschirm beim Ansehen des Eintrags eingeschaltet lassen + Bildschirm beim Ansehen oder Bearbeiten des Eintrags eingeschaltet lassen Vorder- und Hintergrundfarbe für einen Eintrag anzeigen Automatische Eingabefolge Regulärer Ausdruck @@ -681,4 +681,25 @@ Automatische Eingabe <strong>Es werden keine Benutzerdaten ausgelesen</strong>, diese Anwendung stellt keine Verbindung zu einem Server her, arbeitet nur lokal und respektiert vollständig die Privatsphäre der Benutzer. Zusammenführung erfolgreich abgeschlossen + Tastatur, Automatisches Ausfüllen, Zwischenablage + Biometrie, Geräteanmeldedaten + Metadaten, Papierkorb, Vorlagen, Verlauf + Suche, Sperre, Verlauf, Eigenschaften + Verschlüsselung, Schlüsselableitungsfunktion + Passwortänderung + Konfigurieren + Fragen + Später + Geräteentsperrverknüpfung + Design, Farben, Attribute + Die Benachrichtigungsberechtigung ermöglicht es dir, den Status der Datenbank anzuzeigen und sie mit einer leicht zugänglichen Taste zu sperren. +\n +\nWenn du diese Berechtigung nicht aktivierst, wird bei einer geöffneten Anwendung im Vordergrund die im Hintergrund geöffnete Datenbank nicht sichtbar sein. + Die Benachrichtigungsberechtigung ist erforderlich, um die Benachrichtigungsfunktion der Zwischenablage zu nutzen. + Entsperren + Den Eintrag validieren + Denke daran, deine Eingabe zu bestätigen und deine Datenbank zu speichern. +\n +\nWenn ein automatisches Sperren aktiviert ist und du vergisst, dass du eine Änderung vorgenommen hast, riskierst du den Verlust deiner Daten. + Info \ No newline at end of file From a4c7e3860bd74cc70f1022eb893f0b162fff75a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=2E=20R=C3=BCdinger?= Date: Sun, 30 Jul 2023 09:19:19 +0000 Subject: [PATCH 06/57] Translated using Weblate (German) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/ --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index f737c207d..b4a383024 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -493,7 +493,7 @@ Datenbank sperren Benachrichtigung Biometrische Sicherheitsaktualisierung erforderlich. - Keine biometrischen oder Geräteanmeldedaten registriert. + Es sind weder Biometrie- noch Geräteanmeldedaten registriert. Registrierungsmodus Speichermodus Suchmodus From 70d45e0bbac6393f41780714888c47c56ee5f254 Mon Sep 17 00:00:00 2001 From: Deleted User Date: Sun, 30 Jul 2023 09:17:42 +0000 Subject: [PATCH 07/57] Translated using Weblate (German) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/ --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index b4a383024..d2c916494 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -58,7 +58,7 @@ Erstellt Gültig bis Schlüsseldatei - Bearbeitet + Geändert Zugriffsdaten wurden nicht gefunden. Passwort Speichern From 4817654d58f44df197e0042fef6836b118a3f7ae Mon Sep 17 00:00:00 2001 From: Kunzisoft Date: Sat, 29 Jul 2023 12:38:38 +0000 Subject: [PATCH 08/57] Translated using Weblate (French) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/fr/ --- app/src/main/res/values-fr/strings.xml | 65 ++++++++++++++++---------- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 40a28382a..c733be569 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -118,7 +118,7 @@ Jamais Aucun résultat Installer un navigateur Web pour ouvrir cette URL. - Ouvrir une base de données existante + Ouvrir un coffre-fort existant Création d’une nouvelle base de données… Traitement en cours… Protection @@ -183,14 +183,14 @@ Déverrouillage biométrique Permet de numériser votre empreinte biométrique pour ouvrir la base de données Supprimer les clés de chiffrement - Supprime toutes les clés de chiffrement liées à la reconnaissance biométrique + Supprime toutes les clés de chiffrement liées à la reconnaissance du déverouillage de l\'appareil Impossible de démarrer cette fonctionnalité. L’appareil tourne sous Android %1$s, mais la version %2$s ou supérieure est requise. Impossible de trouver le matériel correspondant. Nom de fichier Chemin d’accès Affecter une clé principale - Créer une nouvelle base de données + Créer un nouveau coffre-fort Utilisation de la corbeille Déplace les groupes et les entrées dans le groupe \"Corbeille\" avant leur suppression Fonte de caractères des champs @@ -317,7 +317,7 @@ Changement de clavier Écran d\'authentification de la base de données Revenir automatiquement au clavier précédent sur l’écran d\'authentification de la base de données - Action de touche automatique + Changement précédent Revenir automatiquement au clavier précédent après avoir exécuté \"Action de touche automatique\" Mode sélection Ne pas tuer l\'application… @@ -353,12 +353,12 @@ Mise à jour Fermer les champs Impossible de créer une base de données avec ce mot de passe et ce fichier clé. - Déverrouillage avancé + Déverrouillage de l\'appareil Activer Désactiver Biométrie Ouvrir automatiquement l’invite biométrique - Demande automatiquement la reconnaissance biométrique si la base de données est configurée pour l’utiliser + Demande automatiquement le deverouillage de l\'appareil si la base de données est configurée pour l’utiliser Clé principale Sécurité Historique @@ -389,7 +389,7 @@ Résoudre le problème en générant de nouveaux UUID pour les doublons et continuer \? Base de données ouverte Copier les champs d’une entrée à l’aide du presse-papier de votre appareil - Utiliser le déverrouillage avancé pour ouvrir plus facilement une base de données + Utiliser le déverrouillage de l\'appareil pour ouvrir plus facilement une base de données Compression de données La compression des données réduit la taille de la base de données Nombre maximum @@ -429,7 +429,7 @@ Terminé ! Masquer les entrées expirées Les entrées expirées ne sont pas affichées - Contacthttps://hosted.weblate.org/translate/keepass-dx/strings/fr/\?checksum=7eedefa01e57015e + Contact Contribution Afin de <strong>garder notre liberté</strong>, <strong>corriger les bugs</strong>, <strong>ajouter des fonctionnalités</strong> et <strong>être toujours actif</strong>, nous comptons sur votre <strong>contribution</strong>. Recherche rapide @@ -503,20 +503,20 @@ Mode recherche L’enregistrement d’un nouvel élément n’est pas autorisé dans une base de données en lecture seule Le nom du champ existe déjà. - Supprimer toutes les clés de chiffrement liées à la reconnaissance de déverrouillage avancée \? + Supprimer toutes les clés de chiffrement liées à la reconnaissance de déverrouillage de l\'appareil \? Vous permet d\'utiliser les informations d\'identification de votre appareil pour ouvrir la base de données Déverrouillage par identifiants de l\'appareil - Déverouillage de l\'appareil + Identifiant de l\'appareil Tapez le mot de passe, puis cliquez sur ce bouton. Impossible d\'initialiser l\'invite de déverrouillage avancé. - Erreur de déverrouillage avancé : %1$s - Impossible de reconnaître l\'empreinte de déverrouillage avancé - Impossible de lire la clé de déverrouillage avancé. Veuillez la supprimer et répéter la procédure de reconnaissance de déverrouillage. - Extraire les identifiants de la base de données avec des données de déverrouillage avancées - Ouvrir la base de données avec la reconnaissance de déverrouillage avancée - Vous devez toujours vous souvenir de votre identifiant principal si vous utilisez le déverrouillage avancé. - Reconnaissance de déverrouillage avancée - Supprimer la clé de déverrouillage avancé + Erreur de déverrouillage avancé: %1$s + Impossible de reconnaître l\'empreinte de déverrouillage de l\'appareil + Impossible de lire la clé de déverrouillage de l\'appareil. Veuillez la supprimer et répéter la procédure de reconnaissance de déverrouillage. + Extraire les identifiants de la base de données avec des données de déverrouillage de l\'appareil + Reconnaissance du déverrouillage de l\'appareil + Vous devez toujours vous souvenir de l\'identifiant principal du coffre-fort si vous utilisez le déverrouillage de l\'appareil. + Liaison vers le déverrouillage de l\'appareil + Supprimer la clé de déverrouillage avancée Entrer Retour arrière Sélection d\'une entrée @@ -524,12 +524,12 @@ Champs customisés Lier votre mot de passe à vos informations d\'identification biométriques ou de périphérique scannées pour déverrouiller rapidement votre base de données. Déverrouillage avancé de la base de données - Délai du déverrouillage avancé - Durée d\'utilisation du déverrouillage avancé avant de supprimer son contenu - Expiration du déverrouillage avancé - Ne stocker aucun contenu crypté pour utiliser le déverrouillage avancé - Déverrouillage avancé temporaire - Appuyez pour supprimer les clés de déverrouillage avancées + Délai du déverrouillage de l\'appareil + Durée d\'utilisation du déverrouillage de l\'appareil avant de supprimer son contenu + Expiration du déverrouillage de l\'appareil + Ne stocker aucun contenu crypté pour utiliser le déverrouillage de l\'appareil + Déverrouillage de l\'appareil temporaire + Appuyez pour supprimer les clés de déverrouillage de l\'appareil Contenu Impossible de reconstruire correctement la liste. L\'URI de la base de données ne peut pas être récupéré. @@ -610,7 +610,7 @@ Couleur d\'arrière plan de l\'entrée Étiquettes Fusionner les données - Maintiens l\'écran allumé lorsque l\'entrée est visionnée + Maintiens l\'écran allumé lorsque l\'entrée est visionnée ou éditée Le hachage du fichier n\'est pas garanti car Android peut modifier ses données à la volée. Changez l\'extension du fichier en .bin pour une intégrité correcte. L\'autorisation de notification est nécessaire pour utiliser la fonction de notification du presse-papiers. Plus tard @@ -682,4 +682,19 @@ Le pilote pour %1$s est nécessaire. Impossible de fusionner à partir d\'une base de données V1. Fusion terminée avec succès + Info + Recherche, verrouillage, historique, propriétés + Clavier, remplissage automatique, presse-papiers + Changement, renouvellement + Biométrie, identifiant de l\'appareil + Liaison avec déverouillage de l\'appareil + Déverouiller + Configurer + Métadonnées, corbeille, gabarits, historique + Chiffrement, fonction de dérivation de clé + Thèmes, couleurs, attributs + Valider l\'entrée + N\'oubliez pas de valider votre saisie et de sauvegarder votre base de données +\n +\nSi un verrouillage automatique est activé et que vous oubliez que vous étiez en train d\'effectuer une modification, vous risquez de perdre vos données. \ No newline at end of file From 84efd1c497e8ce277ef7244c565712def39e1719 Mon Sep 17 00:00:00 2001 From: Stephan Paternotte Date: Sun, 30 Jul 2023 07:04:17 +0000 Subject: [PATCH 09/57] Translated using Weblate (Dutch) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/nl/ --- app/src/main/res/values-nl/strings.xml | 163 ++++++++++++++----------- 1 file changed, 92 insertions(+), 71 deletions(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 644af8ded..7363c3d45 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -27,7 +27,7 @@ Groep toevoegen Versleutelingsalgoritme Time-out - Inactieve tijd tot vergrendeling van de database + Inactieve tijd waarna de database vergrendeld wordt App App-instellingen Haakjes @@ -39,17 +39,17 @@ Databasesleutel ophalen… Database Database-inhoud decoderen … - Gebruiken als standaarddatabase - Getallen + Als standaarddatabase gebruiken + Cijfers KeePassDX © %1$d Kunzisoft is <strong>open source</strong> en <strong>zonder reclame</strong>. \nHet wordt geleverd zoals het is, onder <strong>GPLv3</strong> -licentie, zonder enige garantie. - Bestaande database openen + Bestaande kluis openen Laatst geopend Annuleren - Opmerkingen + Notities Wachtwoord bevestigen Aangemaakt - Verloopt op + Verloopt Sleutelbestand Bewerkt op Wachtwoord @@ -61,11 +61,11 @@ KeePassDX kan deze URI niet verwerken. Bestand is niet aangemaakt Kan de database niet uitlezen. - Zorg ervoor dat het pad juist is. + Zorg ervoor dat het pad correct is. Voer een naam in. Kies een sleutelbestand. Onvoldoende vrij geheugen om de gehele database te laden. - Je moet minimaal één soort wachtwoordgenerering kiezen. + Selecteer ten minste één type wachtwoordgeneratie. De wachtwoorden komen niet overeen. \"Cycli-waarde\" te groot. Deze wordt ingesteld op 2147483648. Voer in het veld \"Lengte\" een positief geheel getal in. @@ -79,14 +79,14 @@ Wachtwoord Wachtwoord Kan referenties niet lezen. - Databaseformaat kan niet worden herkend. + Databaseformaat werd niet herkend. Lengte - Lijstgrootte + Grootte van lijstitems Tekstgrootte in de itemslijst Database laden… Kleine letters Wachtwoorden verbergen - Wachtwoorden standaard maskeren (***) + Wachtwoorden maskeren (***) Over Hoofdsleutel wijzigen Instellingen @@ -99,7 +99,7 @@ Openen Zoeken Wachtwoord tonen - Ga naar URL + URL openen Minus Nooit Geen zoekresultaten @@ -108,10 +108,10 @@ Bezig met verwerken… Verwijderen Hoofdmap - Encryptie-cycli - Een hoger aantal encryptie-cycli geeft bijkomende bescherming tegen brute-force aanvallen, maar kan het laden en opslaan sterk vertragen. + Versleutelingscycli + Een hoger aantal versleutelingscycli geeft bijkomende bescherming tegen brute-force aanvallen, maar kan het laden en opslaan sterk vertragen. Database opslaan… - Ruimte + Spatie Natuurlijke volgorde Speciaal Zoeken @@ -132,17 +132,17 @@ Sleutelafleidingsfunctie Uitgebreide ASCII Toestaan - Klembordfout + Fout met klembord Sommige apparaten staan niet toe dat apps het klembord gebruiken. Klembord is niet gewist - Geen iteminhoud gevonden. + Geen itemgegevens gevonden. De database is niet geladen. De sleutel kan niet worden geladen. Probeer om het \"geheugengebruik\" van KDF te verminderen. Elke zin moet een veldnaam bevatten. De dienst automatisch aanvullen kan niet worden ingeschakeld. Veldnaam Veldwaarde - Bestand niet gevonden. Probeer opnieuw te openen via bestandsbeheer. + Bestand niet gevonden. Probeer het opnieuw te openen via bestandsbeheer. Ongeldig algoritme. Het sleutelbestand is leeg. Gebruikersnamen tonen @@ -159,7 +159,7 @@ Alleen-lezen KeePassDX moet worden gemachtigd om je databank te kunnen aanpassen. Bestandsgeschiedenis - Toon locaties van recente databases + Locaties van recente databases tonen Database-versleutelingsalgoritme voor alle gegevens Om de sleutel voor het algoritme te kunnen genereren, wordt de hoofdsleutel getransformeerd middels een willekeurige afleidingsfunctie. Geheugengebruik @@ -167,8 +167,8 @@ Parallellen Het aantal parallellen (aantal threads) dat de afleidingsfunctie mag gebruiken. Sorteren - Laagste eerst ↓ - Groepen vooraan plaatsen + Oplopend ↓ + Groepen bovenaan Prullenbak onderaan Titel Gebruikersnaam @@ -180,7 +180,7 @@ Doorgaan zonder beveiliging voor wachtwoordontgrendeling\? Doorgaan zonder coderingssleutel\? Versleuteld wachtwoord is opgeslagen - Deze database heeft nog geen opgeslagen gegevens. + Niet beschikbaar Geschiedenis Uiterlijk Algemeen @@ -200,22 +200,22 @@ Vergrendelen Schermvergrendeling Vergrendel de database een paar seconden nadat het scherm is uitgeschakeld - Geavanceerd ontgrendelen + Apparaat ontgrendelen Ontgrendelen met biometrie Gebruik biometrische herkenning om de database te openen Coderingssleutels verwijderen - Alle coderingssleutels met betrekking tot geavanceerde ontgrendelingsherkenning verwijderen + Alle coderingssleutels met betrekking tot apparaat-ontgrendelingsherkenning verwijderen Kan deze functie niet starten. Dit apparaat draait op Android %1$s, maar %2$s of hoger is vereist. De bijbehorende hardware werd niet gevonden. Bestandsnaam Pad Hoofdsleutel toewijzen - Nieuwe database aanmaken + Nieuwe kluis aanmaken Prullenbak gebruiken Verplaatst groepen en items naar \"Prullenbak\" voordat ze worden verwijderd Veldlettertype - Wijzig het lettertype dat in velden wordt gebruikt voor een betere leesbaarheid + Het lettertype aanpassen voor een betere leesbaarheid Klembord vertrouwen Toestaan dat het wachtwoord en beveiligde velden naar het klembord worden gekopieerd Waarschuwing: Het klembord wordt met alle aps gedeeld. Als gevoelige gegevens worden gekopieerd, kan andere software deze opvragen. @@ -310,7 +310,7 @@ Druk \'Terug\' om te vergrendelen Vergrendel de database wanneer de gebruiker in het hoofdscherm op de knop Terug klikt Wissen bij afsluiten - Vergrendel de database wanneer de duur van het klembord verloopt of de melding wordt gesloten nadat u deze bent gaan gebruiken + Vergrendel de database wanneer het klembord verlopen is of wanneer de melding wordt gesloten nadat u deze hebt gebruikt Prullenbak Itemselectie Vul, bij het bekijken van een item in KeePassDX, Magikeyboard met dat item @@ -331,18 +331,18 @@ Veld toevoegen Veld verwijderen UUID - Je kan hier geen item plaatsen. - Je kan hier geen item kopiëren. + Je kunt hier geen item plaatsen. + Je kunt hier geen item kopiëren. Aantal items tonen Toont het aantal items in een groep Achtergrond - Update + Bijwerken Velden sluiten Kan geen database aanmaken met dit wachtwoord en sleutelbestand. - Geavanceerd ontgrendelen + Apparaatontgrendeling Biometrie Auto-open suggestie - Automatisch om geavanceerde ontgrendeling vragen als een database hiervoor is ingesteld + Automatisch om apparaat-ontgrendeling vragen als een database hiervoor is ingesteld Inschakelen Uitschakelen Hoofdsleutel @@ -357,21 +357,21 @@ Algoritme OTP Ongeldig OTP-geheim. - Er moet tenminste één referentie worden ingesteld. + Stel tenminste één referentie in. Je kunt hier geen groep kopiëren. Geheime sleutel moet in Base32-indeling zijn. Teller moet tussen %1$d en %2$d liggen. De duur moet tussen %1$d en %2$d seconden liggen. Token moet %1$d tot %2$d cijfers bevatten. %1$s met dezelfde UUID %2$s bestaat al. - Database aanmaken … + Database aanmaken… Beveiligingsinstellingen Instellingen hoofdsleutel De database bevat dubbele UUID\'s. Probleem oplossen door nieuwe UUID\'s te genereren voor de duplicaten\? Database geopend Kopieer velden met behulp van het klembord van dit apparaat - Geavanceerde ontgrendeling gebruiken om een database gemakkelijker te openen + Apparaat-ontgrendeling gebruiken om een database eenvoudiger te openen Gegevenscompressie Gegevenscompressie verkleint de omvang van de database Maximum aantal @@ -412,7 +412,7 @@ Toegang tot het bestand ingetrokken door bestandsbeheer Bestandstoegang verlenen om databasewijzigingen op te slaan Opdracht uitvoeren… - Gebroken links in de lijst met recente databases verbergen + Verbroken koppelingen in de lijst met recente databases verbergen Verbroken databasekoppelingen verbergen Onthoud de locatie van databasesleutelbestanden Onthoud de locatie van databases @@ -426,10 +426,10 @@ Databasebestand is niet aangemaakt. Dit label bestaat al. Bijlagen - Om <strong>onze vrijheid te behouden</strong>, <strong>bugs te verhelpen</strong>, <strong>functies toe te voegen</strong> en <strong>altijd actief te blijven</strong>, rekenen wij op jouw <strong>bijdrage</strong>. + Om onze vrijheid te behouden, fouten te verhelpen, functies toe te voegen en altijd actief te blijven, rekenen wij op jouw bijdrage. Bijlage toevoegen Weggooien - Veranderingen ongedaan maken\? + Wijzigingen weggooien\? Valideren Donatie Contact @@ -447,10 +447,10 @@ \"Gaan\"-toetsactie na het indrukken van een \"Veld\"-toets Automatische toetsactie Schakel automatisch terug naar het vorige toetsenbord na het uitvoeren van de \"Automatische toetsactie\" - Automatische toetsactie + Terugzetten Schakel automatisch terug naar het vorige toetsenbord op het databasereferentiescherm Scherm Databasereferenties - Van toetsenbord wisselen + Toetsenbord wisselen Upload %1$s Voeg een bijlage toe aan dit item om belangrijke externe gegevens op te slaan. Bijlage toevoegen @@ -489,33 +489,33 @@ Zoekmodus Het opslaan van een nieuw item is niet toegestaan in een alleen-lezen database Koppel je wachtwoord aan je gescande biometrische gegevens of apparaatreferentie om je database snel te ontgrendelen. - Geavanceerde database-ontgrendeling + Apparaat-ontgrendeling database Enter Backspace Item selecteren Terug naar vorig toetsenbord Aangepaste velden - Alle coderingssleutels met betrekking tot geavanceerde ontgrendelingsherkenning verwijderen\? - Time-out voor geavanceerd ontgrendelen - Duur van geavanceerd ontgrendelingsgebruik voordat de inhoud wordt verwijderd - Vervaltijd voor geavanceerde ontgrendeling - Sla geen versleutelde inhoud op om geavanceerde ontgrendeling te gebruiken - Tijdelijke geavanceerde ontgrendeling + Alle coderingssleutels met betrekking tot apparaat-ontgrendelingsherkenning verwijderen\? + Time-out bij apparaat-ontgrendeling + Duur van apparaat-ontgrendelingsgebruik voordat de inhoud wordt verwijderd + Vervaltijd voor apparaat-ontgrendeling + Sla geen versleutelde inhoud op om apparaat-ontgrendeling te gebruiken + Tijdelijke apparaat-ontgrendeling Hiermee kan je de referentie van je apparaat gebruiken om de database te openen Ontgrendeling met apparaatreferenties - Tik om geavanceerde ontgrendelingstoetsen te verwijderen + Tik om apparaat-ontgrendelingssleutels te verwijderen Inhoud Apparaatreferentie Typ het wachtwoord en klik vervolgens op deze knop. - Kan geavanceerde ontgrendelingsprompt niet initialiseren. - Geavanceerde ontgrendelingsfout: %1$s - Kan geavanceerde ontgrendelingsafdruk niet herkennen - Kan de geavanceerde ontgrendelingssleutel niet lezen. Verwijder deze en herhaal de herkenningsprocedure voor het ontgrendelen. - Databasegegevens uitpakken met geavanceerde ontgrendelingsgegevens - Open database met geavanceerde ontgrendelingsherkenning - Je moet nog steeds je hoofdwachtwoord onthouden als je geavanceerde ontgrendelingsherkenning gebruikt. - Geavanceerde ontgrendelingsherkenning - Geavanceerde ontgrendelingssleutel verwijderen + Kan apparaat-ontgrendelingsprompt niet initialiseren. + Apparaat-ontgrendelingsfout: %1$s + Kan apparaat-ontgrendelingsafdruk niet herkennen + Kan de apparaat-ontgrendelingssleutel niet lezen. Verwijder deze en herhaal de herkenningsprocedure voor het ontgrendelen. + Databasegegevens uitpakken met apparaat-ontgrendelingsgegevens + Apparaat-ontgrendelingsherkenning + Je moet nog steeds je hoofdwachtwoord onthouden als je apparaat-ontgrendelingsherkenning gebruikt. + Koppeling naar Apparaat-ontgrendeling + Apparaat-ontgrendelingssleutel verwijderen De veldnaam bestaat al. GiB MiB @@ -526,7 +526,7 @@ Probeer suggesties voor automatisch aanvullen rechtstreeks vanaf een compatibel toetsenbord weer te geven Inline suggesties Toegang tot het bestand is ingetrokken door de bestandsbeheerder, sluit de database en open deze opnieuw vanaf de locatie. - Voeg de gegevens samen, overschrijf de externe wijzigingen door de database op te slaan of herlaad deze met de laatste wijzigingen. + De gegevens samenvoegen, de externe wijzigingen overschrijven door de database op te slaan of deze opnieuw te laden met de jongste wijzigingen. De informatie in het databasebestand is buiten de app gewijzigd. Gegevens opnieuw laden Kan de lijst niet correct opnieuw opbouwen. @@ -539,18 +539,18 @@ Er is een fout opgetreden bij het verwijderen van de bestandsgegevens. De bestandsgegevens bestaan al. Er is een fout opgetreden bij het uploaden van de bestandsgegevens. - Het bestand dat je probeert te uploaden, is te groot. + Het te uploaden bestand is te groot. Eenmalig wachtwoord-informatie Eigenschappen - Fout tijdens het exporteren van app-eigenschappen - App-eigenschappen geëxporteerd - Fout tijdens het importeren van app-eigenschappen - App-eigenschappen geïmporteerd + Fout bij het exporteren van App-instellingen + App-instellingen geëxporteerd + Fout bij het importeren van App-instellingen + App-instellingen geïmporteerd KeePassDX-eigenschappen om app-instellingen te beheren - Maak een bestand om app-eigenschappen te exporteren - App-eigenschappen exporteren + Bestand voor export van App-instellingen aanmaken + App-instellingen exporteren Selecteer een bestand om app-eigenschappen te importeren - App-eigenschappen importeren + App-instellingen importeren Er is een fout opgetreden bij het uitvoeren van een actie op de database. Je kunt hier geen groep verplaatsen. Dit woord is gereserveerd en kan niet worden gebruikt. @@ -573,7 +573,7 @@ Lidmaatschap Veilige notitie IBAN - SWIFT / BIC + SWIFT/BIC Banknaam Bank Rekening @@ -600,11 +600,11 @@ Door de database opnieuw te laden, worden de lokaal gewijzigde gegevens gewist. Voorgrondkleur item Gegevens samenvoegen - Achtergrondkleur item + Achtergrondkleur van item Labels Het controlegetal van het bestand is niet gegarandeerd omdat Android zijn gegevens direct kan wijzigen. Wijzig de bestandsextensie in .bin voor de juiste integriteit. Houd het scherm aan - Houd het scherm aan bij het bekijken van een item + Houd het scherm aan bij het bekijken of bewerken van een item Itemkleuren Toont items met voorgrond- en achtergrondkleuren Wi-Fi @@ -629,7 +629,7 @@ Lengte wachtwoordzin Wachtwoordzin Wachtwoorden kleuren - Wachtwoordtekens kleuren per type + Wachtwoordtekens per type kleuren Zoekvenster Schakel in het zoekvenster automatisch terug naar het vorige toetsenbord Entropie: %1$s bit @@ -662,11 +662,32 @@ Samenvoegen vanuit database V1 niet mogelijk. Kies een fysieke sleutel. Houdt de gebruikte fysieke sleutels bij - <strong> Er worden geen gebruikersgegevens opgehaald </strong>, deze applicatie maakt geen verbinding met een server, werkt alleen lokaal en respecteert volledig de privacy van gebruikers. + Er worden geen gebruikersgegevens opgehaald, deze applicatie maakt geen verbinding met een server, werkt alleen lokaal en respecteert volledig de privacy van gebruikers. Locatie van database is onbekend, actie kan niet worden uitgevoerd. Fysieke sleutel-selectievak In afwachting van de reactietest-vraag… In afwachting van het reactietest-antwoord… Deze fysieke sleutel wordt niet ondersteund. Samenvoeging met succes voltooid + Biometrie, apparaatreferenties + Metadata, prullenbak, sjablonen, geschiedenis + Wijziging, vernieuwing + De meldingsrechten zijn nodig om de functie klembord-melding te gebruiken. + Later + Vragen + Configureren + Thema\'s, kleuren, attributen + Zoeken, vergrendelen, geschiedenis, eigenschappen + Toetsenbord, automatisch aanvullen, klembord + Informatie + Versleuteling, sleutelafleidingsfunctie + Met de meldingstoestemming kunt u de status van de database weergeven en vergrendelen met een gemakkelijk toegankelijke knop. +\n +\nAls u deze toestemming niet verleent, is de database die op de achtergrond is geopend niet zichtbaar als er een andere applicatie op de voorgrond staat. + Apparaat-ontgrendelingslink + Vergeet niet om de invoer te valideren en de database op te slaan. +\n +\nWanneer automatische vergrendeling is geactiveerd en u vergeet dat u een wijziging aan het aanbrengen was, dan loopt u het risico gegevens te verliezen. + Ontgrendelen + Invoer valideren \ No newline at end of file From 6be12eb440e6f17931bb2eecdd8d2e6d0a0094ce Mon Sep 17 00:00:00 2001 From: Matthaiks Date: Sat, 29 Jul 2023 10:06:03 +0000 Subject: [PATCH 10/57] Translated using Weblate (Polish) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pl/ --- app/src/main/res/values-pl/strings.xml | 87 ++++++++++++++++---------- 1 file changed, 54 insertions(+), 33 deletions(-) diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index d8fbda0c4..a0af5c0d5 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -39,7 +39,7 @@ Odszyfrowywanie zawartości bazy danych… Ustaw jako domyślną bazę danych Cyfry - Otwórz istniejącą bazę danych + Otwórz istniejący sejf Dostęp do pliku Anuluj Notatki @@ -124,7 +124,7 @@ Edytuj wpis Szyfrowanie - Funkcja generująca klucz + Funkcja wyprowadzania klucza Rozszerzone ASCII Zezwól Błąd schowka @@ -171,12 +171,12 @@ Unikaj znaków hasła spoza formatu kodowania tekstu w pliku bazy danych (nierozpoznane znaki są konwertowane na tę samą literę). Pokaż Kosz na dole listy Tytuł - Kontynuować bez ochrony odblokowującej hasło\? + Kontynuować bez ochrony odblokowywania hasłem\? Kontynuować bez klucza szyfrowania\? Wersja %1$s Zapisano zaszyfrowane hasło Pokaż Grupy na górze listy - Baza danych nie ma jeszcze hasła. + Niedostępne Historia Wygląd Ogólne @@ -193,21 +193,21 @@ Powiadomienia schowka Pokaż powiadomienia schowka, aby skopiować pola podczas przeglądania wpisu Jeśli automatyczne usuwanie schowka nie powiedzie się, ręcznie usuń jego historię. - Zablokuj bazę danych + Zablokuj Blokada ekranu Zablokuj bazę danych po kilku sekundach od wyłączenia ekranu - Zaawansowane odblokowywanie + Odblokowanie urządzenia Odblokowywanie biometryczne Umożliwia zeskanowanie danych biometrycznych w celu otwarcia bazy danych Usuń klucze szyfrowania - Usuń wszystkie klucze szyfrujące związane z zaawansowanym rozpoznawaniem odblokowania + Usuń wszystkie klucze szyfrowania związane z rozpoznawaniem odblokowania urządzenia Nie można uruchomić tej funkcji. Urządzenie pracuje na systemie Android %1$s, ale wymaga wersji %2$s lub nowszej. Nie można znaleźć odpowiedniego sprzętu. Nazwa pliku Ścieżka Przypisz klucz główny - Utwórz nową bazę danych + Utwórz nowy sejf Wykorzystaj kosz Przenosi grupy i wpisy do grupy \"Kosz\" przed usunięciem Czcionka pola @@ -334,12 +334,12 @@ Aktualizuj Zamknij pola Nie można utworzyć bazy danych przy użyciu tego hasła i pliku klucza. - Zaawansowane odblokowywanie + Odblokowywanie urządzenia Biometryczne Automatyczne otwieranie Włącz Wyłącz - Automatyczne żądanie zaawansowanego odblokowania, jeśli baza danych jest skonfigurowana do korzystania z niej + Automatycznie żądaj odblokowania urządzenia, jeśli baza danych jest skonfigurowana do korzystania z tej funkcji Węzły podrzędne Klucz główny Zabezpieczenia @@ -379,7 +379,7 @@ %1$s o tym samym identyfikatorze UUID %2$s już istnieje. Rozwiązać problem, generując nowe identyfikatory UUID dla duplikatów, aby kontynuować\? Skopiuj pola wprowadzania danych za pomocą schowka urządzenia - Użyj zaawansowanego odblokowywania w celu łatwiejszego otwierania bazy danych + Użyj odblokowywania urządzenia, aby łatwiej otwierać bazę danych Kompresja danych zmniejsza rozmiar bazy danych Maksymalna liczba Ogranicz rozmiar historii każdego wpisu @@ -445,7 +445,7 @@ Lista zablokowanych domen internetowych Lista zablokowanych aplikacji Automatycznie przełącz się z powrotem na poprzednią klawiaturę po wykonaniu automatycznej akcji klawiszy - Automatyczne działanie klucza + Przełącz się z powrotem Automatycznie przełącz się z powrotem do poprzedniej klawiatury na ekranie poświadczeń bazy danych Ekran poświadczeń bazy danych Przełącz klawiaturę @@ -492,34 +492,34 @@ Wybierz pozycję Wróć do poprzedniej klawiatury Pola niestandardowe - Czy usunąć wszystkie klucze szyfrowania związane z zaawansowanym rozpoznawaniem odblokowywania\? + Usunąć wszystkie klucze szyfrowania związane z rozpoznawaniem odblokowania urządzenia\? Umożliwia otwieranie bazy danych za pomocą poświadczeń urządzenia - Odblokowywanie uwierzytelniające urządzenia - Uwierzytelnienie urządzenia + Odblokowywanie urządzenia poświadczeniem + Poświadczenie urządzenia Wpisz hasło, a następnie kliknij ten przycisk. - Nie można rozpoznać wprowadzonych danych odblokowujących - Nie można odczytać zaawansowanego klucza odblokowującego. Usuń go i powtórz procedurę rozpoznawania odblokowania. - Wyodrębnij poświadczenia bazy danych z zaawansowanymi danymi odblokowującymi - Jeśli używasz zaawansowanego rozpoznawania odblokowania, nadal musisz zapamiętać główne dane uwierzytelniające. - Zaawansowane rozpoznawanie odblokowania - Usuń zaawansowany klucz odblokowujący - Połącz swoje hasło ze zeskanowanymi danymi biometrycznymi lub danymi logowania urządzenia, aby szybko odblokować bazę danych. - Zaawansowane odblokowywanie bazy danych - Limit czasu zaawansowanego odblokowywania - Czas trwania zaawansowanego odblokowywania przed usunięciem jego zawartości - Wygaśnięcie zaawansowanego odblokowywania - Nie przechowuj żadnych zaszyfrowanych treści, aby korzystać z zaawansowanego odblokowywania - Naciśnij, aby usunąć zaawansowane klucze odblokowujące + Nie można rozpoznać odcisku odblokowującego urządzenie + Nie można odczytać klucza odblokowującego urządzenie. Usuń go i powtórz procedurę rozpoznawania odblokowania. + Wyodrębnij poświadczenia bazy danych z danymi odblokowania urządzenia + Nadal musisz pamiętać główne poświadczenie sejfu, jeśli używasz rozpoznawania odblokowania urządzenia. + Łącze do odblokowywania urządzenia + Usuń klucz odblokowujący urządzenie + Połącz swoje hasło z zeskanowanymi danymi biometrycznymi lub poświadczeniami urządzenia, aby szybko odblokować bazę danych. + Odblokowywanie bazy danych urządzenia + Limit czasu odblokowywania urządzenia + Czas odblokowywania urządzenia przed usunięciem jego zawartości + Wygaśnięcie odblokowywania urządzenia + Nie przechowuj żadnych zaszyfrowanych treści w celu odblokowywania urządzenia + Stuknij, aby usunąć klucze odblokowywania urządzenia Zawartość - Otwórz bazę danych z zaawansowanym rozpoznawaniem odblokowania - Błąd zaawansowanego odblokowywania: %1$s + Rozpoznawanie odblokowania urządzenia + Błąd odblokowania urządzenia: %1$s Nie można poprawnie odbudować listy. Nie można pobrać identyfikatora URI bazy danych. Dodano sugestie autouzupełniania. Sugestie wbudowane Spróbuj wyświetlić sugestie autouzupełniania bezpośrednio z kompatybilnej klawiatury - Zaawansowane odblokowywanie tymczasowe - Nie można zainicjować monitu odblokowania zaawansowanego. + Odblokowywanie tymczasowe urządzenia + Nie można zainicjować monitu o odblokowanie urządzenia. Dostęp do pliku odwołany przez menedżera plików, zamknij bazę danych i otwórz ją ponownie z jej lokalizacji. Scal dane, zastąp modyfikacje zewnętrzne poprzez zapisanie bazy danych lub ponownie załaduj ją z najnowszymi zmianami. Informacje zawarte w pliku bazy danych zostały zmodyfikowane poza aplikacją. @@ -602,7 +602,7 @@ Scal dane Kolory wpisu Hash pliku nie jest gwarantowany, ponieważ system Android może zmieniać swoje dane w locie. Zmień rozszerzenie pliku na .bin, aby uzyskać prawidłową integralność. - Nie wyłączaj ekranu podczas oglądania wpisu + Nie wyłączaj ekranu podczas oglądania lub edytowania wpisu Etykiety Nie wyłączaj ekranu Wyświetla kolory pierwszego planu i tła wpisu @@ -667,4 +667,25 @@ Tryb zrzutu ekranu <strong>Żadne dane użytkownika nie są pobierane</strong>, ta aplikacja nie łączy się z żadnym serwerem, działa tylko lokalnie i w pełni szanuje prywatność użytkowników. Scalanie zostało pomyślnie zakończone + Informacje + Wyszukiwanie, blokada, historia, właściwości + Klawiatura, autouzupełnianie, schowek + Metadane, kosz, szablony, historia + Szyfrowanie, funkcja wyprowadzania klucza + Zmiana, odnowienie + Uprawnienie do powiadamiania jest wymagane do korzystania z funkcji powiadamiania o schowku. + Później + Zapytaj + Skonfiguruj + Łącze do odblokowania urządzenia + Motywy, kolory, atrybuty + Odblokuj + Sprawdź poprawność wpisu + Biometria, poświadczenie urządzenia + Uprawnienie do powiadomień umożliwia wyświetlanie stanu bazy danych i blokowanie jej za pomocą łatwo dostępnego przycisku. +\n +\nJeśli nie aktywujesz tego uprawnienia, baza danych otwarta w tle nie będzie widoczna, jeśli inna aplikacja jest na pierwszym planie. + Pamiętaj, aby sprawdzić poprawność wpisu i zapisać bazę danych. +\n +\nJeśli aktywowane jest automatyczne blokowanie i zapomnisz, że dokonano modyfikacji, ryzykujesz utratę danych. \ No newline at end of file From df089f441587c320757f9e28b0b6fa736af5de7b Mon Sep 17 00:00:00 2001 From: marfS2 Date: Sat, 29 Jul 2023 17:14:39 +0000 Subject: [PATCH 11/57] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 79 ++++++++++++++-------- 1 file changed, 50 insertions(+), 29 deletions(-) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 2f8bd398f..05a12dd68 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -41,7 +41,7 @@ Dígitos KeePassDX © %1$d Kunzisoft é de <strong>código aberto</strong> e <strong>sem propagandas</strong>. \nÉ fornecido no estado em que se encontra, sob licença <strong>GPLv3</strong>, sem qualquer garantia. - Abrir banco de dados existente + Abrir cofre existente Acessado Cancelar Notas @@ -137,7 +137,7 @@ Não foi possível habilitar o serviço de preenchimento automático. Nome do campo Valor do campo - Não foi possível encontrar o arquivo. Tente reabri-lo de seu explorador de arquivos. + Arquivo não encontrado. Tente reabri-lo de seu explorador de arquivos. Algoritmo errado. O arquivo-chave está vazio. Cópia de %1$s @@ -173,7 +173,7 @@ Continuar sem proteção de desbloqueio por senha\? Continuar sem chave de criptografia\? Senha cifrada armazenada - Ainda não há nenhuma senha armazenada nesse banco de dados. + Indisponível Histórico Aparência Geral @@ -192,18 +192,18 @@ Bloquear Bloqueio de tela Bloqueie o banco de dados após alguns segundos quando a tela for desligada - Desbloqueio avançado + Desbloqueio do dispositivo Desbloqueio biométrico Permite que você escaneie sua biometria para a abertura do banco de dados Apague chaves de criptografia - Apagar todas as chaves de criptografia relacionadas ao reconhecimento de desbloqueio avançado + Excluir todas as chaves de criptografia relacionadas ao reconhecimento de desbloqueio do dispositivo Não foi possível iniciar esse recurso. O dispositivo está utilizando Android %1$s, mas precisa %2$s ou posterior. Não foi possível encontrar o hardware correspondente. Nome do arquivo Caminho Defina uma chave-mestra - Criar novo banco + Criar novo cofre Usar lixeira Mover grupos e entradas para o grupo \"Lixeira\" antes de apagar Tipo de letra nos campos @@ -261,7 +261,7 @@ Escolha como entradas e grupos são ordenados. Participar Ajude a aumentar a estabilidade, segurança e na adição de mais recursos. - Ao contrário de muitos aplicativos de gerenciamento de senhas, este aplicativo é <strong>livre de anúncios</strong>, <strong>livre de direitos autorais</strong> e não recupera dados pessoais em seus servidores, mesmo em sua versão gratuita. + Ao contrário de muitos aplicativos de gerenciamento de senhas, este aplicativo é livre de anúncios, livre de direitos autorais e não coleta dados pessoais em seus servidores, mesmo em sua versão gratuita. Ao comprar a versão Pro, você terá acesso a este <strong>recurso visual</strong> e ajudará especialmente a <strong>realização de projetos comunitários.</strong> Este <strong>recurso visual</strong> está disponível graças à sua generosidade. Para manter a nossa liberdade e estarmos sempre ativos, nós contamos com a sua <strong>contribuição.</strong> @@ -337,10 +337,10 @@ Atualizar Campos fechados Impossibilitado de criar um banco de dados com essa senha e arquivo-chave. - Desbloqueio avançado + Desbloqueio do dispositivo Biometria Abrir automaticamente o prompt - Solicitar desbloqueio avançado automaticamente se o banco de dados estiver configurado para usá-lo + Solicitar automaticamente o desbloqueio do dispositivo se o banco de dados estiver configurado para usá-lo Habilitado Desabilitado Chave-mestra @@ -369,7 +369,7 @@ Consertar o problema gerando nova UUIDs para duplicatas para continuar\? Banco de dados aberto Copie campos de entrada usando a área de transferência do seu dispositivo - Use o desbloqueio avançado para abrir o banco de dados mais facilmente + Use o desbloqueio do dispositivo para abrir um banco de dados com mais facilidade Compressão dos dados Compressão dos dados reduz o tamanho do banco de dados Número máximo @@ -435,7 +435,7 @@ Contribuição Upload %1$s Retornar automaticamente para o teclado anterior após executar a \"ação de tecla automática\" - Ação automática de tecla + Mudar de volta A remoção de dados não vinculados pode diminuir o tamanho do seu banco de dados, mas também pode excluir os dados usados para plug-ins KeePass. O upload deste arquivo substituirá o existente. Carregar um anexo em sua entrada para salvar dados externos importantes. @@ -465,7 +465,7 @@ Informações de credenciais Adicionar item Reinicie o aplicativo que contém o formulário para ativar o bloqueio. - Excluir chave de desbloqueio avançado + Excluir chave de desbloqueio do dispositivo Recarregar dados Ocorreu um erro ao executar uma ação no banco de dados. Ocorreu um erro ao remover os dados do arquivo. @@ -511,14 +511,14 @@ Credencial do dispositivo Propriedades Digite a senha e clique neste botão. - Incapaz de inicializar o prompt de desbloqueio avançado. - Erro de desbloqueio avançado: %1$s - Não foi possível reconhecer a impressão de desbloqueio avançado - Não é possível ler a chave de desbloqueio avançada. Por favor, apague-a e repita o procedimento de reconhecimento de desbloqueio. - Extraia credencial de banco de dados com dados de desbloqueio avançado - Banco de dados aberto com reconhecimento avançado de desbloqueio - Você ainda precisa lembrar sua credencial principal se usar o reconhecimento de desbloqueio avançado. - Reconhecimento de desbloqueio avançado + Não foi possível inicializar o prompt de desbloqueio do dispositivo. + Erro de desbloqueio do dispositivo: %1$s + Não foi possível reconhecer a impressão de desbloqueio + Não é possível ler a chave de desbloqueio do dispositivo. Exclua-o e repita o procedimento de reconhecimento de desbloqueio. + Extraia a credencial do banco de dados com os dados de desbloqueio do dispositivo + Reconhecimento de desbloqueio do dispositivo + Você ainda precisa se lembrar da credencial principal do cofre se usar o reconhecimento de desbloqueio do dispositivo. + Link para desbloqueio do dispositivo Atualização de segurança biométrica necessária. Nenhuma credencial biométrica ou de dispositivo está registrada. Acesso ao arquivo revogado pelo gerenciador de arquivos, feche o banco de dados e reabra-o de sua localização. @@ -552,7 +552,7 @@ B Cancelado! Vincule sua senha à credencial biométrica ou do dispositivo digitalizada para desbloquear rapidamente seu banco de dados. - Desbloqueio avançado de banco de dados + Desbloqueio do banco de dados do dispositivo Sugestões de preenchimento automático adicionadas. A salvação de dados não é permitida para um banco de dados aberto apenas como leitura. Pedir para salvar dados ao terminar de preencher um formulário @@ -579,15 +579,15 @@ Grupo de modelos Use modelos dinâmicos para preencher os campos de uma entrada Uso de modelos - Apagar todas as chaves de criptografia relacionadas ao reconhecimento de desbloqueio avançado\? - Tempo limite de desbloqueio avançado - Duração do uso de desbloqueio avançado antes de excluir seu conteúdo - Expiração de desbloqueio avançado - Não armazene nenhum conteúdo cifrado para usar desbloqueio avançado - Desbloqueio avançado temporário + Excluir todas as chaves de criptografia relacionadas ao reconhecimento de desbloqueio do dispositivo\? + Tempo limite de desbloqueio do dispositivo + Duração do uso do desbloqueio do dispositivo antes de excluir seu conteúdo + Expiração do desbloqueio do dispositivo + Não armazene nenhum conteúdo criptografado para usar desbloqueio dispositivo + Desbloqueio temporário do dispositivo Permite que você use a credencial do seu dispositivo para abrir o banco de dados Desbloqueio de credencial de dispositivo - Toque para excluir as chaves de desbloqueio avançado + Toque para excluir as chaves de desbloqueio do dispositivo Conteúdo Selecione a entrada… Nome do ícone @@ -600,7 +600,7 @@ Mesclar dados Etiquetas Mantenha a tela ligada - Mantenha a tela ligada enquanto estiver vendo a entrada + Mantenha a tela ligada enquanto ver ou editar uma entrada Cores de entrada Exibe as cores de primeiro plano e de fundo de uma entrada Você não pode mover um grupo pra cá. @@ -667,4 +667,25 @@ Preenchimento automático Caixa de verificação da chave física Merge concluído com sucesso + Info + Biometria, credencial do dispositivo + Metadados, lixeira, modelos, histórico + Criptografia, função de derivação chave + Mudança, renovação + A permissão de notificação é necessária para usar o recurso de notificação da área de transferência. + Mais tarde + Perguntar + Configurar + Link de desbloqueio do dispositivo + Temas, cores, atributos + Desbloquear + Validar a entrada + Pesquisar, bloquear, histórico, propiedades + A permissão de notificação permite exibir o status do banco de dados e bloqueá-lo com um botão de fácil acesso. +\n +\nSe você não ativar essa permissão, o banco de dados aberto em segundo plano não ficará visível se outro aplicativo estiver em primeiro plano. + Lembre-se de validar sua entrada e salvar seu banco de dados. +\n +\nSe um bloqueio automático for ativado e você esquecer que estava fazendo uma modificação, você corre o risco de perder seus dados. + Teclado, preenchimento automático, área de transferência \ No newline at end of file From 4fa3fb86cb9da236163698f6fa4844467192bed3 Mon Sep 17 00:00:00 2001 From: solokot Date: Sat, 29 Jul 2023 13:02:10 +0000 Subject: [PATCH 12/57] Translated using Weblate (Russian) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/ --- app/src/main/res/values-ru/strings.xml | 73 +++++++++++++++++--------- 1 file changed, 47 insertions(+), 26 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index e6a1556a9..4f459df07 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -118,7 +118,7 @@ Только чтение KeePassDX необходимо разрешение на запись, чтобы иметь возможность изменить что-либо в вашей базе. Убрать из списка - База + Корень Раунды шифрования Дополнительные раунды шифрования – выше стойкость базы к подбору пароля, но медленнее открытие и сохранение. Сохранение базы… @@ -133,7 +133,7 @@ Избегайте использования в пароле символов вне кодировки текста в файле базы, так как эти символы будут преобразованы в одинаковый символ. Версия %1$s Зашифрованный пароль сохранён - Для этой базы главный пароль ещё не сохранён. + Недоступно Введите пароль и/или файл ключа, чтобы разблокировать базу. \n \nНе забывайте сохранять копию файла базы в безопасном месте после каждого изменения. @@ -196,11 +196,11 @@ Блокировка Блокировка экрана Блокировать базу через несколько секунд после отключения экрана - Расширенная разблокировка + Разблокировка устройства Биометрическая разблокировка Включить разблокировку базы при помощи биометрического ключа Удалить ключи шифрования - Удалить все ключи шифрования, связанные с распознаванием расширенной разблокировки + Удалить все ключи шифрования, связанные с распознаванием разблокировки устройства Невозможно использовать эту функцию. Ваша версия Android %1$s, требуется %2$s. Соответствующее оборудование не найдено. @@ -219,7 +219,7 @@ Описание базы Версия базы Текст - Внешний вид + Интерфейс Прочее Клавиатура Настройки Magikeyboard @@ -334,10 +334,10 @@ Обновить Закрыть поля Невозможно создать базу с этим паролем и ключевым файлом. - Расширенная разблокировка + Разблокировка устройства Биометрический ключ Автозапрос ключа - Автоматически запрашивать расширенную разблокировку, если она установлена для базы + Автоматически запрашивать разблокировку устройства, если она установлена для базы Включить Отключить Режим выбора @@ -367,7 +367,7 @@ Исправить проблему путём создания новых UUID для дубликатов и продолжить работу\? База открыта Копирование полей ввода с помощью буфера обмена устройства - Использовать расширенную разблокировку для более лёгкого открытия базы данных + Использовать разблокировку устройства для более лёгкого открытия базы Сжатие данных Сжатие данных уменьшает размер базы Максимум записей @@ -446,7 +446,7 @@ Добавить элемент Экран ввода главного пароля Автоматически переключаться на предыдущую клавиатуру после заполнения формы и выполнения автоматического действия кнопки - Автоматическое действие кнопки + Переключение назад Автоматически переключаться на предыдущую клавиатуру на экране входа в базу Переключение клавиатуры Добавить %1$s @@ -491,29 +491,29 @@ Разблокировка учётными данными устройства Учётные данные устройства Введите пароль и нажмите эту кнопку. - Невозможно инициализировать запрос расширенной разблокировки. - Невозможно распознать расширенную разблокировку - Невозможно прочитать ключ расширенной разблокировки. Удалите его и повторите процедуру распознавания разблокировки. - Извлекать учётные данные базы с использованием расширенной разблокировки - Открыть базу с расширенным распознаванием разблокировки - При использовании расширенной разблокировки вам всё равно необходимо помнить основные учётные данные. - Удалить все ключи шифрования, связанные с распознаванием расширенной разблокировки\? - Ошибка расширенной разблокировки: %1$s - Распознавание расширенной разблокировки - Удалить ключ расширенной разблокировки + Невозможно инициализировать запрос разблокировки устройства. + Невозможно распознать разблокировку устройства + Невозможно прочитать ключ разблокировки устройства. Удалите его и повторите процедуру распознавания разблокировки. + Извлекать учётные данные базы с использованием разблокировки устройства + Распознавание разблокировки устройства + При использовании разблокировки устройства вам всё равно необходимо помнить основные учётные данные. + Удалить все ключи шифрования, связанные с распознаванием разблокировки устройства\? + Ошибка разблокировки устройства: %1$s + Настройка разблокировки устройства + Удалить ключ разблокировки устройства Ввод Возврат к предыдущей клавиатуре Пользовательские поля Backspace Выберите запись - Расширенная разблокировка базы - Срок действия расширенной разблокировки + Разблокировка базы устройством + Срок действия разблокировки устройства Свяжите пароль с отсканированными биометрическими данными или учётными данными устройства, чтобы быстро разблокировать базу. - Продолжительность использования содержимого расширенной разблокировки до его удаления + Продолжительность использования содержимого разблокировки устройства до его удаления Время действия - Временная расширенная разблокировка - Не сохранять зашифрованное содержимое для использования расширенной разблокировки - Нажмите, чтобы удалить ключи расширенной разблокировки + Временная разблокировка устройства + Не сохранять зашифрованное содержимое для использования разблокировки устройства + Нажмите, чтобы удалить ключи разблокировки устройства Содержимое Невозможно получить URI базы. Невозможно правильно перестроить список. @@ -603,7 +603,7 @@ Метки Хеш файла не гарантируется, поскольку Android может изменять свои данные на лету. Измените расширение файла на .bin для сохранения целостности. Держать экран включённым - Не отключать экран при просмотре записи + Не отключать экран при просмотре или редактировании записи Цвета записей Показывать цвета текста и фона записи Открыть панель навигации @@ -667,4 +667,25 @@ <strong>Никакие пользовательские данные не собираются</strong>, это приложение не подключается ни к одному серверу, работает исключительно локально и полностью соблюдает конфиденциальность пользователей. Автонабор Объединение выполнено + Позже + Запрос + Разблокировка + Поиск, блокировка, история, настройки + Клавиатура, автозаполнение, буфер обмена + Биометрия, учётные данные устройства + Метаданные, корзина, шаблоны, история + Шифрование, функция формирования ключа + Не забывайте проверять введённые данные и сохранять базу. +\n +\nЕсли сработает автоматическая блокировка, а вы забудете, что вносили изменения, то рискуете потерять данные. + Информация + Изменение, обновление + Разрешение необходимо для использования функции уведомления буфера обмена. + Темы, цвета, атрибуты + Настройка + Проверка записи + Настройка разблокировки устройства + Разрешение на отображение уведомлений позволяет показывать состояние базы и блокировать её с помощью легкодоступной кнопки. +\n +\nЕсли не предоставить это разрешение, то открытая в фоновом режиме база не будет видна, если на переднем плане находится другое приложение. \ No newline at end of file From 9ea7c86da7ee7cd2eff8c9e1ad03ac2a4cd68949 Mon Sep 17 00:00:00 2001 From: Ihor Hordiichuk Date: Sat, 29 Jul 2023 15:05:41 +0000 Subject: [PATCH 13/57] Translated using Weblate (Ukrainian) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/uk/ --- app/src/main/res/values-uk/strings.xml | 77 ++++++++++++++++---------- 1 file changed, 49 insertions(+), 28 deletions(-) diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 829c1079b..47aa68649 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -41,7 +41,7 @@ Цифри KeePassDX © %1$d Kunzisoft є застосунком з <strong>відкритим програмним кодом</strong> та <strong>не містить реклами</strong>. \nЗастосунок постачається як є, на умовах ліцензії <strong>GPLv3</strong>, без будь-яких гарантій. - Відкрити наявну базу даних + Відкрити наявне сховище Доступ Скасувати Примітки @@ -90,7 +90,7 @@ Налаштування Налаштування бази даних Видалити - Допомогти + Підтримати Змінити Приховати пароль Заблокувати базу даних @@ -176,7 +176,7 @@ Захист Відкривати пошук під час відкриття бази даних Швидкий пошук - Створити нову базу даних + Створити нове сховище Видалити історію Відновити історію Спорожнити кошик @@ -190,7 +190,7 @@ Поле файла ключа Налаштування головного ключа Налаштування безпеки - Розширене розблокування + Розблокування пристрою Заповнення форм Скопійовано %1$s Створення бази даних… @@ -370,14 +370,14 @@ Назва файлу Пристрій працює під керуванням Android %1$s, але необхідний %2$s чи пізніші. Не вдалось запустити цю функцію. - Видалити всі ключі шифрування, пов’язані з розпізнаванням розширеного розблокування + Видалити всі ключі шифрування, пов’язані з розпізнаванням розблокування пристрою Видалити ключі шифрування - Автоматично запитувати розширене розблокування, якщо базу даних налаштовано для роботи з ним + Автозапит розблокування пристрою, якщо базу даних налаштовано для роботи з ним Автозапит ключа Дозволяє сканувати біометричні дані, щоб відкрити базу даних Розблокування біометричним ключем - Увімкніть розширені параметри розблокування та спростіть відкриття бази даних - Розширені параметри розблокування + Використовуйте розблокування пристрою, щоб спростити відкриття бази даних + Розблокування пристрою Показувати кнопку блокування в інтерфейсі користувача Показувати кнопку блокування Блокувати базу даних, коли користувач натисне кнопку назад на головному екрані @@ -405,7 +405,7 @@ Біометричний ключ Зовнішній вигляд Історія - У цій базі даних ще немає збережених облікових даних. + Недоступно Зашифрований пароль збережено Сховище ключів не ініціалізовано належним чином. Збірка %1$s @@ -446,7 +446,7 @@ Додати елемент Перемикання клавіатури Автоматично перемикатися до попередньої клавіатури після виконання дії «Автоматична дія кнопки» - Автоматична дія кнопки + Перемкнутися назад Автоматичне перемикання до попередньої клавіатури, на екрані входу до бази даних Екран входу до бази даних База даних KeePass має містити лише невеликі файли утиліт (наприклад, файли ключів PGP). @@ -487,33 +487,33 @@ Режим пошуку Збереження нового елемента заборонено в базі даних лише для читання Назва поля вже існує. - Видалити всі ключі шифрування, пов’язані з розширеним розпізнаванням розблокування\? + Видалити всі ключі шифрування, пов’язані з розпізнаванням розблокування пристрою\? Дає змогу використовувати облікові дані пристрою для відкриття бази даних Розблокування облікових даних пристрою Облікові дані пристрою Введіть пароль, а потім натисніть цю кнопку. - Не вдалося ініціалізувати запит на розширене розблокування. - Помилка розширеного розблокування: %1$s - Не вдалося розпізнати розширене розблокування - Не вдалося розпізнати ключ розширеного розблокування. Видаліть його та повторіть процедуру створення ключа. - Витягування облікових даних бази даних за допомогою даних розширеного розблокування - Відкрити базу даних розширеним розпізнаванням розблокування - Навіть якщо ви користуєтеся розширеним розблокуванням, вам однаково необхідно пам\'ятати основні облікові дані. - Розпізнавання розширеного розблокування - Видалити ключ розширеного розблокування + Не вдалося ініціалізувати запит на розблокування пристрою. + Помилка розблокування пристрою: %1$s + Не вдалося розпізнати розблокування пристрою + Не вдалося розпізнати ключ розблокування пристрою. Видаліть його й повторіть процедуру створення ключа. + Витягування облікових даних бази даних за допомогою даних розблокування пристрою + Розпізнавання розблокуванням пристрою + Якщо ви використовуєте розпізнавання розблокуванням пристрою, вам усе одно потрібно пам\'ятати свої основні облікові дані сховища. + Посилання на розблокування пристрою + Видалити ключ розблокування пристрою Enter Backspace Вибрати запис Повернутися до попередньої клавіатури Власні поля - Час дії розширеного розблокування - Час дії розширеного розблокування + Час дії розблокування пристрою + Час дії розблокування пристрою Пов’яжіть свій пароль зі сканованими біометричними даними або даними пристрою, щоб швидко розблокувати базу даних. - Розширене розблокування бази даних - Тривалість використання розширеного розблокування перед видаленням його вмісту - Не зберігати зашифрований вміст для використання розширеного розблокування - Тимчасове розширене розблокування - Торкнутися, щоб видалити клавіші розширеного розблокування + Розблокування бази даних пристроєм + Тривалість використання розблокування пристрою перед видаленням його вмісту + Не зберігати зашифрований вміст для використання розблокування пристрою + Тимчасове розблокування пристрою + Торкніться, щоб видалити ключі розблокування пристрою Вміст Не вдалося належним чином відновити список. Неможливо отримати URI бази даних. @@ -601,7 +601,7 @@ Об\'єднати дані Перезавантаження бази даних видалить локально змінені дані. Не вимикати екран - Не вимикати екран під час перегляду запису + Не вимикати екран під час перегляду або редагування запису Кольори записів Показує кольори шрифту й тла запису Мітки @@ -667,4 +667,25 @@ <strong>Жодні користувацькі дані не збираються</strong>, цей застосунок не з\'єднується з жодним сервером, він працює лише локально та повністю поважає приватність користувачів. Автовведення Успішно об\'єднано + Пошук, блокування, історія, властивості + Клавіатура, автозаповнення, буфер обміну + Біометрія, облікові дані пристрою + Метадані, кошик, шаблони, історія + Шифрування, функція генерування ключів + Зміни, оновлення + Щоб використовувати функцію сповіщень буфера обміну, потрібен дозвіл на сповіщення. + Пізніше + Запитувати + Сконфігурувати + Посилання для розблокування пристрою + Теми, кольори, атрибути + Розблокувати + Перевірте запис + Не забувайте перевірити свій запис і зберегти базу даних. +\n +\nЯкщо активовано автоблокування і ви забудете, що вносили зміни, ви ризикуєте втратити свої дані. + Відомості + Дозвіл на сповіщення дозволяє показувати стан бази даних і блокувати її за допомогою легкодоступної кнопки. +\n +\nЯкщо ви не активуєте цей дозвіл відкриту у фоновому режимі базу даних не буде видно, якщо на передньому плані інший застосунок. \ No newline at end of file From 1dc08bbfefc5e0e598c8dfbf8d9865046ec48ae4 Mon Sep 17 00:00:00 2001 From: Eric Date: Sun, 30 Jul 2023 05:43:15 +0000 Subject: [PATCH 14/57] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/ --- app/src/main/res/values-zh-rCN/strings.xml | 75 ++++++++++++++-------- 1 file changed, 48 insertions(+), 27 deletions(-) diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 0447b36c9..26d935e2a 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -41,7 +41,7 @@ 数字 KeePassDX © %1$d 是 Kunzisoft 旗下的一个<strong>不含广告</strong>的<strong>开源软件</strong>。 \n它是根据<strong>GPLv3</strong>许可证分发的,您可在遵循GPLv3或者更高版本的协议下重新发布。Kunzisoft对软件的质量和性能等问题不提供任何形式的担保。 - 打开已有数据库 + 打开现有数据库 访问时间 取消 备注 @@ -179,7 +179,7 @@ 剪贴板 剪贴板通知 锁定 - 高级解锁 + 设备解锁 文件名 路径 新建数据库 @@ -208,7 +208,7 @@ 确认不使用加密密钥吗? 构建 %1$s 加密密码已保存 - 当前数据库无密码。 + 不可用 设为默认的填充服务 启用自动填充功能,以快速填写其他应用中的表单 密码生成长度 @@ -222,7 +222,7 @@ 生物识别解锁 通过生物识别解锁数据库 删除加密密钥 - 删除所有与高级解锁识别相关的加密密钥 + 删除所有与设备解锁识别相关的加密密钥 无法启动此功能。 此设备运行 Android %1$s ,但应用需要 %2$s 或更高版本。 找不到所需的硬件。 @@ -254,7 +254,7 @@ 按键震动 按键声音 允许主密钥为空 - 如果没有凭证被选中,允许点击“打开”按钮 + 如果没有凭证被选中,允许轻按“打开”按钮 新手引导 高亮界面元素来学习本应用工作方式 重置新手引导 @@ -337,10 +337,10 @@ 更新 关闭字段 无法使用此密码和密钥文件新建数据库。 - 高级解锁 + 设备解锁 生物识别 自动打开提示 - 自动请求高级解锁,如果数据库设置为使用它 + 如数据库设置为使用设备解锁,自动请求使用它 启用 禁用 主密钥 @@ -369,7 +369,7 @@ 是否通过为重复项生成新的 UUID 以解决问题? 数据库开启 使用设备的剪贴板来复制输入字段 - 使用高级解锁以便快速解锁数据库 + 使用设备解锁以便更轻松地打开数据库 数据压缩 数据压缩减少了数据库的大小 最大数量 @@ -446,7 +446,7 @@ 添加条目 数据库凭据屏幕 执行“自动键动作”后,自动切换回前一个键盘 - 自动键动作 + 切换回 如果显示数据库凭据屏幕,则自动返回到上一个键盘 切换键盘 上传 %1$s @@ -487,33 +487,33 @@ 搜索模式 只读数据库不允许保存新条目 字段名已经存在。 - 删除所有与高级解锁识别相关的加密密钥吗? + 删除所有与设备解锁识别相关的加密密钥吗? 允许您使用设备凭据来打开数据库 设备凭据解锁 设备凭据 输入密码,然后点击这个按钮。 - 无法初始化高级解锁提示。 - 高级解锁出错:%1$s - 无法识别高级解锁印记 - 无法读取高级解锁密钥。请删除它,并重复解锁识别步骤。 - 用高级解锁数据提取数据库凭据 - 用高级解锁识别打开数据库 - 即使您使用高级解锁识别,您仍然需要记住您的主凭据。 - 高级解锁识别 - 删除高级解锁密钥 + 无法初始化设备解锁提示。 + 设备解锁出错:%1$s + 无法识别设备解锁印记 + 无法读取设备解锁密钥。请删除它,并重复解锁识别步骤。 + 用设备解锁数据提取数据库凭据 + 设备解锁识别 + 即使使用设备解锁识别,您仍然需要记住密码库的主凭据。 + 设备解锁链接 + 删除设备解锁密钥 输入 退格键 选择条目 回到先前的键盘 自定义字段 将您的密码连接到您扫描的生物特征或设备凭据,以快速解锁您的数据库。 - 高级数据库解锁 - 高级解锁超时 - 删除内容之前高级解锁使用的持续时间 - 高级解锁过期 - 不要存储任何加密内容来使用高级解锁 - 临时性高级解锁 - 点击删除高级解锁密钥 + 设备数据库解锁 + 设备解锁超时 + 设备解锁使用持续多久后删除其内容 + 设备解锁过期 + 使用设备解锁但不存储任何加密内容 + 临时性设备解锁 + 轻按删除设备解锁密钥 内容 无法正确地重建列表。 无法检索数据库 URI 。 @@ -602,7 +602,7 @@ 重新加载数据库将删除本地修改的数据。 文件的哈希值不能保证,因为 Android 可以在运行中更改数据。将文件扩展名更改为 .bin 以确保完整性。 保持屏幕亮起 - 查看条目时保持屏幕亮起 + 查看或编辑条目时保持屏幕亮起 条目颜色 显示条目的前景色和背景色 标签 @@ -667,4 +667,25 @@ 截屏模式 <strong>不获取用户数据</strong>,此应用不连接任何服务器,仅在本地运行,并充分尊重用户的隐私。 合并成功完成 + 搜索、锁定、历史记录、属性 + 键盘、自动填充、剪贴板 + 生物特征、设备凭据 + 元数据、回收站、模板、历史记录 + 加密、密钥派生函数 + 更改、延续 + 以后再说 + 配置 + 设备解锁链接 + 主题、颜色、属性 + 解锁 + 验证条目 + 信息 + 通知权限允许展示数据库状态并通过可以轻松访问的按钮锁定它。 +\n +\n如未授予此权限,那么在前台存在另一个程序情况下,后台打开的数据库将不可见。 + 必须授予通知权限才能使用剪贴板通知功能。 + 询问 + 记得验证你的条目并保存你的数据库。 +\n +\n如果激活了自动锁定,且你忘了你正在进行更改,你可能失去你的数据。 \ No newline at end of file From 61035ca47bb862c2cb3cfb49faac4b1286317d9f Mon Sep 17 00:00:00 2001 From: Alexthegib Date: Sun, 30 Jul 2023 09:50:32 +0000 Subject: [PATCH 15/57] Translated using Weblate (Portuguese) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt/ --- app/src/main/res/values-pt/strings.xml | 75 ++++++++++++++++---------- 1 file changed, 48 insertions(+), 27 deletions(-) diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 9ba3d50f4..b2f91e1db 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -79,7 +79,7 @@ Tipo de letra nos campos Move grupos e entradas para o \"Caixote da reciclagem\" antes de eliminar Utilização do caixote da reciclagem - Criar base de dados + Criar novo Cofre Atribuir uma chave mestra Caminho Nome do ficheiro @@ -135,7 +135,7 @@ Proteção Em funcionamento… A criar nova base de dados… - Abrir uma base de dados existente + Abrir o cofre existente Instale um navegador para abrir esta URL. A pesquisa não obteve resultados Nunca @@ -207,14 +207,14 @@ Lembrar locais dos ficheiros-chave Mantém um registo dos locais onde as bases de dados são armazenadas Lembrar locais das bases de dados - Desbloqueio avançado + Desbloqueio de dispositivos Não foi possível ler a base de dados. KeePassDX © %1$d Kunzisoft tem o <strong>código-fonte aberto</strong> e <strong>sem publicidade</strong>. \nÉ fornecido como está, sob a <strong>licença GPLv3</strong>, sem qualquer garantia. Informações sobre ficheiro Informações sobre credenciais Mudar automaticamente para o teclado anterior depois de executar a \"tecla automática\" - Ação da tecla automática + Voltar atrás Voltar automaticamente para o teclado anterior no ecrã de credenciais da base de dados Ecrã de credenciais da base de dados Mudar de teclado @@ -294,7 +294,7 @@ Limitar a quantidade de itens no histórico por entrada Número máximo Compressão de dados - Usar desbloqueio avançado para abrir a base de dados mais facilmente + Utilizar o desbloqueio do dispositivo para abrir uma base de dados mais facilmente Copiar campos de entrada usando a área de transferência do seu dispositivo Base de dados aberta Ative o serviço de preencher automático para preencher formulários noutras aplicações @@ -326,15 +326,15 @@ Chave mestra Desativar Ativar - Eliminar todas as chaves de encriptação relacionadas com o desbloqueio de reconhecimento avançado + Eliminar todas as chaves de encriptação relacionadas com o reconhecimento do desbloqueio do dispositivo Eliminar chaves de encriptação - Pedir automaticamente o desbloqueio avançado se a base de dados estiver configurada para usá-lo + Solicitar automaticamente o desbloqueio do dispositivo se a base de dados estiver configurada para o utilizar Permite que leia os seus dados biométricos para abrir a base de dados Desbloqueio biométrico - Desbloqueio avançado + Desbloqueio do dispositivo Biométrico Aparência - Ainda não há nenhuma palavra-chave armazenada nesta base de dados. + Não disponível. Configurações da base de dados Alterar chave mestra Não foi possível criar a base de dados com essa palavra-passe e ficheiro-chave. @@ -445,14 +445,14 @@ Adicionar entrada Aceitar Credencial do dispositivo - Não foi possível inicializar o desbloqueio avançado. - Erro de desbloqueio avançado: %1$s - Não foi possível reconhecer a impressão de desbloqueio avançado - Não foi possível ler a chave de desbloqueio avançada. Por favor, elimine-a e repita o procedimento de reconhecimento de desbloqueio. - Extrair credencial da base de dados com dados de desbloqueio avançados - Abrir base de dados com reconhecimento de desbloqueio avançado - Ainda terá de se lembrar da sua credencial principal se usar o reconhecimento de desbloqueio avançado. - Reconhecimento de desbloqueio avançado + Não foi possível inicializar a solicitação de desbloqueio do dispositivo. + Erro de desbloqueio do dispositivo: %1$s + Não foi possível reconhecer a impressão de desbloqueio do dispositivo + Não é possível ler a chave de desbloqueio do dispositivo. Elimine-a e repita o procedimento de reconhecimento de desbloqueio. + Extrair credencial da base de dados com dados de desbloqueio do dispositivo + Reconhecimento do desbloqueio do dispositivo + Continua a ser necessário recordar a credencial principal do cofre se utilizar o reconhecimento de desbloqueio do dispositivo. + Ligação para o desbloqueio do dispositivo É necessária uma atualização de segurança biométrica. Não está registada nenhuma credencial biométrica ou de dispositivo. Acesso ao ficheiro revogado pelo gestor de ficheiros. Feche a base de dados e reabra-a a partir da sua localização. @@ -462,7 +462,7 @@ Modo de registo Modo de guardar Modo de pesquisa - Eliminar chave de desbloqueio avançada + Eliminar a chave de desbloqueio do dispositivo Recarregar dados Não foi possível reconstruir adequadamente a lista. Não foi possível recuperar o URI da base de dados. @@ -486,7 +486,7 @@ Escolha temas claros ou escuros Brilho do tema Cancelado! - Desbloqueio avançado da base de dados + Desbloqueio da base de dados do dispositivo Adicionadas sugestões de preenchimento automático. Não é possível guardar dados numa base de dados aberta apenas com permissão de leitura. Pedir para guardar dados quando terminar de preencher um formulário @@ -513,15 +513,15 @@ Utilização de modelos Grupo de modelos Usa modelos dinâmicos para preencher os campos de uma entrada - Eliminar todas as chaves de encriptação relacionadas com o desbloqueio de reconhecimento avançado\? - Tempo limite do desbloqueio avançado - Duração do uso do desbloqueio avançado antes de eliminar os seus conteúdos - Duração do desbloqueio avançado - Não armazenar nenhum conteúdo encriptado para usar o desbloqueio avançado - Desbloqueio avançado temporário + Eliminar todas as chaves de encriptação relacionadas com o reconhecimento do desbloqueio do dispositivo\? + Tempo limite de desbloqueio do dispositivo + Duração da utilização do desbloqueio do dispositivo antes de eliminar o seu conteúdo + Expiração do desbloqueio do dispositivo + Não guarde qualquer conteúdo encriptado para utilizar o desbloqueio do dispositivo + Desbloqueio temporário do dispositivo Permite-lhe usar as credenciais do seu dispositivo para abrir a base de dados Desbloqueio das credenciais do dispositivo - Tocar para as eliminar chaves de desbloqueio avançado + Toque para eliminar as chaves de desbloqueio do dispositivo Conteúdo Selecionar entrada… Propriedades @@ -578,7 +578,7 @@ Unir dados Recarregar a base de dados irá eliminar os dados alterados localmente. Manter o ecrã ligado - Manter o ecrã ligado ao ver uma entrada + Manter o ecrã ligado ao ver ou editar uma entrada Cores da entrada Não se pode mover um grupo para aqui. Cor da base de dados @@ -645,4 +645,25 @@ <strong>Nenhum dado de utilizador é recuperado</strong>, esta aplicação não se liga a nenhum servidor, funciona apenas localmente e respeita plenamente a privacidade dos utilizadores. Preenchimento automático Fusão concluída com sucesso + Informação + Pesquisar, bloquear, histórico, propriedades + Teclado, preenchimento automático, área de transferência + Biometria, credencial do dispositivo + Metadados, reciclagem, modelos, histórico + Encriptação, função de derivação de chaves + Mudança, renovação + A permissão de notificação é necessária para utilizar a funcionalidade de notificação da área de transferência. + Mais tarde + Perguntar + Configurar + Ligação de desbloqueio do dispositivo + Desbloquear + Validar a entrada + Não se esqueça de validar a sua entrada e de guardar a sua base de dados. +\n +\nSe um bloqueio automático estiver ativado e se esquecer que está a fazer uma modificação, corre o risco de perder os seus dados. + A permissão de notificação permite-lhe apresentar o estado da base de dados e bloqueá-la com um botão facilmente acessível. +\n +\nSe não ativar esta permissão, a base de dados aberta em segundo plano não será visível se outra aplicação estiver em primeiro plano. + Temas, cores, atributos \ No newline at end of file From b490295b9003959fc4dbf461a29001b9724ca9eb Mon Sep 17 00:00:00 2001 From: Htet Oo Hlaing Date: Sun, 30 Jul 2023 04:44:49 +0000 Subject: [PATCH 16/57] Translated using Weblate (Burmese) Currently translated at 4.6% (30 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/my/ --- app/src/main/res/values-my/strings.xml | 33 +++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-my/strings.xml b/app/src/main/res/values-my/strings.xml index a6b3daec9..a44bfac08 100644 --- a/app/src/main/res/values-my/strings.xml +++ b/app/src/main/res/values-my/strings.xml @@ -1,2 +1,33 @@ - \ No newline at end of file + + အချက်အလက် + တုံ့ပြန်ချက် + ပင်မစာမျက်နှာ + လက်ခံသည် + စကားဝှက်ထည့်မည် + ဂရုထဲထည့်မည် + မာစတာ ကီး + လုံခြုံရေး + ကုဒ်ဝှက်ခြင်း + မာစတာကီးအား ကုဒ်ဝှက်ခြင်းလုပ်ဆောင်ချက် + အချိန်ပြည့် + အက်ပ် + ထပ်တိုးထားသော အေအက်စ်စီအိုင်အိုင် + ခွင့်ပြုသည် + ကလစ်ဘုတ် ရှင်းလင်းပြီး + ကလစ်ဘုတ် အယ်ရာ + တချို့ဖုန်းတွေမှာ အက်ပ်တွေကို ကလစ်ဘုတ်အသုံးပြုခွင့်မပေးတာမျိုးရိှနိုင်ပါတယ်။ + ဖိုင်ဖွင့်မည် + ထည့်မည် + ဆက်သွယ်ရန် + ပါဝင်အားဖြည့်မှု + Android အတွက် KeePass စကားဝှက်မန်နေဂျာ + ကုဒ်ဝှက်ခြင်း အယ်ဂိုရီသမ် + ပြုပြင်မည် + ဒေတာဘေ့စ်အား ဖွင့်ထားရန်ကြာချိန် + ဒေတာဘေ့ ဖန်တီးရန်၊ဖွင့်ရန်နှင့်သိမ်းဆည်းရန်အတွက် ACTION_CREATE_DOCUMENT နှင့် ACTION_OPEN_DOCUMENT လုပ်ဆောင်ချက်များပါဝင် သောဖိုင်မန်နေဂျာလိုအပ်ပါသည်။ + ကလစ်ဘုတ်ကို မရှင်းလင်းနိုင်ပါ + ကလစ်ဘုတ် သတ်မှတ်ချိန်ကုန်သွားသည် + ကလစ်ဘုတ်ရှိ သိုလှောင်မှုကြာချိန် (သင့်ဖုန်းမှပံ့ပိုးပေးလျှင်) + နောက်ခံ + \ No newline at end of file From 61cfda93a587a91315697e797802a3080d8addda Mon Sep 17 00:00:00 2001 From: random r Date: Sun, 30 Jul 2023 10:47:48 +0000 Subject: [PATCH 17/57] Translated using Weblate (Italian) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/it/ --- app/src/main/res/values-it/strings.xml | 83 ++++++++++++++++---------- 1 file changed, 52 insertions(+), 31 deletions(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index b211e3ef9..e5fafc06e 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -26,7 +26,7 @@ Aggiungi elemento Aggiungi gruppo Algoritmo di cifratura - Timeout + Scadenza Tempo di inattività prima del blocco del database App Impostazioni app @@ -47,7 +47,7 @@ KeePassDX © %1$d Kunzisoft è un programma <strong>open-source</strong> e <strong>senza pubblicità</strong>. \nViene distribuito sotto le condizioni della licenza <strong>GPL versione 3</strong> o successiva, senza alcuna garanzia. Note - Apri un database esistente + Apri una cassaforte esistente Ultimo accesso Annulla Conferma password @@ -134,7 +134,7 @@ Evita password con caratteri al di fuori del formato di codifica del testo nel file del database (i caratteri non riconosciuti vengono convertiti nella stessa lettera). Versione %1$s Password criptata salvata - Questo database non contiene alcuna credenziale. + Non disponibile Inserisci la password e/o il file chiave per sbloccare il database. \n \nEseguire il backup del file del database in un luogo sicuro dopo ogni modifica. @@ -192,18 +192,18 @@ Blocca Blocco schermo Blocca il database dopo alcuni secondi quando lo schermo è spento - Impronta digitale + Sblocco con dispositivo Scansione biometrica Consente la scansione biometrica per aprire il database Elimina chiavi di cifratura - Elimina tutte le chiavi di cifratura relative allo sblocco avanzato + Elimina tutte le chiavi di crittografia relative allo sblocco con dispositivo Impossibile avviare questa funzione. Il dispositivo usa Android %1$s, ma richiede %2$s o versioni successive. L\'hardware relativo non è stato trovato. Nome del file Percorso Assegna una chiave master - Crea un nuovo database + Crea una nuova cassaforte Utilizzo del Cestino Sposta i gruppi e le voci nel gruppo «Cestino» prima di eliminarli Carattere campi @@ -285,7 +285,7 @@ Mostra nomi utente Mostra i nomi utente negli elenchi Appunti - Build %1$s + Versione %1$s Magitastiera Magitastiera (KeePassDX) Impostazioni Magitastiera @@ -339,7 +339,7 @@ Sfondo Identificativo univoco universale Impossibile creare un database con questa password e file chiave. - Sblocco avanzato + Sblocco con dispositivo Cronologia Imposta password usa e getta Tipo di OTP @@ -398,8 +398,8 @@ Gruppo cestino La compressione dei dati riduce le dimensioni del database Compressione dati - Richiedi automaticamente lo sblocco avanzato se il database è impostato per usarlo - Utilizza lo sblocco avanzato per aprire il database più facilmente + Richiedi automaticamente lo sblocco con dispositivo se il database è impostato per usarlo + Utilizza lo sblocco con dispositivo per aprire un database più facilmente Copia i campi di immissione utilizzando gli appunti del tuo dispositivo Database aperto Biometrico @@ -448,7 +448,7 @@ Ricerca per sotto-dominio Aggiungi elemento Torna automaticamente alla tastiera precedente quando si esegue l\'azione del tasto automatico - Azione tasto automatico + Torna indietro Torna automaticamente alla tastiera precedente nella schermata credenziali del database Schermata credenziali del database Cambia tastiera @@ -478,7 +478,7 @@ Chiudi il database dopo aver usato l\'autocompletamento Chiudi database Torna automaticamente alla tastiera precedente dopo aver bloccato il database - Blocca il database + Blocca database Provare a salvare l\'informazione condivisa quando viene selezionato manualmente un elemento, per poterne facilitare gli utilizzi futuri Salva le informazioni condivise Notifica @@ -491,33 +491,33 @@ Il salvataggio di un nuovo elemento non è consentito in un database di sola lettura Nessuna credenziale biometrica o del dispositivo è registrata. Collega la password alla tua autenticazione biometrica (o del dispositivo) per sbloccare velocemente il database. - Sblocco avanzato del database + Sblocco del database con dispositivo Invio Backspace Seleziona voce Torna alla tasitera precedente Campi personalizzati - Vuoi eliminare le chiavi di cifratura relative allo sblocco avanzato\? - Durata dello sblocco avanzato - Non salvare alcun contenuto criptato per usare lo sblocco avanzato - Validità dello sblocco avanzato prima di eliminarne il contenuto - Scadenza dello sblocco avanzato - Sblocco avanzato temporaneo + Vuoi eliminare tutte le chiavi di crittografia relative allo sblocco con dispositivo\? + Scadenza dello sblocco con dispositivo + Non salvare alcun contenuto cifrato per usare lo sblocco con dispositivo + Validità dell\'uso dello sblocco con dispositivo prima di eliminarne il contenuto + Scadenza dello sblocco con dispositivo + Sblocco con dispositivo temporaneo Permette di usare le credenziali del dispositivo per sbloccare il database Sblocco con le credenziali del dispositivo - Tocca per eliminare le chiavi di sblocco avanzato + Tocca per eliminare le chiavi di sblocco con dispositivo Contenuto - Non è possibile inizializzare lo sblocco avanzato. - Non è possibile riconoscere lo sblocco avanzato - Non è possibile leggere la chiave di sblocco avanzato. Eliminala e ripeti la procedura di riconoscimento dello sblocco. - Estrai le credenziali del database con i dati dallo sblocco avanzato - Attenzione: dovrai comunque ricordare la password principale anche se usi lo sblocco avanzato. - Riconoscimento con sblocco avanzato + Impossibile inizializzare la richiesta di sblocco con dispositivo. + Non è stato possibile riconoscere l\'impronta di sblocco del dispositivo + Non è possibile leggere la chiave di sblocco del dispositivo. Eliminala e ripeti la procedura di riconoscimento dello sblocco. + Estrai le credenziali del database con i dati dello sblocco con dispositivo + Dovrai comunque ricordare la password principale della cassaforte anche se usi lo sblocco con dispositivo. + Collegamento allo sblocco con dispositivo Credenziali del dispositivo Inserisci la password, poi clicca questo pulsante. - Errore sblocco avanzato: %1$s - Apri il database con lo sblocco avanzato - Elimina chiave di sblocco avanzato + Errore sblocco con dispositivo: %1$s + Riconoscimento sblocco con dispositivo + Elimina chiave di sblocco del dispositivo Non è possibile ricostruire la lista correttamente. Non è stato recuperato l\'indirizzo del database. Suggerimento di riempimento aggiunto. @@ -606,7 +606,7 @@ Ricaricare il database eliminerà i dati modificati in locale. L\'hash del file non è garantito perché Android può cambiare i suoi dati al volo. Cambia l\'estensione del file in .bin per una corretta integrità. Tieni lo schermo acceso - Tieni lo schermo acceso mentre si vede la voce + Mantieni lo schermo acceso mentre guardi o modifichi un elemento Colori della voce Mostra colori in evidenza e in secondo piano per una voce Dati personalizzati @@ -626,7 +626,7 @@ Frase di accesso Colora le password Colora i tipi di carattere della password - Un database è già aperto, chiuderlo prima di aprirne un altro + Un database è già aperto, chiudilo prima di aprirne un altro Sequenza di autodigitazione Questa funzione memorizzerà le informazioni cifrate di accesso nel KeyStore protetto del dispositivo. \n @@ -670,4 +670,25 @@ <strong>Nessun dato dell\'utente viene prelevato</strong>, questa applicazione non si connette ad alcun server, funziona solo in locale e rispetta pienamente la privacy degli utenti. Auto-digita Unione completata correttamente + Info + Ricerca, blocco, cronologia, proprietà + Tastiera, riempimento automatico, appunti + Biometria, credenziali del dispositivo + Metadati, cestino, modelli, cronologia + Crittografia, funzione di derivazione della chiave + Cambio, rinnovo + L\'autorizzazione per le notifiche è necessaria per usare la funzione di notifica degli appunti. + Dopo + Chiedi + Configura + Collegamento sblocco con dispositivo + Temi, colori, attributi + Sblocca + Conferma la voce + Ricordati di confermare la voce e salvare il tuo database. +\n +\nSe un blocco automatico è attivo e ti dimentichi che stavi apportando una modifica, rischi di perdere i tuoi dati. + L\'autorizzazione per le notifiche ti permette di mostrare lo stato del database e bloccarlo con un pulsante facilmente accessibile. +\n +\nSe non attivi questa autorizzazione, il database aperto in secondo piano non sarà visibile se un\'altra applicazione è aperta in primo piano. \ No newline at end of file From 5d3aa445453425f29e834716e353dbf9e80abf34 Mon Sep 17 00:00:00 2001 From: Stephan Paternotte Date: Sun, 30 Jul 2023 11:51:39 +0000 Subject: [PATCH 18/57] Translated using Weblate (Dutch) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/nl/ --- app/src/main/res/values-nl/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 7363c3d45..9977c70ae 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -172,9 +172,9 @@ Prullenbak onderaan Titel Gebruikersnaam - Gecreëerd op - Aangepast om - Geopend om + Aanmaakdatum + Aangepast op + Geopend op Waarschuwing Vermijd wachtwoordtekens buiten het tekstcoderingsformaat in het databasebestand (niet-herkende tekens worden geconverteerd naar dezelfde letter). Doorgaan zonder beveiliging voor wachtwoordontgrendeling\? @@ -409,7 +409,7 @@ Instellingen voor automatisch aanvullen De sleutelopslag is niet correct geïnitialiseerd. Geselecteerde knooppunten definitief verwijderen\? - Toegang tot het bestand ingetrokken door bestandsbeheer + Bestandsbeheer heeft de toegang tot het bestand ingetrokken Bestandstoegang verlenen om databasewijzigingen op te slaan Opdracht uitvoeren… Verbroken koppelingen in de lijst met recente databases verbergen @@ -458,7 +458,7 @@ Een KeePass database is bedoeld om alleen kleine gebruiksbestanden te bevatten (zoals PGP sleutelbestanden). \n \nMet deze upload kan de database erg groot worden en kunnen de prestaties verminderen. - Uploaden van dit bestand zal het bestaande bestand vervangen. + De upload van dit bestand zal het bestaande bestand vervangen. Inloggegevens Het verwijderen van niet-gekoppelde gegevens kan de omvang van uw database verkleinen, maar kan ook gegevens verwijderen die voor KeePass-plug-ins worden gebruikt. Deze gegevens toch verwijderen\? From 5222a72cc625329fcb0e6257885e310ac129421d Mon Sep 17 00:00:00 2001 From: Alexthegib Date: Sun, 30 Jul 2023 09:56:47 +0000 Subject: [PATCH 19/57] Translated using Weblate (Portuguese (Portugal)) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt_PT/ --- app/src/main/res/values-pt-rPT/strings.xml | 109 ++++++++++++--------- 1 file changed, 65 insertions(+), 44 deletions(-) diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 987528db6..4f56171ff 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -44,7 +44,7 @@ Dígitos KeePassDX © %1$d Kunzisoft tem o <strong>código-fonte aberto</strong> e <strong>sem publicidade</strong>. \nÉ fornecido como está, sob a <strong>licença GPLv3</strong>, sem qualquer garantia. - Abrir uma base de dados existente + Abrir o cofre existente Acedido Cancelar Notas @@ -153,7 +153,7 @@ Cancelar Apenas leitura Alterável - Criar base de dados + Criar novo Cofre Para gerar a chave para o algoritmo de encriptação, a chave mestra é transformada usando uma função de derivação de chave com um salt aleatório. Uso de memória Quantidade de memória a ser usada pela função de derivação de chave. @@ -172,7 +172,7 @@ Continuar sem a chave de encriptação\? Compilação %1$s Palavra-passe encriptada armazenada - Ainda não há nenhuma palavra-chave armazenada nesta base de dados. + Não disponível Histórico Aparência Geral @@ -276,7 +276,7 @@ \n \n\"Apenas leitura\" evita que faça alterações não intencionais na base de dados. \n\"Alterável\" permite adicionar, eliminar ou alterar todos os elementos. - Apresenta nomes de Utilizador nas listas de entradas + Mostra nomes de utilizador nas listas de entradas Área de transferência Magikeyboard Magikeyboard (KeePassDX) @@ -325,14 +325,14 @@ Não se pode mover uma entrada para aqui. Não se pode copiar uma entrada aqui. Mostrar número de entradas - Mostra o número de entradas num grupo + Mostra o número de entradas dentro de um grupo Cor personalizada da base de dados A compressão de dados reduz o tamanho da base de dados Permite que leia os seus dados biométricos para abrir a base de dados - Usar desbloqueio avançado para abrir a base de dados mais facilmente + Utilizar o desbloqueio do dispositivo para abrir uma base de dados mais facilmente Base de dados aberta A base de dados contém UUIDs duplicados. - Guardar base de dados + Guardar dados A criar a base de dados… Não foi possível guardar a base de dados. Não foi possível criar a base de dados com essa palavra-passe e ficheiro-chave. @@ -344,7 +344,7 @@ Lista de aplicações bloqueadas sem permissão de preenchimento automático Lista de bloqueio de aplicações Mudar automaticamente para o teclado anterior depois de executar a \"tecla automática\" - Ação da tecla automática + Voltar atrás Voltar automaticamente para o teclado anterior no ecrã de credenciais da base de dados Ecrã de credenciais da base de dados Mudar de teclado @@ -418,8 +418,8 @@ O contador tem de estar entre %1$d e %2$d. Período (segundos) Configurações do teclado do dispositivo - Eliminar todas as chaves de encriptação relacionadas com o desbloqueio de reconhecimento avançado - Pedir automaticamente o desbloqueio avançado se a base de dados estiver configurada para usá-lo + Eliminar todas as chaves de encriptação relacionadas com o reconhecimento do desbloqueio do dispositivo + Solicitar automaticamente o desbloqueio do dispositivo se a base de dados estiver configurada para o utilizar O acesso ao ficheiro foi revogado pelo gestor de ficheiros Segredo OTP inválido. Contacto @@ -442,12 +442,12 @@ Forçar alteração da chave mestra na próxima vez (uma vez) Resolver o problema gerando novas UUIDs para os duplicados para continuar\? Forçar renovação na próxima vez - Desbloqueio avançado + Desbloqueio de dispositivos Configure a gestão de palavra-passe única (HOTP / TOTP) para gerar um token solicitado para autenticação de dois fatores (2FA). Lembrar locais dos ficheiros-chave Em progresso: %1$d%% Abrir automaticamente o leitor - Desbloqueio avançado + Desbloqueio do dispositivo Renovação recomendada Enviar %1$s Envie um anexo para a sua entrada para guardar dados externos importantes. @@ -467,14 +467,14 @@ Informações sobre credenciais Credencial do dispositivo Digite a palavra-passe e depois clique neste botão. - Não foi possível inicializar o desbloqueio avançado. - Erro de desbloqueio avançado: %1$s - Não foi possível reconhecer a impressão de desbloqueio avançado - Não foi possível ler a chave de desbloqueio avançada. Por favor, elimine-a e repita o procedimento de reconhecimento de desbloqueio. - Extrair credencial da base de dados com dados de desbloqueio avançados - Abrir base de dados com reconhecimento de desbloqueio avançado - Ainda terá de se lembrar da sua credencial principal se usar o reconhecimento de desbloqueio avançado. - Reconhecimento de desbloqueio avançado + Não foi possível inicializar a solicitação de desbloqueio do dispositivo. + Erro de desbloqueio do dispositivo: %1$s + Não foi possível reconhecer a impressão de desbloqueio do dispositivo + Não é possível ler a chave de desbloqueio do dispositivo. Elimine-a e repita o procedimento de reconhecimento de desbloqueio. + Extrair credencial da base de dados com dados de desbloqueio do dispositivo + Reconhecimento do desbloqueio do dispositivo + Continua a ser necessário recordar a credencial principal do cofre se utilizar o reconhecimento de desbloqueio do dispositivo. + Ligação para o desbloqueio do dispositivo É necessária uma atualização de segurança biométrica. Não está registada nenhuma credencial biométrica ou de dispositivo. Acesso ao ficheiro revogado pelo gestor de ficheiros. Feche a base de dados e reabra-a a partir da sua localização. @@ -484,8 +484,8 @@ Modo de registo Modo de guardar Modo de pesquisa - Eliminar chave de desbloqueio avançada - Recarregar base de dados + Eliminar a chave de desbloqueio do dispositivo + Recarregar dados Não foi possível reconstruir adequadamente a lista. Não foi possível recuperar o URI da base de dados. O nome do campo já existe. @@ -505,7 +505,7 @@ B Cancelado! Ligue a sua palavra-passe às suas credenciais biométricas ou do dispositivo para desbloquear rapidamente a sua base de dados. - Desbloqueio avançado da base de dados + Desbloqueio da base de dados do dispositivo Adicionadas sugestões de preenchimento automático. Não é possível guardar dados numa base de dados aberta apenas com permissão de leitura. Pedir para guardar dados quando terminar de preencher um formulário @@ -580,17 +580,17 @@ Grupo de modelos Usa modelos dinâmicos para preencher os campos de uma entrada Utilização de modelos - Eliminar todas as chaves de encriptação relacionadas com o desbloqueio de reconhecimento avançado\? - Tempo limite do desbloqueio avançado - Duração do uso do desbloqueio avançado antes de eliminar os seus conteúdos - Duração do desbloqueio avançado - Não armazenar nenhum conteúdo encriptado para usar o desbloqueio avançado - Desbloqueio avançado temporário + Eliminar todas as chaves de encriptação relacionadas com o reconhecimento do desbloqueio do dispositivo\? + Tempo limite de desbloqueio do dispositivo + Duração da utilização do desbloqueio do dispositivo antes de eliminar o seu conteúdo + Expiração do desbloqueio do dispositivo + Não guarde qualquer conteúdo encriptado para utilizar o desbloqueio do dispositivo + Desbloqueio temporário do dispositivo Permite-lhe usar as credenciais do seu dispositivo para abrir a base de dados Desbloqueio das credenciais do dispositivo - Tocar para as eliminar chaves de desbloqueio avançado + Toque para eliminar as chaves de desbloqueio do dispositivo Conteúdo - Expirado + Expirou Frase-chave Manter o ecrã ligado Não se pode mover um grupo para aqui. @@ -611,10 +611,10 @@ A chave física não é suportada. A chave não pode estar vazia. Ficheiro corrompido. - Colorir passwords + Colorir palavras-passe Mantém um registo das chaves físicas utilizadas - Uma base de dados já está aberta, feche-a primeiro para abrir a nova base - Recarregar a base de dados eliminará os dados modificados localmente. + Já está aberta uma base de dados, feche-a primeiro para poder abrir uma nova + Recarregar a base de dados irá eliminar os dados alterados localmente. O hash do ficheiro não é garantido porque o Android pode alterar os seus dados em tempo real. Altere a extensão do ficheiro para .bin para obter a integridade correta. Esta funcionalidade irá armazenar dados encriptados de credenciais na KeyStore segura do seu dispositivo. \n @@ -630,33 +630,33 @@ Ignorar caracteres MAIÚSCULAS Capitalização de Título - Cores de entrada + Cores da entrada Modo de captura de ecrã Mostra as cores de fundo e de primeiro plano numa entrada Ecrã de pesquisa - Mantenha o ecrã ligado ao ver a entrada - Pelo menos um carácter de cada + Manter o ecrã ligado ao ver ou editar uma entrada + Pelo menos um caractere de cada um Excluir caracteres ambíguos Número de caracteres: %1$d Cor da base de dados - Cor de fundo da entrada + Cor do fundo da página inicial Não permitiu que a aplicação usasse um alarme exato. Como resultado, as funcionalidades que requerem um temporizador não serão feitas com um tempo exato. Permissão - Colorir passwords pelo tipo de caracteres + Colorir caracteres da palavra-passe por tipo Nome do ícone Chave física Selecione uma chave física. XML malformado. Cancelado pelo utilizador. É necessário o driver para %1$s. - Juntar dados + Unir dados Lembrar chaves físicas Modo de captura de ecrã - Minúsculas + minúsculas Cabeçalho de navegação Gaveta de navegação aberta Gaveta de navegação fechada - Herdado + Herdar Pesquisável Preenchimento automático Sequência de preenchimento automático @@ -664,7 +664,28 @@ Grupo atual Sensível a maiúsculas e minúsculas Expressão regular - Juntar de … - Guarde uma cópia para … + Unir de… + Guardar uma cópia em… Fusão concluída com sucesso + Informação + Pesquisar, bloquear, histórico, propriedades + Teclado, preenchimento automático, área de transferência + Encriptação, função de derivação de chaves + Mudança, renovação + A permissão de notificação permite-lhe apresentar o estado da base de dados e bloqueá-la com um botão facilmente acessível. +\n +\nSe não ativar esta permissão, a base de dados aberta em segundo plano não será visível se outra aplicação estiver em primeiro plano. + Desbloquear + Validar a entrada + Não se esqueça de validar a sua entrada e de guardar a sua base de dados. +\n +\nSe um bloqueio automático estiver ativado e se esquecer que está a fazer uma modificação, corre o risco de perder os seus dados. + Biometria, credencial do dispositivo + Metadados, reciclagem, modelos, histórico + A permissão de notificação é necessária para utilizar a funcionalidade de notificação da área de transferência. + Mais tarde + Perguntar + Configurar + Ligação de desbloqueio do dispositivo + Temas, cores, atributos \ No newline at end of file From a6cb1dbe5c5814e2073822235b633fef543049fa Mon Sep 17 00:00:00 2001 From: Darin Avdeyeva Date: Sun, 30 Jul 2023 10:24:03 +0000 Subject: [PATCH 20/57] Translated using Weblate (Russian) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/ --- app/src/main/res/values-ru/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 4f459df07..7fcbb10dc 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -412,10 +412,10 @@ Для <strong>сохранения нашей независимости</strong>, <strong>исправления ошибок</strong>, <strong>добавления новых функций</strong> и <strong>поддержания разработки в активном состоянии</strong>, мы рассчитываем на вашу <strong>поддержку</strong>. Быстрый поиск Открывать поисковый запрос при открытии базы - Помнить расположение баз - Помнить расположение файлов баз - Помнить расположение файлов ключей - Помнить расположение файлов ключей баз + Базы паролей + Помнить расположение баз паролей + Ключи + Помнить расположение ключей баз паролей Показывать последние базы Показывать расположение последних открытых баз Скрывать отсутствующие @@ -669,7 +669,7 @@ Объединение выполнено Позже Запрос - Разблокировка + Открыть Поиск, блокировка, история, настройки Клавиатура, автозаполнение, буфер обмена Биометрия, учётные данные устройства From 6e2fb21431837d19db90c9fb9ad31ef0874d15e5 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 31 Jul 2023 21:19:16 +0200 Subject: [PATCH 21/57] fix: Better theme colors --- app/src/main/res/values/colors.xml | 34 +++++++++++++++--------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index aa7ec2e6a..d68230c3d 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -139,15 +139,15 @@ #FFDAD6 #FFFFFF #410002 - #E2F8DF + #F8FFF8 #1A1C19 - #D4EDD0 + #E5F6E4 #3C423A - #D9EFD6 - #D3EDD0 - #CDEACA - #C8E8C5 - #C2E4BF + #E3F3E2 + #E2F4E1 + #DCF1DB + #D7EFD6 + #D2ECD1 #DEE5D8 #424940 #72796F @@ -328,7 +328,7 @@ #6E3000 @color/orange_lighter - + @color/blue_deep @color/white_slight @@ -347,9 +347,9 @@ #FFDAD6 #FFFFFF #410002 - @color/white_slight + #F7FBFF @color/cyan_dark - @color/white_slight + #F7FBFF @color/cyan_dark #FCFEFF #F8FCFF @@ -487,15 +487,15 @@ #FFDAD6 #FFFFFF #410002 - @color/red_white_light + #FFF8F8 @color/red_black_dark #FFEDEF @color/red_black_dark - #FBEBEB - #FAE2E2 - #FADDDE - #FBD9DA - #FBD6D7 + #FDEAEB + #FFE7E8 + #FFE4E5 + #FBDEDF + #FADBDC #DEE5D8 #494040 #796F6F @@ -521,7 +521,7 @@ #93000A #690005 #FFDAD6 - @color/red_black_dark + #27171A #DDE3E3 #2E1D20 #F1F2F3 From f55a824cdcf33f95386861845bce6924a2965aa8 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 31 Jul 2023 21:45:35 +0200 Subject: [PATCH 22/57] fix: Search in special mode --- .../keepass/activities/GroupActivity.kt | 110 +++++++----------- .../activities/fragments/GroupFragment.kt | 2 - 2 files changed, 39 insertions(+), 73 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt index 5774015fb..9de6ad9b4 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt @@ -86,9 +86,7 @@ import com.kunzisoft.keepass.magikeyboard.MagikeyboardService import com.kunzisoft.keepass.model.GroupInfo import com.kunzisoft.keepass.model.RegisterInfo import com.kunzisoft.keepass.model.SearchInfo -import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_DELETE_NODES_TASK import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_UPDATE_ENTRY_TASK -import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_UPDATE_GROUP_TASK import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.NEW_NODES_KEY import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.getListNodesFromBundle import com.kunzisoft.keepass.settings.PreferencesUtil @@ -650,9 +648,13 @@ class GroupActivity : DatabaseLockActivity(), ) { super.onDatabaseActionFinished(database, actionTask, result) - var newNodes: List = ArrayList() - result.data?.getBundle(NEW_NODES_KEY)?.let { newNodesBundle -> - newNodes = getListNodesFromBundle(database, newNodesBundle) + var entry: Entry? = null + try { + result.data?.getBundle(NEW_NODES_KEY)?.let { newNodesBundle -> + entry = getListNodesFromBundle(database, newNodesBundle)[0] as Entry + } + } catch (e: Exception) { + Log.e(TAG, "Unable to retrieve entry action for selection", e) } when (actionTask) { @@ -669,27 +671,15 @@ class GroupActivity : DatabaseLockActivity(), // Save not used }, { - try { - val entry = newNodes[0] as Entry - entrySelectedForKeyboardSelection(database, entry) - } catch (e: Exception) { - Log.e( - TAG, - "Unable to perform action for keyboard selection after entry update", - e - ) + // Keyboard selection + entry?.let { + entrySelectedForKeyboardSelection(database, it) } }, { _, _ -> - try { - val entry = newNodes[0] as Entry - entrySelectedForAutofillSelection(database, entry) - } catch (e: Exception) { - Log.e( - TAG, - "Unable to perform action for autofill selection after entry update", - e - ) + // Autofill selection + entry?.let { + entrySelectedForAutofillSelection(database, it) } }, { @@ -698,32 +688,12 @@ class GroupActivity : DatabaseLockActivity(), ) } } - ACTION_DATABASE_UPDATE_GROUP_TASK -> { - if (result.isSuccess) { - try { - if (mMainGroup == newNodes[0] as Group) - reloadCurrentGroup() - } catch (e: Exception) { - Log.e( - TAG, - "Unable to perform action after group update", - e - ) - } - } - } - ACTION_DATABASE_DELETE_NODES_TASK -> { - if (result.isSuccess) { - // To reload search - loadGroup() - } - } } coordinatorLayout?.showActionErrorIfNeeded(result) - if (!result.isSuccess) { - reloadCurrentGroup() - } + + // Reload the group + loadGroup() finishNodeAction() } @@ -851,7 +821,6 @@ class GroupActivity : DatabaseLockActivity(), } // Open child group loadMainGroup(GroupState(group.nodeId, 0)) - } catch (e: ClassCastException) { Log.e(TAG, "Node can't be cast in Group") } @@ -866,14 +835,16 @@ class GroupActivity : DatabaseLockActivity(), entryVersioned.nodeId, mEntryActivityResultLauncher ) + // Do not reload group here }, { // Nothing here, a search is simply performed }, { searchInfo -> - if (!database.isReadOnly) + if (!database.isReadOnly) { entrySelectedForSave(database, entryVersioned, searchInfo) - else + loadGroup() + } else finish() }, { searchInfo -> @@ -884,6 +855,7 @@ class GroupActivity : DatabaseLockActivity(), updateEntryWithSearchInfo(database, entryVersioned, searchInfo) } entrySelectedForKeyboardSelection(database, entryVersioned) + loadGroup() }, { searchInfo, _ -> if (!database.isReadOnly @@ -893,23 +865,23 @@ class GroupActivity : DatabaseLockActivity(), updateEntryWithSearchInfo(database, entryVersioned, searchInfo) } entrySelectedForAutofillSelection(database, entryVersioned) + loadGroup() }, { registerInfo -> - if (!database.isReadOnly) + if (!database.isReadOnly) { entrySelectedForRegistration(database, entryVersioned, registerInfo) - else + loadGroup() + } else finish() }) } catch (e: ClassCastException) { Log.e(TAG, "Node can't be cast in Entry") } } - - reloadGroupIfSearch() } private fun entrySelectedForSave(database: ContextualDatabase, entry: Entry, searchInfo: SearchInfo) { - reloadCurrentGroup() + removeSearch() // Save to update the entry EntryEditActivity.launchToUpdateForSave( this@GroupActivity, @@ -921,7 +893,7 @@ class GroupActivity : DatabaseLockActivity(), } private fun entrySelectedForKeyboardSelection(database: ContextualDatabase, entry: Entry) { - reloadCurrentGroup() + removeSearch() // Populate Magikeyboard with entry MagikeyboardService.populateKeyboardAndMoveAppToBackground( this, @@ -931,6 +903,7 @@ class GroupActivity : DatabaseLockActivity(), } private fun entrySelectedForAutofillSelection(database: ContextualDatabase, entry: Entry) { + removeSearch() // Build response with the entry selected if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { AutofillHelper.buildResponseAndSetResult( @@ -947,7 +920,7 @@ class GroupActivity : DatabaseLockActivity(), entry: Entry, registerInfo: RegisterInfo? ) { - reloadCurrentGroup() + removeSearch() // Registration to update the entry EntryEditActivity.launchToUpdateForRegistration( this@GroupActivity, @@ -980,12 +953,6 @@ class GroupActivity : DatabaseLockActivity(), actionNodeMode?.finish() } - private fun reloadGroupIfSearch() { - if (Intent.ACTION_SEARCH == intent.action) { - reloadCurrentGroup() - } - } - override fun onNodeSelected( database: ContextualDatabase, nodes: List @@ -1039,7 +1006,6 @@ class GroupActivity : DatabaseLockActivity(), ) } } - reloadGroupIfSearch() return true } @@ -1118,7 +1084,6 @@ class GroupActivity : DatabaseLockActivity(), ): Boolean { deleteNodes(nodes) finishNodeAction() - reloadGroupIfSearch() return true } @@ -1147,6 +1112,8 @@ class GroupActivity : DatabaseLockActivity(), } // Padding if lock button visible toolbarAction?.updateLockPaddingLeft() + + loadGroup() } override fun onPause() { @@ -1349,6 +1316,12 @@ class GroupActivity : DatabaseLockActivity(), mGroupFragment?.onSortSelected(sortNodeEnum, sortNodeParameters) } + override fun onCancelSpecialMode() { + super.onCancelSpecialMode() + removeSearch() + loadGroup() + } + override fun startActivity(intent: Intent) { // Get the intent, verify the action and get the query if (Intent.ACTION_SEARCH == intent.action) { @@ -1365,11 +1338,6 @@ class GroupActivity : DatabaseLockActivity(), } } - private fun reloadCurrentGroup() { - removeSearch() - loadGroup() - } - override fun onBackPressed() { if (mGroupFragment?.nodeActionSelectionMode == true) { finishNodeAction() @@ -1378,8 +1346,8 @@ class GroupActivity : DatabaseLockActivity(), if (mRootGroup != null && mRootGroup != mCurrentGroup) { when { Intent.ACTION_SEARCH == intent.action -> { - // Remove the search - reloadCurrentGroup() + removeSearch() + loadGroup() } mPreviousGroupsIds.isEmpty() -> { super.onRegularBackPressed() diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt index 4f9c6fdc3..2f17df4f5 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt @@ -263,8 +263,6 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen activity?.intent?.let { specialMode = EntrySelectionHelper.retrieveSpecialModeFromIntent(it) } - - rebuildList() } override fun onPause() { From 93a0e4c0a6a0fcdfbda1c0e68427ee4443bcbe6f Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 31 Jul 2023 21:49:20 +0200 Subject: [PATCH 23/57] fix: Upgrade CHANGELOG --- CHANGELOG | 1 + app/build.gradle | 4 ++-- .../metadata/android/en-US/changelogs/{121.txt => 122.txt} | 1 + .../metadata/android/fr-FR/changelogs/{121.txt => 122.txt} | 1 + 4 files changed, 5 insertions(+), 2 deletions(-) rename fastlane/metadata/android/en-US/changelogs/{121.txt => 122.txt} (88%) rename fastlane/metadata/android/fr-FR/changelogs/{121.txt => 122.txt} (86%) diff --git a/CHANGELOG b/CHANGELOG index 7355276b6..b8eefdec0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ KeePassDX(4.0.0) * Material You theme (follow system colors) #1469 * Refactoring inner code #1371 * Migration to API 33 + # Remove from search #1308 * Fix behaviors #1351 * Fix bugs #1589 #1584 #1545 #1563 #1371 diff --git a/app/build.gradle b/app/build.gradle index 13cecd3d3..16d670ebd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId "com.kunzisoft.keepass" minSdkVersion 15 targetSdkVersion 33 - versionCode = 121 - versionName = "4.0.0_beta01" + versionCode = 122 + versionName = "4.0.0_beta02" multiDexEnabled true testApplicationId = "com.kunzisoft.keepass.tests" diff --git a/fastlane/metadata/android/en-US/changelogs/121.txt b/fastlane/metadata/android/en-US/changelogs/122.txt similarity index 88% rename from fastlane/metadata/android/en-US/changelogs/121.txt rename to fastlane/metadata/android/en-US/changelogs/122.txt index 5a1747e5c..afff3e0aa 100644 --- a/fastlane/metadata/android/en-US/changelogs/121.txt +++ b/fastlane/metadata/android/en-US/changelogs/122.txt @@ -2,5 +2,6 @@ * Material You theme (follow system colors) #1469 * Refactoring inner code #1371 * Migration to API 33 + # Remove from search #1308 * Fix behaviors #1351 * Fix bugs #1589 #1584 #1545 #1563 #1371 \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/changelogs/121.txt b/fastlane/metadata/android/fr-FR/changelogs/122.txt similarity index 86% rename from fastlane/metadata/android/fr-FR/changelogs/121.txt rename to fastlane/metadata/android/fr-FR/changelogs/122.txt index 034255b27..f2f94586a 100644 --- a/fastlane/metadata/android/fr-FR/changelogs/121.txt +++ b/fastlane/metadata/android/fr-FR/changelogs/122.txt @@ -2,5 +2,6 @@ * Thème Material You (follow system colors) #1469 * Refactorisation du code interne #1371 * Migration vers API 33 + * Suppression depuis la recherche #1308 * Corrections de comportements #1351 * Corrections de bugs #1589 #1584 #1545 #1563 #1371 \ No newline at end of file From e3176033dcfe368df8dbcada2aea392358eaca29 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 31 Jul 2023 22:03:29 +0200 Subject: [PATCH 24/57] fix: Margin bug --- app/src/main/res/layout/activity_group.xml | 17 +++++------------ .../main/res/layout/item_list_nodes_entry.xml | 2 +- .../main/res/layout/item_list_nodes_group.xml | 2 +- app/src/main/res/values/dimens.xml | 2 +- 4 files changed, 8 insertions(+), 15 deletions(-) diff --git a/app/src/main/res/layout/activity_group.xml b/app/src/main/res/layout/activity_group.xml index b93d255d7..8c1a283c5 100644 --- a/app/src/main/res/layout/activity_group.xml +++ b/app/src/main/res/layout/activity_group.xml @@ -114,27 +114,20 @@ - - - - + android:background="?android:attr/windowBackground" + android:layout_below="@+id/toolbar" /> diff --git a/app/src/main/res/layout/item_list_nodes_entry.xml b/app/src/main/res/layout/item_list_nodes_entry.xml index 78ef4b236..818d78d15 100644 --- a/app/src/main/res/layout/item_list_nodes_entry.xml +++ b/app/src/main/res/layout/item_list_nodes_entry.xml @@ -23,7 +23,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingVertical="@dimen/selectable_margin_vertical" + android:paddingTop="@dimen/selectable_margin_top" android:paddingHorizontal="@dimen/selectable_margin_horizontal"> 15dp 144dp 8dp - 4dp + 8dp 8dp 36dp 48dp From 56993590998f54c2f65131b2f9e76d9e71e8bf2e Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 31 Jul 2023 22:07:41 +0200 Subject: [PATCH 25/57] fix: Toolbar flickering --- app/src/main/res/layout/activity_group.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_group.xml b/app/src/main/res/layout/activity_group.xml index 8c1a283c5..08b21ae71 100644 --- a/app/src/main/res/layout/activity_group.xml +++ b/app/src/main/res/layout/activity_group.xml @@ -96,7 +96,7 @@ + app:layout_scrollFlags="scroll|snap"> Date: Mon, 31 Jul 2023 22:19:55 +0200 Subject: [PATCH 26/57] fix: Shadow on logo --- .../res/layout/activity_file_selection.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/res/layout/activity_file_selection.xml b/app/src/main/res/layout/activity_file_selection.xml index 76c0dcbc4..3e62a8acd 100644 --- a/app/src/main/res/layout/activity_file_selection.xml +++ b/app/src/main/res/layout/activity_file_selection.xml @@ -68,10 +68,10 @@ android:layout_height="wrap_content" android:textSize="32sp" android:textStyle="bold" - android:shadowColor="#80000000" - android:shadowDx="2" + android:shadowColor="#AD000000" + android:shadowDx="0" android:shadowDy="2" - android:shadowRadius="4" + android:shadowRadius="2" android:paddingTop="?attr/actionBarSize" android:textColor="@color/green_light" android:gravity="center" @@ -84,10 +84,10 @@ android:layout_marginLeft="2dp" android:textSize="32sp" android:textStyle="bold" - android:shadowColor="#80000000" - android:shadowDx="2" + android:shadowColor="#AD000000" + android:shadowDx="0" android:shadowDy="2" - android:shadowRadius="4" + android:shadowRadius="2" android:paddingTop="?attr/actionBarSize" android:textColor="@color/orange" android:gravity="center" @@ -102,10 +102,10 @@ android:textSize="32sp" android:textStyle="bold" android:visibility="gone" - android:shadowColor="#80000000" - android:shadowDx="2" + android:shadowColor="#AD000000" + android:shadowDx="0" android:shadowDy="2" - android:shadowRadius="4" + android:shadowRadius="2" android:paddingTop="?attr/actionBarSize" android:textColor="@color/green_lightest" android:gravity="center" From eb14dadb3c5d1b8d9a1ddbf8c173b19815f5c34d Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 31 Jul 2023 22:28:53 +0200 Subject: [PATCH 27/57] fix: Scroll and color flickering --- app/src/main/res/layout/activity_group.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_group.xml b/app/src/main/res/layout/activity_group.xml index 08b21ae71..e89bcdf47 100644 --- a/app/src/main/res/layout/activity_group.xml +++ b/app/src/main/res/layout/activity_group.xml @@ -96,7 +96,8 @@ + android:background="?attr/colorSurface" + app:layout_scrollFlags="scroll|snap|enterAlways"> Date: Mon, 31 Jul 2023 06:40:10 +0000 Subject: [PATCH 28/57] Translated using Weblate (Czech) Currently translated at 93.9% (608 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/cs/ --- app/src/main/res/values-cs/strings.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index e2f3fe3c8..1c66e461f 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -333,7 +333,7 @@ Aktualizovat Zavřít kolonky Nepodařilo se vytvořit databázi s tímto heslem a souborem klíče. - Rozšířené odemknutí + Odemknutí zařízení Biometrika Automaticky otevřít pobídku Automaticky žádat rozšířené odemknutí, je-li databáze nastavena k jejímu použití @@ -668,4 +668,7 @@ Pamatovat si hardwarové klíče Udržuje znalost o použitých hardwarových klíčích Sloučení bylo úspěšně dokončeno + Informace + Vyhledávání, uzamčení, historie, vlastnosti + Klávesnice, automatické vyplnění, schránka \ No newline at end of file From 3c65be2a72a5c4b584d15e635d5e9487174aa44b Mon Sep 17 00:00:00 2001 From: Masowick Date: Tue, 1 Aug 2023 05:28:41 +0000 Subject: [PATCH 29/57] Translated using Weblate (German) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/ --- app/src/main/res/values-de/strings.xml | 44 +++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index d2c916494..56323071b 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -140,9 +140,9 @@ Warnung Passwortzeichen in der Datenbank vermeiden, die kein Textkodierungsformat besitzen (nicht erkannte Zeichen werden in denselben Buchstaben umgewandelt). Version %1$s - Gib das Passwort bzw. die Schlüsseldatei ein, um die Datenbank zu öffnen. + Das Passwort bzw. die Schlüsseldatei eingeben, um die Datenbank zu öffnen. \n -\nErstelle nach jeder Änderung ein Backup deiner Datenbankdatei. +\nNach jeder Änderung eine Sicherung der eigene Datenbankdatei an einem sicheren Ort erstellen. Klein Mittel @@ -224,9 +224,9 @@ Alle Hilfsinfos nochmal anzeigen Hilfe-Anzeige zurückgesetzt Die Datenbankdatei erstellen - Erstelle deine erste Passwortverwaltungsdatei. + Die erste Datei zur Passwortverwaltung erstellen. Existierende Datenbank öffnen - Öffne deine bestehende Datenbankdatei mit dem Dateimanager, um sie weiter zu verwenden. + Eine frühere Datenbankdatei mit dem Dateimanager öffnen, um sie weiter zu verwenden. Datenbankelemente hinzufügen Einträge helfen dabei digitale Konten zu verwalten. \n @@ -234,22 +234,22 @@ Einträge durchsuchen Titel, Nutzernamen oder Inhalte anderer Felder eingeben, um Passwörter zu finden. Den Eintrag bearbeiten - Füge dem Eintrag eigene Felder hinzu. Die Felder können mit Querverweisen aus anderen Einträgen ergänzt werden. - Erstelle ein starkes Passwort - Generiere ein starkes Passwort, um es mit dem Eintrag zu verknüpfen, gib Passwortanforderungen ein und vergiss die Passwortsicherheit nicht. + Dem Eintrag eigene Felder hinzufügen. Die Felder können mit Querverweisen aus anderen Einträgen ergänzt werden. + Ein starkes Passwort erstellen + Ein starkes Passwort generieren, um es mit dem Eintrag zu verknüpfen; es den Anforderungen des Formulars anpassen und die Passwortsicherheit nicht vergessen. Eigene Felder hinzufügen Füge ein weiteres Feld und einen Wert hinzu und schütze es (optional). - Entsperre die Datenbank + Eigene Datenbank entsperren Ein Feld kopieren - Kopierte Felder können überall eingefügt werden. -\n -\nVerwende deine bevorzugte Methode zur Formular-Ausfüllung. + Kopierte Felder können an beliebiger Stelle eingefügt werden. +\n +\nAus den verschiedenen Methoden zum Ausfüllen von Formularen einfach die bevorzugte auswählen. Die Datenbank sperren Die Datenbank schnell sperren. Die App lässt sich so einstellen, dass sie nach einer gewissen Zeit und beim Ausschalten des Bildschirms gesperrt wird. Sortierung der Einträge - Wähle, wie Einträge und Gruppen sortiert werden. + Wählen, wie Einträge und Gruppen sortiert werden. Mitmachen - Mithelfen, Stabilität und Sicherheit zu verbessern sowie weitere Funktionen zu ermöglichen. + Mithelfen, um Stabilität und Sicherheit zu verbessern sowie weitere Funktionen zu ermöglichen. Anders als viele Passwortmanager ist dieser <strong>werbefrei</strong>, <strong>quelloffen</strong>, <strong>freie Copyleft-Software</strong> und keine persönlichen Daten werden auf Servern gesammelt, egal welche Version du verwendest. Mit dem Kauf der Pro-Version erhältst du Zugriff auf diesen <strong>visuellen Stil</strong> und unterstützt insbesondere <strong>die Umsetzung gemeinschaftlicher Projekte.</strong> Dieser <strong>visuelle Stil</strong> ist dank deiner Großzügigkeit verfügbar. @@ -280,10 +280,10 @@ Schreibgeschützt Datenbank-Schreibschutz aktivieren Datenbank standardmäßig schreibgeschützt öffnen - Den Öffnungsmodus diesesmal ändern. + Den Öffnungsmodus für die Sitzung ändern. \n \n„Schreibgeschützt“ verhindert unbeabsichtigte Änderungen. -\nMit „Änderbar“ kannst du jedes Element frei bearbeiten, hinzufügen oder löschen. +\nMit „Änderbar“ lässt sich jedes Element frei bearbeiten, hinzufügen oder löschen. Eintrag bearbeiten Die Datenbank konnte nicht geladen werden. Laden des Schlüssels fehlgeschlagen. Bitte versuchen, die „Speicherplatznutzung“ von KDF zu verringern. @@ -439,7 +439,7 @@ System verfolgen Schreibrechte gewähren, um Datenbankänderungen zu speichern - Einmal-Passwortverwaltung (HOTP / TOTP) einrichten, um Token für Zwei-Faktor-Authentifizierung (2FA) zu generieren. + Einmal-Passwortverwaltung (HOTP/TOTP) einrichten, um Token für Zwei-Faktor-Authentifizierung (2FA) zu generieren. OTP einrichten Die Datenbankdatei kann nicht erstellt werden. Anhang hinzufügen @@ -510,7 +510,7 @@ Du musst dich weiterhin an deinen Hauptschlüssel erinnern, wenn du die Geräteentsperrung verwendest. Schlüssel für Geräteentsperrung löschen Verknüpfung mit Geräteentsperrung - Verknüpfe dein Passwort mit Biometrie- oder Geräteanmeldedaten, um die Datenbank schnell zu entsperren. + Eigenes Passwort mit Biometrie- oder Geräteanmeldedaten verknüpfen, um die Datenbank schnell zu entsperren. Geräteentsperrung der Datenbank Zeitlimit für Geräteentsperrung Dauer der Geräteentsperrung bis sie zurückgesetzt wird @@ -533,7 +533,7 @@ Geräteentsperrungsabfrage konnte nicht gestartet werden. Fehler bei Geräteentsperrung: %1$s Fingerabdruck für Geräteentsperrung wurde nicht erkannt - Der Geräteentsperrschlüssel ist nicht lesbar. Bitte lösche ihn und wiederhole den Vorgang zur Entsperr-Erkennung. + Der Geräteentsperrschlüssel ist nicht lesbar. Bitte diesen löschen und den Vorgang zur Entsperr-Erkennung wiederholen. Datenbankanmeldedaten aus Geräteentsperrdaten gewinnen Die Liste kann nicht ordnungsgemäß neu erstellt werden. Datenbank-URI kann nicht abgerufen werden. @@ -618,7 +618,7 @@ Eintragsfarben Bildschirm eingeschaltet lassen Der Hash der Datei kann nicht garantiert werden, da Android seine Daten ändern kann. Änder die Dateiendung zu .bin, um die Integrität zu gewährleisten. - Bildschirm beim Ansehen oder Bearbeiten des Eintrags eingeschaltet lassen + Bildschirm beim Anzeigen oder Bearbeiten des Eintrags eingeschaltet lassen Vorder- und Hintergrundfarbe für einen Eintrag anzeigen Automatische Eingabefolge Regulärer Ausdruck @@ -692,12 +692,12 @@ Später Geräteentsperrverknüpfung Design, Farben, Attribute - Die Benachrichtigungsberechtigung ermöglicht es dir, den Status der Datenbank anzuzeigen und sie mit einer leicht zugänglichen Taste zu sperren. + Die Benachrichtigungsberechtigung ermöglicht es, den Status der Datenbank anzuzeigen und sie mit einer leicht zugänglichen Taste zu sperren. \n -\nWenn du diese Berechtigung nicht aktivierst, wird bei einer geöffneten Anwendung im Vordergrund die im Hintergrund geöffnete Datenbank nicht sichtbar sein. +\nWird diese Berechtigung nicht aktiviert, ist die im Hintergrund geöffnete Datenbank nicht sichtbar, wenn eine Anwendung im Vordergrund läuft. Die Benachrichtigungsberechtigung ist erforderlich, um die Benachrichtigungsfunktion der Zwischenablage zu nutzen. Entsperren - Den Eintrag validieren + Eintrag überprüfen Denke daran, deine Eingabe zu bestätigen und deine Datenbank zu speichern. \n \nWenn ein automatisches Sperren aktiviert ist und du vergisst, dass du eine Änderung vorgenommen hast, riskierst du den Verlust deiner Daten. From fbebc12a38941c9b0a2992aebde231a0c0550c17 Mon Sep 17 00:00:00 2001 From: VfBFan Date: Mon, 31 Jul 2023 07:55:26 +0000 Subject: [PATCH 30/57] Translated using Weblate (German) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/ --- app/src/main/res/values-de/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 56323071b..236c86a9d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -445,7 +445,7 @@ Anhang hinzufügen Verwerfen Änderungen verwerfen\? - Validieren + Überprüfen Manuelle Auswahl Option zur manuellen Auswahl des Datenbankeintrags anzeigen Zeigt die Sperrtaste in der Benutzeroberfläche an @@ -698,7 +698,7 @@ Die Benachrichtigungsberechtigung ist erforderlich, um die Benachrichtigungsfunktion der Zwischenablage zu nutzen. Entsperren Eintrag überprüfen - Denke daran, deine Eingabe zu bestätigen und deine Datenbank zu speichern. + Denke daran, deine Eingabe zu überprüfen und deine Datenbank zu speichern. \n \nWenn ein automatisches Sperren aktiviert ist und du vergisst, dass du eine Änderung vorgenommen hast, riskierst du den Verlust deiner Daten. Info From d62734e8acfaedd4c22780d6253658e517dfc7c8 Mon Sep 17 00:00:00 2001 From: Retrial Date: Sun, 30 Jul 2023 13:31:04 +0000 Subject: [PATCH 31/57] Translated using Weblate (Greek) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/el/ --- app/src/main/res/values-el/strings.xml | 73 +++++++++++++++++--------- 1 file changed, 47 insertions(+), 26 deletions(-) diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 61a9e541a..0824f1a5b 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -44,7 +44,7 @@ Ψηφία Το KeePassDX © %1$d Kunzisoft είναι <strong>ανοιχτού κώδικα</strong> και <strong>χωρίς διαφημίσεις</strong>. \nΠαρέχεται ως έχει, με άδεια <strong>GPLv3</strong>, χωρίς καμία εγγύηση. - Ανοίξτε την υπάρχουσα βάση δεδομένων + Ανοίξτε την υπάρχον κρύπτη Πρόσβαση Άκυρο Σημειώσεις @@ -185,7 +185,7 @@ Όνομα αρχείου Διαδρομή Ορίστε ένα κύριο κλειδί - Δημιουργία νέας βάσης δεδομένων + Δημιουργία νέας κρύπτης Χρήση Κάδου ανακύκλωσης Μετακίνηση ομάδων και καταχωρίσεων στην ομάδα \"Κάδο ανακύκλωσης\" πριν την διαγραφή Γραμματοσειρά πεδίου @@ -325,17 +325,17 @@ Ενημέρωση Κλείσιμο πεδίων Δεν είναι δυνατή η δημιουργία βάσης δεδομένων με αυτόν τον κωδικό πρόσβασης και το αρχείο κλειδί. - Προηγμένο ξεκλείδωμα + Ξεκλείδωμα συσκευής Αυτή η βάση δεδομένων δεν έχει αποθηκευμένα διαπιστευτήρια ακόμα. Εμφάνιση Βιομετρία - Προηγμένο ξεκλείδωμα + Ξεκλείδωμα συσκευής Βιομετρικό ξεκλείδωμα Σας επιτρέπει να σαρώσετε το βιομετρικό σας για να ανοίξετε τη βάση δεδομένων Αυτόματο άνοιγμα προτροπής - Ζητήστε αυτόματα προηγμένο ξεκλείδωμα εάν η βάση δεδομένων έχει ρυθμιστεί για να το χρησιμοποιήσει + Ζητήστε αυτόματο ξεκλείδωμα συσκευής εάν η βάση δεδομένων έχει ρυθμιστεί για να το χρησιμοποιεί Διαγράψτε τα κλειδιά κρυπτογράφησης - Διαγράψτε όλα τα κλειδιά κρυπτογράφησης που σχετίζονται με το προηγμένο ξεκλείδωμα + Διαγράψτε όλα τα κλειδιά κρυπτογράφησης που σχετίζονται με την αναγνώριση ξεκλειδώματος συσκευής Ενεργοποίηση Απενεργοποίηση Κύριο κλειδί @@ -366,7 +366,7 @@ Ενεργοποιήστε την αυτόματη συμπλήρωση για να συμπληρώσετε γρήγορα φόρμες σε άλλες εφαρμογές Η Βάση Δεδομένων άνοιξε Αντιγράψτε τα πεδία εισαγωγής χρησιμοποιώντας το πρόχειρο της συσκευής σας - Χρησιμοποιήστε το προηγμένο ξεκλείδωμα για να ανοίξετε μια βάση δεδομένων πιο εύκολα + Χρησιμοποιήστε το ξεκλείδωμα συσκευής για να ανοίξετε μια βάση δεδομένων πιο εύκολα Συμπίεση Δεδομένων Η συμπίεση δεδομένων μειώνει το μέγεθος της βάσης δεδομένων Μέγιστος αριθμός @@ -442,7 +442,7 @@ Λίστα αποκλεισμού τομέα Ιστού Λίστα αποκλεισμού Εφαρμογών Λίστα αποκλεισμού που αποτρέπει την αυτόματη συμπλήρωση εφαρμογών - Αυτόματη ενέργεια πλήκτρου + Γυρίστε πίσω Επιστρέψτε αυτόματα στο προηγούμενο πληκτρολόγιο μετά την εκτέλεση της ενέργειας του \"Αυτόματου πλήκτρου\" Επιστρέψτε αυτόματα στο προηγούμενο πληκτρολόγιο στην οθόνη διαπιστευτηρίων βάσης δεδομένων Οθόνη διαπιστευτηρίων βάσης δεδομένων @@ -487,33 +487,33 @@ Λειτουργία αναζήτησης Η αποθήκευση ενός νέου αντικειμένου δεν επιτρέπεται σε μια βάση δεδομένων μόνο για ανάγνωση Το όνομα πεδίου υπάρχει ήδη. - Προηγμένο ξεκλείδωμα αναγνώρισης - Πρέπει ακόμα να θυμάστε τα κύρια διαπιστευτήριά σας εάν χρησιμοποιείτε σύνθετη αναγνώριση ξεκλειδώματος. - Ανοίξτε τη βάση δεδομένων με προηγμένο ξεκλείδωμα αναγνώρισης - Διαγραφή προηγμένου κλειδιού ξεκλειδώματος + Σύνδεσμος για ξεκλείδωμα συσκευής + Θα πρέπει ακόμα να θυμάστε τα κύρια διαπιστευτήρια της κρύπτης εάν χρησιμοποιείτε την αναγνώριση ξεκλειδώματος συσκευής. + Αναγνώριση ξεκλειδώματος συσκευής + Διαγραφή κλειδιού ξεκλειδώματος συσκευής Enter Backspace Επιλέξτε καταχώριση Επιστροφή στο προηγούμενο πληκτρολόγιο Προσαρμοσμένα πεδία - Διαγραφή όλων των κλειδιών κρυπτογράφησης που σχετίζονται με το προηγμένο ξεκλείδωμα αναγνώρισης; + Διαγραφή όλων των κλειδιών κρυπτογράφησης που σχετίζονται με την αναγνώριση ξεκλειδώματος συσκευής; Σας επιτρέπει να χρησιμοποιήσετε τα διαπιστευτήρια της συσκευής σας για να ανοίξετε τη βάση δεδομένων Ξεκλείδωμα διαπιστευτηρίων συσκευής Διαπιστευτήρια συσκευής Πληκτρολογήστε τον κωδικό πρόσβασης, και στη συνέχεια κάντε κλικ αυτό το κουμπί. - Δεν είναι δυνατή η προετοιμασία προτροπής προηγμένου ξεκλειδώματος. - Δεν ήταν δυνατή η αναγνώριση αποτυπώματος προηγμένου ξεκλειδώματος - Προηγμένο ξεκλείδωμα σφάλμα: %1$s - Δεν είναι δυνατή η ανάγνωση του προηγμένου κλειδιού ξεκλειδώματος. Διαγράψτε το και επαναλάβετε τη διαδικασία αναγνώρισης ξεκλειδώματος. - Εξαγωγή διαπιστευτηρίων βάσης δεδομένων με προηγμένο ξεκλείδωμα δεδομένων + Δεν είναι δυνατή η προετοιμασία της προτροπής ξεκλειδώματος συσκευής. + Δεν ήταν δυνατή η αναγνώριση αποτυπώματος ξεκλειδώματος συσκευής + Σφάλμα ξεκλειδώματος συσκευής: %1$s + Δεν είναι δυνατή η ανάγνωση του κλειδιού ξεκλειδώματος της συσκευής. Διαγράψτε το και επαναλάβετε τη διαδικασία αναγνώρισης ξεκλειδώματος. + Εξαγωγή διαπιστευτηρίων βάσης δεδομένων με δεδομένα ξεκλειδώματος συσκευής Συνδέστε τον κωδικό πρόσβασής σας με το σαρωμένο βιομετρικό ή τα διαπιστευτήρια της συσκευής σας για να ξεκλειδώσετε γρήγορα τη βάση δεδομένων σας. - Προηγμένο ξεκλείδωμα βάσης δεδομένων - Χρονικό όριο προηγμένου ξεκλειδώματος - Προσωρινό προηγμένο ξεκλείδωμα - Μην αποθηκεύετε κανένα κρυπτογραφημένο περιεχόμενο για να χρησιμοποιήσετε προηγμένο ξεκλείδωμα - Διάρκεια της χρήσης προηγμένου ξεκλειδώματος πριν την διαγραφή του περιεχομένου - Λήξη προηγμένου ξεκλειδώματος - Πατήστε για διαγραφή προηγμένων κλειδιών ξεκλειδώματος + Ξεκλείδωμα βάσης δεδομένων συσκευής + Χρονικό όριο ξεκλειδώματος συσκευής + Προσωρινό ξεκλείδωμα συσκευής + Μην αποθηκεύετε κρυπτογραφημένο περιεχόμενο για να χρησιμοποιήσετε το ξεκλείδωμα της συσκευής + Διάρκεια χρήσης ξεκλειδώματος συσκευής πριν από τη διαγραφή του περιεχομένου της + Λήξη ξεκλειδώματος συσκευής + Πατήστε για να διαγράψετε τα κλειδιά ξεκλειδώματος της συσκευής Περιεχόμενα Δεν είναι δυνατή η σωστή αναδημιουργία της λίστας. Δεν είναι δυνατή η ανάκτηση του URI βάσης δεδομένων. @@ -602,7 +602,7 @@ Συγχώνευση δεδομένων Ετικέτες Ο κατακερματισμός του αρχείου δεν είναι εγγυημένος επειδή το Android μπορεί να αλλάξει τα δεδομένα του αμέσως. Αλλάξτε την επέκταση αρχείου σε .bin για σωστή ακεραιότητα. - Κρατήστε την οθόνη ενεργή όταν παρακολουθείτε την καταχώρηση + Διατηρήστε την οθόνη ενεργοποιημένη όταν παρακολουθείτε ή επεξεργάζεστε μια καταχώρηση Διατηρήστε την οθόνη ενεργή Χρώματα καταχώρησης Εμφανίζει τα χρώματα του προσκηνίου και του φόντου για μια καταχώρηση @@ -667,4 +667,25 @@ <strong>Δεν ανακτώνται δεδομένα χρήστη</strong>, αυτή η εφαρμογή δεν συνδέεται με κανένα διακομιστή, λειτουργεί μόνο τοπικά και σέβεται πλήρως το απόρρητο των χρηστών. Αυτόματη-Πληκτρολόγηση Η συγχώνευση ολοκληρώθηκε με επιτυχία + Πληροφορίες + Αναζήτηση, κλείδωμα, ιστορικό, ιδιότητες + Πληκτρολόγιο, αυτόματη συμπλήρωση, πρόχειρο + Βιομετρία, διαπιστευτήριο συσκευής + Μεταδεδομένα, κάδος ανακύκλωσης, πρότυπα, ιστορικό + Κρυπτογράφηση, λειτουργία παραγωγής κλειδιού + Αλλαγή, ανανέωση + Η άδεια ειδοποίησης απαιτείται για τη χρήση της δυνατότητας ειδοποίησης του προχείρου. + Σύνδεσμος ξεκλειδώματος συσκευής + Θέματα, χρώματα, ιδιότητες + Ερώτηση + Ξεκλείδωμα + Επικυρώστε την καταχώρηση + Η άδεια ειδοποίησης σάς επιτρέπει να εμφανίζετε την κατάσταση της βάσης δεδομένων και να την κλειδώνετε με ένα εύκολα προσβάσιμο κουμπί. +\n +\nΕάν δεν ενεργοποιήσετε αυτήν την άδεια, η ανοιχτή βάση δεδομένων στο παρασκήνιο δεν θα είναι ορατή εάν μια άλλη εφαρμογή βρίσκεται στο προσκήνιο. + Αργότερα + Διαμορφώστε + Θυμηθείτε να επικυρώσετε την καταχώρησή σας και να αποθηκεύσετε τη βάση δεδομένων σας. +\n +\nΕάν ενεργοποιηθεί ένα αυτόματο κλείδωμα και ξεχάσετε ότι κάνετε μια τροποποίηση, κινδυνεύετε να χάσετε τα δεδομένα σας. \ No newline at end of file From 7f4a1d68960c79b13168926e70e3a309ba7edfc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Marcelo=20Alvarenga?= Date: Mon, 31 Jul 2023 00:11:02 +0000 Subject: [PATCH 32/57] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 05a12dd68..2d31e2179 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -680,7 +680,7 @@ Temas, cores, atributos Desbloquear Validar a entrada - Pesquisar, bloquear, histórico, propiedades + Pesquisar, bloquear, histórico, propriedades A permissão de notificação permite exibir o status do banco de dados e bloqueá-lo com um botão de fácil acesso. \n \nSe você não ativar essa permissão, o banco de dados aberto em segundo plano não ficará visível se outro aplicativo estiver em primeiro plano. From fd3bb4b2431e67b0d7a03a4c0ecc45a23a689f1b Mon Sep 17 00:00:00 2001 From: solokot Date: Sun, 30 Jul 2023 13:20:48 +0000 Subject: [PATCH 33/57] Translated using Weblate (Russian) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/ --- app/src/main/res/values-ru/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 7fcbb10dc..434ac2632 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -412,10 +412,10 @@ Для <strong>сохранения нашей независимости</strong>, <strong>исправления ошибок</strong>, <strong>добавления новых функций</strong> и <strong>поддержания разработки в активном состоянии</strong>, мы рассчитываем на вашу <strong>поддержку</strong>. Быстрый поиск Открывать поисковый запрос при открытии базы - Базы паролей - Помнить расположение баз паролей - Ключи - Помнить расположение ключей баз паролей + Помнить расположение баз паролей + Помнить расположение файлов баз паролей + Помнить расположение ключей + Помнить расположение файлов ключей баз паролей Показывать последние базы Показывать расположение последних открытых баз Скрывать отсутствующие @@ -659,7 +659,7 @@ Помнить аппаратные ключи Помнить используемые аппаратные ключи Режим снимка экрана - Режим снимка экрана + Разрешать снимки экрана Аппаратный ключ Разрешать сторонним приложениям делать снимки или запись экрана приложения Ожидание запроса на вызов… From 8e2c7ba1f08cebd3e09164a636e2e0fc2f1639e8 Mon Sep 17 00:00:00 2001 From: Eric Date: Sun, 30 Jul 2023 23:31:24 +0000 Subject: [PATCH 34/57] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/ --- app/src/main/res/values-zh-rCN/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 26d935e2a..0a71e0365 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -41,7 +41,7 @@ 数字 KeePassDX © %1$d 是 Kunzisoft 旗下的一个<strong>不含广告</strong>的<strong>开源软件</strong>。 \n它是根据<strong>GPLv3</strong>许可证分发的,您可在遵循GPLv3或者更高版本的协议下重新发布。Kunzisoft对软件的质量和性能等问题不提供任何形式的担保。 - 打开现有数据库 + 打开现有密码库 访问时间 取消 备注 @@ -182,7 +182,7 @@ 设备解锁 文件名 路径 - 新建数据库 + 新建密码库 数据库名称 数据库描述 数据库版本 From bf892f5b6aa7b4835e960e0ca9729cbb9302dda2 Mon Sep 17 00:00:00 2001 From: Milo Ivir Date: Sun, 30 Jul 2023 13:31:58 +0000 Subject: [PATCH 35/57] Translated using Weblate (Croatian) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/hr/ --- app/src/main/res/values-hr/strings.xml | 85 ++++++++++++++++---------- 1 file changed, 53 insertions(+), 32 deletions(-) diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 2c32950d0..14504a71a 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -118,7 +118,7 @@ Postavke Postavke aplikacije Ispunjavanje obrasca - Napredno otključavanje + Otključavanje uređaja Postavke baze podataka Postavke sigurnosti Postavke glavnog ključa @@ -142,8 +142,8 @@ Nikada Nema rezultata pretraživanja Instalirajte web preglednik da bi ste otvorili ovaj URL. - Otvori postojeću bazu podataka - Stvori novu bazu podataka + Otvori postojeći trezor + Stvori novi trezor Stvaranje nove baze podataka … Zaštita Baza podataka sadrži duplicirane UUID-ove. @@ -177,7 +177,7 @@ Izgled Opće Automatsko ispunjavanje - Automatsko ispunjavanje obrazaca KeePassDX + Automatsko ispunjavanje KeePassDX obrasca Postavi standardnu uslugu automatskog ispunjavanja Znakovi lozinke Postavi dozvoljene znakove za generiranje lozinke @@ -187,12 +187,12 @@ Ako automatsko brisanje međuspremnika ne uspije, izbriši njegovu povijest ručno. Zaključaj bazu podataka nakon par sekundi kad se ekran ugasi Pritisni \'Natrag\' za zaključavanje - Napredno otključavanje - Koristi napredno otključavanje za jednostavnije otvaranje baze podataka + Otključavanje uređaja + Koristi otključavanje uređaja za jednostavnije otvaranje baze podataka Biometrijsko otključavanje Otvaranje baze podataka skeniranjem biometrike Izbriši ključeve šifriranja - Izbriši sve ključeve šifriranja povezane s naprednim prepoznavanjem otključavanja + Izbriši sve ključeve šifriranja povezane s prepoznavanjem otključavanja uređaja Nije moguće pronaći odgovarajući hardver. Ime datoteke Putanja @@ -267,7 +267,7 @@ Posebni znakovi Podcrtaj Velika slova - Ova baza podataka još nema spremljene podatke za prijavu. + Nedostupno Biometrija Prijavi se s KeePassDX Aktiviraj automatsko ispunjavanje za brzo ispunjavanje obrazaca u drugim aplikacijama @@ -395,7 +395,7 @@ Istekli unosi se ne pokazuju Zaključaj bazu podataka Otključaj bazu podataka - Automatski zatraži napredno otključavanje ako je baza podataka tako postavljena + Automatski zatraži otključavanje uređaja ako je baza podataka postavljena da ga koristi Nije moguće pokrenuti ovu funkciju. Automatski otvori prozor za prijavu Istek vremena međuspremnika @@ -441,8 +441,8 @@ U tijeku: %1$d%% Gotovo! Automatski se vrati na prethodnu tipkovnicu nakon izvršavanja „Automatska radnje tipke” - Automatska radnja tipke - Automatski se prebaci na prethodnu tipkovnicu pri ekranu za unos podataka za prijavu na bazu podataka + Vrati se na prethodnu tipkovnicu + Automatski se vrati na prethodnu tipkovnicu pri ekranu za unos podataka za prijavu na bazu podataka Ekran za unos podataka za prijavu na bazu podataka Promijeni tipkovnicu Baza podataka za KeePass trebala bi sadržavati samo male datoteke uslužnih programa (poput PGP datoteke ključeva). @@ -472,7 +472,7 @@ Spremi podatke pretrage Zatvori bazu podataka nakon odabira automatskog ispunjavanja Zatvori bazu podataka - Automatski prebaci na prethodnu tipkovnicu nakon zaključavanja baze podataka + Automatski se vrati na prethodnu tipkovnicu nakon zaključavanja baze podataka Zaključaj bazu podataka Pokušaj spremiti dijeljene podatke prilikom ručnog odabira unosa za jednostavniju buduću upotrebu Spremi dijeljene informacije @@ -483,17 +483,17 @@ Modus spremanja Modus pretrage Ime polja već postoji. - Izbrisati sve ključeve šifriranja povezane s naprednim prepoznavanjem otključavanja\? + Izbrisati sve ključeve šifriranja povezane s prepoznavanjem otključavanja uređaja\? Upiši lozinku, zatim pritisni ovaj gumb. - Otvori bazu podataka pomoću naprednog prepoznavanja otključavanja - Ako koristiš prepoznavanje naprednog otključavanja morat ćeš i dalje znati glavnu lozinku. - Izbriši ključ naprednog otključavanja - Napredno prepoznavanje otključavanja - Nije moguće pokrenuti prozor naprednog otključavanja. - Greška naprednog otključavanja: %1$s - Izdvoji podatake za prijavu na bazu podataka pomoću podataka naprednog otključavanja - Nije moguće prepoznati digitanlni otisak za napredno otključavanje - Nije moguće pročitati ključ naprednog otključavanja. Izbriši ga i ponovi postupak prepoznavanja otključavanja. + Prepoznavanje otključavanja uređaja + Ako koristiš prepoznavanje otključavanja uređaja morat ćeš i dalje znati tvoj glavni podatak za prijavu za trezor. + Izbriši ključ za otključavanje uređaja + Poveznica za otključavanje uređaja + Nije moguće pokrenuti prozor za otključavanje uređaja. + Greška otključavanja uređaja: %1$s + Izdvoji podatake za prijavu na bazu podataka pomoću podataka za otključavanje uređaja + Nije bilo moguće prepoznati ispis za otključavanje uređaja + Nije moguće pročitati ključ za otključavanje uređaja. Izbriši ga i ponovi postupak prepoznavanja otključavanja. Tipka Enter Tipka Backspace Odaberi unos @@ -502,19 +502,19 @@ Omogućuje otvaranje baze podataka pomoću podataka za prijavu Otključavanje s podacima za prijavu uređaja Podaci za prijavu uređaja - Dodirni za brisanje ključeva naprednog otključavanja - Napredno otključavanje baze podataka - Vremensko ograničenje neprednog otključavanja - Trajanje korištenja naprednog otključavanja prije brisanja sadržaja - Istek naprednog otključavanja - Nemoj spremati šifrirani sadržaj za napredno otključavanje + Dodirni za brisanje ključeva za otključavanje uređaja + Otključavanje uređaja baze podataka + Vremensko ograničenje otključavanja uređaja + Trajanje korištenja otključavanja uređaja prije brisanja njegovog sadržaja + Istek otključavanja uređaja + Nemoj spremati šifrirani sadržaj za otključavanje uređaja Sadržaj - Privremeno napredno otključavanje + Privremeno otključavanje uređaja Nije moguće ispravno obnoviti popis. URI baze podataka nije moguće dobiti. Umetnuti prijedlozi - Prijedlozi za automatsko popunjavanje su dodani. - Pokušaj prikazivanja prijedloga za automatsko popunjavanje izravno s kompatibilne tipkovnice + Prijedlozi za automatsko ispunjavanje su dodani. + Pokušaj prikazivanja prijedloga za automatsko ispunjavanje izravno s kompatibilne tipkovnice Pristup datoteci opozvan od upravljača datoteka. Zatvori bazu podataka i ponovo je otvori s njezinog mjesta. Sjedini podatke, prepiši vanjske promjene spremanjem baze podataka ili je ponovo učitaj s najnovijim promjenama. Podaci u datoteci tvoje baze podataka izmijenjeni su izvan aplikacije. @@ -595,7 +595,7 @@ Ponovnim učitavanjem baze podataka izbrisat će se lokalno izmijenjeni podaci. Hash-šifra datoteke nije zajamčena jer Android svoje podatke može promijeniti za vrijeme rada. Promijeni datotečni nastavak u .bin radi ispravnog integriteta. Ostavi ekran uključen - Ostavi ekran uključen tijekom gledanja unosa + Ostavi ekran uključen tijekom gledanja ili uređivanja unosa Boje unosa Prikazuje prednje boje i boje pozadine za unos Prednja boja unosa @@ -662,4 +662,25 @@ Izazov je već zatražen Odgovor je već dat. Sjedinjavanje uspješno završeno + Pretraga, zaključavanje, povijest, svojstva + Tipkovnica, automatsko ispunjavanje, međuspremnik + Metapodaci, koš za smeće, predlošci, povijest + Šifriranje, funkcija derivacije ključa + Dozvola za obavijesti je potrebna za korištenje funkcije obavijesti međuspremnika. + Kasnije + Pitaj + Dozvola za obavijesti omogućuje prikaz stanja baze podataka i zaključavanje pomoću lako dostupnog gumba. +\n +\nAko ovu dozvolu ne aktiviraš, u pozadini otvorena baza podataka neće biti vidljiva ako je jedna druga aplikacija u prvom planu. + Konfiguriraj + Poveznica za otključavanje uređaja + Teme, boje, atributi + Otključaj + Biometrija, podatak za prijavu uređaja + Informacije + Promjena, obnova + Potvrdi unos + Nemoj zaboraviti potvrditi svoj unos i spremiti svoju bazu podataka. +\n +\nAko se automatsko zaključavanje aktivira i ako zaboraviš da si izvršio/la promjene, riskiraš gubitak podataka. \ No newline at end of file From 99568db10c813105a0c3e81b0df2182d0abdd844 Mon Sep 17 00:00:00 2001 From: Reza Almanda Date: Tue, 1 Aug 2023 02:51:32 +0000 Subject: [PATCH 36/57] Translated using Weblate (Indonesian) Currently translated at 96.1% (622 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/id/ --- app/src/main/res/values-id/strings.xml | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index c162047b2..d61d8bbda 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -26,7 +26,7 @@ Pengaturan Keamanan Pengaturan Aplikasi Pengaturan Basisdata - Buka Kunci Lanjutan + Membuka kunci perangkat Pengisian Formulir Pengaturan Salinan dari %1$s @@ -177,8 +177,8 @@ Kontak Minta pencarian saat membuka database Pencarian cepat - Buat basis data baru - Buka basis data yang sudah ada + Membuat brankas baru + Buka brankas yang ada Pasang browser web untuk membuka URL ini. Penggunaan memori Putaran transformasi @@ -237,7 +237,7 @@ Kompresi Lainnya Tampilan - Pengenalan pembuka kunci tingkat lanjut + Tautan ke pembukaan kunci perangkat Keystore tidak diinisialisasi dengan benar. Pembaruan keamanan biometrik diperlukan. Tidak ada kredensial biometrik atau perangkat yang terdaftar. @@ -309,7 +309,7 @@ Mode pendaftaran Mode simpan Mode pencarian - Hapus pembuka kunci lanjutan + Menghapus kunci buka kunci perangkat Muat ulang data URI database tidak dapat diambil. Nama bidang sudah ada. @@ -645,4 +645,19 @@ Tajuk navigasi Ketik Otomatis Penggabungan berhasil dilakukan + Info + Cari, kunci, riwayat, properti + Papan ketik, isi otomatis, papan klip + Biometri, kredensial perangkat + Metadata, tempat sampah, templat, riwayat + Enkripsi, fungsi derivasi kunci + Perubahan, pembaruan + Izin notifikasi memungkinkan Anda untuk menampilkan status database dan menguncinya dengan tombol yang mudah diakses. +\n +\nJika Anda tidak mengaktifkan, basis data yang terbuka di latar belakang tidak akan terlihat jika ada aplikasi lain di latar depan. + Izin pemberitahuan diperlukan untuk menggunakan fitur pemberitahuan papan klip. + Tanya + Atur + Nanti + Tautan buka kunci perangkat \ No newline at end of file From 5a3be0853e38165ae778f8e7303ec44464e1d15b Mon Sep 17 00:00:00 2001 From: Masowick Date: Tue, 1 Aug 2023 05:39:34 +0000 Subject: [PATCH 37/57] Translated using Weblate (German) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/ --- app/src/main/res/values-de/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 236c86a9d..d9de168ca 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -238,7 +238,7 @@ Ein starkes Passwort erstellen Ein starkes Passwort generieren, um es mit dem Eintrag zu verknüpfen; es den Anforderungen des Formulars anpassen und die Passwortsicherheit nicht vergessen. Eigene Felder hinzufügen - Füge ein weiteres Feld und einen Wert hinzu und schütze es (optional). + Ein zusätzliches Feld einfügen, einen Wert hinzufügen und diesen optional schützen. Eigene Datenbank entsperren Ein Feld kopieren Kopierte Felder können an beliebiger Stelle eingefügt werden. @@ -469,7 +469,7 @@ Datenbank-Anmeldebildschirm Nach dem Ausführen der automatischen Tastenaktion automatisch zur vorherigen Tastatur wechseln Auf dem Datenbank-Anmeldebildschirm automatisch zur vorherigen Tastatur wechseln - Füge dem Eintrag einen Anhang bei, um wichtige externe Daten zu speichern. + Dem Eintrag einen Anhang hinzufügen, um wichtige externe Daten zu speichern. Anmeldeinformationen Daten Unverknüpfte Daten entfernen @@ -698,8 +698,8 @@ Die Benachrichtigungsberechtigung ist erforderlich, um die Benachrichtigungsfunktion der Zwischenablage zu nutzen. Entsperren Eintrag überprüfen - Denke daran, deine Eingabe zu überprüfen und deine Datenbank zu speichern. + Bitte daran denken, den Eintrag zu überprüfen und die Datenbank zu speichern. \n -\nWenn ein automatisches Sperren aktiviert ist und du vergisst, dass du eine Änderung vorgenommen hast, riskierst du den Verlust deiner Daten. +\nWenn ein automatisches Sperren aktiviert ist und vergessen wird, dass Änderungen vorgenommen wurden, besteht die Gefahr von Datenverlust. Info \ No newline at end of file From b86a8c86331e27d9be7e8e4264e608a303e9b053 Mon Sep 17 00:00:00 2001 From: VfBFan Date: Wed, 2 Aug 2023 08:09:20 +0000 Subject: [PATCH 38/57] Translated using Weblate (German) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/ --- app/src/main/res/values-de/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index d9de168ca..e8e06e64b 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -220,9 +220,9 @@ Tastatur Magikeyboard Tastatur zum Ausfüllen aller Passwort- und Identitätsfelder aktivieren - Hilfe-Anzeige wiederholen + Hilfeanzeige wiederholen Alle Hilfsinfos nochmal anzeigen - Hilfe-Anzeige zurückgesetzt + Hilfeanzeige zurückgesetzt Die Datenbankdatei erstellen Die erste Datei zur Passwortverwaltung erstellen. Existierende Datenbank öffnen @@ -239,14 +239,14 @@ Ein starkes Passwort generieren, um es mit dem Eintrag zu verknüpfen; es den Anforderungen des Formulars anpassen und die Passwortsicherheit nicht vergessen. Eigene Felder hinzufügen Ein zusätzliches Feld einfügen, einen Wert hinzufügen und diesen optional schützen. - Eigene Datenbank entsperren + Datenbank entsperren Ein Feld kopieren Kopierte Felder können an beliebiger Stelle eingefügt werden. \n \nAus den verschiedenen Methoden zum Ausfüllen von Formularen einfach die bevorzugte auswählen. Die Datenbank sperren Die Datenbank schnell sperren. Die App lässt sich so einstellen, dass sie nach einer gewissen Zeit und beim Ausschalten des Bildschirms gesperrt wird. - Sortierung der Einträge + Einträge sortieren Wählen, wie Einträge und Gruppen sortiert werden. Mitmachen Mithelfen, um Stabilität und Sicherheit zu verbessern sowie weitere Funktionen zu ermöglichen. @@ -273,7 +273,7 @@ Warnung: Alle Apps teilen sich die Zwischenablage. Andere Software kann auf kopierte Daten zugreifen. Entsperren ohne Hauptschlüssel Erlaubt das Antippen von „Öffnen“ ohne Anmeldedaten einzugeben - Hilfe-Anzeige + Hilfeanzeige Bedienelemente hervorheben, um die Funktionsweise der App zu lernen Änderbar Schreibgeschützt From 2ef17e0c7a8ec529cdca80a42f379c3186cbbdcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=2E=20R=C3=BCdinger?= Date: Wed, 2 Aug 2023 08:05:01 +0000 Subject: [PATCH 39/57] Translated using Weblate (German) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/ --- app/src/main/res/values-de/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index e8e06e64b..8ec20b7cd 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -223,7 +223,7 @@ Hilfeanzeige wiederholen Alle Hilfsinfos nochmal anzeigen Hilfeanzeige zurückgesetzt - Die Datenbankdatei erstellen + Datenbankdatei erstellen Die erste Datei zur Passwortverwaltung erstellen. Existierende Datenbank öffnen Eine frühere Datenbankdatei mit dem Dateimanager öffnen, um sie weiter zu verwenden. @@ -244,7 +244,7 @@ Kopierte Felder können an beliebiger Stelle eingefügt werden. \n \nAus den verschiedenen Methoden zum Ausfüllen von Formularen einfach die bevorzugte auswählen. - Die Datenbank sperren + Datenbank sperren Die Datenbank schnell sperren. Die App lässt sich so einstellen, dass sie nach einer gewissen Zeit und beim Ausschalten des Bildschirms gesperrt wird. Einträge sortieren Wählen, wie Einträge und Gruppen sortiert werden. From 9f4a302b723fda80be2a061b8669086602f11706 Mon Sep 17 00:00:00 2001 From: Masowick Date: Wed, 2 Aug 2023 07:58:00 +0000 Subject: [PATCH 40/57] Translated using Weblate (German) Currently translated at 100.0% (647 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/ --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 8ec20b7cd..b8a6ef1c8 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -233,7 +233,7 @@ \nGruppen/Ordner gliedern Einträge in der Datenbank. Einträge durchsuchen Titel, Nutzernamen oder Inhalte anderer Felder eingeben, um Passwörter zu finden. - Den Eintrag bearbeiten + Eintrag bearbeiten Dem Eintrag eigene Felder hinzufügen. Die Felder können mit Querverweisen aus anderen Einträgen ergänzt werden. Ein starkes Passwort erstellen Ein starkes Passwort generieren, um es mit dem Eintrag zu verknüpfen; es den Anforderungen des Formulars anpassen und die Passwortsicherheit nicht vergessen. From e028738dc2917a3bb2f01d39d78d0b9f1c1a292a Mon Sep 17 00:00:00 2001 From: bowornsin Date: Wed, 2 Aug 2023 03:33:21 +0000 Subject: [PATCH 41/57] Translated using Weblate (Thai) Currently translated at 83.9% (543 of 647 strings) Translation: KeePassDX/Strings Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/th/ --- app/src/main/res/values-th/strings.xml | 27 ++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 826f3abeb..a5d3a912a 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -53,7 +53,7 @@ เพื่มรายการ แก้ไขรายการ อนุพันธ์ของฟังก์ชันหลัก - หมดเวลา + ระยะหมดเวลา อักขระ ASCII เพื่มเติม บางอุปกรณ์ไม่อนุญาตให้แอปใช้คลิปบอร์ด ไม่สามารถล้างคลิปบอร์ดได้ @@ -90,7 +90,7 @@ ไม่รองรับกุญแจฮาร์ดแวร์ สร้างฐานข้อมูลใหม่ ไม่ได้กำหนดข้อมูลการยืนยันตัวตนหรือไบโอเมตริก - คุณยังจำเป็นต้องจำข้อมูลประจำตัวหลักอยู่ถ้าใช้การปลดล็อกขั้นสูง + คุณยังต้องจำข้อมูลรหัสผ่านหลักไว้อยู่ถ้าใช้การปลดล็อกขั้นสูง กุญแจฮาร์ดแวร์ กำลังโหลดฐานข้อมูล… เปิดฐานข้อมูลด้วยการปลดล็อกขั้นสูง @@ -179,10 +179,10 @@ เลือกรายการ ปิดฐานข้อมูล แสดงตัวเลือกเพื่อให้ผู้ใช้เลือกรายการฐานข้อมูล - Delete password + ลบรหัสผ่าน บันทึกฐานข้อมูลอัตโนมัติ เปิดหน้าจอไว้ - Screenshot mode + โหมดจับภาพหน้าจอ เปิดไฟล์ฐานข้อมูลก่อนหน้านี้จากตัวจัดการไฟล์เพื่อใช้งานมันต้อ เพื่มรายการใหม่ในฐานข้อมูล รายการช่วยจัดการตัวตนดิจิทัลของคุณ @@ -418,7 +418,7 @@ บล็อกการกรอกอัตโนมัติ ป้องกันการเขียน รีเซ็ทคำแนะนำการใช้งาน - แสดงคำแนะนำการใช้งานอีกคั้ง + แสดงคำแนะนำการใช้งานอีกครั้ง โดยการ<strong>ร่วมแก้ไข</strong> ตั้งค่า OTP สีของรายการ @@ -520,7 +520,7 @@ ค่าแฮชของไฟล์จะไม่แน่นอนเนี่องจาก Android สามารถเปลี่ยนแปลงข้อมูลในขณะที่ใช้อยู่ได้ เปลี่ยนส่วนขยายไฟล์เป็น .bin เพื่อคงความสมบูรณ์ไว้ จำเป็นต้องอัปเดทการรักษาความปลอดภัยของไบโอเมตริก Keystore เรื่มทำงานได้ไม่ถูกต้อง - บันทึกการปลดล็อกขั้นสูง + เชื่อมโยงการปลดล็อกขั้นสูง เก็บค่ารหัสผ่านที่เข้ารหัสไว้ อ่านกุญแจการปลดล็อกขั้นสูงไม่ได้ โปรดลบข้อมูลออกและเพื่มข้อมูลการปลดล็อกขั้นสูงอีกครั้ง ไม่รู้จักลายนิ้วมือ @@ -539,7 +539,7 @@ ทั่วไป การกรอกอัตโนมัติ การกรอกข้อมูลอัตโนมัติของ KeePassDX - เปิดการกรอกข้อมูลอัตโนมัติเพื่อกรอกข้อมูลในแอปอืนได้อย่างรวดเร็ว + เปิดการกรอกข้อมูลอัตโนมัติเพื่อกรอกข้อมูลในแอปอื่นได้อย่างรวดเร็ว ตั้งขนาดรหัสผ่านที่สร้างเรื่มต้น หน้าจอล็อก อุปกรณ์นี้เป็น Android %1$s, แต่ต้องการ %2$s ขึ้นไป @@ -555,7 +555,7 @@ ระยะหมดเวลาของการปลดล็อกขั้นสูง ลบกุญแจเข้ารหัสทั้งหมดที่เกี่ยวข้องกับการปลดล็อกขั้นสูง\? ไม่พบอุปกรณ์ที่เกี่ยวข้อง - ให้คุณสแกนไบโอเมตริกเพื่อปลดล็อกฐานข้อมูล + ให้คุณใช้ไบโอเมตริกเพื่อปลดล็อกฐานข้อมูล การปลดล็อกด้วยข้อมูลประจำตัว ระยะเวลาของการใช้การปลดล็อกขั้นสูงก่อนที่จะลบข้อมูลดังกล่าวออก ลบกุญแจเข้ารหัส @@ -586,7 +586,7 @@ ล็อกฐานข้อมูลเมื่อระยะเวลาในคลิปบอร์ดสิ้นสุดหรือปิดหลังจากคุณเรื่มใช้มันแล้ว ชื่อฐานข้อมุ, เปิดใช้งานแป้นพิมพ์แบบพิเศษที่จะสำรวจช่องกรอกรหัสผ่านและข้อมูลอื่นๆ - อนุญาตให้คัดลอกรหัสผ่านและเขตข้อมูลที่ป้องกันไว้ไปยังคลิปบอร์ด + อนุญาตให้คัดลอกรหัสผ่านและเขตข้อมูลที่ป้องกันไว้เก็บในคลิปบอร์ด คำเตือน:คลิปบอร์ดถูกใช้ร่วมกันในทุกแอป หากข้อมูลละเอียดอ่อนถูกคัดลอกไป ซอฟท์แวร์อื่นอาจกู้มันกลับมาได้ ชื่อผู้ใช้เรื่มต้น สีของฐานข้อมูลที่กำหนดเอง @@ -639,10 +639,17 @@ ตั่้งค่ารหัสผ่านแบบใช้ครั้งเดียว (HOTP/TOTP) เพิ่อสร้างโทเค็นสำหรับการยืนยันสองขั้นตอน (2FA) คัดลอกเขตข้อมูล ช่วยเพื่มความสเถียร ความปลอดภัย และใส่ฟีเจอร์เข้าไปเพื่มเติม - ไม่เหมือนแอปจัดการรหัสผ่านอื่นๆ แอปนี้<strong>ปลอดโซษณา</strong>, <strong>เป็นซอฟท์แวร์แบบเสรี</strong> และไม่เก็บข้อมูลผู้ใช้ไว้บนเซิฟเวอร์ ไม่ว่าจะใช้เวอร์ชั่นอะไรก็ตาม + ไม่เหมือนแอปจัดการรหัสผ่านอื่นๆ แอปนี้เป็นซอฟท์แวร์แบบเสรี, ปลอดโฆษณา และไม่เก็บข้อมูลผู้ใช้ไว้บนเซิฟเวอร์ ไม่ว่าจะใช้เวอร์ชั่นอะไรก็ตาม โดยการซื้อเวอร์ชั่นโปร คุณจะได้เข้าถึง <strong>สไตล์ของแอปที่มากขึ้น</strong> และยังมีส่วนช่วย <strong>พัฒนาโครงการโดยชุมชนนี้ต่อไป</strong> <strong>สไตล์ของแอป</strong> นี้ใช้งานได้ ขอขอบคุณการสนับสนุนของคุณ ฟีเจอร์นี้ <strong>อยู่ในระหว่างการพัฒนา</strong> และต้องการ <strong>ร่วมแก้ไข</strong>ของคุณ และเปิดให้ใช้งานเร็วๆนี้ โดยการซื้อเวอร์ขั่น<strong>โปร</strong> การควบรวมเสร็จสมบูรณ์ + การอนุญาตสิทธิ์แจ้งเตือนจะทำให้คุณเห็นสถานะของฐานข้อมูลและล็อกมันด้วยปุ่มที่เข้าถืงง่าย +\n +\nหากคุณไม่อนุญาตสิทธิ์นี้ ฐานข้อมูลที่เปิดในพื้นหลังจะไม่สามารถมองเห็นได้หากมีอีกแอปพลิเคชั่นอยู่ในพื้นหน้า + เชื่อมโยงการปลดล็อกของอุปกรณ์ + ถาม + ต้องการสิทธิ์การแจ้งเตือนสำหรับคุณสมบัติการแจ้งเตือนของคลิปบอร์ด + ภายหลัง \ No newline at end of file From 8ce9757b7cf62fc6b9a4923c69e2a75fab311d51 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 5 Aug 2023 17:06:07 +0200 Subject: [PATCH 42/57] fix: Error with coordinator --- .../java/com/kunzisoft/keepass/activities/GroupActivity.kt | 4 +++- .../kunzisoft/keepass/database/helper/LocalizedHelper.kt | 7 +++---- app/src/main/res/layout/activity_group.xml | 7 +++++++ .../keepass/database/exception/DatabaseException.kt | 7 +++++-- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt index 9de6ad9b4..a5d2ed9c4 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt @@ -124,6 +124,7 @@ class GroupActivity : DatabaseLockActivity(), private var drawerLayout: DrawerLayout? = null private var databaseNavView: NavigationDatabaseView? = null private var coordinatorLayout: CoordinatorLayout? = null + private var coordinatorError: CoordinatorLayout? = null private var lockView: View? = null private var toolbar: Toolbar? = null private var databaseModifiedView: ImageView? = null @@ -270,6 +271,7 @@ class GroupActivity : DatabaseLockActivity(), drawerLayout = findViewById(R.id.drawer_layout) databaseNavView = findViewById(R.id.database_nav_view) coordinatorLayout = findViewById(R.id.group_coordinator) + coordinatorError = findViewById(R.id.error_coordinator) numberChildrenView = findViewById(R.id.group_numbers) addNodeButtonView = findViewById(R.id.add_node_button) toolbar = findViewById(R.id.toolbar) @@ -690,7 +692,7 @@ class GroupActivity : DatabaseLockActivity(), } } - coordinatorLayout?.showActionErrorIfNeeded(result) + coordinatorError?.showActionErrorIfNeeded(result) // Reload the group loadGroup() diff --git a/app/src/main/java/com/kunzisoft/keepass/database/helper/LocalizedHelper.kt b/app/src/main/java/com/kunzisoft/keepass/database/helper/LocalizedHelper.kt index 9b5c0c00b..7ebe3aa0f 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/helper/LocalizedHelper.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/helper/LocalizedHelper.kt @@ -26,7 +26,7 @@ import com.kunzisoft.keepass.database.element.template.TemplateEngine import com.kunzisoft.keepass.database.element.template.TemplateField import com.kunzisoft.keepass.database.exception.* -fun DatabaseException.getLocalizedMessage(resources: Resources): String = parameters?.let { +fun DatabaseException.getLocalizedMessage(resources: Resources): String? = when (this) { is FileNotFoundDatabaseException -> resources.getString(R.string.file_not_found_content) is CorruptedDatabaseException -> resources.getString(R.string.corrupted_file) @@ -39,7 +39,7 @@ fun DatabaseException.getLocalizedMessage(resources: Resources): String = parame is InvalidCredentialsDatabaseException -> resources.getString(R.string.invalid_credentials) is KDFMemoryDatabaseException -> resources.getString(R.string.error_load_database_KDF_memory) is NoMemoryDatabaseException -> resources.getString(R.string.error_out_of_memory) - is DuplicateUuidDatabaseException -> resources.getString(R.string.invalid_db_same_uuid) + is DuplicateUuidDatabaseException -> resources.getString(R.string.invalid_db_same_uuid, parameters[0], parameters[1]) is XMLMalformedDatabaseException -> resources.getString(R.string.error_XML_malformed) is MergeDatabaseKDBException -> resources.getString(R.string.error_unable_merge_database_kdb) is MoveEntryDatabaseException -> resources.getString(R.string.error_move_entry_here) @@ -48,9 +48,8 @@ fun DatabaseException.getLocalizedMessage(resources: Resources): String = parame is CopyGroupDatabaseException -> resources.getString(R.string.error_copy_group_here) is DatabaseInputException -> resources.getString(R.string.error_load_database) is DatabaseOutputException -> resources.getString(R.string.error_save_database) - else -> (mThrowable as? DatabaseException)?.getLocalizedMessage(resources) + else -> localizedMessage } -} ?: resources.getString(R.string.error_load_database) fun CompressionAlgorithm.getLocalizedName(resources: Resources): String { return when (this) { diff --git a/app/src/main/res/layout/activity_group.xml b/app/src/main/res/layout/activity_group.xml index e89bcdf47..6e5515e7c 100644 --- a/app/src/main/res/layout/activity_group.xml +++ b/app/src/main/res/layout/activity_group.xml @@ -157,6 +157,13 @@ android:layout_height="wrap_content" app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner" /> + + diff --git a/database/src/main/java/com/kunzisoft/keepass/database/exception/DatabaseException.kt b/database/src/main/java/com/kunzisoft/keepass/database/exception/DatabaseException.kt index e5962fc53..d25359ca1 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/exception/DatabaseException.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/exception/DatabaseException.kt @@ -27,7 +27,7 @@ import java.io.PrintWriter abstract class DatabaseException : Exception { var innerMessage: String? = null - var parameters: (Array)? = null + var parameters = mutableListOf() var mThrowable: Throwable? = null constructor() : super() @@ -94,7 +94,10 @@ class NoMemoryDatabaseException(exception: Throwable) : DatabaseInputException(e class DuplicateUuidDatabaseException(type: Type, uuid: NodeId<*>) : DatabaseInputException() { init { - parameters = arrayOf(type.name, uuid.toString()) + parameters.apply { + add(type.name) + add(uuid.toString()) + } } } From c078bd05e237de14f9c9129acd8f1c1133b411ce Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 5 Aug 2023 17:29:32 +0200 Subject: [PATCH 43/57] feat: Cut and Copy from search --- .../com/kunzisoft/keepass/activities/GroupActivity.kt | 9 ++++----- .../keepass/activities/fragments/GroupFragment.kt | 4 +--- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt index a5d2ed9c4..5f51927e6 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/GroupActivity.kt @@ -242,7 +242,6 @@ class GroupActivity : DatabaseLockActivity(), } private fun removeSearch() { - finishNodeAction() mSearchState = null intent.removeExtra(AUTO_SEARCH_KEY) if (Intent.ACTION_SEARCH == intent.action) { @@ -1040,8 +1039,8 @@ class GroupActivity : DatabaseLockActivity(), nodes: List ): Boolean { actionNodeMode?.invalidate() - - // Nothing here fragment calls onPasteMenuClick internally + removeSearch() + loadGroup() return true } @@ -1050,8 +1049,8 @@ class GroupActivity : DatabaseLockActivity(), nodes: List ): Boolean { actionNodeMode?.invalidate() - - // Nothing here fragment calls onPasteMenuClick internally + removeSearch() + loadGroup() return true } diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt index 2f17df4f5..7a7cf5acf 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/fragments/GroupFragment.kt @@ -346,14 +346,12 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen } // Move - if (database.isReadOnly - || isASearchResult) { + if (database.isReadOnly) { menu?.removeItem(R.id.menu_move) } // Copy (not allowed for group) if (database.isReadOnly - || isASearchResult || nodes.any { it.type == Type.GROUP }) { menu?.removeItem(R.id.menu_copy) } From 14f070a94248ef60a858bb8e478ca21568181c45 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 5 Aug 2023 17:36:13 +0200 Subject: [PATCH 44/57] feat: Cut and Copy from search CHANGELOG --- CHANGELOG | 2 +- fastlane/metadata/android/en-US/changelogs/122.txt | 2 +- fastlane/metadata/android/fr-FR/changelogs/122.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index b8eefdec0..6d814ecbf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,7 +3,7 @@ KeePassDX(4.0.0) * Material You theme (follow system colors) #1469 * Refactoring inner code #1371 * Migration to API 33 - # Remove from search #1308 + # Cut, copy and delete from search #1308 #1263 * Fix behaviors #1351 * Fix bugs #1589 #1584 #1545 #1563 #1371 diff --git a/fastlane/metadata/android/en-US/changelogs/122.txt b/fastlane/metadata/android/en-US/changelogs/122.txt index afff3e0aa..6c2b61d18 100644 --- a/fastlane/metadata/android/en-US/changelogs/122.txt +++ b/fastlane/metadata/android/en-US/changelogs/122.txt @@ -2,6 +2,6 @@ * Material You theme (follow system colors) #1469 * Refactoring inner code #1371 * Migration to API 33 - # Remove from search #1308 + # Cut, copy and delete from search #1308 #1263 * Fix behaviors #1351 * Fix bugs #1589 #1584 #1545 #1563 #1371 \ No newline at end of file diff --git a/fastlane/metadata/android/fr-FR/changelogs/122.txt b/fastlane/metadata/android/fr-FR/changelogs/122.txt index f2f94586a..df6930d9d 100644 --- a/fastlane/metadata/android/fr-FR/changelogs/122.txt +++ b/fastlane/metadata/android/fr-FR/changelogs/122.txt @@ -2,6 +2,6 @@ * Thème Material You (follow system colors) #1469 * Refactorisation du code interne #1371 * Migration vers API 33 - * Suppression depuis la recherche #1308 + * Couper, copier et supprimer depuis la recherche #1308 #1263 * Corrections de comportements #1351 * Corrections de bugs #1589 #1584 #1545 #1563 #1371 \ No newline at end of file From 3fc26c8c4ebc79621021df6680a04d284aba0a47 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 5 Aug 2023 17:37:15 +0200 Subject: [PATCH 45/57] feat: Cut and Copy from search CHANGELOG --- CHANGELOG | 2 +- fastlane/metadata/android/fr-FR/changelogs/122.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 6d814ecbf..c2e412d0c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,7 +3,7 @@ KeePassDX(4.0.0) * Material You theme (follow system colors) #1469 * Refactoring inner code #1371 * Migration to API 33 - # Cut, copy and delete from search #1308 #1263 + # Cut, copy and delete from search #891 #1308 #1263 * Fix behaviors #1351 * Fix bugs #1589 #1584 #1545 #1563 #1371 diff --git a/fastlane/metadata/android/fr-FR/changelogs/122.txt b/fastlane/metadata/android/fr-FR/changelogs/122.txt index df6930d9d..80b45c8c7 100644 --- a/fastlane/metadata/android/fr-FR/changelogs/122.txt +++ b/fastlane/metadata/android/fr-FR/changelogs/122.txt @@ -2,6 +2,6 @@ * Thème Material You (follow system colors) #1469 * Refactorisation du code interne #1371 * Migration vers API 33 - * Couper, copier et supprimer depuis la recherche #1308 #1263 + * Couper, copier et supprimer depuis la recherche #891 #1308 #1263 * Corrections de comportements #1351 * Corrections de bugs #1589 #1584 #1545 #1563 #1371 \ No newline at end of file From 41e7376b7b9b3225bfcd59405d180e4abbbdda29 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 5 Aug 2023 17:37:20 +0200 Subject: [PATCH 46/57] feat: Cut and Copy from search CHANGELOG --- fastlane/metadata/android/en-US/changelogs/122.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/en-US/changelogs/122.txt b/fastlane/metadata/android/en-US/changelogs/122.txt index 6c2b61d18..f02ecf2f0 100644 --- a/fastlane/metadata/android/en-US/changelogs/122.txt +++ b/fastlane/metadata/android/en-US/changelogs/122.txt @@ -2,6 +2,6 @@ * Material You theme (follow system colors) #1469 * Refactoring inner code #1371 * Migration to API 33 - # Cut, copy and delete from search #1308 #1263 + # Cut, copy and delete from search #891 #1308 #1263 * Fix behaviors #1351 * Fix bugs #1589 #1584 #1545 #1563 #1371 \ No newline at end of file From 22073e4bbd4c81db87cd8c9c89dd6707385353c2 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sun, 6 Aug 2023 20:29:01 +0200 Subject: [PATCH 47/57] fix: Deactivated color --- app/src/main/res/color/secondary_selector.xml | 5 +++++ app/src/main/res/values/styles.xml | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 app/src/main/res/color/secondary_selector.xml diff --git a/app/src/main/res/color/secondary_selector.xml b/app/src/main/res/color/secondary_selector.xml new file mode 100644 index 000000000..2a40de15e --- /dev/null +++ b/app/src/main/res/color/secondary_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 5bff84749..cef0b2d4e 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -471,8 +471,8 @@ ?attr/colorSecondary + From 8de6382a647b3953a1fd9631ee0e38722029d203 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sun, 6 Aug 2023 22:54:06 +0200 Subject: [PATCH 51/57] fix: update CHANGELOG --- CHANGELOG | 2 +- fastlane/metadata/android/en-US/changelogs/122.txt | 2 +- fastlane/metadata/android/fr-FR/changelogs/122.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index c2e412d0c..ae12a9a12 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,5 @@ KeePassDX(4.0.0) - * New UX/UI with Material 3 #1183 #1529 #1428 #1441 + * New UX/UI with Material 3 #1183 #1529 #1428 #1441 #1607 * Material You theme (follow system colors) #1469 * Refactoring inner code #1371 * Migration to API 33 diff --git a/fastlane/metadata/android/en-US/changelogs/122.txt b/fastlane/metadata/android/en-US/changelogs/122.txt index f02ecf2f0..923bbaaf6 100644 --- a/fastlane/metadata/android/en-US/changelogs/122.txt +++ b/fastlane/metadata/android/en-US/changelogs/122.txt @@ -1,4 +1,4 @@ - * New UX/UI with Material 3 #1183 #1529 #1428 #1441 + * New UX/UI with Material 3 #1183 #1529 #1428 #1441 #1607 * Material You theme (follow system colors) #1469 * Refactoring inner code #1371 * Migration to API 33 diff --git a/fastlane/metadata/android/fr-FR/changelogs/122.txt b/fastlane/metadata/android/fr-FR/changelogs/122.txt index 80b45c8c7..e207de83f 100644 --- a/fastlane/metadata/android/fr-FR/changelogs/122.txt +++ b/fastlane/metadata/android/fr-FR/changelogs/122.txt @@ -1,4 +1,4 @@ - * Nouveau UX/UI avec Material 3 #1183 #1529 #1428 #1441 + * Nouveau UX/UI avec Material 3 #1183 #1529 #1428 #1441 #1607 * Thème Material You (follow system colors) #1469 * Refactorisation du code interne #1371 * Migration vers API 33 From 91bbc6d84e2dbcf584884a259b4db759c0c83353 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sun, 6 Aug 2023 22:59:48 +0200 Subject: [PATCH 52/57] fix: tags --- app/src/main/res/values-nl/strings.xml | 4 ++-- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-th/strings.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 9977c70ae..79d0871bf 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -426,7 +426,7 @@ Databasebestand is niet aangemaakt. Dit label bestaat al. Bijlagen - Om onze vrijheid te behouden, fouten te verhelpen, functies toe te voegen en altijd actief te blijven, rekenen wij op jouw bijdrage. + Om <strong>onze vrijheid te behouden</strong>, <strong>fouten te verhelpen</strong>, <strong>functies toe te voegen</strong> en <strong>altijd actief te blijven</strong>, rekenen wij op jouw <strong>bijdrage</strong>. Bijlage toevoegen Weggooien Wijzigingen weggooien\? @@ -662,7 +662,7 @@ Samenvoegen vanuit database V1 niet mogelijk. Kies een fysieke sleutel. Houdt de gebruikte fysieke sleutels bij - Er worden geen gebruikersgegevens opgehaald, deze applicatie maakt geen verbinding met een server, werkt alleen lokaal en respecteert volledig de privacy van gebruikers. + <strong>Er worden geen gebruikersgegevens opgehaald</strong>, deze applicatie maakt geen verbinding met een server, werkt alleen lokaal en respecteert volledig de privacy van gebruikers. Locatie van database is onbekend, actie kan niet worden uitgevoerd. Fysieke sleutel-selectievak In afwachting van de reactietest-vraag… diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 2d31e2179..93f1d7625 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -261,7 +261,7 @@ Escolha como entradas e grupos são ordenados. Participar Ajude a aumentar a estabilidade, segurança e na adição de mais recursos. - Ao contrário de muitos aplicativos de gerenciamento de senhas, este aplicativo é livre de anúncios, livre de direitos autorais e não coleta dados pessoais em seus servidores, mesmo em sua versão gratuita. + Ao contrário de muitos aplicativos de gerenciamento de senhas, este aplicativo é <strong>livre de anúncios</strong>, <strong>livre de direitos autorais</strong> e não coleta dados pessoais em seus servidores, mesmo em sua versão gratuita. Ao comprar a versão Pro, você terá acesso a este <strong>recurso visual</strong> e ajudará especialmente a <strong>realização de projetos comunitários.</strong> Este <strong>recurso visual</strong> está disponível graças à sua generosidade. Para manter a nossa liberdade e estarmos sempre ativos, nós contamos com a sua <strong>contribuição.</strong> diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index a5d3a912a..cb4d98d97 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -639,7 +639,7 @@ ตั่้งค่ารหัสผ่านแบบใช้ครั้งเดียว (HOTP/TOTP) เพิ่อสร้างโทเค็นสำหรับการยืนยันสองขั้นตอน (2FA) คัดลอกเขตข้อมูล ช่วยเพื่มความสเถียร ความปลอดภัย และใส่ฟีเจอร์เข้าไปเพื่มเติม - ไม่เหมือนแอปจัดการรหัสผ่านอื่นๆ แอปนี้เป็นซอฟท์แวร์แบบเสรี, ปลอดโฆษณา และไม่เก็บข้อมูลผู้ใช้ไว้บนเซิฟเวอร์ ไม่ว่าจะใช้เวอร์ชั่นอะไรก็ตาม + ไม่เหมือนแอปจัดการรหัสผ่านอื่นๆ แอปนี้<strong>เป็นซอฟท์แวร์แบบเสรี</strong>, <strong>ปลอดโฆษณา</strong> และไม่เก็บข้อมูลผู้ใช้ไว้บนเซิฟเวอร์ ไม่ว่าจะใช้เวอร์ชั่นอะไรก็ตาม โดยการซื้อเวอร์ชั่นโปร คุณจะได้เข้าถึง <strong>สไตล์ของแอปที่มากขึ้น</strong> และยังมีส่วนช่วย <strong>พัฒนาโครงการโดยชุมชนนี้ต่อไป</strong> <strong>สไตล์ของแอป</strong> นี้ใช้งานได้ ขอขอบคุณการสนับสนุนของคุณ ฟีเจอร์นี้ <strong>อยู่ในระหว่างการพัฒนา</strong> และต้องการ <strong>ร่วมแก้ไข</strong>ของคุณ และเปิดให้ใช้งานเร็วๆนี้ From 335e7674269db15d61cbe0722316e820b393cdbe Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 7 Aug 2023 13:36:19 +0200 Subject: [PATCH 53/57] fix: Small bugs --- app/src/main/res/layout/activity_entry.xml | 3 +-- app/src/main/res/layout/activity_main_credential.xml | 9 +++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/layout/activity_entry.xml b/app/src/main/res/layout/activity_entry.xml index b22e3e1a9..1320510b6 100644 --- a/app/src/main/res/layout/activity_entry.xml +++ b/app/src/main/res/layout/activity_entry.xml @@ -139,9 +139,8 @@ diff --git a/app/src/main/res/layout/activity_main_credential.xml b/app/src/main/res/layout/activity_main_credential.xml index e3a82408c..ca9b4b0a2 100644 --- a/app/src/main/res/layout/activity_main_credential.xml +++ b/app/src/main/res/layout/activity_main_credential.xml @@ -105,6 +105,11 @@ + - Date: Mon, 7 Aug 2023 13:52:48 +0200 Subject: [PATCH 54/57] fix: Tab in entry --- app/src/main/res/layout/activity_entry.xml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/layout/activity_entry.xml b/app/src/main/res/layout/activity_entry.xml index 1320510b6..0f6b9bd83 100644 --- a/app/src/main/res/layout/activity_entry.xml +++ b/app/src/main/res/layout/activity_entry.xml @@ -19,6 +19,7 @@ --> + app:tabMode="fixed" + tools:targetApi="lollipop"> Date: Mon, 7 Aug 2023 13:57:47 +0200 Subject: [PATCH 55/57] fix: Item entry alignment --- app/src/main/res/layout/item_list_nodes_entry.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/layout/item_list_nodes_entry.xml b/app/src/main/res/layout/item_list_nodes_entry.xml index 62fed6263..64d1585bc 100644 --- a/app/src/main/res/layout/item_list_nodes_entry.xml +++ b/app/src/main/res/layout/item_list_nodes_entry.xml @@ -112,9 +112,9 @@ android:layout_marginRight="12dp" android:gravity="end" android:orientation="horizontal" + app:layout_constraintTop_toTopOf="@+id/node_container_info" app:layout_constraintBottom_toTopOf="@+id/node_path" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent"> + app:layout_constraintEnd_toEndOf="parent"> Date: Mon, 7 Aug 2023 15:27:38 +0200 Subject: [PATCH 56/57] fix: Selection switch --- app/src/main/res/layout/view_main_credentials.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/src/main/res/layout/view_main_credentials.xml b/app/src/main/res/layout/view_main_credentials.xml index 876e54a3b..c6c33a657 100644 --- a/app/src/main/res/layout/view_main_credentials.xml +++ b/app/src/main/res/layout/view_main_credentials.xml @@ -56,7 +56,6 @@ android:layout_marginStart="12dp" android:layout_marginLeft="12dp" android:contentDescription="@string/content_description_password_checkbox" - android:focusable="false" android:gravity="center_vertical" /> @@ -88,7 +87,6 @@ android:layout_marginStart="12dp" android:layout_marginLeft="12dp" android:contentDescription="@string/content_description_keyfile_checkbox" - android:focusable="false" android:gravity="center_vertical" /> @@ -119,7 +117,6 @@ android:layout_marginStart="12dp" android:layout_marginLeft="12dp" android:contentDescription="@string/content_description_hardware_key_checkbox" - android:focusable="false" android:gravity="center_vertical" /> From 1e60d7e6377773113c4d322f6a48625b00186087 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 7 Aug 2023 15:47:20 +0200 Subject: [PATCH 57/57] fix: Crash --- .../keepass/activities/legacy/DatabaseLockActivity.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/legacy/DatabaseLockActivity.kt b/app/src/main/java/com/kunzisoft/keepass/activities/legacy/DatabaseLockActivity.kt index de9be999c..d026f9d15 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/legacy/DatabaseLockActivity.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/legacy/DatabaseLockActivity.kt @@ -209,6 +209,15 @@ abstract class DatabaseLockActivity : DatabaseModeActivity(), } } + override fun finish() { + // To fix weird crash + try { + super.finish() + } catch (e: Exception) { + Log.e(TAG, "Unable to finish the activity", e) + } + } + abstract fun viewToInvalidateTimeout(): View? override fun onDatabaseActionFinished(