Merge branch 'release/4.1.1'

This commit is contained in:
J-Jamet 2024-11-24 15:46:00 +01:00
commit 2b0f4fe46b
21 changed files with 125 additions and 76 deletions

View file

@ -1,3 +1,7 @@
KeePassDX(4.1.1)
* Fix date parser #1933
* Fix domain search #1820 #1936
KeePassDX(4.1.0)
* Generate keyfile #1290
* Hide template group #1894

View file

@ -11,8 +11,8 @@ android {
applicationId "com.kunzisoft.keepass"
minSdkVersion 15
targetSdkVersion 34
versionCode = 132
versionName = "4.1.0"
versionCode = 133
versionName = "4.1.1"
multiDexEnabled true
testApplicationId = "com.kunzisoft.keepass.tests"

View file

@ -192,7 +192,7 @@ object AutofillHelper {
} else {
datasetBuilder.addValueToDatasetBuilder(
it,
AutofillValue.forDate(entryInfo.expiryTime.toJavaMilliseconds())
AutofillValue.forDate(entryInfo.expiryTime.toMilliseconds())
)
}
}

View file

@ -52,8 +52,7 @@
<string name="select_to_copy">複製%1$s去剪貼簿</string>
<string name="default_checkbox">用作預設資料庫</string>
<string name="digits">數字</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft;呢個係&lt;strong&gt;冇廣告&lt;/strong&gt;&lt;strong&gt;開源&lt;/strong&gt;軟件。
\n你可以喺遵循&lt;strong&gt;GPL 3&lt;/strong&gt;或者更高版本嘅情況下重新發佈,而Kunzisoft對此不帶有任何擔保。</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft;呢個係&lt;strong&gt;冇廣告&lt;/strong&gt;&lt;strong&gt;開源&lt;/strong&gt;軟件。 \n你可以喺遵循&lt;strong&gt;GPL 3&lt;/strong&gt;或者更高版本嘅情況下重新發佈,而Kunzisoft對此不帶有任何擔保。</string>
<string name="html_about_privacy">&lt;strong&gt;唔收集用戶資料。&lt;/strong&gt;,呢個應用程式唔會連接任何伺服器,只會喺裝置上運作,完全尊重用戶私穩。</string>
<string name="html_about_contribution">為程式能夠&lt;strong&gt;保持自主&lt;/strong&gt;&lt;strong&gt;修復漏洞&lt;/strong&gt;&lt;strong&gt;新增功能&lt;/strong&gt;&lt;strong&gt;保持持續開發&lt;/strong&gt;,有賴你的&lt;strong&gt;貢獻&lt;/strong&gt;</string>
<string name="entry_confpassword">確認密碼</string>

View file

@ -235,8 +235,7 @@
<string name="menu_appearance_settings_summary">Теми, цветове, атрибути</string>
<string name="download_initialization">Подготвяне…</string>
<string name="content_description_entry_background_color">Цвят на фона на запис</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft е приложение с &lt;strong&gt;отворен код&lt;/strong&gt; и &lt;strong&gt;без реклами&lt;/strong&gt;.
\nРазпространява се под лиценза &lt;strong&gt;GPLv3&lt;/strong&gt; без каквато и да е гаранция.</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft е приложение с &lt;strong&gt;отворен код&lt;/strong&gt; и &lt;strong&gt;без реклами&lt;/strong&gt;. \nРазпространява се под лиценза &lt;strong&gt;GPLv3&lt;/strong&gt; без каквато и да е гаранция.</string>
<string name="menu_advanced_unlock_settings_summary">Биометрия, удостоверяване</string>
<string name="menu_security_settings_summary">Шифроване, функция за извличане на ключ</string>
<string name="menu_master_key_settings">Настройки на главната парола</string>
@ -679,4 +678,6 @@
<string name="style_name_light">Светла</string>
<string name="style_name_dark">Тъмна</string>
<string name="warning_database_info_changed_options_read_only">Презаредете последните промени в хранилището.</string>
<string name="generate_keyfile">Създаване на файл с ключ</string>
<string name="nodes">Възли</string>
</resources>

View file

@ -89,8 +89,7 @@
<string name="entry_add_attachment">Add attachment</string>
<string name="content_description_remove_field">Remove field</string>
<string name="content_description_update_from_list">Update</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft is &lt;strong&gt;open source&lt;/strong&gt; and &lt;strong&gt;without advertising&lt;/strong&gt;.
\nIt is provided as is, under &lt;strong&gt;GPLv3&lt;/strong&gt; license, without any warranty.</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft is &lt;strong&gt;open source&lt;/strong&gt; and &lt;strong&gt;without advertising&lt;/strong&gt;. \nIt is provided as is, under &lt;strong&gt;GPLv3&lt;/strong&gt; license, without any warranty.</string>
<string name="html_about_privacy">&lt;strong&gt;No user data is retrieved&lt;/strong&gt;, this application does not connect to any server, works only locally and fully respects the privacy of users.</string>
<string name="entry_cancel">Cancel</string>
<string name="entry_notes">Notes</string>

View file

@ -41,8 +41,7 @@
<string name="decrypting_db">Descifrando contenido de la base de datos…</string>
<string name="default_checkbox">Utilizar como base de datos por defecto</string>
<string name="digits">Dígitos</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft es de &lt;strong&gt;código abierto&lt;/strong&gt; y &lt;strong&gt;sin publicidad&lt;/strong&gt;.
\nSe proporciona tal cual, bajo licencia &lt;strong&gt;GPLv3&lt;/strong&gt;, sin ninguna garantía.</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft es &lt;strong&gt;de código abierto&lt;/strong&gt; y &lt;strong&gt;sin publicidad&lt;/strong&gt;.\n\nSe proporciona tal cual, bajo la licencia &lt;strong&gt;GPLv3&lt;/strong&gt;, sin ninguna garantía.</string>
<string name="select_database_file">Abrir la caja fuerte existente</string>
<string name="entry_accessed">Accedido</string>
<string name="entry_cancel">Cancelar</string>
@ -119,9 +118,7 @@
<string name="unsupported_db_version">Versión de base de datos incompatible.</string>
<string name="uppercase">Mayúsculas</string>
<string name="version_label">Versión %1$s</string>
<string name="education_unlock_summary">Introduzca la contraseña y/o el cerrojo para desbloquear su base de datos.
\n
\nRealice un respaldo de su archivo de base de datos en un lugar seguro después de cada modificación.</string>
<string name="education_unlock_summary">Introduzca la contraseña y/o el archivo de claves para desbloquear tu base de datos.\n\nHaz una copia de seguridad de tu archivo de la base de datos en un lugar seguro después de cada cambio.</string>
<string-array name="list_size_options">
<item>Pequeño</item>
<item>Mediano</item>
@ -246,7 +243,7 @@
<string name="html_text_ad_free">A diferencia de muchas aplicaciones de gestión de contraseñas, esta &lt;strong&gt;no tiene publicidad&lt;/strong&gt;, es &lt;strong&gt;libre, con licencia «copyleft»&lt;/strong&gt; y no recopila datos personales en sus servidores, sin importar la versión que use.</string>
<string name="html_text_buy_pro">Al comprar la versión pro, tendrá acceso al &lt;strong&gt;estilo visual &lt;/strong&gt;y ayudará especialmente a &lt;strong&gt;la realización de proyectos comunitarios.&lt;/strong&gt;</string>
<string name="html_text_feature_generosity">Este &lt;strong&gt;estilo visual&lt;/strong&gt; está disponible gracias a su generosidad.</string>
<string name="html_text_donation">Para mantener nuestra libertad y estar siempre vigente, contamos con tu &lt;strong&gt;contribución.&lt;/strong&gt;</string>
<string name="html_text_donation">Al &lt;strong&gt;colaborar&lt;/strong&gt; en el proyecto <i>(monetariamente, código, traducción)</i>, ayudará a que siga existiendo y prosperando, y también será la elección para el procedimiento de desbloqueo del &lt;strong&gt;tema&lt;/strong&gt;.</string>
<string name="html_text_dev_feature">Esta función está &lt;strong&gt;en desarrollo&lt;/strong&gt; y requiere de tu &lt;strong&gt;contribución&lt;/strong&gt; para estar disponible dentro de poco.</string>
<string name="html_text_dev_feature_buy_pro">Al comprar la versión &lt;strong&gt;pro&lt;/strong&gt;,</string>
<string name="html_text_dev_feature_contibute">Al &lt;strong&gt;contribuir&lt;/strong&gt;,</string>
@ -361,7 +358,7 @@
<string name="error_save_database">No se puede guardar la base de datos.</string>
<string name="error_string_type">Este texto no coincide con el elemento requerido.</string>
<string name="error_create_database">No se puede crear el archivo de la base de datos.</string>
<string name="html_about_contribution">Parar lograr &lt;strong&gt;mantener nuestra libertad&lt;/strong&gt;, &lt;strong&gt;corregir errores&lt;/strong&gt;, &lt;strong&gt;añadir funciones&lt;/strong&gt; y &lt;strong&gt;estar siempre activos&lt;/strong&gt;, contamos con tu &lt;strong&gt;contribución&lt;/strong&gt;.</string>
<string name="html_about_contribution">Para &lt;strong&gt;mantener nuestra libertad&lt;/strong&gt;, &lt;strong&gt;corregir errores&lt;/strong&gt;, &lt;strong&gt;añadir funciones&lt;/strong&gt; y &lt;strong&gt;estar siempre activos&lt;/strong&gt;, contamos con tu colaboración.</string>
<string name="content_description_add_item">Añadir elemento</string>
<string name="download_complete">¡Completado!</string>
<string name="download_finalization">Finalizando…</string>
@ -434,9 +431,7 @@
<string name="education_add_attachment_summary">Cargue un archivo adjunto a la entrada para guardar datos externos importantes.</string>
<string name="hide_expired_entries_summary">No se muestran las entradas caducadas</string>
<string name="warning_remove_unlinked_attachment">La eliminación de datos no vinculados puede reducir el tamaño de tu base de datos, pero también puede eliminar los datos usados por los complementos de KeePass.</string>
<string name="warning_file_too_big">Una base de datos de KeePass solo debe contener pequeños archivos de utilidad (como archivos clave PGP).
\n
\nTu base de datos puede llegar a ser muy grande y reducir el rendimiento con esta carga.</string>
<string name="warning_file_too_big">Se supone que una base de datos de KeePass solo contiene pequeños archivos de utilidades (como archivos de claves PGP).\n\nTu base de datos puede llegar a ser muy grande y reducir el rendimiento con esta carga.</string>
<string name="recycle_bin_group_title">Grupo de la papelera de reciclaje</string>
<string name="filter">Filtrar</string>
<string name="database_data_remove_unlinked_attachments_summary">Elimina los archivos adjuntos contenidos en la base de datos pero no vinculados a un apunte</string>
@ -649,9 +644,9 @@
<string name="title_case">Tipo Titular</string>
<string name="character_count">Conteo de caracteres: %1$d</string>
<string name="screenshot_mode_banner_text">Modo captura de pantalla</string>
<string name="error_hardware_key_unsupported">La llave física no está admitida.</string>
<string name="html_about_privacy">&lt;strong&gt;No se recupera ningún dato del usuario&lt;/strong&gt;, esta aplicación no se conecta a ningún servidor, funciona solo localmente y respeta completamente la privacidad del usuario.</string>
<string name="error_unable_merge_database_kdb">No se puede fusionar desde una base de datos kdb</string>
<string name="error_hardware_key_unsupported">La llave por hardware no es compatible.</string>
<string name="html_about_privacy">&lt;strong&gt;No se recupera ningún dato del usuario&lt;/strong&gt;, esta aplicación no se conecta a ningún servidor, funciona solo localmente y respeta plenamente la privacidad de los usuarios.</string>
<string name="error_unable_merge_database_kdb">No se puede fusionar con un archivo de base de datos kdb</string>
<string name="error_cancel_by_user">Cancelado por el usuario.</string>
<string name="error_no_response_from_challenge">No se puede obtener la respuesta del desafío.</string>
<string name="auto_type">Auto-teclear</string>
@ -661,7 +656,7 @@
<string name="error_challenge_already_requested">Desafío ya solicitado</string>
<string name="error_response_already_provided">Respuesta ya recibida.</string>
<string name="error_driver_required">Se necesita un controlador para %1$s.</string>
<string name="error_location_unknown">La ubicación de la base de datos es desconocida, no se puede realizar la acción de la base de datos.</string>
<string name="error_location_unknown">Se desconoce la ubicación de la base de datos, no puede realizar la acción de base de datos.</string>
<string name="error_empty_key">La clave no puede estar vacía.</string>
<string name="corrupted_file">Archivo dañado.</string>
<string name="remember_hardware_key_title">Recordar llaves físicas</string>
@ -688,9 +683,7 @@
<string name="menu_appearance_settings_summary">Temas, colores, atributos</string>
<string name="unlock">Desbloquear</string>
<string name="education_validate_entry_title">Validar la entrada</string>
<string name="education_validate_entry_summary">No olvides validar tu entrada y guardar tu base de datos.
\n
\nSi se activa un bloqueo automático y olvidas que estabas haciendo una modificación, corres el riesgo de perder tus datos.</string>
<string name="education_validate_entry_summary">No olvide validar tu inicio de sesión y guardar tu base de datos.\n\nSi se activa un bloqueo automático y olvidas que estabas haciendo una modificación, corres el riesgo de perder tus datos.</string>
<string name="style_name_classic">Clásico</string>
<string name="style_name_divine">Divino</string>
<string name="style_name_forest">Bosque</string>
@ -703,4 +696,11 @@
<string name="style_name_light">Claro</string>
<string name="style_name_dark">Oscuro</string>
<string name="warning_database_info_changed_options_read_only">Recargue la base de datos con los últimos cambios.</string>
<string name="nodes">Nodos</string>
<string name="recursive_number_entries_summary">Calcula recursivamente el número de entradas en un grupo</string>
<string name="warning_large_keyfile">No se recomienda agregar un archivo de clave grande , esto puede impedir que se abra la base de datos.</string>
<string name="hide_templates_title">Ocultar plantillas</string>
<string name="generate_keyfile">Generar archivo de claves</string>
<string name="recursive_number_entries_title">Número recursivo de entradas</string>
<string name="hide_templates_summary">Las plantillas no se muestran</string>
</resources>

View file

@ -75,8 +75,7 @@
<string name="content_description_update_from_list">I-update</string>
<string name="content_description_keyboard_close_fields">Isara ang mga field</string>
<string name="select_to_copy">Piliin para kopyahin ang %1$s sa clipboard</string>
<string name="html_about_licence">KeePassDX © %1$d Ang Kunzisoft ay &lt;strong&gt;open source&lt;/strong&gt; at &lt;strong&gt;walang advertising&lt;/strong&gt;.
\nIbinigay ito nang as is, sa ilalim &lt;strong&gt;GPLv3&lt;/strong&gt; na lisensya, nang walang anumang warranty.</string>
<string name="html_about_licence">KeePassDX © %1$d Ang Kunzisoft ay &lt;strong&gt;open source&lt;/strong&gt; at &lt;strong&gt;walang advertising&lt;/strong&gt;. \nIbinigay ito nang as is, sa ilalim &lt;strong&gt;GPLv3&lt;/strong&gt; na lisensya, nang walang anumang warranty.</string>
<string name="html_about_privacy">&lt;strong&gt;Walang user data ay kinukuha&lt;/strong&gt;, ang aplikasyon na ito ay hindi kumokonekta sa anumang server, gumanagana ng lokal at ganap na ginagalang ang pagkapribado ng mga gumagamit.</string>
<string name="html_about_contribution">Para &lt;strong&gt;panatilihin ang aming kalayaan&lt;/strong&gt;, &lt;strong&gt;ayusin ang mga bug&lt;/strong&gt;, &lt;strong&gt;magdagdag ng mga feature&lt;/strong&gt; at &lt;strong&gt;maging palaging aktibo&lt;/strong&gt;, umaasa kami sa iyong &lt;strong&gt;kontribusyon&lt;/strong&gt;.</string>
<string name="entry_accessed">Na-access</string>

View file

@ -245,7 +245,7 @@
<string name="html_text_ad_free">Contrairement à beaucoup d’applications de gestion de mots de passe, cette application est &lt;strong&gt;sans publicité&lt;/strong&gt;, &lt;strong&gt;libre sous licence copyleft&lt;/strong&gt; et ne collecte pas de données personnelles sur ses serveurs, peu importe la version que vous utilisez.</string>
<string name="html_text_buy_pro">En achetant la version pro, vous aurez accès à ce &lt;strong&gt;style visuelle&lt;/strong&gt; et vous aiderez notamment &lt;strong&gt;la réalisation de projets communautaires.&lt;/strong&gt;</string>
<string name="html_text_feature_generosity">Ce &lt;strong&gt;style visuel&lt;/strong&gt; est disponible grâce à votre générosité.</string>
<string name="html_text_donation">Afin de garder notre liberté et d’être toujours actifs, nous comptons sur votre &lt;strong&gt;contribution.&lt;/strong&gt;</string>
<string name="html_text_donation">En &lt;strong&gt;contribuant&lt;/strong&gt; au projet <i>(financièrement, code, traduction)</i>, vous l\'aiderez à continuer à vivre et à prospérer, et vous serez également éligible à la procédure de déblocage du &lt;strong&gt;theme&lt;/strong&gt;.</string>
<string name="html_text_dev_feature">Cette fonctionnalité est &lt;strong&gt;en cours de développement&lt;/strong&gt; et nécessite votre &lt;strong&gt;contribution&lt;/strong&gt; pour être bientôt disponible.</string>
<string name="html_text_dev_feature_buy_pro">En achetant la version &lt;strong&gt;pro&lt;/strong&gt;,</string>
<string name="html_text_dev_feature_contibute">En &lt;strong&gt;contribuant&lt;/strong&gt;,</string>
@ -699,4 +699,11 @@
\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.</string>
<string name="warning_database_info_changed_options_read_only">Recharger la base de données avec les dernières modifications.</string>
<string name="generate_keyfile">Générer un fichier clé</string>
<string name="nodes">Nœuds</string>
<string name="recursive_number_entries_title">Nombre d\'entrées récursif</string>
<string name="recursive_number_entries_summary">Calcule récursivement le nombre d\'entrées dans un groupe</string>
<string name="warning_large_keyfile">Il n\'est pas recommandé d\'ajouter un fichier clé volumineux, car cela pourrait empêcher l\'ouverture de la base de données.</string>
<string name="hide_templates_title">Cacher les modèles</string>
<string name="hide_templates_summary">Les modèles ne sont pas affichés</string>
</resources>

View file

@ -31,11 +31,11 @@
<string name="brackets">Zárójelek</string>
<string name="file_manager_install_description">Az adatbázisfájlok létrehozásához, megnyitásához és mentéséhez szükség van egy fájlkezelőre, amely képes fogadni az ACTION_CREATE_DOCUMENT és ACTION_OPEN_DOCUMENT Intenteket.</string>
<string name="clipboard_cleared">Vágólap törölve</string>
<string name="clipboard_error_title">Vágólap hiba</string>
<string name="clipboard_error_title">Vágólaphiba</string>
<string name="clipboard_error">Egyes eszközök nem engedik, hogy az alkalmazások használják a vágólapot.</string>
<string name="clipboard_error_clear">A vágólap törlése sikertelen</string>
<string name="clipboard_timeout">Vágólap időkorlátja</string>
<string name="clipboard_timeout_summary">A vágólapon tárolás időtartama (ha támogatja az eszköz)</string>
<string name="clipboard_timeout_summary">A vágólapon való tárolás időtartama (ha támogatja az eszköz)</string>
<string name="select_to_copy">%1$s másolása a vágólapra</string>
<string name="retrieving_db_key">Adatbázis létrehozása…</string>
<string name="database">Adatbázis</string>
@ -55,14 +55,14 @@
<string name="entry_modified">Módosítva</string>
<string name="entry_password">Jelszó</string>
<string name="save">Mentés</string>
<string name="entry_title">Titulus</string>
<string name="entry_title">Cím</string>
<string name="entry_url">URL</string>
<string name="entry_user_name">Felhasználónév</string>
<string name="error_arc4">Az Arcfour adatfolyam-titkosítás nem támogatott.</string>
<string name="error_can_not_handle_uri">Ez az URI nem kezelhető a KeePassDX-ben.</string>
<string name="error_file_not_create">Nem sikerült létrehozni a fájlt</string>
<string name="error_invalid_db">Az adatbázist nem lehet olvasni.</string>
<string name="error_invalid_path">Győződjön meg róla, hogy az útvonal helyes.</string>
<string name="error_invalid_path">Győződjön meg arról, hogy az útvonal helyes.</string>
<string name="error_no_name">Adjon meg egy nevet.</string>
<string name="error_nokeyfile">Válasszon egy kulcsfájlt.</string>
<string name="error_out_of_memory">Nincs elég memória a teljes adatbázis betöltéséhez.</string>
@ -599,7 +599,7 @@
<string name="warning_database_info_reloaded">Az adatbázis újratöltése törli a helyileg módosított adatokat.</string>
<string name="templates">Sablonok</string>
<string name="error_no_response_from_challenge">Nem kérhető le a válasz a kihívásból.</string>
<string name="error_unable_merge_database_kdb">Nem lehet egyesíteni az adatbázisfájllal.</string>
<string name="error_unable_merge_database_kdb">Nem lehet egyesíteni egy kdb adatbázisfájllal.</string>
<string name="entropy">Entrópia: %1$s bit</string>
<string name="keyboard_previous_search_title">Keresési képernyő</string>
<string name="error_move_group_here">Nem helyezhet át ide csoportot.</string>
@ -701,4 +701,11 @@
<string name="style_name_light">Világos</string>
<string name="style_name_dark">Sötét</string>
<string name="warning_database_info_changed_options_read_only">Adatbázis újratöltése a legújabb módosításokkal.</string>
<string name="nodes">Csomópontok</string>
<string name="recursive_number_entries_title">Rekurzív bejegyzések száma</string>
<string name="recursive_number_entries_summary">Rekurzívan kiszámítja a csoportban lévő bejegyzések számát</string>
<string name="warning_large_keyfile">Nagy méretű kulcsfájl hozzáadása nem ajánlott, mivel ez megakadályozhatja az adatbázis megnyitását.</string>
<string name="hide_templates_summary">A sablonok nem jelennek meg</string>
<string name="generate_keyfile">Kulcsfájl előállítása</string>
<string name="hide_templates_title">Sablonok elrejtése</string>
</resources>

View file

@ -263,8 +263,7 @@
<string name="html_text_ad_free">I motsetning til mange passordadministrasjons-apper er denne &lt;strong&gt;annonsefri&lt;/strong&gt;, &lt;strong&gt;copylefted libre-programvare&lt;/strong&gt; og samler ikke inn personlige data på serverne, uansett hvilken versjon du bruker.</string>
<string name="html_text_buy_pro">Ved kjøp av pro-versjonen, vil du få tilgang til denne &lt;strong&gt;visuelle funksjonen&lt;/strong&gt; og du vil bidra med støtte til &lt;strong&gt; realisering av fellesskaps prosjekter.&lt;/strong&gt;</string>
<string name="html_text_feature_generosity">Denne &lt;strong&gt;visuelle stilen&lt;/strong&gt; er tilgjengelig takket være din generøsitet.</string>
<string name="html_text_donation">For å beholde vår frihet og alltid være aktive, stoler vi på dine &lt;strong&gt;bidrag.&lt;/strong&gt;
</string>
<string name="html_text_donation">For å beholde vår frihet og alltid være aktive, stoler vi på dine &lt;strong&gt;bidrag.&lt;/strong&gt;</string>
<string name="html_text_dev_feature">Denne funksjonen er &lt;strong&gt;under utvikling&lt;/strong&gt; og krever &lt;strong&gt;bidrag&lt;/strong&gt; for å bli tilgjengelig snart.</string>
<string name="html_text_dev_feature_buy_pro">Ved å kjøpe &lt;strong&gt;pro&lt;/strong&gt;-versjonen,</string>
<string name="html_text_dev_feature_contibute">Ved å &lt;strong&gt;bidra&lt;/strong&gt;,</string>

View file

@ -130,8 +130,7 @@
<string name="clipboard_error_title">Błąd schowka</string>
<string name="clipboard_error">Niektóre urządzenia nie pozwalają aplikacjom korzystać ze schowka.</string>
<string name="clipboard_error_clear">Nie udało się wyczyścić schowka</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft jest &lt;strong&gt;open source&lt;/strong&gt; i &lt;strong&gt;bez reklam&lt;/strong&gt;.
\nJest on dostarczany w stanie, zgodnie z licencją &lt;strong&gt;GPLv3&lt;/strong&gt; bez żadnych gwarancji.</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft jest &lt;strong&gt;open source&lt;/strong&gt;&lt;strong&gt;bez reklam&lt;/strong&gt;. \nJest on dostarczany w stanie, zgodnie z licencją &lt;strong&gt;GPLv3&lt;/strong&gt; bez żadnych gwarancji.</string>
<string name="entry_not_found">Nie znaleziono danych wejściowych.</string>
<string name="error_load_database">Nie można załadować bazy danych.</string>
<string name="error_load_database_KDF_memory">Nie można załadować klucza. Spróbuj zmniejszyć użycie pamięć KDF.</string>
@ -200,7 +199,7 @@
<string name="biometric_unlock_enable_title">Odblokowywanie biometryczne</string>
<string name="biometric_unlock_enable_summary">Umożliwia zeskanowanie danych biometrycznych w celu otwarcia bazy danych</string>
<string name="biometric_delete_all_key_title">Usuń klucze szyfrowania</string>
<string name="biometric_delete_all_key_summary">Usuń wszystkie klucze szyfrowania związane z rozpoznawaniem odblokowania urządzenia</string>
<string name="biometric_delete_all_key_summary">Usuń wszystkie klucze szyfrowania związane z rozpoznawaniem odblokowania urządzenia</string>
<string name="unavailable_feature_text">Nie można uruchomić tej funkcji.</string>
<string name="unavailable_feature_version">Urządzenie pracuje na systemie Android %1$s, ale wymaga wersji %2$s lub nowszej.</string>
<string name="unavailable_feature_hardware">Nie można znaleźć odpowiedniego sprzętu.</string>
@ -268,7 +267,7 @@
<string name="html_text_ad_free">W przeciwieństwie do wielu aplikacji do zarządzania hasłami, ta jest wolna od &lt;strong&gt;reklam&lt;/strong&gt;, &lt;strong&gt;jest wolnym oprogramowaniem objętym klauzulą copyleft&lt;/strong&gt; i nie zbiera danych osobowych na swoich serwerach, bez względu na to, jakiej wersji używasz.</string>
<string name="html_text_buy_pro">Kupując wersję pro, będziesz mieć dostęp do &lt;strong&gt;stylu wizualnego&lt;/strong&gt; a szczególnie pomożesz &lt;strong&gt; zrealizować projekty społecznościowe.&lt;/strong&gt;</string>
<string name="html_text_feature_generosity">Ten &lt;strong&gt;styl wizualny&lt;/strong&gt; jest dostępny dzięki Twojej hojności.</string>
<string name="html_text_donation">Aby zachować naszą wolność i być zawsze aktywnym, liczymy na Twój &lt;strong&gt;wkład.&lt;/strong&gt;</string>
<string name="html_text_donation">Poprzez &lt;strong&gt;wsparcie&lt;/strong&gt; projektu <i>(pieniężne, kodowanie, tłumaczenie)</i> pomożesz mu istnieć i rozwijać się, a także uzyskasz dostęp do procedury odblokowywania &lt;strong&gt;motywów&lt;/strong&gt;.</string>
<string name="html_text_dev_feature">Ta funkcja jest &lt;strong&gt;rozwojowa&lt;/strong&gt; i wymaga Twojego &lt;strong&gt;wkładu&lt;/strong&gt;, aby być wkrótce dostępną.</string>
<string name="html_text_dev_feature_buy_pro">Kupując wersję &lt;strong&gt;pro&lt;/strong&gt;,</string>
<string name="html_text_dev_feature_contibute">Przez &lt;strong&gt;przyczynianie się&lt;/strong&gt;,</string>
@ -408,13 +407,13 @@
<string name="hide_expired_entries_title">Ukryj wygasłe wpisy</string>
<string name="hide_expired_entries_summary">Wygasłe wpisy nie są wyświetlane</string>
<string name="contact">Kontakt</string>
<string name="html_about_contribution">Aby &lt;strong&gt;zachować naszą wolność&lt;/strong&gt;, &lt;strong&gt;naprawiać błędy&lt;/strong&gt;, &lt;strong&gt;dodawać funkcje&lt;/strong&gt; i &lt;strong&gt; być zawsze aktywnym&lt;/strong&gt;, liczymy na Twój &lt;strong&gt;wkład&lt;/strong&gt;.</string>
<string name="html_about_contribution">Aby &lt;strong&gt;zachować naszą wolność&lt;/strong&gt;, &lt;strong&gt;naprawiać błędy&lt;/strong&gt;, &lt;strong&gt;dodawać funkcje&lt;/strong&gt; i &lt;strong&gt; być zawsze aktywnym&lt;/strong&gt;, liczymy na Twój &lt;strong&gt;wkład&lt;/strong&gt;.</string>
<string name="auto_focus_search_title">Szybkie wyszukiwanie</string>
<string name="auto_focus_search_summary">Wyszukiwanie po otwarciu bazy danych</string>
<string name="remember_database_locations_title">Zapamiętaj lokalizacje baz danych</string>
<string name="remember_database_locations_summary">Śledzi, gdzie przechowywane są bazy danych</string>
<string name="remember_keyfile_locations_title">Zapamiętaj lokalizacje plików kluczy</string>
<string name="remember_keyfile_locations_summary">Śledzi, gdzie przechowywane są pliki z kluczami</string>
<string name="remember_keyfile_locations_summary">Śledzi, gdzie przechowywane są pliki z kluczami</string>
<string name="show_recent_files_title">Pokaż ostatnie pliki</string>
<string name="show_recent_files_summary">Pokaż lokalizacje najnowszych baz danych</string>
<string name="hide_broken_locations_title">Ukryj uszkodzone łącza do bazy danych</string>
@ -428,7 +427,7 @@
<string name="discard">Odrzuć</string>
<string name="discard_changes">Odrzucić zmiany\?</string>
<string name="validate">Walidacja</string>
<string name="lock_database_show_button_summary">Wyświetla przycisk blokady w interfejsie użytkownika</string>
<string name="lock_database_show_button_summary">Wyświetla przycisk blokady w interfejsie użytkownika</string>
<string name="lock_database_show_button_title">Pokaż przycisk blokady</string>
<string name="autofill_preference_title">Ustawienia autouzupełniania</string>
<string name="warning_database_link_revoked">Dostęp do pliku anulowany przez menedżera plików</string>
@ -438,7 +437,7 @@
<string name="autofill_application_id_blocklist_summary">Lista zablokowanych, która uniemożliwia automatyczne wypełnianie aplikacji</string>
<string name="filter">Filtr</string>
<string name="subdomain_search_title">Wyszukiwanie subdomen</string>
<string name="subdomain_search_summary">Wyszukiwanie domen internetowych z ograniczeniami związanymi z subdomenami</string>
<string name="subdomain_search_summary">Wyszukiwanie domen internetowych z ograniczeniami związanymi z subdomenami</string>
<string name="error_string_type">Ten tekst nie pasuje do żądanej pozycji.</string>
<string name="content_description_add_item">Dodaj pozycję</string>
<string name="autofill_web_domain_blocklist_summary">Lista zablokowanych, która uniemożliwia automatyczne wypełnianie domen internetowych</string>
@ -666,7 +665,7 @@
<string name="error_no_hardware_key">Wybierz klucz sprzętowy.</string>
<string name="error_XML_malformed">Zniekształcony XML.</string>
<string name="screenshot_mode_banner_text">Tryb zrzutu ekranu</string>
<string name="html_about_privacy">&lt;strong&gt;Żadne dane użytkownika nie są pobierane&lt;/strong&gt;, ta aplikacja nie łączy się z żadnym serwerem, działa tylko lokalnie i w pełni szanuje prywatność użytkowników.</string>
<string name="html_about_privacy">&lt;strong&gt;Żadne dane użytkownika nie są pobierane&lt;/strong&gt;, ta aplikacja nie łączy się z żadnym serwerem, działa tylko lokalnie i w pełni szanuje prywatność użytkowników.</string>
<string name="merge_success">Scalanie zostało pomyślnie zakończone</string>
<string name="info">Informacje</string>
<string name="menu_app_settings_summary">Wyszukiwanie, blokada, historia, właściwości</string>
@ -701,4 +700,11 @@
<string name="style_name_dark">Ciemny</string>
<string name="style_name_simple">Prosty</string>
<string name="warning_database_info_changed_options_read_only">Załaduj ponownie bazę danych z najnowszymi zmianami.</string>
<string name="nodes">Węzły</string>
<string name="warning_large_keyfile">Nie zaleca się dodawania dużego pliku klucza, ponieważ może to uniemożliwić otwarcie bazy danych.</string>
<string name="generate_keyfile">Wygeneruj plik klucza</string>
<string name="recursive_number_entries_summary">Rekurencyjnie oblicza liczbę wpisów w grupie</string>
<string name="recursive_number_entries_title">Rekurencyjna liczba wpisów</string>
<string name="hide_templates_title">Ukryj szablony</string>
<string name="hide_templates_summary">Szablony nie są wyświetlane</string>
</resources>

View file

@ -178,8 +178,7 @@
<string name="minus">Mai puțin</string>
<string name="never">Niciodată</string>
<string name="no_results">Nu există rezultate de căutare</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft este &lt;strong&gt;open source&lt;/strong&gt; și &lt;strong&gt;fără reclame&lt;/strong&gt;.
\nEste furnizat ca atare, sub licență &lt;strong&gt;GPLv3&lt;/strong&gt;, fără nicio garanție.</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft este &lt;strong&gt;open source&lt;/strong&gt; și &lt;strong&gt;fără reclame&lt;/strong&gt;. \nEste furnizat ca atare, sub licență &lt;strong&gt;GPLv3&lt;/strong&gt;, fără nicio garanție.</string>
<string name="html_about_contribution">Pentru a ne &lt;strong&gt;păstra libertatea&lt;/strong&gt;, &lt;strong&gt;pentru a remedia erori&lt;/strong&gt;, &lt;strong&gt;pentru a adăuga funcții&lt;/strong&gt; și &lt;strong&gt;pentru a fi mereu activi&lt;/strong&gt;, ne bazăm pe &lt;strong&gt;contribuția&lt;/strong&gt; dvs.</string>
<string name="hide_password_title">Ascundeți parolele</string>
<string name="hide_password_summary">Mascați parolele (***) în mod implicit</string>

View file

@ -666,4 +666,13 @@
<string name="education_validate_entry_summary">พึงระลึกไว้ว่าตรวจสอบข้อมูลรายการและบันทึกฐานข้อมูลไว้ให้ดี
\n
\nหากการล็อกอัตโนมัติเปิดใช้งานและลีมบันทึกการเปลี่ยนแปลงไว้ คุณมีความเสียงที่ข้อมูลจะสูญหาย</string>
<string name="style_name_light">สว่าง</string>
<string name="warning_database_info_changed_options_read_only">โหลดฐานข้อมูลใหม่ด้วยการเปลี่ยนแปลงล่าสุด</string>
<string name="style_name_forest">ป่าไม้</string>
<string name="style_name_classic">คลาสสิก</string>
<string name="style_name_simple">เรียบง่าย</string>
<string name="style_name_moon">แสงจันทร์</string>
<string name="style_name_sun">พระอาทิตย์</string>
<string name="style_name_follow_system">ตามสีของระบบ</string>
<string name="style_name_dark">มืด</string>
</resources>

View file

@ -628,7 +628,7 @@
<string name="html_text_ad_free">Unlike many password management apps, this one is &lt;strong&gt;ad-free&lt;/strong&gt;, &lt;strong&gt;copylefted libre software&lt;/strong&gt; and does not collect personal data on its servers, no matter what version you use.</string>
<string name="html_text_buy_pro">By buying the pro version, you will have access to this &lt;strong&gt;visual style&lt;/strong&gt; and you will especially help &lt;strong&gt;the realization of community projects.&lt;/strong&gt;</string>
<string name="html_text_feature_generosity">This &lt;strong&gt;visual style&lt;/strong&gt; is available thanks to your generosity.</string>
<string name="html_text_donation">By &lt;strong&gt;contributing&lt;/strong&gt; to the project &lt;i&gt;(monetarily, code, translation),&lt;/i&gt;, you will help it to continue to live and thrive, and you will also be eligible for the &lt;strong&gt;theme&lt;/strong&gt; unlocking procedure.</string>
<string name="html_text_donation">By &lt;strong&gt;contributing&lt;/strong&gt; to the project &lt;i&gt;(monetarily, code, translation)&lt;/i&gt;, you will help it to continue to live and thrive, and you will also be eligible for the &lt;strong&gt;theme&lt;/strong&gt; unlocking procedure.</string>
<string name="html_text_dev_feature">This feature is &lt;strong&gt;under development&lt;/strong&gt; and requires your &lt;strong&gt;contribution&lt;/strong&gt; to be available soon.</string>
<string name="html_text_dev_feature_buy_pro">By buying the &lt;strong&gt;pro&lt;/strong&gt; version,</string>
<string name="html_text_dev_feature_contibute">By &lt;strong&gt;contributing&lt;/strong&gt;,</string>

View file

@ -21,6 +21,7 @@ package com.kunzisoft.keepass.database.element
import android.os.Parcel
import android.os.Parcelable
import android.util.Log
import com.kunzisoft.keepass.utils.readEnum
import com.kunzisoft.keepass.utils.readSerializableCompat
import com.kunzisoft.keepass.utils.writeEnum
@ -60,11 +61,11 @@ class DateInstant : Parcelable {
}
private fun parse(value: String, type: Type): Instant {
return when (type) {
Type.DATE -> Instant(dateFormat.parseDateTime(value) ?: DateTime())
Type.TIME -> Instant(timeFormat.parseDateTime(value) ?: DateTime())
else -> Instant(dateTimeFormat.parseDateTime(value) ?: DateTime())
}
return Instant(when (type) {
Type.DATE_TIME -> dateTimeFormat.parseDateTime(value) ?: DateTime()
Type.DATE -> dateFormat.parseDateTime(value) ?: DateTime()
Type.TIME -> timeFormat.parseDateTime(value) ?: DateTime()
})
}
constructor(string: String, type: Type = Type.DATE_TIME) {
@ -175,20 +176,14 @@ class DateInstant : Parcelable {
}
}
fun toDotNetSeconds(): Long {
val duration = Duration(JAVA_EPOCH_DATE_TIME, mInstant)
val seconds = duration.millis / 1000L
return seconds + EPOCH_OFFSET
}
fun toJavaMilliseconds(): Long {
/**
* Returns:
* the number of milliseconds since 1970-01-01T00:00:00Z
*/
fun toMilliseconds(): Long {
return mInstant.millis
}
fun toDateTimeSecondsFormat(): String {
return dateTimeSecondsFormat.print(mInstant)
}
override fun toString(): String {
return when (type) {
Type.DATE -> dateFormat.print(mInstant)
@ -239,6 +234,8 @@ class DateInstant : Parcelable {
companion object {
private val TAG = DateInstant::class.java.name
private val DOT_NET_EPOCH_DATE_TIME = DateTime(1, 1, 1, 0, 0, 0, DateTimeZone.UTC)
private val JAVA_EPOCH_DATE_TIME = DateTime(1970, 1, 1, 0, 0, 0, DateTimeZone.UTC)
private val EPOCH_OFFSET = (JAVA_EPOCH_DATE_TIME.millis - DOT_NET_EPOCH_DATE_TIME.millis) / 1000L
@ -252,27 +249,42 @@ class DateInstant : Parcelable {
val IN_ONE_HOUR_TIME = DateInstant(
Instant.now().plus(Duration.standardHours(1)), Type.TIME)
val dateTimeSecondsFormat: DateTimeFormatter =
private val ISO8601Format: DateTimeFormatter =
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")
.withZoneUTC()
var dateTimeFormat: DateTimeFormatter =
private var dateTimeFormat: DateTimeFormatter =
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm'Z'")
.withZoneUTC()
var dateFormat: DateTimeFormatter =
private var dateFormat: DateTimeFormatter =
DateTimeFormat.forPattern("yyyy-MM-dd'Z'")
.withZoneUTC()
var timeFormat: DateTimeFormatter =
private var timeFormat: DateTimeFormatter =
DateTimeFormat.forPattern("HH:mm'Z'")
.withZoneUTC()
fun fromDotNetSeconds(seconds: Long): DateInstant {
val dt = DOT_NET_EPOCH_DATE_TIME.plus(seconds * 1000L)
fun Long.fromDotNetSeconds(): DateInstant {
val dt = DOT_NET_EPOCH_DATE_TIME.plus(this * 1000L)
// Switch corrupted dates to a more recent date that won't cause issues on the client
return DateInstant((if (dt.isBefore(JAVA_EPOCH_DATE_TIME)) { JAVA_EPOCH_DATE_TIME } else dt).toInstant())
}
fun fromDateTimeSecondsFormat(value: String): DateInstant {
return DateInstant(dateTimeSecondsFormat.parseDateTime(value).toInstant())
fun DateInstant.toDotNetSeconds(): Long {
val duration = Duration(JAVA_EPOCH_DATE_TIME, mInstant)
val seconds = duration.millis / 1000L
return seconds + EPOCH_OFFSET
}
fun String.fromISO8601Format(): DateInstant {
return DateInstant(try {
ISO8601Format.parseDateTime(this).toInstant()
} catch (e: Exception) {
Log.e(TAG, "Unable to parse date time $this", e)
Instant.now()
})
}
fun DateInstant.toISO8601Format(): String {
return ISO8601Format.print(this.instant)
}
@JvmField

View file

@ -26,6 +26,8 @@ import com.kunzisoft.keepass.database.crypto.CipherEngine
import com.kunzisoft.keepass.database.crypto.CrsAlgorithm
import com.kunzisoft.keepass.database.crypto.HmacBlock
import com.kunzisoft.keepass.database.element.*
import com.kunzisoft.keepass.database.element.DateInstant.Companion.fromDotNetSeconds
import com.kunzisoft.keepass.database.element.DateInstant.Companion.fromISO8601Format
import com.kunzisoft.keepass.database.element.binary.BinaryData
import com.kunzisoft.keepass.database.element.binary.BinaryData.Companion.BASE64_FLAG
import com.kunzisoft.keepass.database.element.database.CompressionAlgorithm
@ -829,7 +831,7 @@ class DatabaseInputKDBX(database: DatabaseKDBX)
var utcDate = DateInstant()
if (mDatabase.kdbxVersion.isBefore(FILE_VERSION_40)) {
try {
utcDate = DateInstant.fromDateTimeSecondsFormat(sDate)
utcDate = sDate.fromISO8601Format()
} catch (e: ParseException) {
// Catch with null test below
}
@ -841,7 +843,7 @@ class DatabaseInputKDBX(database: DatabaseKDBX)
buf = buf8
}
val seconds = bytes64ToLong(buf)
utcDate = DateInstant.fromDotNetSeconds(seconds)
utcDate = seconds.fromDotNetSeconds()
}
return utcDate
}

View file

@ -26,6 +26,8 @@ import com.kunzisoft.encrypt.StreamCipher
import com.kunzisoft.keepass.database.crypto.CrsAlgorithm
import com.kunzisoft.keepass.database.crypto.kdf.KdfFactory
import com.kunzisoft.keepass.database.element.*
import com.kunzisoft.keepass.database.element.DateInstant.Companion.toDotNetSeconds
import com.kunzisoft.keepass.database.element.DateInstant.Companion.toISO8601Format
import com.kunzisoft.keepass.database.element.binary.BinaryData.Companion.BASE64_FLAG
import com.kunzisoft.keepass.database.element.database.CompressionAlgorithm
import com.kunzisoft.keepass.database.element.database.DatabaseKDBX
@ -412,7 +414,7 @@ class DatabaseOutputKDBX(private val mDatabaseKDBX: DatabaseKDBX)
@Throws(IllegalArgumentException::class, IllegalStateException::class, IOException::class)
private fun writeDateInstant(name: String, date: DateInstant) {
if (header!!.version.isBefore(FILE_VERSION_40)) {
writeString(name, date.toDateTimeSecondsFormat())
writeString(name, date.toISO8601Format())
} else {
writeString(name, String(
Base64.encode(

View file

@ -154,7 +154,7 @@ class SearchHelper {
// subdomain.domain.org
stringToCheck.endsWith(".$word", !searchParameters.caseSensitive) ||
// https://domain.org
stringToCheck.endsWith("\\/$word", !searchParameters.caseSensitive)
stringToCheck.endsWith("/$word", !searchParameters.caseSensitive)
// Don't allow mydomain.org
})
return true

View file

@ -0,0 +1,2 @@
* Fix date parser #1933
* Fix domain search #1820 #1936

View file

@ -0,0 +1,2 @@
* Correction du parseur de date #1933
* Correction de la recherche de domaine #1820 #1936