mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-10-01 01:26:01 -04:00
Merge branch 'master' into develop
This commit is contained in:
commit
31bd90a8df
@ -1,7 +1,7 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
[keepassxc.keepassx_ents]
|
||||
[keepassxc.keepassxc]
|
||||
source_file = share/translations/keepassx_en.ts
|
||||
file_filter = share/translations/keepassx_<lang>.ts
|
||||
source_lang = en
|
||||
|
32
CHANGELOG
32
CHANGELOG
@ -1,8 +1,34 @@
|
||||
2.4.0-preview (TBD)
|
||||
2.4.0 (2019-03-19)
|
||||
=========================
|
||||
|
||||
This is a pre-release build, view merged PR's at
|
||||
https://github.com/keepassxreboot/keepassxc/pulls?q=is%3Apr+milestone%3Av2.4.0+is%3Aclosed
|
||||
- New Database Wizard [#1952]
|
||||
- Advanced Search [#1797]
|
||||
- Automatic update checker [#2648]
|
||||
- KeeShare database synchronization [#2109, #1992, #2738, #2742, #2746, #2739]
|
||||
- Improve favicon fetching; transition to Duck-Duck-Go [#2795, #2011, #2439]
|
||||
- Remove KeePassHttp support [#1752]
|
||||
- CLI: output info to stderr for easier scripting [#2558]
|
||||
- CLI: Add --quiet option [#2507]
|
||||
- CLI: Add create command [#2540]
|
||||
- CLI: Add recursive listing of entries [#2345]
|
||||
- CLI: Fix stdin/stdout encoding on Windows [#2425]
|
||||
- SSH Agent: Support OpenSSH for Windows [#1994]
|
||||
- macOS: TouchID Quick Unlock [#1851]
|
||||
- macOS: Multiple improvements; include CLI in DMG [#2165, #2331, #2583]
|
||||
- Linux: Prevent Klipper from storing secrets in clipboard [#1969]
|
||||
- Linux: Use polling based file watching for NFS [#2171]
|
||||
- Linux: Enable use of browser plugin in Snap build [#2802]
|
||||
- TOTP QR Code Generator [#1167]
|
||||
- High-DPI Scaling for 4k screens [#2404]
|
||||
- Make keyboard shortcuts more consistent [#2431]
|
||||
- Warn user if deleting referenced entries [#1744]
|
||||
- Allow toolbar to be hidden and repositioned [#1819, #2357]
|
||||
- Increase max allowed database timeout to 12 hours [#2173]
|
||||
- Password generator uses existing password length by default [#2318]
|
||||
- Improve alert message box button labels [#2376]
|
||||
- Show message when a database merge makes no changes [#2551]
|
||||
- Browser Integration Enhancements [#1497, #2253, #1904, #2232, #1850, #2218, #2391, #2396, #2542, #2622, #2637, #2790]
|
||||
- Overall Code Improvements [#2316, #2284, #2351, #2402, #2410, #2419, #2422, #2443, #2491, #2506, #2610, #2667, #2709, #2731]
|
||||
|
||||
2.3.4 (2018-08-21)
|
||||
=========================
|
||||
|
48
release-tool
48
release-tool
@ -236,15 +236,8 @@ checkGitRepository() {
|
||||
fi
|
||||
}
|
||||
|
||||
checkTagExists() {
|
||||
git tag | grep -q "$TAG_NAME"
|
||||
if [ $? -ne 0 ]; then
|
||||
exitError "Tag '${TAG_NAME}' does not exist!"
|
||||
fi
|
||||
}
|
||||
|
||||
checkReleaseDoesNotExist() {
|
||||
git tag | grep -q "$TAG_NAME"
|
||||
git tag | grep -q "^$TAG_NAME$"
|
||||
if [ $? -eq 0 ]; then
|
||||
exitError "Release '$RELEASE_NAME' (tag: '$TAG_NAME') already exists!"
|
||||
fi
|
||||
@ -325,6 +318,11 @@ checkSnapcraft() {
|
||||
if [ $? -ne 0 ]; then
|
||||
exitError "'snapcraft.yaml' has not been updated to the '${RELEASE_NAME}' release!"
|
||||
fi
|
||||
|
||||
grep -qPzo "KEEPASSXC_BUILD_TYPE=Release" snapcraft.yaml
|
||||
if [ $? -ne 0 ]; then
|
||||
exitError "'snapcraft.yaml' is not set for a release build!"
|
||||
fi
|
||||
}
|
||||
|
||||
checkTransifexCommandExists() {
|
||||
@ -333,12 +331,6 @@ checkTransifexCommandExists() {
|
||||
fi
|
||||
}
|
||||
|
||||
checkOsslsigncodeCommandExists() {
|
||||
if ! cmdExists osslsigncode; then
|
||||
exitError "osslsigncode command not found on the PATH! Please install it using 'pacman -S mingw-w64-osslsigncode'."
|
||||
fi
|
||||
}
|
||||
|
||||
checkSigntoolCommandExists() {
|
||||
if ! cmdExists signtool; then
|
||||
exitError "signtool command not found on the PATH! Add the Windows SDK binary folder to your PATH."
|
||||
@ -818,6 +810,10 @@ build() {
|
||||
shift
|
||||
done
|
||||
|
||||
if [[ ${build_appsign} && ! -f ${build_key} ]]; then
|
||||
exitError "--appsign specified with invalid key file\n"
|
||||
fi
|
||||
|
||||
init
|
||||
|
||||
OUTPUT_DIR="$(realpath "$OUTPUT_DIR")"
|
||||
@ -912,7 +908,7 @@ build() {
|
||||
make ${MAKE_OPTIONS} package
|
||||
|
||||
# Appsign the executables if desired
|
||||
if [[ ${build_appsign} && ! -z ${build_key} ]]; then
|
||||
if [[ ${build_appsign} ]]; then
|
||||
logInfo "Signing executable files"
|
||||
appsign "-f" "./${APP_NAME}-${RELEASE_NAME}.dmg" "-k" "${build_key}"
|
||||
fi
|
||||
@ -928,9 +924,9 @@ build() {
|
||||
mingw32-make ${MAKE_OPTIONS} preinstall
|
||||
|
||||
# Appsign the executables if desired
|
||||
if [[ ${build_appsign} && ! -z ${build_key} ]]; then
|
||||
if [[ ${build_appsign} ]]; then
|
||||
logInfo "Signing executable files"
|
||||
appsign "-f" $(find src | grep '\.exe') "-k" "${build_key}"
|
||||
appsign "-f" $(find src | grep -P '\.exe$|\.dll$') "-k" "${build_key}"
|
||||
fi
|
||||
|
||||
# Call cpack directly instead of calling make package.
|
||||
@ -1172,8 +1168,6 @@ appsign() {
|
||||
done
|
||||
|
||||
elif [ "$(uname -o)" == "Msys" ]; then
|
||||
checkOsslsigncodeCommandExists
|
||||
|
||||
if [[ ! -f "${key}" ]]; then
|
||||
exitError "Key file was not found!"
|
||||
fi
|
||||
@ -1182,20 +1176,8 @@ appsign() {
|
||||
echo
|
||||
|
||||
for f in "${sign_files[@]}"; do
|
||||
if [[ ${f: -4} == ".exe" ]]; then
|
||||
logInfo "Signing file '${f}' using osslsigncode..."
|
||||
# output a signed exe; we have to use a different name due to osslsigntool limitations
|
||||
osslsigncode sign -pkcs12 "${key}" -pass "${password}" -n "KeePassXC" \
|
||||
-t "http://timestamp.comodoca.com/authenticode" -in "${f}" -out "${f}.signed"
|
||||
|
||||
if [ 0 -ne $? ]; then
|
||||
rm -f "${f}.signed"
|
||||
exitError "Signing failed!"
|
||||
fi
|
||||
|
||||
# overwrite the original exe with the signed exe
|
||||
mv -f "${f}.signed" "${f}"
|
||||
elif [[ ${f: -4} == ".msi" ]]; then
|
||||
ext=${f: -4}
|
||||
if [[ $ext == ".msi" || $ext == ".exe" || $ext == ".dll" ]]; then
|
||||
# Make sure we can find the signtool
|
||||
checkSigntoolCommandExists
|
||||
|
||||
|
@ -50,11 +50,38 @@
|
||||
</screenshots>
|
||||
|
||||
<releases>
|
||||
<release version="2.4.0-preview" date="TBD">
|
||||
<release version="2.4.0" date="2019-03-19">
|
||||
<description>
|
||||
<p>
|
||||
This is a pre-release build, <a href="https://github.com/keepassxreboot/keepassxc/pulls?q=is%3Apr+milestone%3Av2.4.0+is%3Aclosed">click to view merged PR's</a>
|
||||
</p>
|
||||
<ul>
|
||||
<li>New Database Wizard [#1952]</li>
|
||||
<li>Advanced Search [#1797]</li>
|
||||
<li>Automatic update checker [#2648]</li>
|
||||
<li>KeeShare database synchronization [#2109, #1992, #2738, #2742, #2746, #2739]</li>
|
||||
<li>Improve favicon fetching; transition to Duck-Duck-Go [#2795, #2011, #2439]</li>
|
||||
<li>Remove KeePassHttp support [#1752]</li>
|
||||
<li>CLI: output info to stderr for easier scripting [#2558]</li>
|
||||
<li>CLI: Add --quiet option [#2507]</li>
|
||||
<li>CLI: Add create command [#2540]</li>
|
||||
<li>CLI: Add recursive listing of entries [#2345]</li>
|
||||
<li>CLI: Fix stdin/stdout encoding on Windows [#2425]</li>
|
||||
<li>SSH Agent: Support OpenSSH for Windows [#1994]</li>
|
||||
<li>macOS: TouchID Quick Unlock [#1851]</li>
|
||||
<li>macOS: Multiple improvements; include CLI in DMG [#2165, #2331, #2583]</li>
|
||||
<li>Linux: Prevent Klipper from storing secrets in clipboard [#1969]</li>
|
||||
<li>Linux: Use polling based file watching for NFS [#2171]</li>
|
||||
<li>Linux: Enable use of browser plugin in Snap build [#2802]</li>
|
||||
<li>TOTP QR Code Generator [#1167]</li>
|
||||
<li>High-DPI Scaling for 4k screens [#2404]</li>
|
||||
<li>Make keyboard shortcuts more consistent [#2431]</li>
|
||||
<li>Warn user if deleting referenced entries [#1744]</li>
|
||||
<li>Allow toolbar to be hidden and repositioned [#1819, #2357]</li>
|
||||
<li>Increase max allowed database timeout to 12 hours [#2173]</li>
|
||||
<li>Password generator uses existing password length by default [#2318]</li>
|
||||
<li>Improve alert message box button labels [#2376]</li>
|
||||
<li>Show message when a database merge makes no changes [#2551]</li>
|
||||
<li>Browser Integration Enhancements [#1497, #2253, #1904, #2232, #1850, #2218, #2391, #2396, #2542, #2622, #2637, #2790]</li>
|
||||
<li>Overall Code Improvements [#2316, #2284, #2351, #2402, #2410, #2419, #2422, #2443, #2491, #2506, #2610, #2667, #2709, #2731]</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="2.3.4" date="2018-08-21">
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>نسخ إلى الحافظة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>مراجعة: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>مراجعة: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>المكتبات:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>نظام التشغيل: %1
|
||||
معمارية المعالج: %2
|
||||
النواة: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>الإضافات المُفعلة:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>مشرفي المشروع:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</source>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>شكر خاص من فريق KeePassXC يذهب إلى debfx لإنشاء KeePassX الأصلي.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>الطباعة التلقائية</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>تكامل المتصفح</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>وكيل SSH</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -655,14 +587,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>حدد موقع خادم الوكيل المخصص</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>نحن متأسفون, ولكن KeePassXC-Browser غير مدعوم لإصدارات Snap في الوقت الراهن.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -684,6 +608,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -757,9 +693,19 @@ Moved %2 keys to custom data.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -921,6 +867,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1664,6 +1614,10 @@ Disable safe saves and try again?</source>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2101,6 +2055,22 @@ Disable safe saves and try again?</source>
|
||||
<source>Select import/export file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>مسح</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2572,14 +2542,6 @@ This may cause the affected plugins to malfunction.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3172,6 +3134,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3816,10 +3794,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -4853,6 +4827,10 @@ Available commands:
|
||||
<source>Database password: </source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5126,8 +5104,7 @@ Available commands:
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -5145,10 +5122,6 @@ Available commands:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5225,14 +5198,6 @@ Available commands:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5257,6 +5222,34 @@ Available commands:
|
||||
<source>Export to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -7,7 +7,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Quant</translation>
|
||||
<translation>Quant a</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Report bugs at: <a href="https://github.com/keepassxreboot/keepassxc/issues" style="text-decoration: underline;">https://github.com</a></source>
|
||||
@ -23,7 +23,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source><a href="https://github.com/keepassxreboot/keepassxc/graphs/contributors">See Contributions on GitHub</a></source>
|
||||
<translation><a href="https://github.com/keepassxreboot/keepassxc/graphs/contributors">Veure els contribuïdors a GitHub</a></translation>
|
||||
<translation><a href="https://github.com/keepassxreboot/keepassxc/graphs/contributors">Vegeu les contribucions a GitHub</a></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debug Info</source>
|
||||
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Copia al porta-retalls</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revisió: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribució: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Llibreries</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Sistema operatiu: %1
|
||||
Arquitectura de la CPU: %2
|
||||
Nucli: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Extensions habilitades:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Mantenidors del projecte:</translation>
|
||||
@ -69,50 +45,6 @@ Nucli: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Agraïments de l'equip de KeePassXC a debfx per crear el KeePassX original.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Compleció automàtica</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Integració amb el navegador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>Agent SSH</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -145,19 +77,19 @@ Nucli: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Icon only</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Només la icona</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text only</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Només text</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text beside icon</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Text enlloc d'icona</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text under icon</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Text sota la icona</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Follow style</source>
|
||||
@ -337,7 +269,7 @@ Nucli: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> min</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>min</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Forget TouchID after inactivity of</source>
|
||||
@ -655,14 +587,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -677,13 +601,25 @@ Please select the correct database for saving credentials.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>All Files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tots els fitxers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do not ask permission for HTTP &Basic Auth</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -754,9 +690,19 @@ Moved %2 keys to custom data.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -875,20 +821,20 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<name>CsvParserModel</name>
|
||||
<message numerus="yes">
|
||||
<source>%n column(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n columna(es)</numerusform><numerusform>%n columna(es)</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1, %2, %3</source>
|
||||
<comment>file info: bytes, rows, columns</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%1, %2, %3</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n byte(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n byte(s)</numerusform><numerusform>%n byte(s)</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n row(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%n fila(es)</numerusform><numerusform>%n fila(es)</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -918,6 +864,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1005,7 +955,7 @@ Please consider generating a new key file.</source>
|
||||
<name>DatabaseSettingsDialog</name>
|
||||
<message>
|
||||
<source>Advanced Settings</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Configuració avançada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>General</source>
|
||||
@ -1017,11 +967,11 @@ Please consider generating a new key file.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Master Key</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Clau Mestra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Encryption Settings</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Configuració del xifrat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
@ -1048,7 +998,7 @@ Please consider generating a new key file.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stored keys</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Claus emmagatzemades</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
@ -1056,7 +1006,7 @@ Please consider generating a new key file.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete the selected key?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Voleu eliminar la clau seleccionada?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to delete the selected key?
|
||||
@ -1065,11 +1015,11 @@ This may prevent connection to the browser plugin.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Clau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Value</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Valor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable Browser Integration to access these settings.</source>
|
||||
@ -1171,7 +1121,7 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Memory Usage:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ús de memòria:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Parallelism:</source>
|
||||
@ -1179,11 +1129,11 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Decryption Time:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Temps de desxifrat:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>?? s</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>?? s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change</source>
|
||||
@ -1191,11 +1141,11 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>100 ms</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>100 ms</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>5 s</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>5 s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Higher values offer more protection, but opening the database will take longer.</source>
|
||||
@ -1211,11 +1161,11 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>KDBX 4.0 (recommended)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>KDBX 4.0 (recomanat)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KDBX 3.1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>KDBX 3.1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unchanged</source>
|
||||
@ -1263,7 +1213,7 @@ If you keep this number, your database may be too easy to crack!</source>
|
||||
<message numerus="yes">
|
||||
<source> MiB</source>
|
||||
<comment>Abbreviation for Mebibytes (KDF settings)</comment>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform> MiB</numerusform><numerusform> MiB</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source> thread(s)</source>
|
||||
@ -1273,12 +1223,12 @@ If you keep this number, your database may be too easy to crack!</source>
|
||||
<message numerus="yes">
|
||||
<source>%1 ms</source>
|
||||
<comment>milliseconds</comment>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%1 ms</numerusform><numerusform>%1 ms</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%1 s</source>
|
||||
<comment>seconds</comment>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>%1 s</numerusform><numerusform>%1 s</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1340,19 +1290,19 @@ If you keep this number, your database may be too easy to crack!</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tipus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Path</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Camí</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last Signer</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Últim signant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Certificates</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Certificats</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> > </source>
|
||||
@ -1386,22 +1336,22 @@ Are you sure you want to continue without a password?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown error</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Error desconegut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to change master key</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>No s'ha pogut canviar la clau mestra</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseSettingsWidgetMetaDataSimple</name>
|
||||
<message>
|
||||
<source>Database Name:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nom de la base de dades:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Descripció:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1461,7 +1411,7 @@ This is definitely a bug, please report it to the developers.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>New Database</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Base de dades nova</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 [New Database]</source>
|
||||
@ -1652,6 +1602,10 @@ Disable safe saves and try again?</source>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2089,6 +2043,22 @@ Disable safe saves and try again?</source>
|
||||
<source>Select import/export file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Neteja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2233,11 +2203,11 @@ This may cause the affected plugins to malfunction.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Clau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Value</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Valor</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2555,14 +2525,6 @@ This may cause the affected plugins to malfunction.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3155,6 +3117,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3640,7 +3618,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Settings</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Configuració avançada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Simple Settings</source>
|
||||
@ -3651,7 +3629,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<name>NewDatabaseWizardPageEncryption</name>
|
||||
<message>
|
||||
<source>Encryption Settings</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Opcions de xifrat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Here you can adjust the database encryption settings. Don't worry, you can change them later in the database settings.</source>
|
||||
@ -3797,10 +3775,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -4135,7 +4109,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown error</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Error desconegut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add a new entry to a database.</source>
|
||||
@ -4827,6 +4801,10 @@ Available commands:
|
||||
<source>Database password: </source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5048,7 +5026,7 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Path</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Camí</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
@ -5100,8 +5078,7 @@ Available commands:
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -5119,10 +5096,6 @@ Available commands:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5199,14 +5172,6 @@ Available commands:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5231,6 +5196,34 @@ Available commands:
|
||||
<source>Export to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Zkopírovat do schránky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revize: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribuce: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Knihovny:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Operační systém: %1
|
||||
Architektura procesoru: %2
|
||||
Jádro systému: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Zapnutá rozšíření:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Správci projektu:</translation>
|
||||
@ -69,52 +45,6 @@ Jádro systému: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Tým KeePassXC děkuje zvláště vývojáři debfx za vytvoření původního KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Verze %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Typ sestavení: %1
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Automatické vyplňování</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Napojení webového prohlížeče</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH agent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Žádné</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (podepsané a nepodepsané sdílení)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (pouze podepsané sdílení)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (pouze nepodepsané sdílení)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -658,14 +588,6 @@ Vyberte databázi, do které chcete přihlašovací údaje uložit.</translation
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Vybrat uživatelem určené umístění zprostředkovávající aplikace</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Je nám líto, ale KeePassXC-Browser v tuto chvíli není ve snap vydáních podporován.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>Aby fungovalo napojení na prohlížeč, je třeba KeePassXC. <br /> Stáhnete ho pro %1 a %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor Browser</translation>
|
||||
@ -687,6 +609,18 @@ Vyberte databázi, do které chcete přihlašovací údaje uložit.</translation
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Neptat se na oprávnění pro HTTP &Basic Auth</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -761,12 +695,20 @@ Přesunuto %2 klíčů do uživatelsky určených dat.</translation>
|
||||
<translation>KeePassXC: zjištěna nastavení starého napojení na webový prohlížeč</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Byla zjištěna nastavení starého napojení na prohlížeč.
|
||||
Chcete povýšit nastavení na nejnovější standard?
|
||||
Toto je nezbytné pro zachování kompatibility se zásuvným modulem pro prohlížeč.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -928,6 +870,10 @@ Toto je nezbytné pro zachování kompatibility se zásuvným modulem pro prohl
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Do souboru nelze zapisovat, protože je otevřen v režimu pouze pro čtení.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1682,6 +1628,10 @@ Vypnout bezpečné ukládání a zkusit to znovu?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Databáze nebyla operací slučování upravena.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2119,6 +2069,22 @@ Vypnout bezpečné ukládání a zkusit to znovu?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Vybrat importní/exportní soubor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Vyčistit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2594,14 +2560,6 @@ Dotčený zásuvný modul to může rozbít.</translation>
|
||||
<translation>[prázdné]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3196,6 +3154,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Synchronizovat s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3845,10 +3819,6 @@ Očekávejte chyby a drobné problémy, tato verze není určena pro produkční
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>Heslo je hlavní metodou zabezpečení databáze.</p><p>Dobrá hesla jsou dlouhá a nepoužívaná stejná na více místech. KeePassXC ho pro vás může vytvořit.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Heslo nemůže zůstat nevyplněné.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Zadání hesla se neshodují.</translation>
|
||||
@ -4884,6 +4854,10 @@ Příkazy k dispozici:
|
||||
<source>Database password: </source>
|
||||
<translation>Heslo databáze:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5157,9 +5131,8 @@ Příkazy k dispozici:
|
||||
<translation>Exportovaný certifikát se liší od toho, který je používán. Chcete exportovat stávající certifikát?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5176,10 +5149,6 @@ Příkazy k dispozici:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Importovat z kontejneru s certifikátem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>Chcete věřit %1 s otiskem %2 z %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Tentokrát ne</translation>
|
||||
@ -5256,14 +5225,6 @@ Příkazy k dispozici:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Nedaří se zapsat exportní kontejner (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Nedaří se zapouzdřit podpis (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Nedaří se zapouzdřit databázi (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>Přepsání nepodepsaného kontejneru sdílení není podporováno – exportu zabráněno</translation>
|
||||
@ -5288,6 +5249,34 @@ Příkazy k dispozici:
|
||||
<source>Export to %1</source>
|
||||
<translation>Exportovat do %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>Věříte %1 s otiskem %2 od %3? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Kopier til udklipsholder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revision: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribution: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Biblioteker:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Operativsystem: %1
|
||||
CPU-arkitektur: %2
|
||||
Kerne: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Aktiverede udvidelser:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Projektet vedligeholdes af:</translation>
|
||||
@ -69,50 +45,6 @@ Kerne: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Særlig tak fra KeePassXC holdet går til debfx for at udvikle den oprindelige KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Auto-Indsæt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Browser-integration</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH Agent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -655,14 +587,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Vælg en brugerdefineret proxy lokation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>KeePassXC-Browser er desværre ikke understøttet for Snap udgivelser endnu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -684,6 +608,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -757,9 +693,19 @@ Moved %2 keys to custom data.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -921,6 +867,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1662,6 +1612,10 @@ Så sikre gem fra og prøv igen?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2099,6 +2053,22 @@ Så sikre gem fra og prøv igen?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Ryd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2570,14 +2540,6 @@ Dette kan få det påvirkede plugin til at svigte.</translation>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3170,6 +3132,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3814,10 +3792,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -4850,6 +4824,10 @@ Tilgængelige kommandoer:
|
||||
<source>Database password: </source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5123,8 +5101,7 @@ Tilgængelige kommandoer:
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -5142,10 +5119,6 @@ Tilgængelige kommandoer:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5222,14 +5195,6 @@ Tilgængelige kommandoer:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5254,6 +5219,34 @@ Tilgængelige kommandoer:
|
||||
<source>Export to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -11,7 +11,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Report bugs at: <a href="https://github.com/keepassxreboot/keepassxc/issues" style="text-decoration: underline;">https://github.com</a></source>
|
||||
<translation>Melden Sie Bugs auf: <a href="https://github.com/keepassxreboot/keepassxc/issues" style="text-decoration: underline;">https://github.com</a></translation>
|
||||
<translation>Melden Sie Fehler auf: <a href="https://github.com/keepassxreboot/keepassxc/issues" style="text-decoration: underline;">https://github.com</a></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
|
||||
@ -31,36 +31,12 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Include the following information whenever you report a bug:</source>
|
||||
<translation>Geben Sie folgende Informationen an, wenn Sie einen Bug melden:</translation>
|
||||
<translation>Geben Sie folgende Informationen an, wenn Sie einen Fehler melden:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>In die Zwischenablage kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revision: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribution: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Bibliotheken:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Betriebssystem: %1
|
||||
CPU-Architektur: %2
|
||||
Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Aktivierte Erweiterungen:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Projekt-Maintainer:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Das KeePassXC-Team möchte ganz besonders debfx danken für die Entwicklung des ursprünglichen KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Version %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Build Typ: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Auto-Type</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Browser-Integration</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH-Agent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Keine</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (bestätigtes und unbestätigtes Teilen)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (nur bestätigtes Teilen)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (nur unbestätigtes Teilen)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -180,7 +112,7 @@ Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember last databases</source>
|
||||
<translation>Letzte Datenbank merken</translation>
|
||||
<translation>Letzte Datenbanken merken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remember last key files and security dongles</source>
|
||||
@ -389,7 +321,7 @@ Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use DuckDuckGo as fallback for downloading website icons</source>
|
||||
<translation>Verwende DuckDuckGo als Ersatz für das Herunterladen von Website-Symbole</translation>
|
||||
<translation>DuckDuckGo als Ersatz für das Herunterladen von Website-Symbolen verwenden</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -656,14 +588,6 @@ Bitte wähle die richtige Datenbank zum speichern der Anmeldedaten.</translation
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Benutzerdefinierten Proxy-Pfad auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Sorry, aber KeePassXC-Browser wird derzeit für Snap-Releases nicht unterstützt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Browser wird für die Funktion der Browserintegration benötig. <br />Lade es für %1 und %2 herunter.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor Browser</translation>
|
||||
@ -685,6 +609,18 @@ Bitte wähle die richtige Datenbank zum speichern der Anmeldedaten.</translation
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Nicht nach HTTP Basic Auth fragen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -759,12 +695,20 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC: native Browser-Integrations-Einstellungen gefunden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Einstellungen zur veralteten Browserintegration gefunden
|
||||
Sollen diese Einstellungen zur aktuellen Version migriert werden?
|
||||
Das ist nötig um das Browser-Plugin kompatibel zu halten.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -925,6 +869,10 @@ Das ist nötig um das Browser-Plugin kompatibel zu halten.</translation>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Datei ist schreibgeschützt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1145,7 +1093,7 @@ Zugriffserlaubnisse zu allen Einträgen werden gelöscht.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The active database does not contain an entry with permissions.</source>
|
||||
<translation>Diese Datenbank enthält keinen Eintrag mit Zugangsdaten.</translation>
|
||||
<translation>Die aktive Datenbank enthält keinen Eintrag mit Zugangsdaten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Move KeePassHTTP attributes to custom data</source>
|
||||
@ -1162,7 +1110,7 @@ Das ist nötig um das Browser-Plugin kompatibel zu halten.</translation>
|
||||
<name>DatabaseSettingsWidgetEncryption</name>
|
||||
<message>
|
||||
<source>Encryption Algorithm:</source>
|
||||
<translation>Verschlüsselungs-Algorithmus.</translation>
|
||||
<translation>Verschlüsselungs-Algorithmus:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>AES: 256 Bit (default)</source>
|
||||
@ -1174,7 +1122,7 @@ Das ist nötig um das Browser-Plugin kompatibel zu halten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key Derivation Function:</source>
|
||||
<translation>Schlüssel-Ableitungsfunktion</translation>
|
||||
<translation>Schlüssel-Ableitungsfunktion:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transform rounds:</source>
|
||||
@ -1218,7 +1166,7 @@ Das ist nötig um das Browser-Plugin kompatibel zu halten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Database format:</source>
|
||||
<translation>Datenbanformat:</translation>
|
||||
<translation>Datenbankformat:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This is only important if you need to use your database with other programs.</source>
|
||||
@ -1479,7 +1427,7 @@ Das ist definitiv ein Fehler, teile das bitte den Entwicklern mit.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select CSV file</source>
|
||||
<translation>Ausgewählte CSV-Datei</translation>
|
||||
<translation>CSV-Datei auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New Database</source>
|
||||
@ -1680,6 +1628,10 @@ Sicheres Speichern deaktivieren und erneut versuchen?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Datenbank wurde nicht zusammengeführt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -1729,7 +1681,7 @@ Sicheres Speichern deaktivieren und erneut versuchen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to open private key</source>
|
||||
<translation>Privatschlüsel konnte nicht geöffnet werden</translation>
|
||||
<translation>Privatschlüssel konnte nicht geöffnet werden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Entry history</source>
|
||||
@ -2117,6 +2069,22 @@ Sicheres Speichern deaktivieren und erneut versuchen?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Wähle Datei für Import/Export</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2197,7 +2165,7 @@ Sicheres Speichern deaktivieren und erneut versuchen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hint: You can enable DuckDuckGo as a fallback under Tools>Settings>Security</source>
|
||||
<translation>Tipp: Sie können DuckDuckgo als Ausweichelösung unter Werkzeuge>Einstellungen>Sicherheit festlegen</translation>
|
||||
<translation>Tipp: Sie können DuckDuckGo als Ersatz unter Werkzeuge>Einstellungen>Sicherheit aktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select Image(s)</source>
|
||||
@ -2221,7 +2189,7 @@ Sicheres Speichern deaktivieren und erneut versuchen?</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>This icon is used by %n entry(s), and will be replaced by the default icon. Are you sure you want to delete it?</source>
|
||||
<translation><numerusform>Dieses Symbol wird von %n Eintrag/Einträgen benutzt und wird mit dem Standardsymbol ersetzt. Bist du sicher, dass es gelöscht werden soll?</numerusform><numerusform>Dieses Symbol wird von %n Eintrag/Einträgen benutzt und wird mit dem Standardsymbol ersetzt. Bist du sicher, dass es gelöscht werden soll?</numerusform></translation>
|
||||
<translation><numerusform>Dieses Symbol wird von %n Eintrag benutzt und wird mit dem Standardsymbol ersetzt. Sind Sie sicher, dass es gelöscht werden soll?</numerusform><numerusform>Dieses Symbol wird von %n Einträgen benutzt und wird mit dem Standardsymbol ersetzt. Sind Sie sicher, dass es gelöscht werden soll?</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2315,7 +2283,7 @@ Dies kann dazu führen, dass die jeweiligen Plugins nicht mehr richtig funktioni
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Are you sure you want to remove %n attachment(s)?</source>
|
||||
<translation><numerusform>Sind Sie sicher, dass sie einen Anhang löschen möchten?</numerusform><numerusform>Sind Sie sicher, dass sie %n Anhänge löschen möchten?</numerusform></translation>
|
||||
<translation><numerusform>Sind Sie sicher, dass Sie einen Anhang löschen möchten?</numerusform><numerusform>Sind Sie sicher, dass Sie %n Anhänge löschen möchten?</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save attachments</source>
|
||||
@ -2350,7 +2318,7 @@ Dies kann dazu führen, dass die jeweiligen Plugins nicht mehr richtig funktioni
|
||||
<message>
|
||||
<source>Unable to open attachments:
|
||||
%1</source>
|
||||
<translation>Öffnen des Anhangs nicht möglich:
|
||||
<translation>Öffnen der Anhänge nicht möglich:
|
||||
%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
@ -2590,14 +2558,6 @@ Dies kann dazu führen, dass die jeweiligen Plugins nicht mehr richtig funktioni
|
||||
<translation>[leer]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3192,6 +3152,22 @@ Zeile %2, Spalte %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Synchronisieren mit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3532,7 +3508,7 @@ Wir empfehlen dir die Verwendung des auf unserer Downloadseite verfügbaren AppI
|
||||
</message>
|
||||
<message>
|
||||
<source>&Database settings...</source>
|
||||
<translation>&Datenbankeinstellungen</translation>
|
||||
<translation>&Datenbankeinstellungen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &password</source>
|
||||
@ -3617,7 +3593,7 @@ Da sie Fehler beinhalten könnte, ist diese Version nicht für den Produktiveins
|
||||
</message>
|
||||
<message>
|
||||
<source>Adding backup for older target %1 [%2]</source>
|
||||
<translation>Backup für alten Eintrag %1 hinzugefügt [%2]</translation>
|
||||
<translation>Backup für älteres Ziel %1 hinzugefügt [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Adding backup for older source %1 [%2]</source>
|
||||
@ -3744,7 +3720,7 @@ Da sie Fehler beinhalten könnte, ist diese Version nicht für den Produktiveins
|
||||
</message>
|
||||
<message>
|
||||
<source>Key file magic header id invalid</source>
|
||||
<translation>Magic-Header-ID der Schlüsseldate ungültig</translation>
|
||||
<translation>Magic-Header-ID der Schlüsseldatei ungültig</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Found zero keys</source>
|
||||
@ -3756,7 +3732,7 @@ Da sie Fehler beinhalten könnte, ist diese Version nicht für den Produktiveins
|
||||
</message>
|
||||
<message>
|
||||
<source>Corrupted key file, reading private key failed</source>
|
||||
<translation>Korrupte Schlüsseldatei, lesen des Privatschlüssels fehlgeschlagen</translation>
|
||||
<translation>Korrupte Schlüsseldatei, Lesen des Privatschlüssels fehlgeschlagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No private key payload to decrypt</source>
|
||||
@ -3839,11 +3815,7 @@ Da sie Fehler beinhalten könnte, ist diese Version nicht für den Produktiveins
|
||||
</message>
|
||||
<message>
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation>1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Passwort kann nicht leer sein.</translation>
|
||||
<translation><p>Ein Passwort ist die primäre Methode, Ihre Datenbank abzusichern.</p><p>Gute Passwörter sind lang und einzigartig. KeepassXC kann eins für Sie generieren.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
@ -3943,7 +3915,7 @@ Da sie Fehler beinhalten könnte, ist diese Version nicht für den Produktiveins
|
||||
</message>
|
||||
<message>
|
||||
<source>Password Quality: %1</source>
|
||||
<translation>Passwort Qualität: %1</translation>
|
||||
<translation>Passwort-Qualität: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Poor</source>
|
||||
@ -4215,7 +4187,7 @@ Da sie Fehler beinhalten könnte, ist diese Version nicht für den Produktiveins
|
||||
</message>
|
||||
<message>
|
||||
<source>Prompt for the entry's password.</source>
|
||||
<translation>Nach dem Passwort des Eintrags fragen</translation>
|
||||
<translation>Nach dem Passwort des Eintrags fragen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Generate a password for the entry.</source>
|
||||
@ -4260,11 +4232,11 @@ Da sie Fehler beinhalten könnte, ist diese Version nicht für den Produktiveins
|
||||
</message>
|
||||
<message>
|
||||
<source>Path of the entry to edit.</source>
|
||||
<translation>Pfad des zu bearbeitenden Eintrags</translation>
|
||||
<translation>Pfad des zu bearbeitenden Eintrags.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Estimate the entropy of a password.</source>
|
||||
<translation>Entropy des Passworts abschätzen</translation>
|
||||
<translation>Entropie des Passworts abschätzen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password for which to estimate the entropy.</source>
|
||||
@ -4445,7 +4417,7 @@ Verfügbare Kommandos:
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid value for password length %1.</source>
|
||||
<translation>Passwortlänge ungültig %1</translation>
|
||||
<translation>Ungültiger Wert für Passwortlänge %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not create entry with path %1.</source>
|
||||
@ -4506,7 +4478,7 @@ Verfügbare Kommandos:
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid value for password length: %1</source>
|
||||
<translation>Passwortlänge ungültig %1</translation>
|
||||
<translation>Ungültiger Wert für Passwortlänge: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not find entry with path %1.</source>
|
||||
@ -4724,7 +4696,7 @@ Verfügbare Kommandos:
|
||||
</message>
|
||||
<message>
|
||||
<source>Show the entry's current TOTP.</source>
|
||||
<translation>Zeige TOTP</translation>
|
||||
<translation>Aktuelles TOTP des Eintrags zeigen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ERROR: unknown attribute %1.</source>
|
||||
@ -4802,7 +4774,7 @@ Verfügbare Kommandos:
|
||||
</message>
|
||||
<message>
|
||||
<source>No key is set. Aborting database creation.</source>
|
||||
<translation>Kein Schlüssel gewählt. Datenbankerstellung wird abgebrochen</translation>
|
||||
<translation>Kein Schlüssel gewählt. Datenbankerstellung wird abgebrochen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to save the database: %1.</source>
|
||||
@ -4814,7 +4786,7 @@ Verfügbare Kommandos:
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert password to encrypt database (Press enter to leave blank): </source>
|
||||
<translation>Passwort zur Datenbankverschlüsselung eingeben (Enter drücken um es leer zu lassen)</translation>
|
||||
<translation>Passwort zur Datenbankverschlüsselung eingeben (Enter drücken, um es leer zu lassen):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Creating KeyFile %1 failed: %2</source>
|
||||
@ -4880,6 +4852,10 @@ Verfügbare Kommandos:
|
||||
<source>Database password: </source>
|
||||
<translation>Datenbankpasswort:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5153,9 +5129,8 @@ Verfügbare Kommandos:
|
||||
<translation>Das exportierte Zertifikat ist nicht das selbe wie das benutzte. Soll das aktuelle Zertifikat exportiert werden?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5172,10 +5147,6 @@ Verfügbare Kommandos:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Von Container mit Zertifikat importieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>Soll %1 mit dem Fingerabdruck %2 von %3 vertraut werden?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Nicht diesmal</translation>
|
||||
@ -5252,14 +5223,6 @@ Verfügbare Kommandos:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Export-Container (%1) kann nicht gespeichert werden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Unterschrift kann nicht eingebettet werden (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Datenbank kann nicht eingebettet werden (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>Überschreiben von nicht unterzeichneten geteilten Containern nicht unterstützt. Export verhindert.</translation>
|
||||
@ -5284,6 +5247,34 @@ Verfügbare Kommandos:
|
||||
<source>Export to %1</source>
|
||||
<translation>Export nach %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>Möchten Sie %1 mit dem Fingerabdruck %2 von %3 vertrauen? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
@ -5412,7 +5403,7 @@ Verfügbare Kommandos:
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC %1 is now available — you have %2.</source>
|
||||
<translation>Version %1 ist verfügbar, aktuell: %2.</translation>
|
||||
<translation>KeepassXC %1 ist jetzt verfügbar — Sie haben %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download it at keepassxc.org</source>
|
||||
|
@ -590,14 +590,6 @@ Please select the correct database for saving credentials.</translation>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Select custom proxy location</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor Browser</translation>
|
||||
@ -619,6 +611,18 @@ Please select the correct database for saving credentials.</translation>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Do not ask permission for HTTP &Basic Auth</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -696,12 +700,20 @@ Moved %2 keys to custom data.</translation>
|
||||
<translation>KeePassXC: Legacy browser integration settings detected</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -875,6 +887,10 @@ This is necessary to maintain compatibility with the browser plugin.</translatio
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>File cannot be written as it is opened in read-only mode.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1663,6 +1679,10 @@ Disable safe saves and try again?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Database was not modified by merge operation.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2109,6 +2129,22 @@ Disable safe saves and try again?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Select import/export file</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation type="unfinished">Clear</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2600,14 +2636,6 @@ This may cause the affected plugins to malfunction.</translation>
|
||||
<translation>[empty]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3202,6 +3230,22 @@ Line %2, column %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Synchronize with</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3852,10 +3896,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Password cannot be empty.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Passwords do not match.</translation>
|
||||
@ -4647,6 +4687,26 @@ Available commands:
|
||||
<source>Failed to load key file %1: %2</source>
|
||||
<translation>Failed to load key file %1: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File %1 does not exist.</source>
|
||||
<translation>File %1 does not exist.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open file %1.</source>
|
||||
<translation>Unable to open file %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error while reading the database:
|
||||
%1</source>
|
||||
<translation>Error while reading the database:
|
||||
%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error while parsing the database:
|
||||
%1</source>
|
||||
<translation>Error while parsing the database:
|
||||
%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Length of the generated password</source>
|
||||
<translation>Length of the generated password</translation>
|
||||
@ -4876,7 +4936,7 @@ Available commands:
|
||||
<translation>Database password: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to extract database %1</source>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
@ -5152,9 +5212,8 @@ Available commands:
|
||||
<translation>The exported certificate is not the same as the one in use. Do you want to export the current certificate?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5247,14 +5306,6 @@ Available commands:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Could not write export container (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Could not embed signature (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Could not embed database (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>Overwriting unsigned share container is not supported - export prevented</translation>
|
||||
@ -5283,6 +5334,30 @@ Available commands:
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished">Do you want to trust %1 with the fingerprint of %2 from %3? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE TS><TS language="en" version="2.1">
|
||||
<?xml version="1.0" ?><!DOCTYPE TS><TS language="en_US" version="2.1">
|
||||
<context>
|
||||
<name>AboutDialog</name>
|
||||
<message>
|
||||
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Copy to clipboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revision: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribution: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Libraries:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Enabled extensions:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Project Maintainers:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Version %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Build Type: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Auto-Type</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Browser Integration</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH Agent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>None</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (signed and unsigned sharing)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (only signed sharing)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (only unsigned sharing)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Please select the correct database for saving credentials.</translation>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Select custom proxy location</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor Browser</translation>
|
||||
@ -685,6 +609,18 @@ Please select the correct database for saving credentials.</translation>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Do not ask permission for HTTP &Basic Auth</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation>Please see special instructions for browser extension use below</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -759,12 +695,24 @@ Moved %2 keys to custom data.</translation>
|
||||
<translation>KeePassXC: Legacy browser integration settings detected</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation>KeePassXC: Create a new group</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -926,6 +874,10 @@ This is necessary to maintain compatibility with the browser plugin.</translatio
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>File cannot be written as it is opened in read-only mode.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation>Key not transformed. This is a bug, please report it to the developers!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1289,7 +1241,7 @@ If you keep this number, your database may be too easy to crack!</translation>
|
||||
<message numerus="yes">
|
||||
<source> thread(s)</source>
|
||||
<comment>Threads for parallel execution (KDF settings)</comment>
|
||||
<translation><numerusform> thread(s)</numerusform><numerusform> thread(s)</numerusform></translation>
|
||||
<translation><numerusform> thread</numerusform><numerusform> threads</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%1 ms</source>
|
||||
@ -1519,7 +1471,7 @@ This is definitely a bug, please report it to the developers.</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Do you really want to move %n entry(s) to the recycle bin?</source>
|
||||
<translation><numerusform>Do you really want to move %n entry(s) to the recycle bin?</numerusform><numerusform>Do you really want to move %n entry(s) to the recycle bin?</numerusform></translation>
|
||||
<translation><numerusform>Do you really want to move %n entry to the recycle bin?</numerusform><numerusform>Do you really want to move %n entries to the recycle bin?</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Execute command?</source>
|
||||
@ -1581,15 +1533,15 @@ Do you want to merge your changes?</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Do you really want to delete %n entry(s) for good?</source>
|
||||
<translation><numerusform>Do you really want to delete %n entry(s) for good?</numerusform><numerusform>Do you really want to delete %n entry(s) for good?</numerusform></translation>
|
||||
<translation><numerusform>Do you really want to delete %n entry for good?</numerusform><numerusform>Do you really want to delete %n entries for good?</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Delete entry(s)?</source>
|
||||
<translation><numerusform>Delete entry(s)?</numerusform><numerusform>Delete entry(s)?</numerusform></translation>
|
||||
<translation><numerusform>Delete entry?</numerusform><numerusform>Delete entries?</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Move entry(s) to recycle bin?</source>
|
||||
<translation><numerusform>Move entry(s) to recycle bin?</numerusform><numerusform>Move entry(s) to recycle bin?</numerusform></translation>
|
||||
<translation><numerusform>Move entry to recycle bin?</numerusform><numerusform>Move entries to recycle bin?</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File opened in read only mode.</source>
|
||||
@ -1659,7 +1611,7 @@ Disable safe saves and try again?</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Entry "%1" has %2 reference(s). Do you want to overwrite references with values, skip this entry, or delete anyway?</source>
|
||||
<translation><numerusform>Entry "%1" has %2 reference(s). Do you want to overwrite references with values, skip this entry, or delete anyway?</numerusform><numerusform>Entry "%1" has %2 reference(s). Do you want to overwrite references with values, skip this entry, or delete anyway?</numerusform></translation>
|
||||
<translation><numerusform>Entry "%1" has %2 reference. Do you want to overwrite references with values, skip this entry, or delete anyway?</numerusform><numerusform>Entry "%1" has %2 references. Do you want to overwrite references with values, skip this entry, or delete anyway?</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete group</source>
|
||||
@ -1681,6 +1633,10 @@ Disable safe saves and try again?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Database was not modified by merge operation.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation>Shared group...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -1762,11 +1718,11 @@ Disable safe saves and try again?</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n week(s)</source>
|
||||
<translation><numerusform>%n week(s)</numerusform><numerusform>%n week(s)</numerusform></translation>
|
||||
<translation><numerusform>%n week</numerusform><numerusform>%n weeks</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n month(s)</source>
|
||||
<translation><numerusform>%n month(s)</numerusform><numerusform>%n month(s)</numerusform></translation>
|
||||
<translation><numerusform>%n month</numerusform><numerusform>%n months</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Apply generated password?</source>
|
||||
@ -1794,7 +1750,7 @@ Disable safe saves and try again?</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n year(s)</source>
|
||||
<translation><numerusform>%n year(s)</numerusform><numerusform>%n year(s)</numerusform></translation>
|
||||
<translation><numerusform>%n year</numerusform><numerusform>%n years</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm Removal</source>
|
||||
@ -2118,6 +2074,22 @@ Disable safe saves and try again?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Select import/export file</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Clear</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation>The export container %1 is already referenced.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation>The import container %1 is already imported.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation>The container %1 imported and export by different groups.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2206,7 +2178,7 @@ Disable safe saves and try again?</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Successfully loaded %1 of %n icon(s)</source>
|
||||
<translation><numerusform>Successfully loaded %1 of %n icon(s)</numerusform><numerusform>Successfully loaded %1 of %n icon(s)</numerusform></translation>
|
||||
<translation><numerusform>Successfully loaded %1 of %n icon</numerusform><numerusform>Successfully loaded %1 of %n icons</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No icons were loaded</source>
|
||||
@ -2214,15 +2186,15 @@ Disable safe saves and try again?</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n icon(s) already exist in the database</source>
|
||||
<translation><numerusform>%n icon(s) already exist in the database</numerusform><numerusform>%n icon(s) already exist in the database</numerusform></translation>
|
||||
<translation><numerusform>%n icon already exist in the database</numerusform><numerusform>%n icons already exist in the database</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>The following icon(s) failed:</source>
|
||||
<translation><numerusform>The following icon(s) failed:</numerusform><numerusform>The following icon(s) failed:</numerusform></translation>
|
||||
<translation><numerusform>The following icon failed:</numerusform><numerusform>The following icons failed:</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>This icon is used by %n entry(s), and will be replaced by the default icon. Are you sure you want to delete it?</source>
|
||||
<translation><numerusform>This icon is used by %n entry(s), and will be replaced by the default icon. Are you sure you want to delete it?</numerusform><numerusform>This icon is used by %n entry(s), and will be replaced by the default icon. Are you sure you want to delete it?</numerusform></translation>
|
||||
<translation><numerusform>This icon is used by %n entry, and will be replaced by the default icon. Are you sure you want to delete it?</numerusform><numerusform>This icon is used by %n entries, and will be replaced by the default icon. Are you sure you want to delete it?</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2316,7 +2288,7 @@ This may cause the affected plugins to malfunction.</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Are you sure you want to remove %n attachment(s)?</source>
|
||||
<translation><numerusform>Are you sure you want to remove %n attachment(s)?</numerusform><numerusform>Are you sure you want to remove %n attachment(s)?</numerusform></translation>
|
||||
<translation><numerusform>Are you sure you want to remove %n attachment?</numerusform><numerusform>Are you sure you want to remove %n attachments?</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save attachments</source>
|
||||
@ -2361,8 +2333,8 @@ This may cause the affected plugins to malfunction.</translation>
|
||||
<message numerus="yes">
|
||||
<source>Unable to open file(s):
|
||||
%1</source>
|
||||
<translation><numerusform>Unable to open file(s):
|
||||
%1</numerusform><numerusform>Unable to open file(s):
|
||||
<translation><numerusform>Unable to open file:
|
||||
%1</numerusform><numerusform>Unable to open files:
|
||||
%1</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
@ -2591,14 +2563,6 @@ This may cause the affected plugins to malfunction.</translation>
|
||||
<translation>[empty]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3193,6 +3157,22 @@ Line %2, column %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Synchronize with</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation>Disabled share %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation>Import from share %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation>Export to share %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation>Synchronize with share %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3843,10 +3823,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Password cannot be empty.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Passwords do not match.</translation>
|
||||
@ -4492,7 +4468,7 @@ Available commands:
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Clearing the clipboard in %1 second(s)...</source>
|
||||
<translation><numerusform>Clearing the clipboard in %1 second(s)...</numerusform><numerusform>Clearing the clipboard in %1 second(s)...</numerusform></translation>
|
||||
<translation><numerusform>Clearing the clipboard in %1 second...</numerusform><numerusform>Clearing the clipboard in %1 seconds...</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clipboard cleared!</source>
|
||||
@ -4883,6 +4859,10 @@ Available commands:
|
||||
<source>Database password: </source>
|
||||
<translation>Database password: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation>Cannot create new group</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5156,9 +5136,8 @@ Available commands:
|
||||
<translation>The exported certificate is not the same as the one in use. Do you want to export the current certificate?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation>Signer:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5175,10 +5154,6 @@ Available commands:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Import from container with certificate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>Do you want to trust %1 with the fingerprint of %2 from %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Not this time</translation>
|
||||
@ -5255,14 +5230,6 @@ Available commands:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Could not write export container (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Could not embed signature (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Could not embed database (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>Overwriting unsigned share container is not supported - export prevented</translation>
|
||||
@ -5287,6 +5254,34 @@ Available commands:
|
||||
<source>Export to %1</source>
|
||||
<translation>Export to %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>Do you want to trust %1 with the fingerprint of %2 from %3? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation>Multiple import source path to %1 in %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation>Conflicting export target path %1 in %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation>Could not embed signature: Could not open file to write (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation>Could not embed signature: Could not write file (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation>Could not embed database: Could not open file to write (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation>Could not embed database: Could not write file (%1)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
@ -5304,7 +5299,7 @@ Available commands:
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Expires in <b>%n</b> second(s)</source>
|
||||
<translation><numerusform>Expires in <b>%n</b> second(s)</numerusform><numerusform>Expires in <b>%n</b> second(s)</numerusform></translation>
|
||||
<translation><numerusform>Expires in <b>%n</b> second</numerusform><numerusform>Expires in <b>%n</b> seconds</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Copiar al portapapeles</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revisión: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribución: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Bibliotecas:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Sistema operativo: %1
|
||||
Arquitectura de CPU: %2
|
||||
Núcleo: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Extensiones habilitadas:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Mantenedores del proyecto:</translation>
|
||||
@ -69,50 +45,6 @@ Núcleo: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>El equipo de KeePassXC quiere agradecer de manera especial el trabajo de debfx por la creación de KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Versión %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Tipo de Compilación: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Auto-Escritura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Integración con Navegadores</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>Agente de SSH</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Ninguno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (compartir firmado y sin firmar)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (compartir solo firmado)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (compartir solo sin firmar)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Elegir una ubicación de proxy personalizada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Lo sentimos, pero KeePassXC-Browser no está soportado en las versiones Snap por el momento.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Browser es necesario para que la integración con el navegador funcione. Descárguelo para %1 y %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>Navegador &Tor</translation>
|
||||
@ -685,6 +609,18 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>No pedir permiso para Autenticación HTTP &Básica</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -760,12 +696,20 @@ Movió %2 claves a datos personalizados.</translation>
|
||||
<translation>KeePassXC: detectada configuración de integración del navegador heredada </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Se han detectado configuraciones de integración del navegador heredadas.
|
||||
¿Desea actualizar la configuración al último estándar?
|
||||
Esto es necesario para mantener la compatibilidad con el complemento del navegador.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -927,6 +871,10 @@ Esto es necesario para mantener la compatibilidad con el complemento del navegad
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>El archivo no se puede escribir, ya que se ha abierto en modo de solo lectura.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1681,6 +1629,10 @@ Disable safe saves and try again?</source>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>La base de datos no fue modificada por la operación de unir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2118,6 +2070,22 @@ Disable safe saves and try again?</source>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Seleccione el archivo de importación/exportación</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Limpiar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2591,14 +2559,6 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
|
||||
<translation>[vacío]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3193,6 +3153,22 @@ Linea %2, columna %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Sincronizar con</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3843,10 +3819,6 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>La contraseña es el método principal para asegurar su base de datos.<p><p>Las contraseñas buenas son largas y únicas. KeePassXC puede generar una para usted.<p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>La contraseña no puede ser vacía.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Las contraseñas no coinciden.</translation>
|
||||
@ -4883,6 +4855,10 @@ Comandos disponibles:
|
||||
<source>Database password: </source>
|
||||
<translation>Contraseña de la Base de Datos:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5156,9 +5132,8 @@ Comandos disponibles:
|
||||
<translation>El certificado exportado no es lo mismo que el que está en uso. ¿Desea exportar el certificado actual?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5175,10 +5150,6 @@ Comandos disponibles:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Importar desde contenedor con certificado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>¿Desea confiar en %1 con la huella digital de %2 desde %3?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>No esta vez</translation>
|
||||
@ -5255,14 +5226,6 @@ Comandos disponibles:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>No podría escribir el contenedor de exportación (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>No puede incrustar la firma (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>No se puede incrustar la base de datos (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>No se soporta la sobrescritura de contenedor compartido sin firmar - exportación prevenida</translation>
|
||||
@ -5287,6 +5250,34 @@ Comandos disponibles:
|
||||
<source>Export to %1</source>
|
||||
<translation>Exportar a %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>¿Desea confiar a %1 con la huella digital de %2 de %3? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Kopioi leikepöydälle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revisio: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Jakelu: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Kirjastot:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Käyttöjärjestelmä: %1
|
||||
Suoritinarkkitehtuuri: %2
|
||||
Ydin: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Käytössä olevat laajennukset:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Projektin ylläpitäjät:</translation>
|
||||
@ -69,50 +45,6 @@ Ydin: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>KeePassXC-tiimi antaa erityiskiitokset KeePassX-ohjelman alkuperäiselle luojalle debfx:lle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Versio %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Ohjelmiston tyyppi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Automaattisyöttö</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Selainintegraatio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH-agentti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Ei mitään</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (allekirjoitettu ja allekirjoittamaton jakaminen)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (vain allekirjoitettu jakaminen)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (vain allekirjoittamaton jakaminen)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Valitse oikea tietokanta tietueen tallentamiseksi</translation>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Valitse mukautettu välitysohjelma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Valitettavasti KeePassXC-Browser ei tällä hetkellä tue Snap-julkaisuja.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Browser tarvitaan selainintegraation toimimiseksi. <br />Lataa se selaimille %1 ja %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor-selain</translation>
|
||||
@ -685,6 +609,18 @@ Valitse oikea tietokanta tietueen tallentamiseksi</translation>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Älä kysy lupaa HTTP-autentikointiin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -758,12 +694,20 @@ Siirrettiin %2 avainta mukautettuihin tietoihin.</translation>
|
||||
<translation>KeePassXC: Vanhoja selainintegraatioasetuksia havaittu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Vanhoja selainintegraatioasetuksia on havaittu.
|
||||
Haluatko päivittää tiedot uuteen muotoon?
|
||||
Tämä on välttämätöntä selainintegraation yhteensopivuuden takaamiseksi.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -925,6 +869,10 @@ Tämä on välttämätöntä selainintegraation yhteensopivuuden takaamiseksi.</
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Tiedostoa ei voitu tallentaa, sillä se on avattu vain lukuoikeuksin.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1680,6 +1628,10 @@ Ota turvallinen tallennus pois käytöstä ja yritä uudelleen?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Tietokannan sisältö ei muuttunut yhdistämisen yhteydessä.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2117,6 +2069,22 @@ Ota turvallinen tallennus pois käytöstä ja yritä uudelleen?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Valitse tuonti-/vientitiedosto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Tyhjennä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2590,14 +2558,6 @@ Tämä voi vikaannuttaa tietoa käyttävän liitännäisen.</translation>
|
||||
<translation>[tyhjä]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3192,6 +3152,22 @@ Rivi %2, sarake %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Synkronoi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3841,10 +3817,6 @@ Bugeja ja ongelmia voi esiintyä. Tämä versio ei ole tarkoitettu päivittäise
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>Salasana on kaikkein tärkein asia tietokannan suojauksessa.</p><p>Hyvät salasanat ovat pitkiä ja uniikkeja. KeePassXC voi luoda sellaisen sinulle.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Salasana ei voi olla tyhjä.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Salasanat eivät ole samoja.</translation>
|
||||
@ -4881,6 +4853,10 @@ Käytettävissä olevat komennot:
|
||||
<source>Database password: </source>
|
||||
<translation>Tietokannan salasana:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5154,9 +5130,8 @@ Käytettävissä olevat komennot:
|
||||
<translation>Viety sertifikaatti ei ole sama kuin käytössä oleva. Haluatko viedä tämän hetkisen sertifikaatin?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5173,10 +5148,6 @@ Käytettävissä olevat komennot:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Tuo säiliöstä sertifikaatin kanssa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>Haluatko luottaa kohteeseen %1 sormenjäljen %2 kanssa, jonka lähde on %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Ei tällä kertaa</translation>
|
||||
@ -5253,14 +5224,6 @@ Käytettävissä olevat komennot:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Vietyä säiliötä ei voitu kirjoittaa (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Allekirjoitusta ei voitu sisällyttää (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Tietokantaa ei voitu sisällyttää (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>Allekirjoittamattoman jaetun säiliön ylikirjoitus ei ole tuettu - vienti estettiin</translation>
|
||||
@ -5285,6 +5248,34 @@ Käytettävissä olevat komennot:
|
||||
<source>Export to %1</source>
|
||||
<translation>Vie kohteeseen %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Copier dans le presse-papiers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Révision : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribution : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Bibliothèques :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Système d’exploitation : %1
|
||||
Architecture d’UCT : %2
|
||||
Noyau : %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Extensions activées :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Mainteneurs du projet :</translation>
|
||||
@ -69,50 +45,6 @@ Noyau : %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>L’équipe de KeePassXC remercie tout particulièrement debfx pour la création du KeePassX original.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Version %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Type de Version : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Saisie automatique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Intégration aux navigateurs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>Agent SSH</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Aucun</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (partage signé et non signé)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (partage signé uniquement)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (partage non signé uniquement)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Veuillez sélectionner la base de donnée souhaitée pour enregistrer les identi
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Sélectionner un proxy personnalisé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Nous sommes désolés, mais KeePassXC-Browser n’est pas disponible via Snap pour le moment.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Browser est nécessaire pour que l'intégration au navigateur fonctionne. <br />Téléchargez-le pour %1 et%2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Navigateur Tor</translation>
|
||||
@ -685,6 +609,18 @@ Veuillez sélectionner la base de donnée souhaitée pour enregistrer les identi
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Ne pas demander d'autorisation pour l'authentification HTTP &Basic</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -759,9 +695,19 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC : Ancienne integration au navigateur détectée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -924,6 +870,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Le fichier ne peut pas être enregistré car il est ouvert en lecture seule.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1676,6 +1626,10 @@ Désactiver les enregistrements sécurisés et ressayer ?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>La base de données n'a pas été modifiée par l'opération de fusion.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2113,6 +2067,22 @@ Désactiver les enregistrements sécurisés et ressayer ?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Sélectionner le fichier d'import/export</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Effacer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2585,14 +2555,6 @@ This may cause the affected plugins to malfunction.</source>
|
||||
<translation>[vide]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3187,6 +3149,22 @@ Ligne %2, colonne %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Synchroniser avec</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3836,10 +3814,6 @@ Attendez-vous à des bogues et des problèmes mineurs. Cette version n’est pas
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>Le mot de passe est le moyen principal pour sécuriser votre base de données.</p><p>Un bon mot de passe est long et unique. KeePassXC peut en générer un pour vous.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Le mot de passe ne peut pas être vide.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Les mots de passe ne correspondent pas.</translation>
|
||||
@ -4875,6 +4849,10 @@ Commandes disponibles :
|
||||
<source>Database password: </source>
|
||||
<translation>Mot de passe de la base de données :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -4993,7 +4971,7 @@ Commandes disponibles :
|
||||
</message>
|
||||
<message>
|
||||
<source>logical OR</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>OU logique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Examples</source>
|
||||
@ -5137,7 +5115,7 @@ Commandes disponibles :
|
||||
</message>
|
||||
<message>
|
||||
<source>Select path</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Sélectionner le chemin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting changed certificate</source>
|
||||
@ -5148,8 +5126,7 @@ Commandes disponibles :
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -5167,10 +5144,6 @@ Commandes disponibles :
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Pas cette fois</translation>
|
||||
@ -5247,14 +5220,6 @@ Commandes disponibles :
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5279,6 +5244,34 @@ Commandes disponibles :
|
||||
<source>Export to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Vágólapra másolás</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revízió: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Disztribúció: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Függvénykönyvtárak:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Operációs rendszer: %1
|
||||
CPU architektúra: %2
|
||||
Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Engedélyezett kiterjesztések:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Projektkarbantartók:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>A KeePassXC fejlesztőcsapata ezúton külön köszönetet mond debfx-nek az eredetei KeePassX létrehozásáért.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Verzió: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Összeállítás típusa: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Automatikus beírás</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Böngészőintegráció</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH ügynök</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Nincs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (aláírt és nem aláírt megosztás)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (csak aláírt megoszás)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (csak nem aláírt megosztás)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Válassza ki a helyes adatbázist a hitelesítő adatok mentéséhez.</translati
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Egyedi proxyhely kijelölése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Sajnáljuk, de a KeePassXC-Browser pillanatnyilag nem támogatja a Snap kiadásokat.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>A böngészőintegráció működéséhez a KeePassXC-böngészőre van szükség. <br />Letölthető ezen böngészőkre: %1 és %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor böngésző</translation>
|
||||
@ -685,6 +609,18 @@ Válassza ki a helyes adatbázist a hitelesítő adatok mentéséhez.</translati
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Ne kérjen engedélyt a HTTP &Basic Auth számára</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -758,12 +694,20 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC: Örökölt böngészőintegrációs beállítások észlelve</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Örökölt böngészőintegrációs beállítások észlelve
|
||||
Frissíti a beállításokat a legfrissebb szabványra?
|
||||
Ez szükséges a böngészőbővítménnyel történő kompatibilitáshoz.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -925,6 +869,10 @@ Ez szükséges a böngészőbővítménnyel történő kompatibilitáshoz.</tran
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>A fájlba nem lehet írni, mert csak olvasható módban van megnyitva.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1679,6 +1627,10 @@ Letiltható a biztonságos mentés és úgy megkísérelhető a mentés?</transl
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Az adatbázis nem változott az összeolvasztási művelet során.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2116,6 +2068,22 @@ Letiltható a biztonságos mentés és úgy megkísérelhető a mentés?</transl
|
||||
<source>Select import/export file</source>
|
||||
<translation>Importálási vagy exportálási fájl kijelölése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Törlés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2589,14 +2557,6 @@ Ez a kijelölt bővítmény hibás működését eredményezheti.</translation>
|
||||
<translation>[üres]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3191,6 +3151,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Szinkronizálás ezzel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3839,10 +3815,6 @@ Néhány hiba és kisebb nehézségek várhatóak, ezért ez a verzió nem aján
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>A jelszó az adatbázis biztonságban tartásának elsődleges módja.</p><p>A jó jelszavak hosszúak és egyediek. A KeePassXC elő tud állítani egyet Önnek.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>A jelszó nem lehet üres.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>A jelszavak nem egyeznek</translation>
|
||||
@ -4274,11 +4246,11 @@ Néhány hiba és kisebb nehézségek várhatóak, ezért ez a verzió nem aján
|
||||
</message>
|
||||
<message>
|
||||
<source>Extract and print the content of a database.</source>
|
||||
<translation>Adatbázis tartalmának kinyerése és kiírása.</translation>
|
||||
<translation>Adatbázis tartalmának kibontása és kiírása.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Path of the database to extract.</source>
|
||||
<translation>Kinyerendő adatbázis útvonala.</translation>
|
||||
<translation>Kibontandó adatbázis útvonala.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Insert password to unlock %1: </source>
|
||||
@ -4636,7 +4608,7 @@ Elérhető parancsok:
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open file %1.</source>
|
||||
<translation>A(z) %1 fájl nem nyitható meg</translation>
|
||||
<translation>A(z) %1 fájl nem nyitható meg.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error while reading the database:
|
||||
@ -4878,6 +4850,10 @@ Elérhető parancsok:
|
||||
<source>Database password: </source>
|
||||
<translation>Adatbázis jelszava</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5151,9 +5127,8 @@ Elérhető parancsok:
|
||||
<translation>Az exportált tanúsítvány nem egyezik meg a jelenleg használattal. Exportálható a jelenlegi?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5170,10 +5145,6 @@ Elérhető parancsok:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Importálás a tárolóból aláírással</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>Megbízhatónak minősíthető a(z) %1, melynek ujjlenyomata %2 / %3?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Most nem</translation>
|
||||
@ -5250,14 +5221,6 @@ Elérhető parancsok:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Nem írható az exportálási tároló (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Az aláírás nem beágyazható (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Az adatbázis nem beágyazható (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>A nem aláírt tárolók felülírása nem támogatott – az exportálás megakadályozva</translation>
|
||||
@ -5282,6 +5245,34 @@ Elérhető parancsok:
|
||||
<source>Export to %1</source>
|
||||
<translation>Exportálás: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>Megbízhatónak minősíthető a(z) %1, melynek ujjlenyomata %2 / %3? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Salin ke papan klip</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revisi: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribusi: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Pustaka:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Sistem operasi: %1
|
||||
Arsitektur CPU: %2
|
||||
Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Ekstensi aktif:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Pengelola Proyek:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Terima kasih dari tim KeePassXC kepada debfx yang telah membuat KeepassX original.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Versi %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Tipe Build: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Ketik-Otomatis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Integrasi Peramban</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH Agent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Nihil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -655,14 +587,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Pilih lokasi proksi khusus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Maaf, KeePassXC-Browser saat ini tidak mendukung rilisan Snap.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>Membutuhkan KeePassXC-Browser agar integrasi peramban bisa bekerja. <br />Unduh di %1 dan %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>Peramban &Tor</translation>
|
||||
@ -684,6 +608,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -757,9 +693,19 @@ Moved %2 keys to custom data.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -921,6 +867,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1663,6 +1613,10 @@ Nonaktifkan penyimpanan aman dan coba lagi?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2100,6 +2054,22 @@ Nonaktifkan penyimpanan aman dan coba lagi?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Bersihkan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2571,14 +2541,6 @@ Ini mungkin akan menyebabkan plugin terkait tidak berfungsi.</translation>
|
||||
<translation>[kosong]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3173,6 +3135,22 @@ Baris %2, kolom %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3818,10 +3796,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Sandi tidak boleh kosong.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Sandi tidak sama.</translation>
|
||||
@ -4855,6 +4829,10 @@ Perintah yang tersedia:
|
||||
<source>Database password: </source>
|
||||
<translation>Sandi basis data:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5128,8 +5106,7 @@ Perintah yang tersedia:
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -5147,10 +5124,6 @@ Perintah yang tersedia:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5227,14 +5200,6 @@ Perintah yang tersedia:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5259,6 +5224,34 @@ Perintah yang tersedia:
|
||||
<source>Export to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Copia negli appunti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revisione: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribuzione: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Librerie:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Sistema operativo: %1
|
||||
Architettura CPU: %2
|
||||
Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Estensioni abilitate:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Responsabili del progetto:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Uno speciale ringraziamento dal team di KeePassXC va a debfx per la creazione del KeePassX originale.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Versione %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Tipo di compilazione: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Completamento automatico</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Integrazione con i browser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>Agente SSH</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Nessuno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -655,14 +587,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Selezionare una posizione personalizzata per il proxy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Siamo spiacenti, ma KeePassXC-Browser non è supportato per i rilasci di Snap al momento.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Browser è necessario per far funzionare l'integrazione con il browser. < br / > scaricarlo per %1 e %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor Browser</translation>
|
||||
@ -684,6 +608,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -756,9 +692,19 @@ Moved %2 keys to custom data.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -920,6 +866,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Il file non può essere scritto perché aperto in modalità di sola lettura.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1664,6 +1614,10 @@ Disabilitare i salvataggi sicuri e riprovare?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Il database non è stato modificato dall'operazione di unione.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2101,6 +2055,22 @@ Disabilitare i salvataggi sicuri e riprovare?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Azzera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2574,14 +2544,6 @@ Ciò potrebbe causare malfunzionamenti ai plugin interessati.</translation>
|
||||
<translation>[vuoto]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3176,6 +3138,22 @@ Riga %2, colonna %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Sincronizza con</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3822,10 +3800,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>La password non può essere vuota.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Le password non corrispondono.</translation>
|
||||
@ -4859,6 +4833,10 @@ Comandi disponibili:
|
||||
<source>Database password: </source>
|
||||
<translation>Password del database: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5132,8 +5110,7 @@ Comandi disponibili:
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -5151,10 +5128,6 @@ Comandi disponibili:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5231,14 +5204,6 @@ Comandi disponibili:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5263,6 +5228,34 @@ Comandi disponibili:
|
||||
<source>Export to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>クリップボードにコピー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>リビジョン: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>配布形式: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>ライブラリ:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>オペレーティングシステム: %1
|
||||
CPU アーキテクチャー: %2
|
||||
カーネル: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>有効化された拡張機能:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>プロジェクトメンテナ:</translation>
|
||||
@ -69,50 +45,6 @@ CPU アーキテクチャー: %2
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>KeePassXC チームはオリジナルの KeePassX を作成した debfx に心から感謝します。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>バージョン %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>ビルド形式: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>自動入力</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>ブラウザー統合</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH エージェント</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>なし</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (署名共有と未署名共有)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (署名共有のみ)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (未署名共有のみ)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>カスタムプロキシを選択する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>申し訳ありませんが、今の所 KeePassXC-Browser は Snap リリースではサポートしていません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>ブラウザー統合の動作には KeePassXC-Browser が必要です。<br />KeePassXC-Browser は %1 用と %2 用の2種類あります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>Tor Browser(&T)</translation>
|
||||
@ -685,6 +609,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>HTTP ベーシック認証でアクセス許可を確認しない(&B)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -759,12 +695,20 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC: レガシーなブラウザー統合の設定が検出されました</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>レガシーなブラウザー統合の設定が検出されました。
|
||||
設定を最新の標準にアップグレードしますか?
|
||||
これはブラウザープラグインとの互換性維持に必要です。</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -926,6 +870,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>ファイルは読み取り専用モードで開かれているため書き込むことはできません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1681,6 +1629,10 @@ Disable safe saves and try again?</source>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>データベースはマージ処理で更新されませんでした。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2118,6 +2070,22 @@ Disable safe saves and try again?</source>
|
||||
<source>Select import/export file</source>
|
||||
<translation>インポート/エクスポートファイルを選択</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>消去</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2590,14 +2558,6 @@ This may cause the affected plugins to malfunction.</source>
|
||||
<translation>[空]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3192,6 +3152,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation>同期</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3842,10 +3818,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>パスワードはデータベースを保護するための基本的手段です。</p><p>長くて複雑なパスワードが良いパスワードとされています。KeePassXC に生成させることも可能です。</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>パスワードは空にできません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>パスワードが一致しません。</translation>
|
||||
@ -4882,6 +4854,10 @@ Available commands:
|
||||
<source>Database password: </source>
|
||||
<translation>データベースのパスワード: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5155,9 +5131,8 @@ Available commands:
|
||||
<translation>エクスポートされる証明書は使用中の証明書と同一ではありません。現在の証明書をエクスポートしますか?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5174,10 +5149,6 @@ Available commands:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>署名付きコンテナからのインポート</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>%3 の %1 (フィンガープリント %2) を信用しますか?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>今回はしない</translation>
|
||||
@ -5254,14 +5225,6 @@ Available commands:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>コンテナを書き込めませんでした (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>署名を埋め込めませんでした (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>データベースを埋め込めませんでした (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>未署名共有コンテナの上書きはサポートされていません - エクスポートは阻害されました</translation>
|
||||
@ -5286,6 +5249,34 @@ Available commands:
|
||||
<source>Export to %1</source>
|
||||
<translation>%1 にエクスポート</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>%3 の %1 (フィンガープリント %2) を信用しますか?{1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>클립보드에 복사</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>리비전: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>배포판: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>라이브러리:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>운영 체제: %1
|
||||
CPU 아키텍처: %2
|
||||
커널: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>활성화된 확장 기능:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>프로젝트 관리자:</translation>
|
||||
@ -69,50 +45,6 @@ CPU 아키텍처: %2
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>자동 입력</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>브라우저 통합</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH 에이전트</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -655,14 +587,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>사용자 정의 프록시 위치 지정</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -684,6 +608,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -757,9 +693,19 @@ Moved %2 keys to custom data.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -921,6 +867,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1663,6 +1613,10 @@ Disable safe saves and try again?</source>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2100,6 +2054,22 @@ Disable safe saves and try again?</source>
|
||||
<source>Select import/export file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>비우기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2570,14 +2540,6 @@ This may cause the affected plugins to malfunction.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3170,6 +3132,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3814,10 +3792,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -4850,6 +4824,10 @@ Available commands:
|
||||
<source>Database password: </source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5123,8 +5101,7 @@ Available commands:
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -5142,10 +5119,6 @@ Available commands:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5222,14 +5195,6 @@ Available commands:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5254,6 +5219,34 @@ Available commands:
|
||||
<source>Export to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Kopijuoti į iškarpinę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Poversijis: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Platinimas: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Bibliotekos:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Operacinė sistema: %1
|
||||
Procesoriaus architektūra: %2
|
||||
Branduolys: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Įjungti plėtiniai:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Projektą prižiūri:</translation>
|
||||
@ -69,50 +45,6 @@ Branduolys: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Ypatinga padėka nuo KeePassXC komandos yra skiriama debfx už pradinės KeePassX programos sukūrimą.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Versija %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Darinio tipas: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Automatinis rinkimas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Naršyklės integracija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH agentas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Nėra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Prisijungimo duomenų įrašymui, pasirinkite teisingą duomenų bazę.</transla
|
||||
<source>Select custom proxy location</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor Browser</translation>
|
||||
@ -685,6 +609,18 @@ Prisijungimo duomenų įrašymui, pasirinkite teisingą duomenų bazę.</transla
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -756,9 +692,19 @@ Perkelta %2 raktų į tinkintus duomenis.</translation>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -920,6 +866,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Failas negali būti įrašytas, nes jis atvertas tik skaitymo veiksenoje.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1658,6 +1608,10 @@ Disable safe saves and try again?</source>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2095,6 +2049,22 @@ Disable safe saves and try again?</source>
|
||||
<source>Select import/export file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Išvalyti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2565,14 +2535,6 @@ This may cause the affected plugins to malfunction.</source>
|
||||
<translation>[tuščia]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3167,6 +3129,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3809,10 +3787,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Slaptažodis negali būti tuščias.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Slaptažodžiai nesutampa.</translation>
|
||||
@ -4843,6 +4817,10 @@ Prieinamos komandos:
|
||||
<source>Database password: </source>
|
||||
<translation>Duomenų bazės slaptažodis: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5116,9 +5094,8 @@ Prieinamos komandos:
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5135,10 +5112,6 @@ Prieinamos komandos:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Ne šį kartą</translation>
|
||||
@ -5215,14 +5188,6 @@ Prieinamos komandos:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5247,6 +5212,34 @@ Prieinamos komandos:
|
||||
<source>Export to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Kopier til utklippstavle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revisjon: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribusjon: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Biblioteker:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Operativsystem: %1
|
||||
CPU arkitektur: %2
|
||||
Kjerne: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Aktive utvidelser:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Prosjektets vedlikeholdere:</translation>
|
||||
@ -69,50 +45,6 @@ Kjerne: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>En spesiell takk fra KeePassXC-laget går til debfx, utvikler av programmet KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Versjon %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Byggetype: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Autoskriv</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Nettlesertillegg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH-agent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>Berørings-id</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Ingen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -655,14 +587,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Oppgi en selvvalgt mellomtjerneradresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Nettlesertillegget er foreløpig ikke tilgjengelig for snap-utgaver.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Browser er nødvendig for at nettleserintegrasjonen skal fungere. <br />Last den ned for %1 og %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor nettleser</translation>
|
||||
@ -684,6 +608,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Ikke spør om tillatelse til &enkel HTTP autentisering</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -756,9 +692,19 @@ Moved %2 keys to custom data.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -920,6 +866,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1662,6 +1612,10 @@ Deaktivere sikker lagring og prøve igjen?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2099,6 +2053,22 @@ Deaktivere sikker lagring og prøve igjen?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Tøm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2570,14 +2540,6 @@ Dette kan føre til feil for de berørte programtilleggene.</translation>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3170,6 +3132,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3815,10 +3793,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -4851,6 +4825,10 @@ Tilgjengelige kommandoer:
|
||||
<source>Database password: </source>
|
||||
<translation>Databasepassord: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5124,9 +5102,8 @@ Tilgjengelige kommandoer:
|
||||
<translation>Eksportert sertifikat er ikke det samme som det som er i bruk. Vil du eksportere gjeldende sertifikat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5143,10 +5120,6 @@ Tilgjengelige kommandoer:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5223,14 +5196,6 @@ Tilgjengelige kommandoer:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5255,6 +5220,34 @@ Tilgjengelige kommandoer:
|
||||
<source>Export to %1</source>
|
||||
<translation>Eksporter til %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Naar klembord kopiëren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revisie: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distributie: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Bibliotheken:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Besturingssysteem: %1
|
||||
CPU-architectuur: %2
|
||||
Kernelversie: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Geactiveerde extensies:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Projectbeheerders:</translation>
|
||||
@ -69,50 +45,6 @@ Kernelversie: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Een extra dank-je-wel van het KeePassXC-team gaat naar debfx voor het creëren van het oorspronkelijke KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Versie %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Bouwtype: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Auto-type</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Browserintegratie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH-agent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Geen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (getekend en ongetekend delen)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (alleen ondertekend delen)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (alleen niet-ondertekend delen)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -297,7 +229,7 @@ Kernelversie: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type start delay</source>
|
||||
<translation>Auto-type start vertraging</translation>
|
||||
<translation>Auto-type startvertraging</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Check for updates at application startup</source>
|
||||
@ -313,7 +245,7 @@ Kernelversie: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Button style</source>
|
||||
<translation>Knop stijl</translation>
|
||||
<translation>Knopstijl</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -361,7 +293,7 @@ Kernelversie: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Re-lock previously locked database after performing Auto-Type</source>
|
||||
<translation>Vergrendelde database na Auto-type weer vergrendelen.</translation>
|
||||
<translation>Vergrendelde database na Auto-type weer vergrendelen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't require password repeat when it is visible</source>
|
||||
@ -489,7 +421,7 @@ Kernelversie: %3 %4</translation>
|
||||
<message>
|
||||
<source>%1 has requested access to passwords for the following item(s).
|
||||
Please select whether you want to allow access.</source>
|
||||
<translation>%1 vraagt toegang tot jouw wachtwoorden voor het volgende).
|
||||
<translation>%1 vraagt toegang tot jouw wachtwoorden voor het volgende.
|
||||
Geef aan of je toegang wilt verlenen of niet.</translation>
|
||||
</message>
|
||||
</context>
|
||||
@ -656,22 +588,13 @@ Selecteer de database voor het opslaan van de inloggegevens.</translation>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Selecteer aangepaste proxy-locatie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Het spijt ons, maar KeePassXC-Browser wordt momenteel niet ondersteund voor Snap releases.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePaasXC-Browser is nodig voor de browser integratie.
|
||||
Download hem voor %1 en %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor browser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><b>Warning</b>, the keepassxc-proxy application was not found!<br />Please check the KeePassXC installation directory or confirm the custom path in advanced options.<br />Browser integration WILL NOT WORK without the proxy application.<br />Expected Path: </source>
|
||||
<translation><b>Waarschuwing</b>, de keepassxc-proxy applicatie is niet gevonden!<br />Controleer de installatie directory van KeePassXC of bevestig het aangepaste pad in geavanceerde opties.<br />De browser integratie zal NIET WERKEN zonder de proxy application.<br />Verwacht pad: </translation>
|
||||
<translation><b>Waarschuwing</b>, de keepassxc-proxy-applicatie is niet gevonden!<br />Controleer de installatiemap van KeePassXC of bevestig het aangepaste pad in geavanceerde opties.<br />De browserintegratie zal NIET WERKEN zonder de proxy-applicatie.<br />Verwacht pad: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executable Files</source>
|
||||
@ -686,6 +609,18 @@ Download hem voor %1 en %2.</translation>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Vraag geen toestemming voor HTTP en Basis Authentificatie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -760,12 +695,20 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC: instellingen voor oudere browserintegratie gedetecteerd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Instellingen voor oudere browserintegratie gedetecteerd.
|
||||
Wil je de instellingen veranderen naar de nieuwste standaard?
|
||||
Dit is nodig om compatibiliteit met de browser plugin te behouden.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -927,6 +870,10 @@ Dit is nodig om compatibiliteit met de browser plugin te behouden.</translation>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Bestand kan niet worden geschreven omdat het in de alleen-lezen modus is geopend.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1680,6 +1627,10 @@ Veilig opslaan afschakelen en opnieuw proberen?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Database werd niet gewijzigd door het samenvoegen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2117,6 +2068,22 @@ Veilig opslaan afschakelen en opnieuw proberen?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Selecteer import/export bestand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Wissen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2588,14 +2555,6 @@ Hierdoor werken de plugins mogelijk niet meer goed.</translation>
|
||||
<translation>[leeg]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3190,6 +3149,22 @@ Lijn %2, kolom %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Synchroniseren met</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3715,7 +3690,7 @@ Verwacht een aantal bugs en kleine problemen, deze versie is niet bedoeld voor p
|
||||
<name>NewDatabaseWizardPageMetaData</name>
|
||||
<message>
|
||||
<source>General Database Information</source>
|
||||
<translation>Algemene databaseinformatie</translation>
|
||||
<translation>Algemene database-informatie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please fill in the display name and an optional description for your new database:</source>
|
||||
@ -3839,10 +3814,6 @@ Verwacht een aantal bugs en kleine problemen, deze versie is niet bedoeld voor p
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>Een wachtwoord is de primaire methode voor het beveiligen van een database.</p> <p>Goede wachtwoorden zijn lang en uniek. KeePassXC kan er een voor je genereren.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Wachtwoord mag niet leeg zijn.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Wachtwoorden komen niet overeen.</translation>
|
||||
@ -4878,6 +4849,10 @@ Beschikbare opdrachten:
|
||||
<source>Database password: </source>
|
||||
<translation>Databasewachtwoord: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5151,9 +5126,8 @@ Beschikbare opdrachten:
|
||||
<translation>Het geëxporteerde certificaat is niet hetzelfde als die in gebruik is. Wilt u het huidige certificaat exporteren?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1. %2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5170,10 +5144,6 @@ Beschikbare opdrachten:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Importeren uit de container met certificaat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>Wil je %1 met de vingerafdruk van %2 van %3 vertrouwen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Deze keer niet</translation>
|
||||
@ -5250,14 +5220,6 @@ Beschikbare opdrachten:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Kan geen export container schrijven (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Kon ondertekening niet opnemen in zip bestand (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Kon database niet opnemen in zip bestand (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>Overschrijven van een niet-ondertekende deel-container wordt niet ondersteund - export is voorkomen</translation>
|
||||
@ -5282,6 +5244,34 @@ Beschikbare opdrachten:
|
||||
<source>Export to %1</source>
|
||||
<translation>Exporteer naar %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>Wilt u %1 met de vingerafdruk van %2 vanaf %3 vertrouwen? {1 ?} {2 ?} </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
@ -5402,7 +5392,7 @@ Beschikbare opdrachten:
|
||||
</message>
|
||||
<message>
|
||||
<source>Software Update</source>
|
||||
<translation>Software update</translation>
|
||||
<translation>Software-update</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A new version of KeePassXC is available!</source>
|
||||
@ -5472,7 +5462,7 @@ Beschikbare opdrachten:
|
||||
</message>
|
||||
<message>
|
||||
<source>No YubiKey detected, please ensure it's plugged in.</source>
|
||||
<translation>Geen YubiKey gedetecteerd, plug deze aub in.</translation>
|
||||
<translation>Geen YubiKey gedetecteerd, plug deze a.u.b. in.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No YubiKey inserted.</source>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Skopiuj do schowka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Rewizja: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Dystrybucja: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Biblioteki:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>System operacyjny: %1
|
||||
Architektura procesora: %2
|
||||
Jądro: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Włączone rozszerzenia:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Opiekunowie projektu:</translation>
|
||||
@ -69,50 +45,6 @@ Jądro: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Specjalne podziękowania od zespołu KeePassXC dla debfx za stworzenie oryginalnego KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Wersja %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Typ kompilacji: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Autowpisywanie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Integracja z przeglądarką</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>Agent SSH</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Żaden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (podpisane i niepodpisane udostępnianie)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (tylko podpisane udostępnianie)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (tylko niepodpisane udostępnianie)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Wybierz właściwą bazę danych do zapisania danych uwierzytelniających.</tran
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Wybierz niestandardową lokalizację proxy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Przykro nam, ale KeePassXC-Browser obecnie nie obsługuje wydań Snap.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Browser jest potrzebny, aby działała integracja z przeglądarką. <br />Pobierz go dla %1 oraz %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor Browser</translation>
|
||||
@ -685,6 +609,18 @@ Wybierz właściwą bazę danych do zapisania danych uwierzytelniających.</tran
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Nie pytaj o uprawnienie dla HTTP &Basic Auth</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -759,12 +695,20 @@ Przeniesiono %2 klucze do niestandardowych danych.</translation>
|
||||
<translation>KeePassXC: Wykryto ustawienia przestarzałej integracji z przeglądarką</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Wykryto ustawienia przestarzałej integracji z przeglądarką.
|
||||
Czy chcesz uaktualnić ustawienia do najnowszego standardu?
|
||||
Jest to konieczne, aby zachować zgodność z wtyczką przeglądarki.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -926,6 +870,10 @@ Jest to konieczne, aby zachować zgodność z wtyczką przeglądarki.</translati
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Plik nie może zostać zapisany, ponieważ jest otwarty w trybie tylko do odczytu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1681,6 +1629,10 @@ Wyłączyć bezpieczne zapisywanie i spróbować ponownie?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Baza danych nie została zmodyfikowana operacją scalania.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2118,6 +2070,22 @@ Wyłączyć bezpieczne zapisywanie i spróbować ponownie?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Wybierz plik importu/eksportu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Wyczyść</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2593,14 +2561,6 @@ Może to spowodować nieprawidłowe działanie wtyczek.</translation>
|
||||
<translation>[pusty]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3195,6 +3155,22 @@ Wiersz %2, kolumna %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Synchronizuj z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3844,10 +3820,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>Hasło jest podstawową metodą zabezpieczania bazy danych.</p><p>Dobre hasła są długie i niepowtarzalne. KeePassXC może je wygenerować dla ciebie.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Hasło nie może być puste.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Hasła nie pasują do siebie.</translation>
|
||||
@ -4884,6 +4856,10 @@ Dostępne polecenia:
|
||||
<source>Database password: </source>
|
||||
<translation>Hasło bazy danych: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5157,9 +5133,8 @@ Dostępne polecenia:
|
||||
<translation>Wyeksportowany certyfikat nie jest tym samym, co używany. Czy chcesz wyeksportować bieżący certyfikat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5176,10 +5151,6 @@ Dostępne polecenia:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Importuj z kontenera z certyfikatem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>Czy chcesz zaufać %1 z odciskiem palca %2 z %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Nie tym razem</translation>
|
||||
@ -5256,14 +5227,6 @@ Dostępne polecenia:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Nie można zapisać kontenera eksportu (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Nie można osadzić podpisu (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Nie można osadzić bazy danych (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>Zastąpienie niepodpisanego kontenera udostępniania nie jest obsługiwane - eksport został zablokowany</translation>
|
||||
@ -5288,6 +5251,34 @@ Dostępne polecenia:
|
||||
<source>Export to %1</source>
|
||||
<translation>Eksportuj do %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>Czy chcesz zaufać %1 z odciskiem palca %2 z %3? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Copiar para a área de transferência</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revisão: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribuição: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Bibliotecas:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Sistema operativo: %1
|
||||
Arquitetura do CPU: %2
|
||||
Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Extensões ativas:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Manutenção do projeto:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Um agradecimento especial da equipa do KeePassXC a debfx por ter criado a aplicação KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Versão %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Tipo de compilação: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Escrita automática</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Integração com o navegador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>Agente SSH</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Nada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (partilha assinada e não assinada)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (apenas partilha assinada)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (apenas partilha não assinada)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Selecionar localização do proxy personalizado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Lamentamos mas, de momento, o KeePassXC-Browser não tem suporte a versões Snap.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>Necessita de KeePassXC-Browser para que a integração com o navegador funcione. <br />Descarregue para %1 e para %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>Navegador &Tor</translation>
|
||||
@ -685,6 +609,18 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Não pedir permissão para autorização &básica HTTP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -759,12 +695,20 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC: Detetadas definições de integração legada com o navegador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Detetadas definições de integração legada com o navegador.
|
||||
Deseja atualizar as definições para a versão mais recente?
|
||||
Esta atualização é necessária para manter a compatibilidade com o suplemento.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -926,6 +870,10 @@ Esta atualização é necessária para manter a compatibilidade com o suplemento
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Não é possível escrever no ficheiro porque este foi aberto no modo de leitura.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1681,6 +1629,10 @@ Desativar salvaguardas e tentar novamente?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>A base de dados não foi alterada pela combinação.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2119,6 +2071,22 @@ Por favor utilize %1.</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Selecione o ficheiro de importação/exportação</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Limpar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2592,14 +2560,6 @@ Esta ação pode implicar um funcionamento errático.</translation>
|
||||
<translation>[vazia]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3194,6 +3154,22 @@ Linha %2, coluna %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Sincronizar com</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3844,10 +3820,6 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>A palavra-passe é o método primário para proteger a sua base de dados.</p><p>As boas palavras-passe são extensão e únicas. O KeePassXC pode gerar uma palavra-passe por si.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Palavra-passe não pode ser vazia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Disparidade nas palavras-passe.</translation>
|
||||
@ -4884,6 +4856,10 @@ Comandos disponíveis:
|
||||
<source>Database password: </source>
|
||||
<translation>Palavra-passe da base de dados: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5157,9 +5133,8 @@ Comandos disponíveis:
|
||||
<translation>O certificado exportado não é o que está a ser utilizado. Deseja exportar o certificado atual?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5176,10 +5151,6 @@ Comandos disponíveis:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Importar de um contentor com certificado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>Quer confiar %1 com a impressão digital de %2 de %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Agora não</translation>
|
||||
@ -5256,14 +5227,6 @@ Comandos disponíveis:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Não foi possível escrever contentor de exportação (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Não foi possível incorporar a assinatura (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Não foi possível incorporar a base de dados (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>A substituição de contentor de partilha assinado não é suportada - exportação evitada</translation>
|
||||
@ -5288,6 +5251,34 @@ Comandos disponíveis:
|
||||
<source>Export to %1</source>
|
||||
<translation>Exportar para %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>Deseja confiar em %1 com a impressão digital de %2 em %3? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Copiar para a área de transferência</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revisão: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribuição: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Bibliotecas:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Sistema operacional: %1
|
||||
Arquitetura da CPU: %2
|
||||
Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Extensões habilitadas:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Mantedores do Projeto:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>A equipe KeePassXC agradece especialmente a debfx pela criação do KeePassX original.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Versão %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Tipo da Build: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Autodigitação</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Integração com o Navegador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>Agente SSH</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Nada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (compartilhamento assinado e não assinado)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (somente compartilhamento assinado)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (apenas compartilhamento não assinado)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -353,7 +285,7 @@ Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Forget TouchID when session is locked or lid is closed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Esqueça o TouchID quando a sessão está bloqueada ou a tampa está fechada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock databases after minimizing the window</source>
|
||||
@ -373,7 +305,7 @@ Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't use placeholder for empty password fields</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Não use espaço reservado para campos de senha vazios</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide passwords in the entry preview panel</source>
|
||||
@ -389,7 +321,7 @@ Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use DuckDuckGo as fallback for downloading website icons</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Use DuckDuckGo como substituto para baixar ícones de sites</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -656,21 +588,13 @@ Por favor, selecione o banco de dados correto para salvar as credenciais.</trans
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Selecione localização para o proxy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Desculpe, o KeePassXC-Browser não é suportado em versões Snap no momento.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Browser é necessário para que a integração do navegador funcione. <br />Faça o download de %1 e %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Navegador Tor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><b>Warning</b>, the keepassxc-proxy application was not found!<br />Please check the KeePassXC installation directory or confirm the custom path in advanced options.<br />Browser integration WILL NOT WORK without the proxy application.<br />Expected Path: </source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><b>Alerta</b>, o aplicativo keepassxc-proxy não foi encontrado!<br />Por favor, verifique o diretório de instalação do KeePassXC ou confirme o caminho personalizado nas opções avançadas.<br />A integração do navegador não funcionará sem o aplicativo proxy.<br />Caminho esperado: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executable Files</source>
|
||||
@ -685,6 +609,18 @@ Por favor, selecione o banco de dados correto para salvar as credenciais.</trans
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Não pedir permissão para HTTP &Basic Auth</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -738,11 +674,12 @@ Você deseja sobrescreve-la?</translation>
|
||||
<message>
|
||||
<source>Successfully converted attributes from %1 entry(s).
|
||||
Moved %2 keys to custom data.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Atributos convertidos com sucesso de %1 entrada(s).
|
||||
Movido %2 chaves para dados personalizados.</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Successfully moved %n keys to custom data.</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>Movido com sucesso %n chaves para dados personalizados.</numerusform><numerusform>Movido com sucesso %n chaves para dados personalizados.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC: No entry with KeePassHTTP attributes found!</source>
|
||||
@ -757,12 +694,20 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC: Configurações de integração do navegador herdado detectadas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>As configurações de integração do navegador legadas foram detectadas.
|
||||
Você quer atualizar as configurações para o padrão mais recente?
|
||||
Isso é necessário para manter a compatibilidade com o plugin do navegador.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -914,7 +859,7 @@ Isso é necessário para manter a compatibilidade com o plugin do navegador.</tr
|
||||
</message>
|
||||
<message>
|
||||
<source>Error while reading the database: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Erro ao ler o banco de dados: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not save, database has no file name.</source>
|
||||
@ -922,6 +867,10 @@ Isso é necessário para manter a compatibilidade com o plugin do navegador.</tr
|
||||
</message>
|
||||
<message>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>O arquivo não pode ser gravado, pois é aberto no modo somente leitura.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -1071,7 +1020,8 @@ Por favor, considere-se gerar um novo arquivo de chave.</translation>
|
||||
<message>
|
||||
<source>Do you really want to delete the selected key?
|
||||
This may prevent connection to the browser plugin.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Você realmente deseja excluir a chave selecionada?
|
||||
Isso pode impedir a conexão com o plugin do navegador.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key</source>
|
||||
@ -1101,7 +1051,7 @@ Isso pode impedir a conexão com o plugin do navegador.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No shared encryption keys found in KeePassXC settings.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nenhuma chave de criptografia compartilhada encontrada nas configurações do KeePassXC.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC: Removed keys from database</source>
|
||||
@ -1673,6 +1623,10 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Banco de dados não foi modificado pela operação de mesclagem.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2110,6 +2064,22 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Selecione o arquivo de importação/exportação</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Limpar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2581,14 +2551,6 @@ Isto pode causar mal funcionamento dos plugins afetados.</translation>
|
||||
<translation>[vazio]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -2867,7 +2829,7 @@ Isto é uma migração de caminho único. Você não poderá abrir o banco de da
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to read database file.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Falha ao ler o arquivo de banco de dados.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3183,6 +3145,22 @@ Linha %2, coluna %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Sincronizar com</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3459,7 +3437,8 @@ Esta versão não se destina ao uso em produção.</translation>
|
||||
<message>
|
||||
<source>WARNING: Your Qt version may cause KeePassXC to crash with an On-Screen Keyboard!
|
||||
We recommend you use the AppImage available on our downloads page.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>AVISO: Sua versão do Qt pode fazer com que o KeePassXC trave com um teclado na tela!
|
||||
Recomendamos que você use o AppImage disponível em nossa página de downloads.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Import</source>
|
||||
@ -3535,11 +3514,11 @@ We recommend you use the AppImage available on our downloads page.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePass 1 database...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Banco de dados do KeePass 1...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import a KeePass 1 database</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Importar banco de dados do KeePass 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CSV file...</source>
|
||||
@ -3555,7 +3534,7 @@ We recommend you use the AppImage available on our downloads page.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show TOTP QR Code...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Exibir Código QR do TOTP...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Check for Updates...</source>
|
||||
@ -3568,7 +3547,8 @@ We recommend you use the AppImage available on our downloads page.</source>
|
||||
<message>
|
||||
<source>NOTE: You are using a pre-release version of KeePassXC!
|
||||
Expect some bugs and minor issues, this version is not meant for production use.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>NOTA: Você está usando uma versão de pré-lançamento do KeePassXC!
|
||||
Espere alguns bugs e problemas menores, esta versão não é para uso em produção.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Check for updates on startup?</source>
|
||||
@ -3599,7 +3579,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
</message>
|
||||
<message>
|
||||
<source>older entry merged from database "%1"</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>entrada mais antiga mesclada do banco de dados "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Adding backup for older target %1 [%2]</source>
|
||||
@ -3623,7 +3603,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing from older source %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Sincronizando a partir da fonte antiga %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting child %1 [%2]</source>
|
||||
@ -3827,10 +3807,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Senha não pode estar vazia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Senha não corresponde.</translation>
|
||||
@ -4041,7 +4017,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
</message>
|
||||
<message>
|
||||
<source>Character set to exclude from generated password</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Conjunto de caracteres para excluir da senha gerada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do not include:</source>
|
||||
@ -4439,7 +4415,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter password for new entry: </source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Digite a senha para a nova entrada:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Writing the database failed %1.</source>
|
||||
@ -4455,11 +4431,11 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid timeout value %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Valor de tempo limite inválido %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Entry %1 not found.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Entrada%1 não encontrada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Entry with path %1 has no TOTP set up.</source>
|
||||
@ -4483,7 +4459,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>Silence password prompt and other secondary outputs.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Pergunta por senha em silêncio e outras saídas secundárias.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>count</source>
|
||||
@ -4492,7 +4468,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid value for password length: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Valor inválido para o tamanho da senha: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not find entry with path %1.</source>
|
||||
@ -4504,7 +4480,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter new password for entry: </source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Digite uma nova senha para entrada:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Writing the database failed: %1</source>
|
||||
@ -4512,7 +4488,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>Successfully edited entry %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Entrada editada com sucesso %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Length %1</source>
|
||||
@ -4608,7 +4584,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>Entropy %1 (%2)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Entropia %1 (%2)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>*** Password length (%1) != sum of length of parts (%2) ***</source>
|
||||
@ -4658,7 +4634,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>Use extended ASCII</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Use estendido ASCII</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exclude character set</source>
|
||||
@ -4678,7 +4654,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>Recursively list the elements of the group.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Listar recursivamente os elementos do grupo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot find group %1.</source>
|
||||
@ -4723,7 +4699,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>file empty</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>arquivo vazio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1: (row, col) %2,%3</source>
|
||||
@ -4769,11 +4745,11 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>No groups found</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nenhum grupo encontrado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new database.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Criar um novo banco de dados.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File %1 already exists.</source>
|
||||
@ -4781,7 +4757,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading the key file failed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>O carregamento do arquivo de chave falhou</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No key is set. Aborting database creation.</source>
|
||||
@ -4789,7 +4765,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to save the database: %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Falha ao salvar o banco de dados: %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Successfully created new database.</source>
|
||||
@ -4863,6 +4839,10 @@ Comandos disponíveis:
|
||||
<source>Database password: </source>
|
||||
<translation>Senha do banco de dados:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -4910,7 +4890,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>No agent running, cannot add identity.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nenhum agente em execução, não é possível adicionar identidade.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No agent running, cannot remove identity.</source>
|
||||
@ -4953,11 +4933,11 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>exclude term from results</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>excluir termo dos resultados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>match term exactly</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>encontrar termo exato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use regex in term</source>
|
||||
@ -5136,9 +5116,8 @@ Comandos disponíveis:
|
||||
<translation>O certificado exportado não é o mesmo que está em uso. Você quer exportar o certificado atual?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5155,10 +5134,6 @@ Comandos disponíveis:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Importar do contêiner com certificado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Não dessa vez</translation>
|
||||
@ -5193,19 +5168,19 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source>File is not readable</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Arquivo não é legível</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid sharing container</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Contêiner de compartilhamento inválido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Untrusted import prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Importação não confiável impedida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Successful signed import</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Importação assinada bem-sucedida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unexpected error</source>
|
||||
@ -5235,21 +5210,13 @@ Comandos disponíveis:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>A substituição de contêiner de compartilhamento não assinado não é suportada - exportação impedida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not write export container</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Não foi possível escrever o contêiner de exportação</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unexpected export error occurred</source>
|
||||
@ -5267,6 +5234,34 @@ Comandos disponíveis:
|
||||
<source>Export to %1</source>
|
||||
<translation>Exportar para %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
@ -5284,7 +5279,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Expires in <b>%n</b> second(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>Expira em <b>%n</b> segundo(s)</numerusform><numerusform>Expira em <b>%n</b> segundo(s)</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5296,11 +5291,11 @@ Comandos disponíveis:
|
||||
<message>
|
||||
<source>NOTE: These TOTP settings are custom and may not work with other authenticators.</source>
|
||||
<comment>TOTP QR code dialog warning</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>NOTA: Essas configurações de TOTP são personalizadas e podem não funcionar com outros autenticadores.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There was an error creating the QR code.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ocorreu um erro ao criar o código QR.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Closing in %1 seconds.</source>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Copiar para a área de transferência</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revisão: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribuição: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Bibliotecas:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Sistema operativo: %1
|
||||
Arquitetura do CPU: %2
|
||||
Kernel: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Extensões ativas:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Manutenção do projeto:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Um agradecimento especial da equipa KeePassXC a debfx por ter criado a aplicação KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Versão %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Tipo de compilação: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Escrita automática</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Integração com o navegador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>Agente SSH</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Nada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (partilha assinada e não assinada)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (apenas partilha assinada)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (apenas partilha não assinada)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Selecionar localização do proxy personalizado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Lamentamos mas, de momento, o KeePassXC-Browser não tem suporte a versões Snap.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>Necessita de KeePassXC-Browser para que a integração com o navegador funcione. <br />Descarregue para %1 e para %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>Navegador &Tor</translation>
|
||||
@ -685,6 +609,18 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Não pedir permissão para autorização &básica HTTP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -759,12 +695,20 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC: Detetadas definições de integração legada com o navegador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Detetadas definições de integração legada com o navegador.
|
||||
Deseja atualizar as definições para a versão mais recente?
|
||||
Esta atualização é necessária para manter a compatibilidade com o suplemento.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -926,6 +870,10 @@ Esta atualização é necessária para manter a compatibilidade com o suplemento
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Não é possível escrever no ficheiro porque este foi aberto no modo de leitura.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1507,7 +1455,7 @@ Existe aqui um erro que deve ser reportado aos programadores.</translation>
|
||||
<name>DatabaseWidget</name>
|
||||
<message>
|
||||
<source>Searching...</source>
|
||||
<translation>Pesquisar..</translation>
|
||||
<translation>Pesquisar...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to delete the entry "%1" for good?</source>
|
||||
@ -1681,6 +1629,10 @@ Desativar salvaguardas e tentar novamente?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>A base de dados não foi modificada pela combinação.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2119,6 +2071,22 @@ Por favor utilize %1.</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Selecione o ficheiro de importação/exportação</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Limpar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2592,14 +2560,6 @@ Esta ação pode implicar um funcionamento errático.</translation>
|
||||
<translation>[vazia]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3194,6 +3154,22 @@ Linha %2, coluna %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Sincronizar com</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3231,7 +3207,7 @@ Linha %2, coluna %3</translation>
|
||||
<message>
|
||||
<source>%1 set, click to change or remove</source>
|
||||
<comment>Change or remove a key component</comment>
|
||||
<translation>%1 definido, clique para alterar ou remover</translation>
|
||||
<translation>%1 definida, clique para alterar ou remover</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3250,7 +3226,7 @@ Linha %2, coluna %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><p>You can add a key file containing random bytes for additional security.</p><p>You must keep it secret and never lose it or you will be locked out!</p></source>
|
||||
<translation><p>Para mais segurança, pode adicionar um ficheiro-chave que contenha dados aleatórios.</p><p>Tem que o manter secreto e não o pode perder pois se o fizer não mais poderá abrir a base de dados.</p></translation>
|
||||
<translation><p>Para mais segurança, pode adicionar um ficheiro-chave que contenha dados aleatórios.</p><p>Tem de o manter secreto e não o pode perder pois se tal acontecer, nunca mais conseguirá abrir a base de dados.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy key file format</source>
|
||||
@ -3844,10 +3820,6 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>A palavra-passe é o método primário para proteger a sua base de dados.</p><p>As boas palavras-passe são extensão e únicas. O KeePassXC pode gerar uma palavra-passe por si.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Palavra-passe não pode ser vazia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Disparidade nas palavras-passe.</translation>
|
||||
@ -4884,6 +4856,10 @@ Comandos disponíveis:
|
||||
<source>Database password: </source>
|
||||
<translation>Palavra-passe da base de dados: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5157,9 +5133,8 @@ Comandos disponíveis:
|
||||
<translation>O certificado exportado não é o que está a ser utilizado. Deseja exportar o certificado atual?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5176,10 +5151,6 @@ Comandos disponíveis:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Importar de um contentor com certificado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>Quer confiar %1 com a impressão digital de %2 de %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Agora não</translation>
|
||||
@ -5256,14 +5227,6 @@ Comandos disponíveis:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Não foi possível escrever contentor de exportação (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Não foi possível incorporar a assinatura (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Não foi possível incorporar a base de dados (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>A substituição de contentor de partilha assinado não é suportada - exportação evitada</translation>
|
||||
@ -5288,6 +5251,34 @@ Comandos disponíveis:
|
||||
<source>Export to %1</source>
|
||||
<translation>Exportar para %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>Deseja confiar em %1 com a impressão digital de %2 em %3? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
@ -5474,7 +5465,7 @@ Comandos disponíveis:
|
||||
</message>
|
||||
<message>
|
||||
<source><p>If you own a <a href="https://www.yubico.com/">YubiKey</a>, you can use it for additional security.</p><p>The YubiKey requires one of its slots to be programmed as <a href="https://www.yubico.com/products/services-software/personalization-tools/challenge-response/">HMAC-SHA1 Challenge-Response</a>.</p></source>
|
||||
<translation><p>Se você tiver uma <a href="https://www.yubico.com/">YubiKey</a>, pode utiliza-la para obter mais segurança.</p><p>A YubiKey requer que uma das suas ranhuras seja programada como uma <a href="https://www.yubico.com/products/services-software/personalization-tools/challenge-response/">HMAC-SHA1 Challenge-Response</a>.</p></translation>
|
||||
<translation><p>Se tiver uma <a href="https://www.yubico.com/">YubiKey</a>, pode utilizá-la para obter mais segurança.</p><p>A YubiKey requer que uma das suas ranhuras seja programada como uma <a href="https://www.yubico.com/products/services-software/personalization-tools/challenge-response/">HMAC-SHA1 Challenge-Response</a>.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No YubiKey detected, please ensure it's plugged in.</source>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Скопировать в буфер обмена</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Ревизия: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Дистрибутив: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Библиотеки:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Операционная система: %1
|
||||
Архитектура ЦП: %2
|
||||
Ядро: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Включённые расширения:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Проект сопровождают:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</source>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Команда KeePassXC выражает особую благодарность debfx за создание оригинального KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Версия %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Тип сборки: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Автоввод</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Интеграция с браузером</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH-агент</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Нет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (доступ с использованием подписей и без)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (доступ только с использованием подписи)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (доступ только без использованием подписи)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Выбрать другое расположение прокси</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>KeePassXC-Browser сейчас не поддерживается для выпусков Snap.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Browser необходим для интеграции браузера. <br /> Cкачайте его для %1 и %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor Browser</translation>
|
||||
@ -685,6 +609,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Не спрашивать разрешения для HTTP и Basic авторизации</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -759,12 +695,20 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC: Устаревшая интеграция с браузером обнаружена</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Параметры устаревшей интеграции с браузерами были обнаружены. Вы хотите обновить параметры до нового стандарта?
|
||||
|
||||
Это необходимо для сохранения совместимости с плагином для браузера.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -925,6 +869,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Файл не может быть перезаписан, т.к. он открыт в режиме "только для чтения".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -957,7 +905,7 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Challenge Response:</source>
|
||||
<translation>Ответ на вызов:</translation>
|
||||
<translation>Вызов-ответ:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy key file format</source>
|
||||
@ -1657,7 +1605,7 @@ Disable safe saves and try again?</source>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Entry "%1" has %2 reference(s). Do you want to overwrite references with values, skip this entry, or delete anyway?</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>Запись "%1" имеет %2 ссылку. Вы хотите переписать ссылки значениями, пропустить эту запись или удалить в любом случае?</numerusform><numerusform>Запись "%1" имеет %2 ссылки. Вы хотите переписать ссылки значениями, пропустить эту запись или удалить в любом случае?</numerusform><numerusform>Запись "%1" имеет %2 ссылок. Вы хотите переписать ссылки значениями, пропустить эту запись или удалить в любом случае?</numerusform><numerusform>Запись "%1" имеет %2 ссылку(ки, ок). Вы хотите переписать ссылки значениями, пропустить эту запись или удалить в любом случае?</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete group</source>
|
||||
@ -1679,6 +1627,10 @@ Disable safe saves and try again?</source>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>База данных не была изменена операцией слияния.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2116,6 +2068,22 @@ Disable safe saves and try again?</source>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Выберите файл для импорта/экспорта</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Очистить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2196,7 +2164,7 @@ Disable safe saves and try again?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hint: You can enable DuckDuckGo as a fallback under Tools>Settings>Security</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Совет: Вы можете включить DuckDuckGo в качестве резерва в "Инструменты>Настройки>Безопасность"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select Image(s)</source>
|
||||
@ -2204,7 +2172,7 @@ Disable safe saves and try again?</source>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Successfully loaded %1 of %n icon(s)</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>Успешно загружено %1 из %n иконки</numerusform><numerusform>Успешно загружено %1 из %n иконок</numerusform><numerusform>Успешно загружено %1 из %n иконок</numerusform><numerusform>Успешно загружено %1 из %n иконки(ок)</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No icons were loaded</source>
|
||||
@ -2220,7 +2188,7 @@ Disable safe saves and try again?</source>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>This icon is used by %n entry(s), and will be replaced by the default icon. Are you sure you want to delete it?</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>Эта иконка используется %n записью и будет замещена иконкой по умолчанию. Вы уверены, что хотите удалить её?</numerusform><numerusform>Эта иконка используется %n записями и будет замещена иконкой по умолчанию. Вы уверены, что хотите удалить её?</numerusform><numerusform>Эта иконка используется %n записями и будет замещена иконкой по умолчанию. Вы уверены, что хотите удалить её?</numerusform><numerusform>Эта иконка используется %n записью(ями) и будет замещена иконкой по умолчанию. Вы уверены, что хотите удалить её?</numerusform></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2590,14 +2558,6 @@ This may cause the affected plugins to malfunction.</source>
|
||||
<translation>[пустой]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -2868,7 +2828,7 @@ This is a one-way migration. You won't be able to open the imported databas
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid cipher uuid length: %1 (length=%2)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Неверная длина UUID шифра: %1 (длина=%2)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to parse UUID: %1</source>
|
||||
@ -3171,7 +3131,7 @@ Line %2, column %3</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>unable to seek to content position</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>не удалось переместиться к позиции содержимого</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3192,6 +3152,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Синхронизировать с</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3248,7 +3224,7 @@ Line %2, column %3</source>
|
||||
</message>
|
||||
<message>
|
||||
<source><p>You can add a key file containing random bytes for additional security.</p><p>You must keep it secret and never lose it or you will be locked out!</p></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><p>Вы можете добавить ключевой файл, содержащий случайные байты, для дополнительной безопасности.</p><p>Вы должны хранить его в секрете и никогда не терять, или Вы будете заблокированы!</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy key file format</source>
|
||||
@ -3259,12 +3235,15 @@ Line %2, column %3</source>
|
||||
unsupported in the future.
|
||||
|
||||
Please go to the master key settings and generate a new key file.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Вы используете устаревший формат файла-ключа, который может стать не поддерживаемым в будущем.
|
||||
|
||||
Пожалуйста, сходите в настройки мастер ключа и сгенерируйте новый файл-ключ.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error loading the key file '%1'
|
||||
Message: %2</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ошибка загрузки ключевого файла '%1'
|
||||
Сообщение: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key files</source>
|
||||
@ -3299,7 +3278,7 @@ Message: %2</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Recent databases</source>
|
||||
<translation>&Недавние базы данных</translation>
|
||||
<translation>Н&едавние базы данных</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Help</source>
|
||||
@ -3319,7 +3298,7 @@ Message: %2</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Quit</source>
|
||||
<translation>В&ыход</translation>
|
||||
<translation>&Выход</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&About</source>
|
||||
@ -3351,7 +3330,7 @@ Message: %2</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sa&ve database as...</source>
|
||||
<translation>&Сохранить базу данных как...</translation>
|
||||
<translation>Со&хранить базу данных как...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Database settings</source>
|
||||
@ -3473,19 +3452,19 @@ We recommend you use the AppImage available on our downloads page.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Import</source>
|
||||
<translation>&Import</translation>
|
||||
<translation>&Импорт</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy att&ribute...</source>
|
||||
<translation>Копирование атрибутов...</translation>
|
||||
<translation>Скопировать ат&рибут...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TOTP...</source>
|
||||
<translation>TOTP...</translation>
|
||||
<translation>&TOTP...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New database...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&Новая база данных...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a new database</source>
|
||||
@ -3493,15 +3472,15 @@ We recommend you use the AppImage available on our downloads page.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Merge from database...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Сое&динить с другой базой данных...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Merge from another KDBX database</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Соединить с другой базой данных KDBX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New entry</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&Новая запись</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add a new entry</source>
|
||||
@ -3509,7 +3488,7 @@ We recommend you use the AppImage available on our downloads page.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit entry</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&Править запись</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View or edit entry</source>
|
||||
@ -3517,7 +3496,7 @@ We recommend you use the AppImage available on our downloads page.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>&New group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&Новая группа</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add a new group</source>
|
||||
@ -3529,15 +3508,15 @@ We recommend you use the AppImage available on our downloads page.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Database settings...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&Параметры базы данных...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy &password</source>
|
||||
<translation>Скпировать &пароль</translation>
|
||||
<translation>Скопировать п&ароль</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform &Auto-Type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Осуществить а&втоввод</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open &URL</source>
|
||||
@ -3598,66 +3577,66 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<name>Merger</name>
|
||||
<message>
|
||||
<source>Creating missing %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Создание отсутствующей %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Relocating %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Перемещение %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Перезапись %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>older entry merged from database "%1"</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>более старая запись присоединена из базы данных "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Adding backup for older target %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Добавление резервной копии для более старой мишени %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Adding backup for older source %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Добавление резервной копии для более старого источника %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reapplying older target entry on top of newer source %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Повторное применение более старой целевой записи поверх более нового источника %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reapplying older source entry on top of newer target %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Повторное применение более старой исходной записи поверх более новой мишени %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing from newer source %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Синхронизация с более новым источником %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing from older source %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Синхронизация с более старым источником %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting child %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Удаление дочерней %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting orphan %1 [%2]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Удаление заброшенной %1 [%2]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Changed deleted objects</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Изменены удалённые объекты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Adding missing icon %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Добавление отсутствующей иконки %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>NewDatabaseWizard</name>
|
||||
<message>
|
||||
<source>Create a new KeePassXC database...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Создать новую базу данных KeePassXC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Root</source>
|
||||
@ -3669,15 +3648,15 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<name>NewDatabaseWizardPage</name>
|
||||
<message>
|
||||
<source>WizardPage</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>СтраницаМастера</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>En&cryption Settings</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Настройки шифрования</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Here you can adjust the database encryption settings. Don't worry, you can change them later in the database settings.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Здесь Вы можете отрегулировать настройки шифрования базы данных. Не беспокойтесь, вы сможете изменить их позже в настройках базы данных.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Settings</source>
|
||||
@ -3685,7 +3664,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
</message>
|
||||
<message>
|
||||
<source>Simple Settings</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Простые настройки</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3696,25 +3675,25 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
</message>
|
||||
<message>
|
||||
<source>Here you can adjust the database encryption settings. Don't worry, you can change them later in the database settings.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Здесь Вы можете отрегулировать настройки шифрования базы данных. Не беспокойтесь, вы сможете изменить их позже в настройках базы данных.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>NewDatabaseWizardPageMasterKey</name>
|
||||
<message>
|
||||
<source>Database Master Key</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Мастер-ключ базы данных</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A master key known only to you protects your database.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Мастер-ключ, известный только Вам, защищает Вашу базу данных.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>NewDatabaseWizardPageMetaData</name>
|
||||
<message>
|
||||
<source>General Database Information</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Общая информация о базе данных</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please fill in the display name and an optional description for your new database:</source>
|
||||
@ -3828,7 +3807,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm password:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Подтвердите пароль:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
@ -3838,10 +3817,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>Пароль - первичный метод защиты Вашей базы данных.</p><p>Хорошие пароли длинные и уникальные. KeePassXC может сгенерировать его для Вас.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Пароль не может быть пустым.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Пароли не совпадают.</translation>
|
||||
@ -4020,7 +3995,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
</message>
|
||||
<message>
|
||||
<source>Math</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Математические</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><*+!?=</source>
|
||||
@ -4060,7 +4035,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
</message>
|
||||
<message>
|
||||
<source>Add non-hex letters to "do not include" list</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Добавить не шестнадцатеричные буквы к списку "не включать"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hex</source>
|
||||
@ -4072,7 +4047,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
</message>
|
||||
<message>
|
||||
<source>Word Co&unt:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Количество слов:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Regenerate</source>
|
||||
@ -4447,7 +4422,7 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not create entry with path %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Не удалось создать запись с путём %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter password for new entry: </source>
|
||||
@ -4463,11 +4438,11 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy the current TOTP to the clipboard.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Скопировать текущий TOTP в буфер обмена.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid timeout value %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Неверное значение времени ожидания %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Entry %1 not found.</source>
|
||||
@ -4475,7 +4450,7 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Entry with path %1 has no TOTP set up.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>У записи с путём %1 не настроен TOTP.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Entry's current TOTP copied to the clipboard!</source>
|
||||
@ -4487,7 +4462,7 @@ Available commands:
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Clearing the clipboard in %1 second(s)...</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<translation><numerusform>Очищение буфера обмена через %1 секунду...</numerusform><numerusform>Очищение буфера обмена через %1 секунды..</numerusform><numerusform>Очищение буфера обмена через %1 секунд...</numerusform><numerusform>Очищение буфера обмена через %1 секунд(у, ы)...</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clipboard cleared!</source>
|
||||
@ -4495,7 +4470,7 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Silence password prompt and other secondary outputs.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Заглушить запрос пароля и другие второстепенные выводы.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>count</source>
|
||||
@ -4512,7 +4487,7 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Not changing any field for entry %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Не меняются какие-либо поля для записи %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter new password for entry: </source>
|
||||
@ -4536,11 +4511,11 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Log10 %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Log10 %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multi-word extra bits %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Дополнительные биты мультислова %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type: Bruteforce</source>
|
||||
@ -4624,7 +4599,7 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>*** Password length (%1) != sum of length of parts (%2) ***</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>*** Длина пароля (%1) != сумма длин частей (%2) ***</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to load key file %1: %2</source>
|
||||
@ -4701,7 +4676,8 @@ Available commands:
|
||||
<message>
|
||||
<source>Error reading merge file:
|
||||
%1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ошибка при чтении файла слияния:
|
||||
%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to save database to file : %1</source>
|
||||
@ -4729,7 +4705,7 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>No program defined for clipboard manipulation</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Не задана программа для манипуляции буфером обмена</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to start program %1</source>
|
||||
@ -4815,11 +4791,11 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Creating KeyFile %1 failed: %2</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Создание ключевого файла %1 не удалось: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Loading KeyFile %1 failed: %2</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Загрузка ключевого файла %1 не удалась: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove an entry from the database.</source>
|
||||
@ -4877,6 +4853,10 @@ Available commands:
|
||||
<source>Database password: </source>
|
||||
<translation>Пароль базы данных: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -4951,15 +4931,15 @@ Available commands:
|
||||
<name>SearchHelpWidget</name>
|
||||
<message>
|
||||
<source>Search Help</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Искать в справке</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search terms are as follows: [modifiers][field:]["]term["]</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Поисковые выражения выглядят следующим образом: [модификаторы][поле:]["]выражение["]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Every search term must match (ie, logical AND)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Каждое поисковое выражение должно иметь соответствие (т.е. логическое И)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Modifiers</source>
|
||||
@ -4967,15 +4947,15 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>exclude term from results</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>исключить выражение из результатов</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>match term exactly</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>соответствовать выражению в точности</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use regex in term</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>использовать регулярные выражения в поисковых</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fields</source>
|
||||
@ -4983,19 +4963,19 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Term Wildcards</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Шаблоны для выражений</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>match anything</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>соответствие всему</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>match one</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>соответствие одному</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>logical OR</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>логическое ИЛИ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Examples</source>
|
||||
@ -5018,12 +4998,12 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Search Help</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Искать в справке</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search (%1)...</source>
|
||||
<comment>Search placeholder text, %1 is the keyboard shortcut</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Поиск (%1)...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Case sensitive</source>
|
||||
@ -5034,23 +5014,23 @@ Available commands:
|
||||
<name>SettingsWidgetKeeShare</name>
|
||||
<message>
|
||||
<source>Active</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Активный</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow export</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Разрешить экспорт</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow import</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Разрешить импорт</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Own certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Собственный сертификат</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fingerprint:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Отпечаток:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Certificate:</source>
|
||||
@ -5058,7 +5038,7 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Signer</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Подписчик</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key:</source>
|
||||
@ -5070,27 +5050,27 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Import</source>
|
||||
<translation>Импорт</translation>
|
||||
<translation>Импортировать</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Экспортировать</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Imported certificates</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Импортированные сертификаты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Trust</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Доверять</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ask</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Запросить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Untrust</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Не доверять</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
@ -5114,24 +5094,24 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Trusted</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Надёжный</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Untrusted</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ненадёжный</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Неизвестен</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>key.share</source>
|
||||
<comment>Filetype for KeeShare key</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>key.share</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare key file</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ключевой файл KeeShare</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All files</source>
|
||||
@ -5139,19 +5119,18 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Select path</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Выберите путь</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exporting changed certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Экспортирование изменённого сертификата</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The exported certificate is not the same as the one in use. Do you want to export the current certificate?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Экспортированный сертификат не такой же, как сертификат, который используется. Вы хотите экспортировать текущий сертификат?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -5159,19 +5138,15 @@ Available commands:
|
||||
<name>ShareObserver</name>
|
||||
<message>
|
||||
<source>Import from container without signature</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Импортировать из контейнера без подписи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We cannot verify the source of the shared container because it is not signed. Do you really want to import from %1?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Мы не можем проверить источник коллективного контейнера, потому что он не подписан. Вы действительно хотите импортировать из %1?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Импортировать из контейнера с сертификатом</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
@ -5191,11 +5166,11 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from %1 failed (%2)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Импорт из %1 не удался (%2)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from %1 successful (%2)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Импорт из %1 успешен (%2)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Imported from %1</source>
|
||||
@ -5249,14 +5224,6 @@ Available commands:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Не удалось записать Экспорт контейнера (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Не удалось вставить подпись (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Не удалось встроить базу данных (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>Перезапись неподписанного общего ресурса не поддерживается - экспорт запрещен</translation>
|
||||
@ -5281,6 +5248,34 @@ Available commands:
|
||||
<source>Export to %1</source>
|
||||
<translation>Экспорт в %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>Вы хотите довериться %1 с отпечатком %2 из %3? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
@ -5467,7 +5462,7 @@ Available commands:
|
||||
</message>
|
||||
<message>
|
||||
<source><p>If you own a <a href="https://www.yubico.com/">YubiKey</a>, you can use it for additional security.</p><p>The YubiKey requires one of its slots to be programmed as <a href="https://www.yubico.com/products/services-software/personalization-tools/challenge-response/">HMAC-SHA1 Challenge-Response</a>.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><p>Если Вы владееете <a href="https://www.yubico.com/">YubiKey</a>, Вы можете использовать его для дополнительной безопасности.</p><p>YubiKey требует, чтобы один из его слотов был запрограммирован как <a href="https://www.yubico.com/products/services-software/personalization-tools/challenge-response/"> вызов-ответ HMAC-SHA1</a>.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No YubiKey detected, please ensure it's plugged in.</source>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Kopírovať do schránky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Revízia %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Distribúcia %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Knižnice:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Operačný systém: %1
|
||||
Architektúra CPU: %2
|
||||
Jadro: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Zapnuté rozšírenia:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Správcovia projektu:</translation>
|
||||
@ -69,50 +45,6 @@ Jadro: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Špeciálne poďakovanie od tímu KeePassXC patrí debfx za vytvorenie pôvodného KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Verzia %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Typ zostavenia: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Automatické vypĺňanie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Integrácia prehliadača</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>Agent SSH</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Žiadny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (podpísané a nepodpísané zdieľanie)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (len podpísané zdieľanie)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (len nepodpísané zdieľanie)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Prosím, vyberte správnu databázu na uloženie prihlasovacích údajov.</trans
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Zvoliť vlastné umiestnenie proxy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Prepáčte, ale KeePassXC-Prehliadač nie je v súčasnosti podporovaný pre vydania Snap.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>Aby fungovala integrácia do prehliadača, je potrebný KeePassXC-Browser. <br />Stiahnuť pre %1 a %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor Browser</translation>
|
||||
@ -685,6 +609,18 @@ Prosím, vyberte správnu databázu na uloženie prihlasovacích údajov.</trans
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Nepýtať povolenie na HTTP &Basic Auth</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -758,9 +694,19 @@ Moved %2 keys to custom data.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -922,6 +868,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1667,6 +1617,10 @@ Vypnúť bezpečné ukladanie a skúsiť znova?</translation>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2104,6 +2058,22 @@ Vypnúť bezpečné ukladanie a skúsiť znova?</translation>
|
||||
<source>Select import/export file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Vymazať</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2575,14 +2545,6 @@ Môže to spôsobiť nefunkčnosť dotknutých zásuvných modulov.</translation
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3176,6 +3138,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3821,10 +3799,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -4858,6 +4832,10 @@ Dostupné príkazy:
|
||||
<source>Database password: </source>
|
||||
<translation>Heslo databázy:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5131,8 +5109,7 @@ Dostupné príkazy:
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -5150,10 +5127,6 @@ Dostupné príkazy:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5230,14 +5203,6 @@ Dostupné príkazy:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5262,6 +5227,34 @@ Dostupné príkazy:
|
||||
<source>Export to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Kopiera till urklipp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Ändring: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Utdelning: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Arkiv:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Operativsystem: %1
|
||||
Processorarkitektur: %2
|
||||
Kärna: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Aktiverade tillägg:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Projekt Ansvariga:</translation>
|
||||
@ -69,50 +45,6 @@ Kärna: %3 %4</translation>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Ett särskilt tack från teamet bakom KeePassXC riktas till debfx som skapade den ursprungliga KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Version %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Build Type: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Autoskriv</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Webbläsarintegration</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH Agent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Ingen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (signerad och osignerad delning)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (endast signerad delning)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (endast osignerad delning)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -655,14 +587,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Välj en proxy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Vi ber om ursäkt, KeePassXC-Browser stödjer inte Snap-releaser för tillfället.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor Browser</translation>
|
||||
@ -684,6 +608,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -753,9 +689,19 @@ Moved %2 keys to custom data.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -918,6 +864,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1654,6 +1604,10 @@ Disable safe saves and try again?</source>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2091,6 +2045,22 @@ Disable safe saves and try again?</source>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Välj fil för import/export</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Rensa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2560,14 +2530,6 @@ This may cause the affected plugins to malfunction.</source>
|
||||
<translation>[tom]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3157,6 +3119,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3799,10 +3777,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -4832,6 +4806,10 @@ Tillgängliga kommandon:
|
||||
<source>Database password: </source>
|
||||
<translation>Databaslösenord:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5105,8 +5083,7 @@ Tillgängliga kommandon:
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -5124,10 +5101,6 @@ Tillgängliga kommandon:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Inte denna gång</translation>
|
||||
@ -5204,14 +5177,6 @@ Tillgängliga kommandon:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5236,6 +5201,34 @@ Tillgängliga kommandon:
|
||||
<source>Export to %1</source>
|
||||
<translation>Exportera till %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Panoya kopyala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Düzeltme: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Dağıtım: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Kütüphaneler:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>İşletim sistemi: %1
|
||||
MİB mimarisi: %2
|
||||
Çekirdek: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Etkin eklentiler:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Proje Sahipleri:</translation>
|
||||
@ -69,50 +45,6 @@ MİB mimarisi: %2
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>KeePassXC ekibinden özel teşekkürler, özgün KeePassX'i yaptığı için debfx'e gider.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Sürüm %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Yapı: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Oto-Yazım</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Tarayıcı Bütünleşmesi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH Aracısı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Yok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (imzalı ve imzasız paylaşım)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (sadece imzalanmış paylaşım)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (sadece imzasız paylaşım)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Lütfen kimlik bilgilerini kaydetmek için doğru veritabanını seç.</translat
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Özel proxy konumunu seçin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Üzgünüz, ancak şu anda Snap yayınları için KeePassXC-Tarayıcı desteklenmiyor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>KeePassXC-Tarayıcı tarayıcı entegrasyonunun çalışması için gereklidir. <br /> Şunları indirin %1 ve %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor Tarayıcı</translation>
|
||||
@ -685,6 +609,18 @@ Lütfen kimlik bilgilerini kaydetmek için doğru veritabanını seç.</translat
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>HTTP ve Temel Kimlik Doğrulama için izin isteme</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -759,12 +695,20 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC: Eski tarayıcı entegrasyon ayarları tespit edildi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Eski tarayıcı bütünleşmesi ayarları tespit edildi.
|
||||
Ayarları en son standarda yükseltmek ister misiniz?
|
||||
Tarayıcı eklentisiyle uyumluluğu korumak için bu gereklidir.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -926,6 +870,10 @@ Tarayıcı eklentisiyle uyumluluğu korumak için bu gereklidir.</translation>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Dosya salt okunur kipinde açıldığı için yazılamıyor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1681,6 +1629,10 @@ Güvenli kaydetme devre dışı bırakılsın ve tekrar denensin mi?</translatio
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Veritabanı birleştirme işlemi tarafından değiştirilmedi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2118,6 +2070,22 @@ Güvenli kaydetme devre dışı bırakılsın ve tekrar denensin mi?</translatio
|
||||
<source>Select import/export file</source>
|
||||
<translation>Aktarma dosyasını seç içe/dışa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Temizle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2592,14 +2560,6 @@ Bu etkilenen eklentilerin bozulmasına neden olabilir.</translation>
|
||||
<translation>[boş]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3195,6 +3155,22 @@ Satır %2, sütun %3</translation>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Şununla eşitle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3845,10 +3821,6 @@ Bazı hatalar ve küçük sorunlar olabilir, bu sürüm şu an dağıtımda değ
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>Parola, veritabanınızın güvenliğini sağlamak için birincil yöntemdir.</p><p>Güçlü parolalar uzun ve benzersizdir. KeePassXC sizin için bir tane üretebilir.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Parola boş olamaz.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Parolalar uyuşmuyor.</translation>
|
||||
@ -4885,6 +4857,10 @@ Kullanılabilir komutlar:
|
||||
<source>Database password: </source>
|
||||
<translation>Veritabanı parolası:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5158,9 +5134,8 @@ Kullanılabilir komutlar:
|
||||
<translation>Aktarılan sertifika kullanılan sertifika ile aynı değil. Mevcut sertifikayı vermek aktarmak musunuz?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5177,10 +5152,6 @@ Kullanılabilir komutlar:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Sertifikayı kapsayıcıdan içe aktar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>%3' ten %2 parmak iziyle %1 e güveniyor musunuz?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Bu sefer değil</translation>
|
||||
@ -5257,14 +5228,6 @@ Kullanılabilir komutlar:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Dışa aktarma kapsayıcısı (%1) yazılamadı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>İmza gömülemedi (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Veritabanı gömülemedi (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>İmzalanmamış paylaşım kapsayıcısının üzerine yazma desteklenmiyor -dışa aktarma engellendi</translation>
|
||||
@ -5289,6 +5252,34 @@ Kullanılabilir komutlar:
|
||||
<source>Export to %1</source>
|
||||
<translation>%1'e aktar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>%3'ten %2 parmak izi ile %1'e güvenmek ister misiniz? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>Скопіювати в кишеню</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>Ревізія: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>Розподіл: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>Бібліотеки:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>Операційна система: %1
|
||||
Архітектура ЦП: %2
|
||||
Ядро: %3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>Увімкнені розширення:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>Супровідники проекту:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</source>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>Команда KeePassXC щиро дякує debfx за створення первісної версії KeePassX.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>Версія %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>Тип збірки: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Автозаповнення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>Сполучення з переглядачем</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>Посередник SSH</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Відсутні</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (підписане і непідписане спільне використання)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (тільки підписане спільне використання)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (тільки непідписане спільне використання)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>Вибрати власне розташування посередника</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>Вибачте, але KeePassXC-Переглядач поки що не працює у версіях Snap.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>Для сполучення з переглядачем необхідний KeePassXC-Browser. <br />Завантажте його для %1 та %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>Переглядач &Tor</translation>
|
||||
@ -685,6 +609,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>Не запитувати дозвіл для HTTP &Basic Auth</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -759,12 +695,20 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC: знайдено застаріле налаштування сполучення з переглядачами</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>Знайдено застаріле налаштування сполучення з переглядачами.
|
||||
Бажаєте оновити налаштування згідно з найновішими стандартами?
|
||||
Це необхідно для підтримання сумісності з модулем переглядача.</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -926,6 +870,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>Неможливо записати файл, оскільки він відкритий у режимі читання.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1681,6 +1629,10 @@ Disable safe saves and try again?</source>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>Об'єднання не змінило сховище.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2118,6 +2070,22 @@ Disable safe saves and try again?</source>
|
||||
<source>Select import/export file</source>
|
||||
<translation>Вибрати файл імпорту/експорту</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Очистити</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2593,14 +2561,6 @@ This may cause the affected plugins to malfunction.</source>
|
||||
<translation>[порожня]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3195,6 +3155,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation>Узгодити з</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3844,10 +3820,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>Пароль є основним засобом для убезпечення Вашого сховища.</p><p>Найкращі паролі мають бути довгими та унікальними. KeePassXC може створити такий для Вас.</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>Пароль не може бути пустим.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>Паролі не збігаються.</translation>
|
||||
@ -4884,6 +4856,10 @@ Available commands:
|
||||
<source>Database password: </source>
|
||||
<translation>Пароль сховища: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5157,9 +5133,8 @@ Available commands:
|
||||
<translation>Експортований сертифікат не відповідає чинному сертифікатові. Бажаєте експортувати чинний сертифікат?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5176,10 +5151,6 @@ Available commands:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>Імпортування з оболонки, що має сертифікат</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>Довірити %1, що має відбиток %2 з %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>Не зараз</translation>
|
||||
@ -5256,14 +5227,6 @@ Available commands:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>Неможливо записати експортну оболонку (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>Неможливо вкласти підпис (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>Неможливо вкласти сховище (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>Перезаписування непідписаної спільної оболонки не підтримане – експортування відвернуте</translation>
|
||||
@ -5288,6 +5251,34 @@ Available commands:
|
||||
<source>Export to %1</source>
|
||||
<translation>Експортування %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>复制到剪贴板</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>修订版本:%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>发行版: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>库:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>操作系统:%1
|
||||
CPU 架构:%2
|
||||
内核:%3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>已启用的扩展:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>项目维护者:</translation>
|
||||
@ -69,50 +45,6 @@ CPU 架构:%2
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>KeePassXC 团队特别感谢 debfx 开发了最初版 KeePassX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>版本 %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>构建类型: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>自动输入</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>浏览器配合</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH 代理</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation>YubiKey</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation>TouchID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>无</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation>KeeShare (签名和未签名共享)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation>KeeShare (仅限签名共享)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation>KeeShare (仅限未签名共享)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -656,14 +588,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>选择自定义代理路径</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation>非常抱歉,KeePassXC-Browser 当前不支持 Snap 发行包</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation>浏览器集成需要KeePassXC-Browser才能工作。<br />下载 %1 和 %2。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation>&Tor浏览器</translation>
|
||||
@ -685,6 +609,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation>不要请求 http 和基本身份验证的许可</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -759,12 +695,20 @@ Moved %2 keys to custom data.</source>
|
||||
<translation>KeePassXC:检测到旧版浏览器集成设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<translation>已检测到旧版浏览器集成设置
|
||||
是否要将设置升级到最新标准?
|
||||
这对于保持与浏览器插件的兼容性是必要的。</translation>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -926,6 +870,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>文件无法写入,因为它以只读模式打开。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1680,6 +1628,10 @@ Disable safe saves and try again?</source>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation>合并操作未修改数据库。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2117,6 +2069,22 @@ Disable safe saves and try again?</source>
|
||||
<source>Select import/export file</source>
|
||||
<translation>选择导入文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>清除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2588,14 +2556,6 @@ This may cause the affected plugins to malfunction.</source>
|
||||
<translation>[空]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3189,6 +3149,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation>与同步</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3839,10 +3815,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation><p>密码是保护数据库的主要方法。</p><p>良好的密码长且独特。 KeePassXC可以为您生成一个。</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation>密码不能为空。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation>密码不匹配。</translation>
|
||||
@ -4879,6 +4851,10 @@ Available commands:
|
||||
<source>Database password: </source>
|
||||
<translation>数据库密码:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5152,9 +5128,8 @@ Available commands:
|
||||
<translation>导出的证书与正在使用的证书不同。是否要导出当前证书?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<translation>%1.%2</translation>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5171,10 +5146,6 @@ Available commands:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation>从带有证书的容器导入</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation>是否要信任 %1 , 来自 %3的%2的指纹</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation>本次取消</translation>
|
||||
@ -5251,14 +5222,6 @@ Available commands:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation>无法写入导出容器 (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation>无法嵌入签名 (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation>无法嵌入数据库 (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation>不支持覆盖未签名的共享容器-防止导出</translation>
|
||||
@ -5283,6 +5246,34 @@ Available commands:
|
||||
<source>Export to %1</source>
|
||||
<translation>导出到%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation>是否要信任 %1, 来自 %3 的 %2 的指纹? {1 ?} {2 ?}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -37,30 +37,6 @@
|
||||
<source>Copy to clipboard</source>
|
||||
<translation>複製到剪貼簿</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision: %1</source>
|
||||
<translation>修訂:%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Distribution: %1</source>
|
||||
<translation>散佈:%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Libraries:</source>
|
||||
<translation>函式庫:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operating system: %1
|
||||
CPU architecture: %2
|
||||
Kernel: %3 %4</source>
|
||||
<translation>作業系統:%1
|
||||
處裡器架構:%2
|
||||
核心:%3 %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled extensions:</source>
|
||||
<translation>已啟用的擴充元件:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project Maintainers:</source>
|
||||
<translation>專案維護者:</translation>
|
||||
@ -69,50 +45,6 @@ Kernel: %3 %4</source>
|
||||
<source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
|
||||
<translation>KeePassXC 團隊特別鳴謝 debfx 開發了原本的 KeePassX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version %1</source>
|
||||
<translation>版本 %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Type: %1</source>
|
||||
<translation>建置型態: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>自動輸入</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browser Integration</source>
|
||||
<translation>瀏覽器整合</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SSH Agent</source>
|
||||
<translation>SSH 代理</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YubiKey</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>TouchID</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>無</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (signed and unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only signed sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeeShare (only unsigned sharing)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AgentSettingsWidget</name>
|
||||
@ -655,14 +587,6 @@ Please select the correct database for saving credentials.</source>
|
||||
<source>Select custom proxy location</source>
|
||||
<translation>選擇自訂代理位置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Tor Browser</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -684,6 +608,18 @@ Please select the correct database for saving credentials.</source>
|
||||
<extracomment>An extra HTTP Basic Auth setting</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Due to Snap sandboxing, you must run a script to enable browser integration.<br />You can obtain this script from %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please see special instructions for browser extension use below</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BrowserService</name>
|
||||
@ -757,9 +693,19 @@ Moved %2 keys to custom data.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy browser integration settings have been detected.
|
||||
Do you want to upgrade the settings to the latest standard?
|
||||
This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>KeePassXC: Create a new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>A request for creating a new group "%1" has been received.
|
||||
Do you want to create this group?
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
|
||||
This is necessary to maintain your current browser connections.
|
||||
Would you like to migrate your existing settings now?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -921,6 +867,10 @@ This is necessary to maintain compatibility with the browser plugin.</source>
|
||||
<source>File cannot be written as it is opened in read-only mode.</source>
|
||||
<translation>無法寫入檔案,因為該檔案以唯獨模式開啟。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key not transformed. This is a bug, please report it to the developers!</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenDialog</name>
|
||||
@ -1662,6 +1612,10 @@ Disable safe saves and try again?</source>
|
||||
<source>Database was not modified by merge operation.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Shared group...</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@ -2099,6 +2053,22 @@ Disable safe saves and try again?</source>
|
||||
<source>Select import/export file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>清除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The export container %1 is already referenced.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The import container %1 is already imported.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>The container %1 imported and export by different groups.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditGroupWidgetMain</name>
|
||||
@ -2569,14 +2539,6 @@ This may cause the affected plugins to malfunction.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GroupModel</name>
|
||||
<message>
|
||||
<source>%1</source>
|
||||
<comment>Template for name without annotation</comment>
|
||||
<translation>%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HostInstaller</name>
|
||||
<message>
|
||||
@ -3169,6 +3131,22 @@ Line %2, column %3</source>
|
||||
<source>Synchronize with</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disabled share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import from share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export to share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronize with share %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeyComponentWidget</name>
|
||||
@ -3813,10 +3791,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
|
||||
<source><p>A password is the primary method for securing your database.</p><p>Good passwords are long and unique. KeePassXC can generate one for you.</p></source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password cannot be empty.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords do not match.</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -4848,6 +4822,10 @@ Available commands:
|
||||
<source>Database password: </source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot create new group</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
@ -5121,8 +5099,7 @@ Available commands:
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1.%2</source>
|
||||
<comment>Template for KeeShare key file</comment>
|
||||
<source>Signer:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
@ -5140,10 +5117,6 @@ Available commands:
|
||||
<source>Import from container with certificate</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not this time</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5220,14 +5193,6 @@ Available commands:
|
||||
<source>Could not write export container (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overwriting unsigned share container is not supported - export prevented</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -5252,6 +5217,34 @@ Available commands:
|
||||
<source>Export to %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Multiple import source path to %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicting export target path %1 in %2</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed signature: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not open file to write (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not embed database: Could not write file (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TotpDialog</name>
|
||||
|
@ -31,9 +31,10 @@ parts:
|
||||
- -DCMAKE_BUILD_TYPE=Release
|
||||
- -DCMAKE_INSTALL_PREFIX=/usr
|
||||
- -DKEEPASSXC_DIST_TYPE=Snap
|
||||
- -DKEEPASSXC_BUILD_TYPE=PreRelease
|
||||
- -DKEEPASSXC_BUILD_TYPE=Release
|
||||
- -DWITH_TESTS=OFF
|
||||
- -DWITH_XC_ALL=ON
|
||||
- -DWITH_XC_KEESHARE_SECURE=ON
|
||||
build-packages:
|
||||
- g++
|
||||
- libgcrypt20-dev
|
||||
@ -50,6 +51,7 @@ parts:
|
||||
- libsodium-dev
|
||||
- libargon2-0-dev
|
||||
- libqrencode-dev
|
||||
- libquazip5-dev
|
||||
stage-packages:
|
||||
- dbus
|
||||
- qttranslations5-l10n # common translations
|
||||
@ -60,6 +62,9 @@ parts:
|
||||
- libxtst6
|
||||
- libqt5x11extras5
|
||||
- libqt5svg5
|
||||
- libqrencode3
|
||||
- libqt5concurrent5
|
||||
- libquazip5-1
|
||||
- libusb-1.0-0
|
||||
- qtwayland5
|
||||
override-build: |
|
||||
@ -71,3 +76,24 @@ parts:
|
||||
- -opt
|
||||
after: [desktop-qt5]
|
||||
|
||||
desktop-qt5:
|
||||
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
|
||||
source-subdir: qt
|
||||
plugin: make
|
||||
make-parameters: ["FLAVOR=qt5"]
|
||||
build-packages:
|
||||
- qtbase5-dev
|
||||
- dpkg-dev
|
||||
stage-packages:
|
||||
- libxkbcommon0
|
||||
- ttf-ubuntu-font-family
|
||||
- dmz-cursor-theme
|
||||
- light-themes
|
||||
- adwaita-icon-theme
|
||||
- gnome-themes-standard
|
||||
- shared-mime-info
|
||||
- libqt5gui5
|
||||
- libgdk-pixbuf2.0-0
|
||||
- libqt5svg5 # for loading icon themes which are svg
|
||||
- try: [appmenu-qt5] # not available on core18
|
||||
- locales-all
|
||||
|
@ -21,11 +21,11 @@
|
||||
#include "NativeMessagingBase.h"
|
||||
#include "config-keepassx.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonParseError>
|
||||
#include <sodium.h>
|
||||
#include <sodium/crypto_box.h>
|
||||
#include <sodium/randombytes.h>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonParseError>
|
||||
|
||||
BrowserAction::BrowserAction(BrowserService& browserService)
|
||||
: m_mutex(QMutex::Recursive)
|
||||
@ -88,6 +88,8 @@ QJsonObject BrowserAction::handleAction(const QJsonObject& json)
|
||||
return handleLockDatabase(json, action);
|
||||
} else if (action.compare("get-database-groups", Qt::CaseSensitive) == 0) {
|
||||
return handleGetDatabaseGroups(json, action);
|
||||
} else if (action.compare("create-new-group", Qt::CaseSensitive) == 0) {
|
||||
return handleCreateNewGroup(json, action);
|
||||
}
|
||||
|
||||
// Action was not recognized
|
||||
@ -407,6 +409,42 @@ QJsonObject BrowserAction::handleGetDatabaseGroups(const QJsonObject& json, cons
|
||||
return buildResponse(action, message, newNonce);
|
||||
}
|
||||
|
||||
QJsonObject BrowserAction::handleCreateNewGroup(const QJsonObject& json, const QString& action)
|
||||
{
|
||||
const QString hash = getDatabaseHash();
|
||||
const QString nonce = json.value("nonce").toString();
|
||||
const QString encrypted = json.value("message").toString();
|
||||
|
||||
QMutexLocker locker(&m_mutex);
|
||||
if (!m_associated) {
|
||||
return getErrorReply(action, ERROR_KEEPASS_ASSOCIATION_FAILED);
|
||||
}
|
||||
|
||||
const QJsonObject decrypted = decryptMessage(encrypted, nonce);
|
||||
if (decrypted.isEmpty()) {
|
||||
return getErrorReply(action, ERROR_KEEPASS_CANNOT_DECRYPT_MESSAGE);
|
||||
}
|
||||
|
||||
QString command = decrypted.value("action").toString();
|
||||
if (command.isEmpty() || command.compare("create-new-group", Qt::CaseSensitive) != 0) {
|
||||
return getErrorReply(action, ERROR_KEEPASS_INCORRECT_ACTION);
|
||||
}
|
||||
|
||||
QString group = decrypted.value("groupName").toString();
|
||||
const QJsonObject newGroup = m_browserService.createNewGroup(group);
|
||||
if (newGroup.isEmpty() || newGroup["name"].toString().isEmpty() || newGroup["uuid"].toString().isEmpty()) {
|
||||
return getErrorReply(action, ERROR_KEEPASS_CANNOT_CREATE_NEW_GROUP);
|
||||
}
|
||||
|
||||
const QString newNonce = incrementNonce(nonce);
|
||||
|
||||
QJsonObject message = buildMessage(newNonce);
|
||||
message["name"] = newGroup["name"];
|
||||
message["uuid"] = newGroup["uuid"];
|
||||
|
||||
return buildResponse(action, message, newNonce);
|
||||
}
|
||||
|
||||
QJsonObject BrowserAction::getErrorReply(const QString& action, const int errorCode) const
|
||||
{
|
||||
QJsonObject response;
|
||||
@ -468,6 +506,8 @@ QString BrowserAction::getErrorMessage(const int errorCode) const
|
||||
return QObject::tr("No logins found");
|
||||
case ERROR_KEEPASS_NO_GROUPS_FOUND:
|
||||
return QObject::tr("No groups found");
|
||||
case ERROR_KEEPASS_CANNOT_CREATE_NEW_GROUP:
|
||||
return QObject::tr("Cannot create new group");
|
||||
default:
|
||||
return QObject::tr("Unknown error");
|
||||
}
|
||||
|
@ -46,7 +46,8 @@ class BrowserAction : public QObject
|
||||
ERROR_KEEPASS_EMPTY_MESSAGE_RECEIVED = 13,
|
||||
ERROR_KEEPASS_NO_URL_PROVIDED = 14,
|
||||
ERROR_KEEPASS_NO_LOGINS_FOUND = 15,
|
||||
ERROR_KEEPASS_NO_GROUPS_FOUND = 16
|
||||
ERROR_KEEPASS_NO_GROUPS_FOUND = 16,
|
||||
ERROR_KEEPASS_CANNOT_CREATE_NEW_GROUP = 17
|
||||
};
|
||||
|
||||
public:
|
||||
@ -66,6 +67,7 @@ private:
|
||||
QJsonObject handleSetLogin(const QJsonObject& json, const QString& action);
|
||||
QJsonObject handleLockDatabase(const QJsonObject& json, const QString& action);
|
||||
QJsonObject handleGetDatabaseGroups(const QJsonObject& json, const QString& action);
|
||||
QJsonObject handleCreateNewGroup(const QJsonObject& json, const QString& action);
|
||||
|
||||
QJsonObject buildMessage(const QString& nonce) const;
|
||||
QJsonObject buildResponse(const QString& action, const QJsonObject& message, const QString& nonce);
|
||||
|
@ -32,13 +32,24 @@ BrowserOptionDialog::BrowserOptionDialog(QWidget* parent)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
|
||||
// clang-format off
|
||||
QString snapInstructions;
|
||||
#if defined(KEEPASSXC_DIST_SNAP)
|
||||
snapInstructions = "<br /><br />" +
|
||||
tr("Due to Snap sandboxing, you must run a script to enable browser integration."
|
||||
"<br />"
|
||||
"You can obtain this script from %1")
|
||||
.arg("<a href=\"https://keepassxc.org/download#linux\">https://keepassxc.org</a>");
|
||||
#endif
|
||||
|
||||
m_ui->extensionLabel->setOpenExternalLinks(true);
|
||||
m_ui->extensionLabel->setText(
|
||||
tr("KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2.")
|
||||
tr("KeePassXC-Browser is needed for the browser integration to work. <br />Download it for %1 and %2. %3")
|
||||
.arg("<a href=\"https://addons.mozilla.org/en-US/firefox/addon/keepassxc-browser/\">Firefox</a>",
|
||||
"<a "
|
||||
"href=\"https://chrome.google.com/webstore/detail/keepassxc-browser/"
|
||||
"oboonakemofpalcgghocfoadofidjkkk\">Google Chrome / Chromium / Vivaldi</a>"));
|
||||
"<a href=\"https://chrome.google.com/webstore/detail/keepassxc-browser/oboonakemofpalcgghocfoadofidjkkk\">"
|
||||
"Google Chrome / Chromium / Vivaldi</a>",
|
||||
snapInstructions));
|
||||
// clang-format on
|
||||
|
||||
m_ui->scriptWarningWidget->setVisible(false);
|
||||
m_ui->scriptWarningWidget->setAutoHideTimeout(-1);
|
||||
@ -119,11 +130,18 @@ void BrowserOptionDialog::loadSettings()
|
||||
m_ui->supportBrowserProxy->setChecked(true);
|
||||
m_ui->supportBrowserProxy->setEnabled(false);
|
||||
#elif defined(KEEPASSXC_DIST_SNAP)
|
||||
m_ui->enableBrowserSupport->setChecked(false);
|
||||
m_ui->enableBrowserSupport->setEnabled(false);
|
||||
m_ui->browserGlobalWarningWidget->showMessage(
|
||||
tr("We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment."),
|
||||
MessageWidget::Warning);
|
||||
// Disable settings that will not work
|
||||
m_ui->supportBrowserProxy->setChecked(true);
|
||||
m_ui->supportBrowserProxy->setEnabled(false);
|
||||
m_ui->useCustomProxy->setChecked(false);
|
||||
m_ui->useCustomProxy->setEnabled(false);
|
||||
m_ui->browsersGroupBox->setVisible(false);
|
||||
m_ui->browsersGroupBox->setEnabled(false);
|
||||
m_ui->updateBinaryPath->setChecked(false);
|
||||
m_ui->updateBinaryPath->setEnabled(false);
|
||||
// Show notice to user
|
||||
m_ui->browserGlobalWarningWidget->showMessage(tr("Please see special instructions for browser extension use below"),
|
||||
MessageWidget::Warning);
|
||||
m_ui->browserGlobalWarningWidget->setCloseButtonVisible(false);
|
||||
m_ui->browserGlobalWarningWidget->setAutoHideTimeout(-1);
|
||||
#endif
|
||||
|
@ -150,7 +150,7 @@ QString BrowserService::getDatabaseRecycleBinUuid()
|
||||
return recycleBin->uuidToHex();
|
||||
}
|
||||
|
||||
QJsonArray BrowserService::addChildrenToGroup(Group* group)
|
||||
QJsonArray BrowserService::getChildrenFromGroup(Group* group)
|
||||
{
|
||||
QJsonArray groupList;
|
||||
|
||||
@ -166,7 +166,7 @@ QJsonArray BrowserService::addChildrenToGroup(Group* group)
|
||||
QJsonObject jsonGroup;
|
||||
jsonGroup["name"] = c->name();
|
||||
jsonGroup["uuid"] = Tools::uuidToHex(c->uuid());
|
||||
jsonGroup["children"] = addChildrenToGroup(c);
|
||||
jsonGroup["children"] = getChildrenFromGroup(c);
|
||||
groupList.push_back(jsonGroup);
|
||||
}
|
||||
return groupList;
|
||||
@ -187,7 +187,7 @@ QJsonObject BrowserService::getDatabaseGroups()
|
||||
QJsonObject root;
|
||||
root["name"] = rootGroup->name();
|
||||
root["uuid"] = Tools::uuidToHex(rootGroup->uuid());
|
||||
root["children"] = addChildrenToGroup(rootGroup);
|
||||
root["children"] = getChildrenFromGroup(rootGroup);
|
||||
|
||||
QJsonArray groups;
|
||||
groups.push_back(root);
|
||||
@ -198,6 +198,84 @@ QJsonObject BrowserService::getDatabaseGroups()
|
||||
return result;
|
||||
}
|
||||
|
||||
QJsonObject BrowserService::createNewGroup(const QString& groupName)
|
||||
{
|
||||
QJsonObject result;
|
||||
if (thread() != QThread::currentThread()) {
|
||||
QMetaObject::invokeMethod(this,
|
||||
"createNewGroup",
|
||||
Qt::BlockingQueuedConnection,
|
||||
Q_RETURN_ARG(QJsonObject, result),
|
||||
Q_ARG(QString, groupName));
|
||||
return result;
|
||||
}
|
||||
|
||||
auto db = getDatabase();
|
||||
if (!db) {
|
||||
return {};
|
||||
}
|
||||
|
||||
Group* rootGroup = db->rootGroup();
|
||||
if (!rootGroup) {
|
||||
return {};
|
||||
}
|
||||
|
||||
auto group = rootGroup->findGroupByPath(groupName);
|
||||
|
||||
// Group already exists
|
||||
if (group) {
|
||||
result["name"] = group->name();
|
||||
result["uuid"] = Tools::uuidToHex(group->uuid());
|
||||
return result;
|
||||
}
|
||||
|
||||
auto dialogResult = MessageBox::warning(nullptr,
|
||||
tr("KeePassXC: Create a new group"),
|
||||
tr("A request for creating a new group \"%1\" has been received.\n"
|
||||
"Do you want to create this group?\n")
|
||||
.arg(groupName),
|
||||
MessageBox::Yes | MessageBox::No);
|
||||
|
||||
if (dialogResult != MessageBox::Yes) {
|
||||
return result;
|
||||
}
|
||||
|
||||
QString name, uuid;
|
||||
Group* previousGroup = rootGroup;
|
||||
auto groups = groupName.split("/");
|
||||
|
||||
// Returns the group name based on depth
|
||||
auto getGroupName = [&](int depth) {
|
||||
QString gName;
|
||||
for (int i = 0; i < depth + 1; ++i) {
|
||||
gName.append((i == 0 ? "" : "/") + groups[i]);
|
||||
}
|
||||
return gName;
|
||||
};
|
||||
|
||||
// Create new group(s) always when the path is not found
|
||||
for (int i = 0; i < groups.length(); ++i) {
|
||||
QString gName = getGroupName(i);
|
||||
auto tempGroup = rootGroup->findGroupByPath(gName);
|
||||
if (!tempGroup) {
|
||||
Group* newGroup = new Group();
|
||||
newGroup->setName(groups[i]);
|
||||
newGroup->setUuid(QUuid::createUuid());
|
||||
newGroup->setParent(previousGroup);
|
||||
name = newGroup->name();
|
||||
uuid = Tools::uuidToHex(newGroup->uuid());
|
||||
previousGroup = newGroup;
|
||||
continue;
|
||||
}
|
||||
|
||||
previousGroup = tempGroup;
|
||||
}
|
||||
|
||||
result["name"] = name;
|
||||
result["uuid"] = uuid;
|
||||
return result;
|
||||
}
|
||||
|
||||
QString BrowserService::storeKey(const QString& key)
|
||||
{
|
||||
QString id;
|
||||
@ -630,7 +708,7 @@ QList<Entry*> BrowserService::sortEntries(QList<Entry*>& pwEntries, const QStrin
|
||||
{
|
||||
QUrl url(entryUrl);
|
||||
if (url.scheme().isEmpty()) {
|
||||
url.setScheme("http");
|
||||
url.setScheme("https");
|
||||
}
|
||||
|
||||
const QString submitUrl = url.toString(QUrl::StripTrailingSlash);
|
||||
@ -996,12 +1074,13 @@ bool BrowserService::checkLegacySettings()
|
||||
return false;
|
||||
}
|
||||
|
||||
auto dialogResult = MessageBox::warning(nullptr,
|
||||
tr("KeePassXC: Legacy browser integration settings detected"),
|
||||
tr("Legacy browser integration settings have been detected.\n"
|
||||
"Do you want to upgrade the settings to the latest standard?\n"
|
||||
"This is necessary to maintain compatibility with the browser plugin."),
|
||||
MessageBox::Yes | MessageBox::No);
|
||||
auto dialogResult =
|
||||
MessageBox::warning(nullptr,
|
||||
tr("KeePassXC: Legacy browser integration settings detected"),
|
||||
tr("Your KeePassXC-Browser settings need to be moved into the database settings.\n"
|
||||
"This is necessary to maintain your current browser connections.\n"
|
||||
"Would you like to migrate your existing settings now?"),
|
||||
MessageBox::Yes | MessageBox::No);
|
||||
|
||||
return dialogResult == MessageBox::Yes;
|
||||
}
|
||||
@ -1034,6 +1113,8 @@ void BrowserService::raiseWindow(const bool force)
|
||||
m_prevWindowState = WindowState::Minimized;
|
||||
}
|
||||
#ifdef Q_OS_MACOS
|
||||
Q_UNUSED(force);
|
||||
|
||||
if (macUtils()->isHidden()) {
|
||||
m_prevWindowState = WindowState::Hidden;
|
||||
}
|
||||
|
@ -45,6 +45,7 @@ public:
|
||||
QString getDatabaseRootUuid();
|
||||
QString getDatabaseRecycleBinUuid();
|
||||
QJsonObject getDatabaseGroups();
|
||||
QJsonObject createNewGroup(const QString& groupName);
|
||||
QString getKey(const QString& id);
|
||||
void addEntry(const QString& id,
|
||||
const QString& login,
|
||||
@ -121,7 +122,7 @@ private:
|
||||
QString baseDomain(const QString& url) const;
|
||||
QSharedPointer<Database> getDatabase();
|
||||
QSharedPointer<Database> selectedDatabase();
|
||||
QJsonArray addChildrenToGroup(Group* group);
|
||||
QJsonArray getChildrenFromGroup(Group* group);
|
||||
bool moveSettingsToCustomData(Entry* entry, const QString& name) const;
|
||||
int moveKeysToCustomData(Entry* entry, const QSharedPointer<Database>& db) const;
|
||||
bool checkLegacySettings();
|
||||
|
@ -186,7 +186,7 @@ void BrowserSettings::setCustomProxyLocation(const QString& location)
|
||||
|
||||
bool BrowserSettings::updateBinaryPath()
|
||||
{
|
||||
return config()->get("Browser/UpdateBinaryPath", false).toBool();
|
||||
return config()->get("Browser/UpdateBinaryPath", true).toBool();
|
||||
}
|
||||
|
||||
void BrowserSettings::setUpdateBinaryPath(bool enabled)
|
||||
|
@ -65,6 +65,7 @@ void NativeMessagingBase::newNativeMessage()
|
||||
EV_SET(ev, fileno(stdin), EVFILT_READ, EV_ADD, 0, 0, nullptr);
|
||||
if (kevent(fd, ev, 1, nullptr, 0, &ts) == -1) {
|
||||
m_notifier->setEnabled(false);
|
||||
::close(fd);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -81,6 +82,7 @@ void NativeMessagingBase::newNativeMessage()
|
||||
event.data.fd = 0;
|
||||
if (epoll_ctl(fd, EPOLL_CTL_ADD, 0, &event) != 0) {
|
||||
m_notifier->setEnabled(false);
|
||||
::close(fd);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -135,7 +137,9 @@ void NativeMessagingBase::sendReply(const QString& reply)
|
||||
QString NativeMessagingBase::getLocalServerPath() const
|
||||
{
|
||||
const QString serverPath = "/kpxc_server";
|
||||
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
|
||||
#if defined(KEEPASSXC_DIST_SNAP)
|
||||
return QProcessEnvironment::systemEnvironment().value("SNAP_COMMON") + serverPath;
|
||||
#elif defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
|
||||
// Use XDG_RUNTIME_DIR instead of /tmp if it's available
|
||||
QString path = QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation);
|
||||
return path.isEmpty() ? QStandardPaths::writableLocation(QStandardPaths::TempLocation) + serverPath
|
||||
|
@ -53,7 +53,7 @@ protected slots:
|
||||
protected:
|
||||
virtual void readLength() = 0;
|
||||
virtual bool readStdIn(const quint32 length) = 0;
|
||||
void readNativeMessages();
|
||||
virtual void readNativeMessages();
|
||||
QString jsonToString(const QJsonObject& json) const;
|
||||
void sendReply(const QJsonObject& json);
|
||||
void sendReply(const QString& reply);
|
||||
|
@ -32,7 +32,7 @@ class NativeMessagingHost : public NativeMessagingBase
|
||||
|
||||
public:
|
||||
explicit NativeMessagingHost(DatabaseTabWidget* parent = nullptr, const bool enabled = false);
|
||||
~NativeMessagingHost();
|
||||
~NativeMessagingHost() override;
|
||||
int init();
|
||||
void run();
|
||||
void stop();
|
||||
|
@ -275,6 +275,7 @@ bool Database::writeDatabase(QIODevice* device, QString* error)
|
||||
return false;
|
||||
}
|
||||
|
||||
QByteArray oldTransformedKey = m_data.transformedMasterKey;
|
||||
KeePass2Writer writer;
|
||||
setEmitModified(false);
|
||||
writer.writeDatabase(device, this);
|
||||
@ -287,6 +288,15 @@ bool Database::writeDatabase(QIODevice* device, QString* error)
|
||||
return false;
|
||||
}
|
||||
|
||||
Q_ASSERT(!m_data.transformedMasterKey.isEmpty());
|
||||
Q_ASSERT(m_data.transformedMasterKey != oldTransformedKey);
|
||||
if (m_data.transformedMasterKey.isEmpty() || m_data.transformedMasterKey == oldTransformedKey) {
|
||||
if (error) {
|
||||
*error = tr("Key not transformed. This is a bug, please report it to the developers!");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
markAsClean();
|
||||
return true;
|
||||
}
|
||||
@ -307,16 +317,18 @@ bool Database::extract(QByteArray& xmlOutput, QString* error)
|
||||
|
||||
/**
|
||||
* Remove the old backup and replace it with a new one
|
||||
* backups are named <filename>.old.kdbx
|
||||
* backups are named <filename>.old.<extension>
|
||||
*
|
||||
* @param filePath Path to the file to backup
|
||||
* @return true on success
|
||||
*/
|
||||
bool Database::backupDatabase(const QString& filePath)
|
||||
{
|
||||
QString backupFilePath = filePath;
|
||||
auto re = QRegularExpression("\\.kdbx$|(?<!\\.kdbx)$", QRegularExpression::CaseInsensitiveOption);
|
||||
backupFilePath.replace(re, ".old.kdbx");
|
||||
static auto re = QRegularExpression("(\\.[^.]+)$");
|
||||
|
||||
auto match = re.match(filePath);
|
||||
auto backupFilePath = filePath;
|
||||
backupFilePath = backupFilePath.replace(re, "") + ".old" + match.captured(1);
|
||||
QFile::remove(backupFilePath);
|
||||
return QFile::copy(filePath, backupFilePath);
|
||||
}
|
||||
@ -512,9 +524,13 @@ void Database::setCompressionAlgorithm(Database::CompressionAlgorithm algo)
|
||||
* @param key key to set and transform or nullptr to reset the key
|
||||
* @param updateChangedTime true to update database change time
|
||||
* @param updateTransformSalt true to update the transform salt
|
||||
* @param transformKey trigger the KDF after setting the key
|
||||
* @return true on success
|
||||
*/
|
||||
bool Database::setKey(const QSharedPointer<const CompositeKey>& key, bool updateChangedTime, bool updateTransformSalt)
|
||||
bool Database::setKey(const QSharedPointer<const CompositeKey>& key,
|
||||
bool updateChangedTime,
|
||||
bool updateTransformSalt,
|
||||
bool transformKey)
|
||||
{
|
||||
Q_ASSERT(!m_data.isReadOnly);
|
||||
|
||||
@ -532,7 +548,9 @@ bool Database::setKey(const QSharedPointer<const CompositeKey>& key, bool update
|
||||
|
||||
QByteArray oldTransformedMasterKey = m_data.transformedMasterKey;
|
||||
QByteArray transformedMasterKey;
|
||||
if (!key->transform(*m_data.kdf, transformedMasterKey)) {
|
||||
if (!transformKey) {
|
||||
transformedMasterKey = oldTransformedMasterKey;
|
||||
} else if (!key->transform(*m_data.kdf, transformedMasterKey)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -109,7 +109,8 @@ public:
|
||||
QSharedPointer<const CompositeKey> key() const;
|
||||
bool setKey(const QSharedPointer<const CompositeKey>& key,
|
||||
bool updateChangedTime = true,
|
||||
bool updateTransformSalt = false);
|
||||
bool updateTransformSalt = false,
|
||||
bool transformKey = true);
|
||||
QByteArray challengeResponseKey() const;
|
||||
bool challengeMasterSeed(const QByteArray& masterSeed);
|
||||
bool verifyKey(const QSharedPointer<CompositeKey>& key) const;
|
||||
|
@ -926,7 +926,7 @@ QString Entry::resolveReferencePlaceholderRecursive(const QString& placeholder,
|
||||
|
||||
Q_ASSERT(m_group);
|
||||
Q_ASSERT(m_group->database());
|
||||
const Entry* refEntry = m_group->findEntryBySearchTerm(searchText, searchInType);
|
||||
const Entry* refEntry = m_group->database()->rootGroup()->findEntryBySearchTerm(searchText, searchInType);
|
||||
|
||||
if (refEntry) {
|
||||
const QString wantedField = match.captured(EntryAttributes::WantedFieldGroupName);
|
||||
|
@ -67,6 +67,15 @@ QString EntryAttributes::value(const QString& key) const
|
||||
return m_attributes.value(key);
|
||||
}
|
||||
|
||||
QList<QString> EntryAttributes::values(const QList<QString>& keys) const
|
||||
{
|
||||
QList<QString> values;
|
||||
for (const QString& key : keys) {
|
||||
values.append(m_attributes.value(key));
|
||||
}
|
||||
return values;
|
||||
}
|
||||
|
||||
bool EntryAttributes::contains(const QString& key) const
|
||||
{
|
||||
return m_attributes.contains(key);
|
||||
|
@ -36,6 +36,7 @@ public:
|
||||
bool hasKey(const QString& key) const;
|
||||
QList<QString> customKeys() const;
|
||||
QString value(const QString& key) const;
|
||||
QList<QString> values(const QList<QString>& keys) const;
|
||||
bool contains(const QString& key) const;
|
||||
bool containsValue(const QString& value) const;
|
||||
bool isProtected(const QString& key) const;
|
||||
|
@ -28,31 +28,83 @@ EntrySearcher::EntrySearcher(bool caseSensitive)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Search group, and its children, by parsing the provided search
|
||||
* string for search terms.
|
||||
*
|
||||
* @param searchString search terms
|
||||
* @param baseGroup group to start search from, cannot be null
|
||||
* @param forceSearch ignore group search settings
|
||||
* @return list of entries that match the search terms
|
||||
*/
|
||||
QList<Entry*> EntrySearcher::search(const QString& searchString, const Group* baseGroup, bool forceSearch)
|
||||
{
|
||||
Q_ASSERT(baseGroup);
|
||||
|
||||
parseSearchTerms(searchString);
|
||||
return repeat(baseGroup, forceSearch);
|
||||
}
|
||||
|
||||
/**
|
||||
* Repeat the last search starting from the given group
|
||||
*
|
||||
* @param baseGroup group to start search from, cannot be null
|
||||
* @param forceSearch ignore group search settings
|
||||
* @return list of entries that match the search terms
|
||||
*/
|
||||
QList<Entry*> EntrySearcher::repeat(const Group* baseGroup, bool forceSearch)
|
||||
{
|
||||
Q_ASSERT(baseGroup);
|
||||
|
||||
QList<Entry*> results;
|
||||
for (const auto group : baseGroup->groupsRecursive(true)) {
|
||||
if (forceSearch || group->resolveSearchingEnabled()) {
|
||||
results.append(searchEntries(searchString, group->entries()));
|
||||
for (auto* entry : group->entries()) {
|
||||
if (searchEntryImpl(entry)) {
|
||||
results.append(entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
/**
|
||||
* Search provided entries by parsing the search string
|
||||
* for search terms.
|
||||
*
|
||||
* @param searchString search terms
|
||||
* @param entries list of entries to include in the search
|
||||
* @return list of entries that match the search terms
|
||||
*/
|
||||
QList<Entry*> EntrySearcher::searchEntries(const QString& searchString, const QList<Entry*>& entries)
|
||||
{
|
||||
parseSearchTerms(searchString);
|
||||
return repeatEntries(entries);
|
||||
}
|
||||
|
||||
/**
|
||||
* Repeat the last search on the given entries
|
||||
*
|
||||
* @param entries list of entries to include in the search
|
||||
* @return list of entries that match the search terms
|
||||
*/
|
||||
QList<Entry*> EntrySearcher::repeatEntries(const QList<Entry*>& entries)
|
||||
{
|
||||
QList<Entry*> results;
|
||||
for (Entry* entry : entries) {
|
||||
if (searchEntryImpl(searchString, entry)) {
|
||||
for (auto* entry : entries) {
|
||||
if (searchEntryImpl(entry)) {
|
||||
results.append(entry);
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the next search to be case sensitive or not
|
||||
*
|
||||
* @param state
|
||||
*/
|
||||
void EntrySearcher::setCaseSensitive(bool state)
|
||||
{
|
||||
m_caseSensitive = state;
|
||||
@ -63,16 +115,15 @@ bool EntrySearcher::isCaseSensitive()
|
||||
return m_caseSensitive;
|
||||
}
|
||||
|
||||
bool EntrySearcher::searchEntryImpl(const QString& searchString, Entry* entry)
|
||||
bool EntrySearcher::searchEntryImpl(Entry* entry)
|
||||
{
|
||||
// Pre-load in case they are needed
|
||||
auto attributes = QStringList(entry->attributes()->keys());
|
||||
auto attributes_keys = entry->attributes()->customKeys();
|
||||
auto attributes = QStringList(attributes_keys + entry->attributes()->values(attributes_keys));
|
||||
auto attachments = QStringList(entry->attachments()->keys());
|
||||
|
||||
bool found;
|
||||
auto searchTerms = parseSearchTerms(searchString);
|
||||
|
||||
for (const auto& term : searchTerms) {
|
||||
for (const auto& term : m_searchTerms) {
|
||||
switch (term->field) {
|
||||
case Field::Title:
|
||||
found = term->regex.match(entry->resolvePlaceholder(entry->title())).hasMatch();
|
||||
@ -112,10 +163,9 @@ bool EntrySearcher::searchEntryImpl(const QString& searchString, Entry* entry)
|
||||
return true;
|
||||
}
|
||||
|
||||
QList<QSharedPointer<EntrySearcher::SearchTerm>> EntrySearcher::parseSearchTerms(const QString& searchString)
|
||||
void EntrySearcher::parseSearchTerms(const QString& searchString)
|
||||
{
|
||||
auto terms = QList<QSharedPointer<SearchTerm>>();
|
||||
|
||||
m_searchTerms.clear();
|
||||
auto results = m_termParser.globalMatch(searchString);
|
||||
while (results.hasNext()) {
|
||||
auto result = results.next();
|
||||
@ -165,8 +215,6 @@ QList<QSharedPointer<EntrySearcher::SearchTerm>> EntrySearcher::parseSearchTerms
|
||||
}
|
||||
}
|
||||
|
||||
terms.append(term);
|
||||
m_searchTerms.append(term);
|
||||
}
|
||||
|
||||
return terms;
|
||||
}
|
||||
|
@ -31,14 +31,15 @@ public:
|
||||
explicit EntrySearcher(bool caseSensitive = false);
|
||||
|
||||
QList<Entry*> search(const QString& searchString, const Group* baseGroup, bool forceSearch = false);
|
||||
QList<Entry*> repeat(const Group* baseGroup, bool forceSearch = false);
|
||||
|
||||
QList<Entry*> searchEntries(const QString& searchString, const QList<Entry*>& entries);
|
||||
QList<Entry*> repeatEntries(const QList<Entry*>& entries);
|
||||
|
||||
void setCaseSensitive(bool state);
|
||||
bool isCaseSensitive();
|
||||
|
||||
private:
|
||||
bool searchEntryImpl(const QString& searchString, Entry* entry);
|
||||
|
||||
enum class Field
|
||||
{
|
||||
Undefined,
|
||||
@ -59,10 +60,12 @@ private:
|
||||
bool exclude;
|
||||
};
|
||||
|
||||
QList<QSharedPointer<SearchTerm>> parseSearchTerms(const QString& searchString);
|
||||
bool searchEntryImpl(Entry* entry);
|
||||
void parseSearchTerms(const QString& searchString);
|
||||
|
||||
bool m_caseSensitive;
|
||||
QRegularExpression m_termParser;
|
||||
QList<QSharedPointer<SearchTerm>> m_searchTerms;
|
||||
|
||||
friend class TestEntrySearcher;
|
||||
};
|
||||
|
@ -123,6 +123,7 @@ BulkFileWatcher::BulkFileWatcher(QObject* parent)
|
||||
connect(&m_fileWatchUnblockTimer, SIGNAL(timeout()), this, SLOT(observeFileChanges()));
|
||||
connect(&m_pendingSignalsTimer, SIGNAL(timeout()), this, SLOT(emitSignals()));
|
||||
m_fileWatchUnblockTimer.setSingleShot(true);
|
||||
m_pendingSignalsTimer.setSingleShot(true);
|
||||
}
|
||||
|
||||
void BulkFileWatcher::clear()
|
||||
|
@ -1,8 +1,30 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Felix Geyer <debfx@fobos.de>
|
||||
* Copyright (C) 2018 KeePassXC Team <team@keepassxc.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "OSEventFilter.h"
|
||||
|
||||
#include <QByteArray>
|
||||
|
||||
#include "autotype/AutoType.h"
|
||||
#include "gui/MainWindow.h"
|
||||
#ifdef Q_OS_WIN
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
OSEventFilter::OSEventFilter()
|
||||
{
|
||||
@ -15,12 +37,18 @@ bool OSEventFilter::nativeEventFilter(const QByteArray& eventType, void* message
|
||||
#if defined(Q_OS_UNIX)
|
||||
if (eventType == QByteArrayLiteral("xcb_generic_event_t")) {
|
||||
#elif defined(Q_OS_WIN)
|
||||
if (eventType == QByteArrayLiteral("windows_generic_MSG")
|
||||
|| eventType == QByteArrayLiteral("windows_dispatcher_MSG")) {
|
||||
auto winmsg = static_cast<MSG*>(message);
|
||||
if (winmsg->message == WM_QUERYENDSESSION) {
|
||||
*result = 1;
|
||||
return true;
|
||||
} else if (winmsg->message == WM_ENDSESSION) {
|
||||
getMainWindow()->appExit();
|
||||
*result = 0;
|
||||
return true;
|
||||
} else if (eventType == QByteArrayLiteral("windows_generic_MSG")
|
||||
|| eventType == QByteArrayLiteral("windows_dispatcher_MSG")) {
|
||||
#endif
|
||||
int retCode = autoType()->callEventFilter(message);
|
||||
|
||||
return retCode == 1;
|
||||
return autoType()->callEventFilter(message) == 1;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -1,3 +1,21 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Felix Geyer <debfx@fobos.de>
|
||||
* Copyright (C) 2018 KeePassXC Team <team@keepassxc.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef OSEVENTFILTER_H
|
||||
#define OSEVENTFILTER_H
|
||||
#include <QAbstractNativeEventFilter>
|
||||
|
@ -84,7 +84,8 @@ int Kdf::benchmark(int msec) const
|
||||
}
|
||||
|
||||
Kdf::BenchmarkThread::BenchmarkThread(int msec, const Kdf* kdf)
|
||||
: m_msec(msec)
|
||||
: m_rounds(1)
|
||||
, m_msec(msec)
|
||||
, m_kdf(kdf)
|
||||
{
|
||||
}
|
||||
|
@ -19,12 +19,6 @@
|
||||
#include "BinaryStream.h"
|
||||
#include <QtEndian>
|
||||
|
||||
BinaryStream::BinaryStream(QObject* parent)
|
||||
: QObject(parent)
|
||||
, m_timeout(-1)
|
||||
{
|
||||
}
|
||||
|
||||
BinaryStream::BinaryStream(QIODevice* device)
|
||||
: QObject(device)
|
||||
, m_timeout(-1)
|
||||
@ -36,7 +30,10 @@ BinaryStream::BinaryStream(QByteArray* ba, QObject* parent)
|
||||
: QObject(parent)
|
||||
, m_timeout(-1)
|
||||
{
|
||||
setData(ba);
|
||||
m_buffer.reset(new QBuffer(ba));
|
||||
m_buffer->open(QIODevice::ReadWrite);
|
||||
|
||||
m_device = m_buffer.data();
|
||||
}
|
||||
|
||||
BinaryStream::~BinaryStream()
|
||||
@ -53,19 +50,6 @@ QIODevice* BinaryStream::device() const
|
||||
return m_device;
|
||||
}
|
||||
|
||||
void BinaryStream::setDevice(QIODevice* device)
|
||||
{
|
||||
m_device = device;
|
||||
}
|
||||
|
||||
void BinaryStream::setData(QByteArray* ba)
|
||||
{
|
||||
m_buffer.reset(new QBuffer(ba));
|
||||
m_buffer->open(QIODevice::ReadWrite);
|
||||
|
||||
m_device = m_buffer.data();
|
||||
}
|
||||
|
||||
void BinaryStream::setTimeout(int timeout)
|
||||
{
|
||||
m_timeout = timeout;
|
||||
|
@ -26,16 +26,14 @@
|
||||
class BinaryStream : QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_DISABLE_COPY(BinaryStream)
|
||||
public:
|
||||
BinaryStream(QObject* parent = nullptr);
|
||||
BinaryStream(QIODevice* device);
|
||||
BinaryStream(QByteArray* ba, QObject* parent = nullptr);
|
||||
~BinaryStream();
|
||||
explicit BinaryStream(QIODevice* device);
|
||||
explicit BinaryStream(QByteArray* ba, QObject* parent = nullptr);
|
||||
~BinaryStream() override;
|
||||
|
||||
const QString errorString() const;
|
||||
QIODevice* device() const;
|
||||
void setDevice(QIODevice* device);
|
||||
void setData(QByteArray* ba);
|
||||
void setTimeout(int timeout);
|
||||
|
||||
bool read(QByteArray& ba);
|
||||
|
@ -125,9 +125,8 @@ Application::Application(int& argc, char** argv)
|
||||
break;
|
||||
}
|
||||
default:
|
||||
qWarning() << QObject::tr("The lock file could not be created. Single-instance mode disabled.")
|
||||
.toUtf8()
|
||||
.constData();
|
||||
qWarning()
|
||||
<< QObject::tr("The lock file could not be created. Single-instance mode disabled.").toUtf8().constData();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -176,7 +176,8 @@ void ApplicationSettingsWidget::loadSettings()
|
||||
m_generalUi->minimizeOnCloseCheckBox->setChecked(config()->get("GUI/MinimizeOnClose").toBool());
|
||||
m_generalUi->systrayMinimizeOnStartup->setChecked(config()->get("GUI/MinimizeOnStartup").toBool());
|
||||
m_generalUi->checkForUpdatesOnStartupCheckBox->setChecked(config()->get("GUI/CheckForUpdates").toBool());
|
||||
m_generalUi->checkForUpdatesIncludeBetasCheckBox->setChecked(config()->get("GUI/CheckForUpdatesIncludeBetas").toBool());
|
||||
m_generalUi->checkForUpdatesIncludeBetasCheckBox->setChecked(
|
||||
config()->get("GUI/CheckForUpdatesIncludeBetas").toBool());
|
||||
m_generalUi->autoTypeAskCheckBox->setChecked(config()->get("security/autotypeask").toBool());
|
||||
|
||||
if (autoType()->isAvailable()) {
|
||||
|
@ -251,7 +251,11 @@ QSharedPointer<CompositeKey> DatabaseOpenWidget::databaseKey()
|
||||
|
||||
#ifdef WITH_XC_TOUCHID
|
||||
// check if TouchID is available and enabled for unlocking the database
|
||||
if (m_ui->checkTouchID->isChecked() && TouchID::getInstance().isAvailable() && masterKey->isEmpty()) {
|
||||
if (m_ui->checkTouchID->isChecked() && TouchID::getInstance().isAvailable()
|
||||
&& m_ui->editPassword->text().isEmpty()) {
|
||||
// clear empty password from composite key
|
||||
masterKey->clear();
|
||||
|
||||
// try to get, decrypt and use PasswordKey
|
||||
QSharedPointer<QByteArray> passwordKey = TouchID::getInstance().getKey(m_filename);
|
||||
if (passwordKey != NULL) {
|
||||
|
@ -61,8 +61,6 @@
|
||||
#include "keeshare/KeeShare.h"
|
||||
#include "touchid/TouchID.h"
|
||||
|
||||
#include "config-keepassx.h"
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
#include <sys/vfs.h>
|
||||
#endif
|
||||
@ -80,6 +78,9 @@ DatabaseWidget::DatabaseWidget(QSharedPointer<Database> db, QWidget* parent)
|
||||
, m_previewView(new EntryPreviewWidget(this))
|
||||
, m_previewSplitter(new QSplitter(m_mainWidget))
|
||||
, m_searchingLabel(new QLabel(this))
|
||||
#ifdef WITH_XC_KEESHARE
|
||||
, m_shareLabel(new QLabel(this))
|
||||
#endif
|
||||
, m_csvImportWizard(new CsvImportWizard(this))
|
||||
, m_editEntryWidget(new EditEntryWidget(this))
|
||||
, m_editGroupWidget(new EditGroupWidget(this))
|
||||
@ -103,6 +104,9 @@ DatabaseWidget::DatabaseWidget(QSharedPointer<Database> db, QWidget* parent)
|
||||
auto* vbox = new QVBoxLayout();
|
||||
vbox->setMargin(0);
|
||||
vbox->addWidget(m_searchingLabel);
|
||||
#ifdef WITH_XC_KEESHARE
|
||||
vbox->addWidget(m_shareLabel);
|
||||
#endif
|
||||
vbox->addWidget(m_previewSplitter);
|
||||
rightHandSideWidget->setLayout(vbox);
|
||||
m_entryView = new EntryView(rightHandSideWidget);
|
||||
@ -134,6 +138,16 @@ DatabaseWidget::DatabaseWidget(QSharedPointer<Database> db, QWidget* parent)
|
||||
"border-radius: 4px;");
|
||||
m_searchingLabel->setVisible(false);
|
||||
|
||||
#ifdef WITH_XC_KEESHARE
|
||||
m_shareLabel->setText(tr("Shared group..."));
|
||||
m_shareLabel->setAlignment(Qt::AlignCenter);
|
||||
m_shareLabel->setStyleSheet("color: rgb(0, 0, 0);"
|
||||
"background-color: rgb(255, 253, 160);"
|
||||
"border: 2px solid rgb(190, 190, 190);"
|
||||
"border-radius: 4px;");
|
||||
m_shareLabel->setVisible(false);
|
||||
#endif
|
||||
|
||||
m_previewView->hide();
|
||||
m_previewSplitter->addWidget(m_entryView);
|
||||
m_previewSplitter->addWidget(m_previewView);
|
||||
@ -194,6 +208,12 @@ DatabaseWidget::DatabaseWidget(QSharedPointer<Database> db, QWidget* parent)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WITH_XC_KEESHARE
|
||||
// We need to reregister the database to allow exports
|
||||
// from a newly created database
|
||||
KeeShare::instance()->connectDatabase(m_db, {});
|
||||
#endif
|
||||
|
||||
switchToMainView();
|
||||
}
|
||||
|
||||
@ -377,6 +397,9 @@ void DatabaseWidget::replaceDatabase(QSharedPointer<Database> db)
|
||||
processAutoOpen();
|
||||
#if defined(WITH_XC_KEESHARE)
|
||||
KeeShare::instance()->connectDatabase(m_db, oldDb);
|
||||
#else
|
||||
// Keep the instance active till the end of this function
|
||||
Q_UNUSED(oldDb);
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -765,9 +788,9 @@ void DatabaseWidget::switchToMainView(bool previousDialogAccepted)
|
||||
|
||||
setCurrentWidget(m_mainWidget);
|
||||
|
||||
if (sender() == m_entryView) {
|
||||
if (sender() == m_entryView || sender() == m_editEntryWidget) {
|
||||
onEntryChanged(m_entryView->currentEntry());
|
||||
} else if (sender() == m_groupView) {
|
||||
} else if (sender() == m_groupView || sender() == m_editGroupWidget) {
|
||||
onGroupChanged(m_groupView->currentGroup());
|
||||
}
|
||||
}
|
||||
@ -1089,6 +1112,7 @@ void DatabaseWidget::search(const QString& searchtext)
|
||||
}
|
||||
|
||||
m_searchingLabel->setVisible(true);
|
||||
m_shareLabel->setVisible(false);
|
||||
|
||||
emit searchModeActivated();
|
||||
}
|
||||
@ -1117,6 +1141,16 @@ void DatabaseWidget::onGroupChanged(Group* group)
|
||||
}
|
||||
|
||||
m_previewView->setGroup(group);
|
||||
|
||||
#ifdef WITH_XC_KEESHARE
|
||||
auto shareLabel = KeeShare::sharingLabel(group);
|
||||
if (!shareLabel.isEmpty()) {
|
||||
m_shareLabel->setText(shareLabel);
|
||||
m_shareLabel->setVisible(true);
|
||||
} else {
|
||||
m_shareLabel->setVisible(false);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void DatabaseWidget::onDatabaseModified()
|
||||
@ -1140,6 +1174,7 @@ void DatabaseWidget::endSearch()
|
||||
|
||||
// Show the normal entry view of the current group
|
||||
m_entryView->displayGroup(currentGroup());
|
||||
onGroupChanged(currentGroup());
|
||||
|
||||
emit listModeActivated();
|
||||
}
|
||||
|
@ -29,6 +29,8 @@
|
||||
#include "gui/csvImport/CsvImportWizard.h"
|
||||
#include "gui/entry/EntryModel.h"
|
||||
|
||||
#include "config-keepassx.h"
|
||||
|
||||
class DatabaseOpenWidget;
|
||||
class KeePass1OpenWidget;
|
||||
class DatabaseSettingsDialog;
|
||||
@ -233,6 +235,9 @@ private:
|
||||
QPointer<EntryPreviewWidget> m_previewView;
|
||||
QPointer<QSplitter> m_previewSplitter;
|
||||
QPointer<QLabel> m_searchingLabel;
|
||||
#ifdef WITH_XC_KEESHARE
|
||||
QPointer<QLabel> m_shareLabel;
|
||||
#endif
|
||||
QPointer<CsvImportWizard> m_csvImportWizard;
|
||||
QPointer<EditEntryWidget> m_editEntryWidget;
|
||||
QPointer<EditGroupWidget> m_editGroupWidget;
|
||||
|
@ -59,6 +59,7 @@ void EditWidget::addPage(const QString& labelText, const QIcon& icon, QWidget* w
|
||||
*/
|
||||
auto* scrollArea = new QScrollArea(m_ui->stackedWidget);
|
||||
scrollArea->setFrameShape(QFrame::NoFrame);
|
||||
scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
scrollArea->setWidget(widget);
|
||||
scrollArea->setWidgetResizable(true);
|
||||
m_ui->stackedWidget->addWidget(scrollArea);
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "gui/MessageBox.h"
|
||||
|
||||
#ifdef WITH_XC_NETWORKING
|
||||
#include <QHostInfo>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QtNetwork>
|
||||
#endif
|
||||
@ -65,7 +66,6 @@ EditWidgetIcons::EditWidgetIcons(QWidget* parent)
|
||||
connect(m_ui->deleteButton, SIGNAL(clicked()), SLOT(removeCustomIcon()));
|
||||
connect(m_ui->faviconButton, SIGNAL(clicked()), SLOT(downloadFavicon()));
|
||||
|
||||
connect(m_ui->defaultIconsRadio, SIGNAL(toggled(bool)), this, SIGNAL(widgetUpdated()));
|
||||
connect(m_ui->defaultIconsRadio, SIGNAL(toggled(bool)), this, SIGNAL(widgetUpdated()));
|
||||
connect(m_ui->defaultIconsView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
|
||||
this, SIGNAL(widgetUpdated()));
|
||||
@ -196,13 +196,27 @@ void EditWidgetIcons::downloadFavicon()
|
||||
m_urlsToTry.clear();
|
||||
|
||||
QString fullyQualifiedDomain = m_url.host();
|
||||
QString secondLevelDomain = getSecondLevelDomain(m_url);
|
||||
|
||||
// Attempt to simply load the favicon.ico file
|
||||
if (fullyQualifiedDomain != secondLevelDomain) {
|
||||
m_urlsToTry.append(QUrl(m_url.scheme() + "://" + fullyQualifiedDomain + "/favicon.ico"));
|
||||
m_urlsToTry.append(QUrl(m_url.scheme() + "://" + fullyQualifiedDomain + "/favicon.ico"));
|
||||
|
||||
// Determine if host portion of URL is an IP address by resolving it and
|
||||
// searching for a match with the returned address(es).
|
||||
bool hostIsIp = false;
|
||||
QList<QHostAddress> hostAddressess = QHostInfo::fromName(fullyQualifiedDomain).addresses();
|
||||
for (auto addr : hostAddressess) {
|
||||
if (addr.toString() == fullyQualifiedDomain) {
|
||||
hostIsIp = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!hostIsIp) {
|
||||
QString secondLevelDomain = getSecondLevelDomain(m_url);
|
||||
|
||||
// Attempt to simply load the favicon.ico file
|
||||
if (fullyQualifiedDomain != secondLevelDomain) {
|
||||
m_urlsToTry.append(QUrl(m_url.scheme() + "://" + secondLevelDomain + "/favicon.ico"));
|
||||
}
|
||||
}
|
||||
m_urlsToTry.append(QUrl(m_url.scheme() + "://" + secondLevelDomain + "/favicon.ico"));
|
||||
|
||||
// Try to use alternative fallback URL, if enabled
|
||||
if (config()->get("security/IconDownloadFallback", false).toBool()) {
|
||||
@ -210,6 +224,15 @@ void EditWidgetIcons::downloadFavicon()
|
||||
fallbackUrl.setPath("/ip3/" + QUrl::toPercentEncoding(fullyQualifiedDomain) + ".ico");
|
||||
|
||||
m_urlsToTry.append(fallbackUrl);
|
||||
|
||||
if (!hostIsIp) {
|
||||
QString secondLevelDomain = getSecondLevelDomain(m_url);
|
||||
|
||||
if (fullyQualifiedDomain != secondLevelDomain) {
|
||||
fallbackUrl.setPath("/ip3/" + QUrl::toPercentEncoding(secondLevelDomain) + ".ico");
|
||||
m_urlsToTry.append(fallbackUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
startFetchFavicon(m_urlsToTry.takeFirst());
|
||||
@ -277,7 +300,7 @@ void EditWidgetIcons::fetchFinished()
|
||||
#endif
|
||||
}
|
||||
|
||||
void EditWidgetIcons::fetchCanceled()
|
||||
void EditWidgetIcons::abortRequests()
|
||||
{
|
||||
#ifdef WITH_XC_NETWORKING
|
||||
if (m_reply) {
|
||||
|
@ -19,7 +19,6 @@
|
||||
#ifndef KEEPASSX_EDITWIDGETICONS_H
|
||||
#define KEEPASSX_EDITWIDGETICONS_H
|
||||
|
||||
#include <QSet>
|
||||
#include <QUrl>
|
||||
#include <QUuid>
|
||||
#include <QWidget>
|
||||
@ -66,6 +65,7 @@ public:
|
||||
|
||||
public slots:
|
||||
void setUrl(const QString& url);
|
||||
void abortRequests();
|
||||
|
||||
signals:
|
||||
void messageEditEntry(QString, MessageWidget::MessageType);
|
||||
@ -77,7 +77,6 @@ private slots:
|
||||
void startFetchFavicon(const QUrl& url);
|
||||
void fetchFinished();
|
||||
void fetchReadyRead();
|
||||
void fetchCanceled();
|
||||
void addCustomIconFromFile();
|
||||
bool addCustomIcon(const QImage& icon);
|
||||
void removeCustomIcon();
|
||||
|
@ -42,9 +42,9 @@
|
||||
#include "keys/PasswordKey.h"
|
||||
|
||||
#ifdef WITH_XC_NETWORKING
|
||||
#include "updatecheck/UpdateChecker.h"
|
||||
#include "gui/MessageBox.h"
|
||||
#include "gui/UpdateCheckDialog.h"
|
||||
#include "updatecheck/UpdateChecker.h"
|
||||
#endif
|
||||
|
||||
#ifdef WITH_XC_SSHAGENT
|
||||
@ -76,7 +76,7 @@
|
||||
class BrowserPlugin : public ISettingsPage
|
||||
{
|
||||
public:
|
||||
BrowserPlugin(DatabaseTabWidget* tabWidget)
|
||||
explicit BrowserPlugin(DatabaseTabWidget* tabWidget)
|
||||
{
|
||||
m_nativeMessagingHost =
|
||||
QSharedPointer<NativeMessagingHost>(new NativeMessagingHost(tabWidget, browserSettings()->isEnabled()));
|
||||
@ -374,7 +374,9 @@ MainWindow::MainWindow()
|
||||
|
||||
#ifdef WITH_XC_NETWORKING
|
||||
connect(m_ui->actionCheckForUpdates, SIGNAL(triggered()), SLOT(showUpdateCheckDialog()));
|
||||
connect(UpdateChecker::instance(), SIGNAL(updateCheckFinished(bool, QString, bool)), SLOT(hasUpdateAvailable(bool, QString, bool)));
|
||||
connect(UpdateChecker::instance(),
|
||||
SIGNAL(updateCheckFinished(bool, QString, bool)),
|
||||
SLOT(hasUpdateAvailable(bool, QString, bool)));
|
||||
QTimer::singleShot(3000, this, SLOT(showUpdateCheckStartup()));
|
||||
#else
|
||||
m_ui->actionCheckForUpdates->setVisible(false);
|
||||
@ -687,12 +689,13 @@ void MainWindow::showUpdateCheckStartup()
|
||||
{
|
||||
#ifdef WITH_XC_NETWORKING
|
||||
if (!config()->get("UpdateCheckMessageShown", false).toBool()) {
|
||||
auto result = MessageBox::question(this,
|
||||
tr("Check for updates on startup?"),
|
||||
tr("Would you like KeePassXC to check for updates on startup?") + "\n\n" +
|
||||
tr("You can always check for updates manually from the application menu."),
|
||||
MessageBox::Yes | MessageBox::No,
|
||||
MessageBox::Yes);
|
||||
auto result =
|
||||
MessageBox::question(this,
|
||||
tr("Check for updates on startup?"),
|
||||
tr("Would you like KeePassXC to check for updates on startup?") + "\n\n"
|
||||
+ tr("You can always check for updates manually from the application menu."),
|
||||
MessageBox::Yes | MessageBox::No,
|
||||
MessageBox::Yes);
|
||||
|
||||
config()->set("GUI/CheckForUpdates", (result == MessageBox::Yes));
|
||||
config()->set("UpdateCheckMessageShown", true);
|
||||
@ -713,6 +716,10 @@ void MainWindow::hasUpdateAvailable(bool hasUpdate, const QString& version, bool
|
||||
updateCheckDialog->showUpdateCheckResponse(hasUpdate, version);
|
||||
updateCheckDialog->show();
|
||||
}
|
||||
#else
|
||||
Q_UNUSED(hasUpdate)
|
||||
Q_UNUSED(version)
|
||||
Q_UNUSED(isManuallyRequested)
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -120,6 +120,7 @@ bool SearchWidget::eventFilter(QObject* obj, QEvent* event)
|
||||
|
||||
void SearchWidget::connectSignals(SignalMultiplexer& mx)
|
||||
{
|
||||
// Connects basically only to the current DatabaseWidget, but allows to switch between instances!
|
||||
mx.connect(this, SIGNAL(search(QString)), SLOT(search(QString)));
|
||||
mx.connect(this, SIGNAL(caseSensitiveChanged(bool)), SLOT(setSearchCaseSensitive(bool)));
|
||||
mx.connect(this, SIGNAL(limitGroupChanged(bool)), SLOT(setSearchLimitGroup(bool)));
|
||||
|
@ -16,9 +16,9 @@
|
||||
*/
|
||||
|
||||
#include "UpdateCheckDialog.h"
|
||||
#include "core/FilePath.h"
|
||||
#include "ui_UpdateCheckDialog.h"
|
||||
#include "updatecheck/UpdateChecker.h"
|
||||
#include "core/FilePath.h"
|
||||
|
||||
UpdateCheckDialog::UpdateCheckDialog(QWidget* parent)
|
||||
: QDialog(parent)
|
||||
@ -31,35 +31,34 @@ UpdateCheckDialog::UpdateCheckDialog(QWidget* parent)
|
||||
m_ui->iconLabel->setPixmap(filePath()->applicationIcon().pixmap(48));
|
||||
|
||||
connect(m_ui->buttonBox, SIGNAL(rejected()), SLOT(close()));
|
||||
connect(UpdateChecker::instance(), SIGNAL(updateCheckFinished(bool, QString, bool)), SLOT(showUpdateCheckResponse(bool, QString)));
|
||||
connect(UpdateChecker::instance(),
|
||||
SIGNAL(updateCheckFinished(bool, QString, bool)),
|
||||
SLOT(showUpdateCheckResponse(bool, QString)));
|
||||
}
|
||||
|
||||
void UpdateCheckDialog::showUpdateCheckResponse(bool status, const QString& version) {
|
||||
void UpdateCheckDialog::showUpdateCheckResponse(bool status, const QString& version)
|
||||
{
|
||||
m_ui->progressBar->setVisible(false);
|
||||
m_ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Close"));
|
||||
|
||||
if (version == QString("error")) {
|
||||
setWindowTitle(tr("Update Error!"));
|
||||
|
||||
m_ui->statusLabel->setText(
|
||||
"<strong>" + tr("Update Error!") + "</strong><br><br>" +
|
||||
tr("An error occurred in retrieving update information.") + "<br>" +
|
||||
tr("Please try again later."));
|
||||
m_ui->statusLabel->setText("<strong>" + tr("Update Error!") + "</strong><br><br>"
|
||||
+ tr("An error occurred in retrieving update information.") + "<br>"
|
||||
+ tr("Please try again later."));
|
||||
return;
|
||||
}
|
||||
|
||||
if (status) {
|
||||
setWindowTitle(tr("Software Update"));
|
||||
m_ui->statusLabel->setText(
|
||||
"<strong>" + tr("A new version of KeePassXC is available!") + "</strong><br><br>" +
|
||||
tr("KeePassXC %1 is now available — you have %2.").arg(version, KEEPASSXC_VERSION) + "<br><br>" +
|
||||
"<a href='https://keepassxc.org/download/'>" +
|
||||
tr("Download it at keepassxc.org") +
|
||||
"</a>");
|
||||
m_ui->statusLabel->setText("<strong>" + tr("A new version of KeePassXC is available!") + "</strong><br><br>"
|
||||
+ tr("KeePassXC %1 is now available — you have %2.").arg(version, KEEPASSXC_VERSION)
|
||||
+ "<br><br>" + "<a href='https://keepassxc.org/download/'>"
|
||||
+ tr("Download it at keepassxc.org") + "</a>");
|
||||
} else {
|
||||
setWindowTitle(tr("You're up-to-date!"));
|
||||
m_ui->statusLabel->setText(tr(
|
||||
"KeePassXC %1 is currently the newest version available").arg(KEEPASSXC_VERSION));
|
||||
m_ui->statusLabel->setText(tr("KeePassXC %1 is currently the newest version available").arg(KEEPASSXC_VERSION));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -18,13 +18,13 @@
|
||||
#ifndef KEEPASSXC_UPDATECHECKDIALOG_H
|
||||
#define KEEPASSXC_UPDATECHECKDIALOG_H
|
||||
|
||||
#include <QUrl>
|
||||
#include <QDialog>
|
||||
#include <QScopedPointer>
|
||||
#include "gui/MessageBox.h"
|
||||
#include "config-keepassx.h"
|
||||
#include "core/Global.h"
|
||||
#include "gui/MessageBox.h"
|
||||
#include "updatecheck/UpdateChecker.h"
|
||||
#include <QDialog>
|
||||
#include <QScopedPointer>
|
||||
#include <QUrl>
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
@ -33,7 +33,7 @@ namespace Ui
|
||||
|
||||
class UpdateCheckDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit UpdateCheckDialog(QWidget* parent = nullptr);
|
||||
@ -46,5 +46,4 @@ private:
|
||||
QScopedPointer<Ui::UpdateCheckDialog> m_ui;
|
||||
};
|
||||
|
||||
|
||||
#endif //KEEPASSXC_UPDATECHECKDIALOG_H
|
||||
#endif // KEEPASSXC_UPDATECHECKDIALOG_H
|
||||
|
@ -81,7 +81,7 @@ void DatabaseSettingsWidgetEncryption::initialize()
|
||||
isDirty = true;
|
||||
}
|
||||
if (!m_db->key()) {
|
||||
m_db->setKey(QSharedPointer<CompositeKey>::create());
|
||||
m_db->setKey(QSharedPointer<CompositeKey>::create(), true, false, false);
|
||||
m_db->setCipher(KeePass2::CIPHER_AES256);
|
||||
isDirty = true;
|
||||
}
|
||||
@ -127,8 +127,7 @@ void DatabaseSettingsWidgetEncryption::setupAlgorithmComboBox()
|
||||
{
|
||||
m_ui->algorithmComboBox->clear();
|
||||
for (auto& cipher : asConst(KeePass2::CIPHERS)) {
|
||||
m_ui->algorithmComboBox->addItem(cipher.second.toUtf8(),
|
||||
cipher.first.toByteArray());
|
||||
m_ui->algorithmComboBox->addItem(cipher.second.toUtf8(), cipher.first.toByteArray());
|
||||
}
|
||||
int cipherIndex = m_ui->algorithmComboBox->findData(m_db->cipher().toByteArray());
|
||||
if (cipherIndex > -1) {
|
||||
@ -142,8 +141,7 @@ void DatabaseSettingsWidgetEncryption::setupKdfComboBox()
|
||||
bool block = m_ui->kdfComboBox->blockSignals(true);
|
||||
m_ui->kdfComboBox->clear();
|
||||
for (auto& kdf : asConst(KeePass2::KDFS)) {
|
||||
m_ui->kdfComboBox->addItem(kdf.second.toUtf8(),
|
||||
kdf.first.toByteArray());
|
||||
m_ui->kdfComboBox->addItem(kdf.second.toUtf8(), kdf.first.toByteArray());
|
||||
}
|
||||
m_ui->kdfComboBox->blockSignals(block);
|
||||
}
|
||||
|
@ -136,34 +136,34 @@ bool DatabaseSettingsWidgetMasterKey::save()
|
||||
|
||||
auto newKey = QSharedPointer<CompositeKey>::create();
|
||||
|
||||
QSharedPointer<Key> passwordKey;
|
||||
QSharedPointer<Key> fileKey;
|
||||
QSharedPointer<ChallengeResponseKey> ykCrKey;
|
||||
QSharedPointer<Key> oldPasswordKey;
|
||||
QSharedPointer<Key> oldFileKey;
|
||||
QSharedPointer<ChallengeResponseKey> oldChallengeResponse;
|
||||
|
||||
for (const auto& key : m_db->key()->keys()) {
|
||||
if (key->uuid() == PasswordKey::UUID) {
|
||||
passwordKey = key;
|
||||
oldPasswordKey = key;
|
||||
} else if (key->uuid() == FileKey::UUID) {
|
||||
fileKey = key;
|
||||
oldFileKey = key;
|
||||
}
|
||||
}
|
||||
|
||||
for (const auto& key : m_db->key()->challengeResponseKeys()) {
|
||||
if (key->uuid() == YkChallengeResponseKey::UUID) {
|
||||
ykCrKey = key;
|
||||
oldChallengeResponse = key;
|
||||
}
|
||||
}
|
||||
|
||||
if (!addToCompositeKey(m_passwordEditWidget, newKey, passwordKey)) {
|
||||
if (!addToCompositeKey(m_passwordEditWidget, newKey, oldPasswordKey)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!addToCompositeKey(m_keyFileEditWidget, newKey, fileKey)) {
|
||||
if (!addToCompositeKey(m_keyFileEditWidget, newKey, oldFileKey)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef WITH_XC_YUBIKEY
|
||||
if (!addToCompositeKey(m_yubiKeyEditWidget, newKey, ykCrKey)) {
|
||||
if (!addToCompositeKey(m_yubiKeyEditWidget, newKey, oldChallengeResponse)) {
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
@ -177,7 +177,7 @@ bool DatabaseSettingsWidgetMasterKey::save()
|
||||
return false;
|
||||
}
|
||||
|
||||
if (m_passwordEditWidget->visiblePage() == KeyComponentWidget::AddNew) {
|
||||
if (m_passwordEditWidget->isEmpty()) {
|
||||
auto answer = MessageBox::warning(this,
|
||||
tr("No password set"),
|
||||
tr("WARNING! You have not set a password. Using a database without "
|
||||
@ -190,9 +190,13 @@ bool DatabaseSettingsWidgetMasterKey::save()
|
||||
}
|
||||
}
|
||||
|
||||
m_db->setKey(newKey);
|
||||
m_db->setKey(newKey, true, false, false);
|
||||
|
||||
emit editFinished(true);
|
||||
if (m_isDirty) {
|
||||
m_db->markAsModified();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -142,6 +142,7 @@ void EditEntryWidget::setupMain()
|
||||
connect(m_mainUi->togglePasswordGeneratorButton, SIGNAL(toggled(bool)), SLOT(togglePasswordGeneratorButton(bool)));
|
||||
#ifdef WITH_XC_NETWORKING
|
||||
connect(m_mainUi->fetchFaviconButton, SIGNAL(clicked()), m_iconsWidget, SLOT(downloadFavicon()));
|
||||
connect(m_mainUi->urlEdit, SIGNAL(textChanged(QString)), m_iconsWidget, SLOT(setUrl(QString)));
|
||||
#endif
|
||||
connect(m_mainUi->expireCheck, SIGNAL(toggled(bool)), m_mainUi->expireDatePicker, SLOT(setEnabled(bool)));
|
||||
connect(m_mainUi->notesEnabled, SIGNAL(toggled(bool)), this, SLOT(toggleHideNotes(bool)));
|
||||
@ -193,6 +194,8 @@ void EditEntryWidget::setupAdvanced()
|
||||
void EditEntryWidget::setupIcon()
|
||||
{
|
||||
addPage(tr("Icon"), FilePath::instance()->icon("apps", "preferences-desktop-icons"), m_iconsWidget);
|
||||
connect(this, SIGNAL(accepted()), m_iconsWidget, SLOT(abortRequests()));
|
||||
connect(this, SIGNAL(rejected()), m_iconsWidget, SLOT(abortRequests()));
|
||||
}
|
||||
|
||||
void EditEntryWidget::setupAutoType()
|
||||
@ -764,7 +767,6 @@ void EditEntryWidget::setForms(Entry* entry, bool restore)
|
||||
iconStruct.uuid = entry->iconUuid();
|
||||
iconStruct.number = entry->iconNumber();
|
||||
m_iconsWidget->load(entry->uuid(), m_db, iconStruct, entry->webUrl());
|
||||
connect(m_mainUi->urlEdit, SIGNAL(textChanged(QString)), m_iconsWidget, SLOT(setUrl(QString)));
|
||||
|
||||
m_autoTypeUi->enableButton->setChecked(entry->autoTypeEnabled());
|
||||
if (entry->defaultAutoTypeSequence().isEmpty()) {
|
||||
|
@ -36,9 +36,9 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void set(Group* temporaryGroup) const
|
||||
void set(Group* temporaryGroup, QSharedPointer<Database> database) const
|
||||
{
|
||||
editPage->set(widget, temporaryGroup);
|
||||
editPage->set(widget, temporaryGroup, database);
|
||||
}
|
||||
|
||||
void assign() const
|
||||
@ -133,7 +133,7 @@ void EditGroupWidget::loadGroup(Group* group, bool create, const QSharedPointer<
|
||||
m_editWidgetProperties->setCustomData(m_temporaryGroup->customData());
|
||||
|
||||
for (const ExtraPage& page : asConst(m_extraPages)) {
|
||||
page.set(m_temporaryGroup.data());
|
||||
page.set(m_temporaryGroup.data(), m_db);
|
||||
}
|
||||
|
||||
setCurrentPage(0);
|
||||
|
@ -43,7 +43,7 @@ public:
|
||||
virtual QString name() = 0;
|
||||
virtual QIcon icon() = 0;
|
||||
virtual QWidget* createWidget() = 0;
|
||||
virtual void set(QWidget* widget, Group* tempoaryGroup) = 0;
|
||||
virtual void set(QWidget* widget, Group* tempoaryGroup, QSharedPointer<Database> database) = 0;
|
||||
virtual void assign(QWidget* widget) = 0;
|
||||
};
|
||||
|
||||
|
@ -124,7 +124,7 @@ QVariant GroupModel::data(const QModelIndex& index, int role) const
|
||||
Group* group = groupFromIndex(index);
|
||||
|
||||
if (role == Qt::DisplayRole) {
|
||||
QString nameTemplate = tr("%1", "Template for name without annotation");
|
||||
QString nameTemplate = "%1";
|
||||
#if defined(WITH_XC_KEESHARE)
|
||||
nameTemplate = KeeShare::indicatorSuffix(group, nameTemplate);
|
||||
#endif
|
||||
|
@ -40,7 +40,10 @@ PasswordEditWidget::~PasswordEditWidget()
|
||||
|
||||
bool PasswordEditWidget::addToCompositeKey(QSharedPointer<CompositeKey> key)
|
||||
{
|
||||
key->addKey(QSharedPointer<PasswordKey>::create(m_compUi->enterPasswordEdit->text()));
|
||||
QString pw = m_compUi->enterPasswordEdit->text();
|
||||
if (!pw.isEmpty()) {
|
||||
key->addKey(QSharedPointer<PasswordKey>::create(pw));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -60,6 +63,11 @@ bool PasswordEditWidget::isPasswordVisible() const
|
||||
return m_compUi->togglePasswordButton->isChecked();
|
||||
}
|
||||
|
||||
bool PasswordEditWidget::isEmpty() const
|
||||
{
|
||||
return m_compUi->enterPasswordEdit->text().isEmpty();
|
||||
}
|
||||
|
||||
QWidget* PasswordEditWidget::componentEditWidget()
|
||||
{
|
||||
m_compEditWidget = new QWidget();
|
||||
@ -86,11 +94,6 @@ void PasswordEditWidget::initComponentEditWidget(QWidget* widget)
|
||||
|
||||
bool PasswordEditWidget::validate(QString& errorMessage) const
|
||||
{
|
||||
if (m_compUi->enterPasswordEdit->text().isEmpty()) {
|
||||
errorMessage = tr("Password cannot be empty.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (m_compUi->enterPasswordEdit->text() != m_compUi->repeatPasswordEdit->text()) {
|
||||
errorMessage = tr("Passwords do not match.");
|
||||
return false;
|
||||
|
@ -38,6 +38,7 @@ public:
|
||||
bool addToCompositeKey(QSharedPointer<CompositeKey> key) override;
|
||||
void setPasswordVisible(bool visible);
|
||||
bool isPasswordVisible() const;
|
||||
bool isEmpty() const;
|
||||
bool validate(QString& errorMessage) const override;
|
||||
|
||||
protected:
|
||||
|
@ -93,7 +93,7 @@ void KeeShare::setOwn(const KeeShareSettings::Own& own)
|
||||
|
||||
bool KeeShare::isShared(const Group* group)
|
||||
{
|
||||
return group->customData()->contains(KeeShare_Reference);
|
||||
return group && group->customData()->contains(KeeShare_Reference);
|
||||
}
|
||||
|
||||
KeeShareSettings::Reference KeeShare::referenceOf(const Group* group)
|
||||
@ -142,6 +142,40 @@ bool KeeShare::isEnabled(const Group* group)
|
||||
return (reference.isImporting() && active.in) || (reference.isExporting() && active.out);
|
||||
}
|
||||
|
||||
const Group* KeeShare::resolveSharedGroup(const Group* group)
|
||||
{
|
||||
while (group && group != group->database()->rootGroup()) {
|
||||
if (isShared(group)) {
|
||||
return group;
|
||||
}
|
||||
group = group->parentGroup();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
QString KeeShare::sharingLabel(const Group* group)
|
||||
{
|
||||
auto* share = resolveSharedGroup(group);
|
||||
if (!share) {
|
||||
return {};
|
||||
}
|
||||
|
||||
const auto reference = referenceOf(share);
|
||||
switch (reference.type) {
|
||||
case KeeShareSettings::Inactive:
|
||||
return tr("Disabled share %1").arg(reference.path);
|
||||
case KeeShareSettings::ImportFrom:
|
||||
return tr("Import from share %1").arg(reference.path);
|
||||
case KeeShareSettings::ExportTo:
|
||||
return tr("Export to share %1").arg(reference.path);
|
||||
case KeeShareSettings::SynchronizeWith:
|
||||
return tr("Synchronize with share %1").arg(reference.path);
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
QPixmap KeeShare::indicatorBadge(const Group* group, QPixmap pixmap)
|
||||
{
|
||||
if (!isShared(group)) {
|
||||
|
@ -43,6 +43,9 @@ public:
|
||||
static bool isShared(const Group* group);
|
||||
static bool isEnabled(const Group* group);
|
||||
|
||||
static const Group* resolveSharedGroup(const Group* group);
|
||||
static QString sharingLabel(const Group* group);
|
||||
|
||||
static KeeShareSettings::Own own();
|
||||
static KeeShareSettings::Active active();
|
||||
static KeeShareSettings::Foreign foreign();
|
||||
|
@ -183,7 +183,7 @@ void SettingsWidgetKeeShare::exportCertificate()
|
||||
}
|
||||
const auto filetype = tr("key.share", "Filetype for KeeShare key");
|
||||
const auto filters = QString("%1 (*." + filetype + ");;%2 (*)").arg(tr("KeeShare key file"), tr("All files"));
|
||||
QString filename = tr("%1.%2", "Template for KeeShare key file").arg(m_own.certificate.signer).arg(filetype);
|
||||
QString filename = QString("%1.%2").arg(m_own.certificate.signer).arg(filetype);
|
||||
filename = fileDialog()->getSaveFileName(
|
||||
this, tr("Select path"), defaultDirPath, filters, nullptr, QFileDialog::Options(0), filetype, filename);
|
||||
if (filename.isEmpty()) {
|
||||
|
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>327</width>
|
||||
<height>434</height>
|
||||
<width>378</width>
|
||||
<height>508</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,0,0,0">
|
||||
@ -82,7 +82,7 @@
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="ownCertificateSignerLabel">
|
||||
<property name="text">
|
||||
<string>Signer</string>
|
||||
<string>Signer:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "core/Entry.h"
|
||||
#include "core/FilePath.h"
|
||||
#include "core/FileWatcher.h"
|
||||
#include "core/Global.h"
|
||||
#include "core/Group.h"
|
||||
#include "core/Merger.h"
|
||||
#include "core/Metadata.h"
|
||||
@ -191,7 +192,7 @@ void ShareObserver::reinitialize()
|
||||
|
||||
const auto active = KeeShare::active();
|
||||
QList<Update> updated;
|
||||
QList<Group*> groups = m_db->rootGroup()->groupsRecursive(true);
|
||||
const QList<Group*> groups = m_db->rootGroup()->groupsRecursive(true);
|
||||
for (Group* group : groups) {
|
||||
Update couple{group, m_groupToReference.value(group), KeeShare::referenceOf(group)};
|
||||
if (couple.oldReference == couple.newReference) {
|
||||
@ -214,7 +215,9 @@ void ShareObserver::reinitialize()
|
||||
QStringList success;
|
||||
QStringList warning;
|
||||
QStringList error;
|
||||
for (const auto& update : updated) {
|
||||
QMap<QString, QStringList> imported;
|
||||
QMap<QString, QStringList> exported;
|
||||
for (const auto& update : asConst(updated)) {
|
||||
if (!update.oldReference.path.isEmpty()) {
|
||||
m_fileWatcher->removePath(update.oldReference.path);
|
||||
}
|
||||
@ -222,8 +225,12 @@ void ShareObserver::reinitialize()
|
||||
if (!update.newReference.path.isEmpty() && update.newReference.type != KeeShareSettings::Inactive) {
|
||||
m_fileWatcher->addPath(update.newReference.path);
|
||||
}
|
||||
if (update.newReference.isExporting()) {
|
||||
exported[update.newReference.path] << update.group->name();
|
||||
}
|
||||
|
||||
if (update.newReference.isImporting()) {
|
||||
imported[update.newReference.path] << update.group->name();
|
||||
const auto result = this->importFromReferenceContainer(update.newReference.path);
|
||||
if (!result.isValid()) {
|
||||
// tolerable result - blocked import or missing source
|
||||
@ -241,6 +248,16 @@ void ShareObserver::reinitialize()
|
||||
}
|
||||
}
|
||||
}
|
||||
for (auto it = imported.cbegin(); it != imported.cend(); ++it) {
|
||||
if (it.value().count() > 1) {
|
||||
warning << tr("Multiple import source path to %1 in %2").arg(it.key(), it.value().join(", "));
|
||||
}
|
||||
}
|
||||
for (auto it = exported.cbegin(); it != exported.cend(); ++it) {
|
||||
if (it.value().count() > 1) {
|
||||
error << tr("Conflicting export target path %1 in %2").arg(it.key(), it.value().join(", "));
|
||||
}
|
||||
}
|
||||
|
||||
notifyAbout(success, warning, error);
|
||||
}
|
||||
@ -659,8 +676,10 @@ ShareObserver::Result ShareObserver::exportIntoReferenceSignedContainer(const Ke
|
||||
QuaZipFile file(&zip);
|
||||
const auto signatureOpened = file.open(QIODevice::WriteOnly, QuaZipNewInfo(KeeShare_Signature));
|
||||
if (!signatureOpened) {
|
||||
::qWarning("Embedding signature failed: %d", zip.getZipError());
|
||||
return {reference.path, Result::Error, tr("Could not embed signature (%1)").arg(file.getZipError())};
|
||||
::qWarning("Embedding signature failed: Could not open file to write (%d)", zip.getZipError());
|
||||
return {reference.path,
|
||||
Result::Error,
|
||||
tr("Could not embed signature: Could not open file to write (%1)").arg(file.getZipError())};
|
||||
}
|
||||
QTextStream stream(&file);
|
||||
KeeShareSettings::Sign sign;
|
||||
@ -672,8 +691,10 @@ ShareObserver::Result ShareObserver::exportIntoReferenceSignedContainer(const Ke
|
||||
stream << KeeShareSettings::Sign::serialize(sign);
|
||||
stream.flush();
|
||||
if (file.getZipError() != ZIP_OK) {
|
||||
::qWarning("Embedding signature failed: %d", zip.getZipError());
|
||||
return {reference.path, Result::Error, tr("Could not embed signature (%1)").arg(file.getZipError())};
|
||||
::qWarning("Embedding signature failed: Could not write file (%d)", zip.getZipError());
|
||||
return {reference.path,
|
||||
Result::Error,
|
||||
tr("Could not embed signature: Could not write file (%1)").arg(file.getZipError())};
|
||||
}
|
||||
file.close();
|
||||
}
|
||||
@ -681,14 +702,18 @@ ShareObserver::Result ShareObserver::exportIntoReferenceSignedContainer(const Ke
|
||||
QuaZipFile file(&zip);
|
||||
const auto dbOpened = file.open(QIODevice::WriteOnly, QuaZipNewInfo(KeeShare_Container));
|
||||
if (!dbOpened) {
|
||||
::qWarning("Embedding database failed: %d", zip.getZipError());
|
||||
return {reference.path, Result::Error, tr("Could not embed database (%1)").arg(file.getZipError())};
|
||||
}
|
||||
if (file.getZipError() != ZIP_OK) {
|
||||
::qWarning("Embedding database failed: %d", zip.getZipError());
|
||||
return {reference.path, Result::Error, tr("Could not embed database (%1)").arg(file.getZipError())};
|
||||
::qWarning("Embedding database failed: Could not open file to write (%d)", zip.getZipError());
|
||||
return {reference.path,
|
||||
Result::Error,
|
||||
tr("Could not embed database: Could not open file to write (%1)").arg(file.getZipError())};
|
||||
}
|
||||
file.write(bytes);
|
||||
if (file.getZipError() != ZIP_OK) {
|
||||
::qWarning("Embedding database failed: Could not write file (%d)", zip.getZipError());
|
||||
return {reference.path,
|
||||
Result::Error,
|
||||
tr("Could not embed database: Could not write file (%1)").arg(file.getZipError())};
|
||||
}
|
||||
file.close();
|
||||
}
|
||||
zip.close();
|
||||
@ -725,28 +750,55 @@ ShareObserver::Result ShareObserver::exportIntoReferenceUnsignedContainer(const
|
||||
QList<ShareObserver::Result> ShareObserver::exportIntoReferenceContainers()
|
||||
{
|
||||
QList<Result> results;
|
||||
struct Reference
|
||||
{
|
||||
KeeShareSettings::Reference config;
|
||||
const Group* group;
|
||||
};
|
||||
|
||||
QMap<QString, QList<Reference>> references;
|
||||
const auto groups = m_db->rootGroup()->groupsRecursive(true);
|
||||
for (const auto* group : groups) {
|
||||
const auto reference = KeeShare::referenceOf(group);
|
||||
if (!reference.isExporting()) {
|
||||
continue;
|
||||
}
|
||||
references[reference.path] << Reference{reference, group};
|
||||
}
|
||||
|
||||
m_fileWatcher->ignoreFileChanges(reference.path);
|
||||
QScopedPointer<Database> targetDb(exportIntoContainer(reference, group));
|
||||
QFileInfo info(reference.path);
|
||||
for (auto it = references.cbegin(); it != references.cend(); ++it) {
|
||||
if (it.value().count() != 1) {
|
||||
const auto path = it.value().first().config.path;
|
||||
QStringList groups;
|
||||
for (const auto& reference : it.value()) {
|
||||
groups << reference.group->name();
|
||||
}
|
||||
results << Result{
|
||||
path, Result::Error, tr("Conflicting export target path %1 in %2").arg(path, groups.join(", "))};
|
||||
}
|
||||
}
|
||||
if (!results.isEmpty()) {
|
||||
// We need to block export due to config
|
||||
return results;
|
||||
}
|
||||
|
||||
for (auto it = references.cbegin(); it != references.cend(); ++it) {
|
||||
const auto& reference = it.value().first();
|
||||
m_fileWatcher->ignoreFileChanges(reference.config.path);
|
||||
QScopedPointer<Database> targetDb(exportIntoContainer(reference.config, reference.group));
|
||||
QFileInfo info(reference.config.path);
|
||||
if (isOfExportType(info, KeeShare::signedContainerFileType())) {
|
||||
results << exportIntoReferenceSignedContainer(reference, targetDb.data());
|
||||
results << exportIntoReferenceSignedContainer(reference.config, targetDb.data());
|
||||
m_fileWatcher->observeFileChanges(true);
|
||||
continue;
|
||||
}
|
||||
if (isOfExportType(info, KeeShare::unsignedContainerFileType())) {
|
||||
results << exportIntoReferenceUnsignedContainer(reference, targetDb.data());
|
||||
results << exportIntoReferenceUnsignedContainer(reference.config, targetDb.data());
|
||||
m_fileWatcher->observeFileChanges(true);
|
||||
continue;
|
||||
}
|
||||
Q_ASSERT(false);
|
||||
results << Result{reference.path, Result::Error, tr("Unexpected export error occurred")};
|
||||
results << Result{reference.config.path, Result::Error, tr("Unexpected export error occurred")};
|
||||
}
|
||||
return results;
|
||||
}
|
||||
@ -759,6 +811,7 @@ void ShareObserver::handleDatabaseSaved()
|
||||
QStringList error;
|
||||
QStringList warning;
|
||||
QStringList success;
|
||||
|
||||
const auto results = exportIntoReferenceContainers();
|
||||
for (const Result& result : results) {
|
||||
if (!result.isValid()) {
|
||||
@ -787,7 +840,7 @@ ShareObserver::Result::Result(const QString& path, ShareObserver::Result::Type t
|
||||
|
||||
bool ShareObserver::Result::isValid() const
|
||||
{
|
||||
return !path.isEmpty() || !message.isEmpty() || !message.isEmpty() || !message.isEmpty();
|
||||
return !path.isEmpty() || !message.isEmpty();
|
||||
}
|
||||
|
||||
bool ShareObserver::Result::isError() const
|
||||
|
@ -42,10 +42,10 @@ QWidget* EditGroupPageKeeShare::createWidget()
|
||||
return new EditGroupWidgetKeeShare();
|
||||
}
|
||||
|
||||
void EditGroupPageKeeShare::set(QWidget* widget, Group* temporaryGroup)
|
||||
void EditGroupPageKeeShare::set(QWidget* widget, Group* temporaryGroup, QSharedPointer<Database> database)
|
||||
{
|
||||
EditGroupWidgetKeeShare* settingsWidget = reinterpret_cast<EditGroupWidgetKeeShare*>(widget);
|
||||
settingsWidget->setGroup(temporaryGroup);
|
||||
settingsWidget->setGroup(temporaryGroup, database);
|
||||
}
|
||||
|
||||
void EditGroupPageKeeShare::assign(QWidget* widget)
|
||||
|
@ -30,7 +30,7 @@ public:
|
||||
QString name() override;
|
||||
QIcon icon() override;
|
||||
QWidget* createWidget() override;
|
||||
void set(QWidget* widget, Group* temporaryGroup) override;
|
||||
void set(QWidget* widget, Group* temporaryGroup, QSharedPointer<Database> database) override;
|
||||
void assign(QWidget* widget) override;
|
||||
};
|
||||
|
||||
|
@ -54,6 +54,7 @@ EditGroupWidgetKeeShare::EditGroupWidgetKeeShare(QWidget* parent)
|
||||
connect(m_ui->pathEdit, SIGNAL(editingFinished()), SLOT(selectPath()));
|
||||
connect(m_ui->pathSelectionButton, SIGNAL(pressed()), SLOT(launchPathSelectionDialog()));
|
||||
connect(m_ui->typeComboBox, SIGNAL(currentIndexChanged(int)), SLOT(selectType()));
|
||||
connect(m_ui->clearButton, SIGNAL(clicked(bool)), SLOT(clearInputs()));
|
||||
|
||||
connect(KeeShare::instance(), SIGNAL(activeChanged()), SLOT(showSharingState()));
|
||||
|
||||
@ -84,12 +85,13 @@ EditGroupWidgetKeeShare::~EditGroupWidgetKeeShare()
|
||||
{
|
||||
}
|
||||
|
||||
void EditGroupWidgetKeeShare::setGroup(Group* temporaryGroup)
|
||||
void EditGroupWidgetKeeShare::setGroup(Group* temporaryGroup, QSharedPointer<Database> database)
|
||||
{
|
||||
if (m_temporaryGroup) {
|
||||
m_temporaryGroup->disconnect(this);
|
||||
}
|
||||
|
||||
m_database = database;
|
||||
m_temporaryGroup = temporaryGroup;
|
||||
|
||||
if (m_temporaryGroup) {
|
||||
@ -127,9 +129,43 @@ void EditGroupWidgetKeeShare::showSharingState()
|
||||
.arg(supportedExtensions.join(", ")),
|
||||
MessageWidget::Warning);
|
||||
return;
|
||||
} else {
|
||||
m_ui->messageWidget->hide();
|
||||
}
|
||||
|
||||
const auto groups = m_database->rootGroup()->groupsRecursive(true);
|
||||
bool conflictExport = false;
|
||||
bool multipleImport = false;
|
||||
bool cycleImportExport = false;
|
||||
for (const auto* group : groups) {
|
||||
if (group->uuid() == m_temporaryGroup->uuid()) {
|
||||
continue;
|
||||
}
|
||||
const auto other = KeeShare::referenceOf(group);
|
||||
if (other.path != reference.path) {
|
||||
continue;
|
||||
}
|
||||
multipleImport |= other.isImporting() && reference.isImporting();
|
||||
conflictExport |= other.isExporting() && reference.isExporting();
|
||||
cycleImportExport |=
|
||||
(other.isImporting() && reference.isExporting()) || (other.isExporting() && reference.isImporting());
|
||||
}
|
||||
if (conflictExport) {
|
||||
m_ui->messageWidget->showMessage(tr("The export container %1 is already referenced.").arg(reference.path),
|
||||
MessageWidget::Error);
|
||||
return;
|
||||
}
|
||||
if (multipleImport) {
|
||||
m_ui->messageWidget->showMessage(tr("The import container %1 is already imported.").arg(reference.path),
|
||||
MessageWidget::Warning);
|
||||
return;
|
||||
}
|
||||
if (cycleImportExport) {
|
||||
m_ui->messageWidget->showMessage(
|
||||
tr("The container %1 imported and export by different groups.").arg(reference.path),
|
||||
MessageWidget::Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
m_ui->messageWidget->hide();
|
||||
}
|
||||
const auto active = KeeShare::active();
|
||||
if (!active.in && !active.out) {
|
||||
@ -166,6 +202,17 @@ void EditGroupWidgetKeeShare::update()
|
||||
m_ui->togglePasswordButton->setChecked(false);
|
||||
}
|
||||
|
||||
void EditGroupWidgetKeeShare::clearInputs()
|
||||
{
|
||||
if (m_temporaryGroup) {
|
||||
KeeShare::setReferenceTo(m_temporaryGroup, KeeShareSettings::Reference());
|
||||
}
|
||||
m_ui->passwordEdit->clear();
|
||||
m_ui->pathEdit->clear();
|
||||
m_ui->typeComboBox->setCurrentIndex(KeeShareSettings::Inactive);
|
||||
m_ui->passwordGenerator->setVisible(false);
|
||||
}
|
||||
|
||||
void EditGroupWidgetKeeShare::togglePasswordGeneratorButton(bool checked)
|
||||
{
|
||||
m_ui->passwordGenerator->regeneratePassword();
|
||||
|
@ -37,13 +37,14 @@ public:
|
||||
explicit EditGroupWidgetKeeShare(QWidget* parent = nullptr);
|
||||
~EditGroupWidgetKeeShare();
|
||||
|
||||
void setGroup(Group* temporaryGroup);
|
||||
void setGroup(Group* temporaryGroup, QSharedPointer<Database> database);
|
||||
|
||||
private slots:
|
||||
void showSharingState();
|
||||
|
||||
private slots:
|
||||
void update();
|
||||
void clearInputs();
|
||||
void selectType();
|
||||
void selectPassword();
|
||||
void launchPathSelectionDialog();
|
||||
@ -54,6 +55,7 @@ private slots:
|
||||
private:
|
||||
QScopedPointer<Ui::EditGroupWidgetKeeShare> m_ui;
|
||||
QPointer<Group> m_temporaryGroup;
|
||||
QSharedPointer<Database> m_database;
|
||||
};
|
||||
|
||||
#endif // KEEPASSXC_EDITGROUPWIDGETKEESHARE_H
|
||||
|
@ -97,6 +97,13 @@
|
||||
<item row="5" column="1">
|
||||
<widget class="PasswordGeneratorWidget" name="passwordGenerator" native="true"/>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QPushButton" name="clearButton">
|
||||
<property name="text">
|
||||
<string>Clear</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
20
src/main.cpp
20
src/main.cpp
@ -67,19 +67,13 @@ int main(int argc, char** argv)
|
||||
Bootstrap::bootstrapApplication();
|
||||
|
||||
QCommandLineParser parser;
|
||||
parser.setApplicationDescription(
|
||||
QObject::tr("KeePassXC - cross-platform password manager"));
|
||||
parser.setApplicationDescription(QObject::tr("KeePassXC - cross-platform password manager"));
|
||||
parser.addPositionalArgument(
|
||||
"filename",
|
||||
QObject::tr("filenames of the password databases to open (*.kdbx)"),
|
||||
"[filename(s)]");
|
||||
"filename", QObject::tr("filenames of the password databases to open (*.kdbx)"), "[filename(s)]");
|
||||
|
||||
QCommandLineOption configOption(
|
||||
"config", QObject::tr("path to a custom config file"), "config");
|
||||
QCommandLineOption keyfileOption(
|
||||
"keyfile", QObject::tr("key file of the database"), "keyfile");
|
||||
QCommandLineOption pwstdinOption("pw-stdin",
|
||||
QObject::tr("read password of the database from stdin"));
|
||||
QCommandLineOption configOption("config", QObject::tr("path to a custom config file"), "config");
|
||||
QCommandLineOption keyfileOption("keyfile", QObject::tr("key file of the database"), "keyfile");
|
||||
QCommandLineOption pwstdinOption("pw-stdin", QObject::tr("read password of the database from stdin"));
|
||||
// This is needed under Windows where clients send --parent-window parameter with Native Messaging connect method
|
||||
QCommandLineOption parentWindowOption(QStringList() << "pw"
|
||||
<< "parent-window",
|
||||
@ -106,9 +100,7 @@ int main(int argc, char** argv)
|
||||
if (!fileNames.isEmpty()) {
|
||||
app.sendFileNamesToRunningInstance(fileNames);
|
||||
}
|
||||
qWarning() << QObject::tr("Another instance of KeePassXC is already running.")
|
||||
.toUtf8()
|
||||
.constData();
|
||||
qWarning() << QObject::tr("Another instance of KeePassXC is already running.").toUtf8().constData();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include <QCoreApplication>
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
#include <Winsock2.h>
|
||||
#include <winsock2.h>
|
||||
#endif
|
||||
|
||||
NativeMessagingHost::NativeMessagingHost()
|
||||
@ -36,14 +36,12 @@ NativeMessagingHost::NativeMessagingHost()
|
||||
}
|
||||
#ifdef Q_OS_WIN
|
||||
m_running.store(true);
|
||||
m_future =
|
||||
QtConcurrent::run(this, static_cast<void (NativeMessagingHost::*)()>(&NativeMessagingHost::readNativeMessages));
|
||||
m_future = QtConcurrent::run(this, &NativeMessagingHost::readNativeMessages);
|
||||
#endif
|
||||
connect(m_localSocket, SIGNAL(readyRead()), this, SLOT(newLocalMessage()));
|
||||
connect(m_localSocket, SIGNAL(disconnected()), this, SLOT(deleteSocket()));
|
||||
connect(m_localSocket,
|
||||
SIGNAL(stateChanged(QLocalSocket::LocalSocketState)),
|
||||
this,
|
||||
SLOT(socketStateChanged(QLocalSocket::LocalSocketState)));
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,7 @@ class NativeMessagingHost : public NativeMessagingBase
|
||||
Q_OBJECT
|
||||
public:
|
||||
NativeMessagingHost();
|
||||
~NativeMessagingHost();
|
||||
~NativeMessagingHost() override;
|
||||
|
||||
public slots:
|
||||
void newLocalMessage();
|
||||
@ -33,12 +33,14 @@ public slots:
|
||||
void socketStateChanged(QLocalSocket::LocalSocketState socketState);
|
||||
|
||||
private:
|
||||
void readNativeMessages();
|
||||
void readLength();
|
||||
bool readStdIn(const quint32 length);
|
||||
void readNativeMessages() override;
|
||||
void readLength() override;
|
||||
bool readStdIn(const quint32 length) override;
|
||||
|
||||
private:
|
||||
QLocalSocket* m_localSocket;
|
||||
|
||||
Q_DISABLE_COPY(NativeMessagingHost)
|
||||
};
|
||||
|
||||
#endif // NATIVEMESSAGINGHOST_H
|
||||
|
@ -55,13 +55,29 @@ void catchUnixSignals(std::initializer_list<int> quitSignals)
|
||||
sigaction(sig, &sa, nullptr);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#include <windows.h>
|
||||
|
||||
BOOL WINAPI ConsoleHandler(DWORD dwType)
|
||||
{
|
||||
switch (dwType) {
|
||||
case CTRL_C_EVENT:
|
||||
case CTRL_SHUTDOWN_EVENT:
|
||||
case CTRL_LOGOFF_EVENT:
|
||||
QCoreApplication::quit();
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
QCoreApplication a(argc, argv);
|
||||
#if defined(Q_OS_UNIX) || defined(Q_OS_LINUX)
|
||||
#ifndef Q_OS_WIN
|
||||
catchUnixSignals({SIGQUIT, SIGINT, SIGTERM, SIGHUP});
|
||||
#else
|
||||
SetConsoleCtrlHandler(static_cast<PHANDLER_ROUTINE>(ConsoleHandler), TRUE);
|
||||
#endif
|
||||
NativeMessagingHost host;
|
||||
return a.exec();
|
||||
|
@ -28,6 +28,7 @@ SymmetricCipherStream::SymmetricCipherStream(QIODevice* baseDevice,
|
||||
, m_error(false)
|
||||
, m_isInitialized(false)
|
||||
, m_dataWritten(false)
|
||||
, m_streamCipher(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -16,11 +16,11 @@
|
||||
*/
|
||||
|
||||
#include "UpdateChecker.h"
|
||||
#include "core/Config.h"
|
||||
#include "config-keepassx.h"
|
||||
#include "core/Config.h"
|
||||
#include <QJsonObject>
|
||||
#include <QtNetwork>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QtNetwork>
|
||||
|
||||
UpdateChecker* UpdateChecker::m_instance(nullptr);
|
||||
|
||||
@ -28,6 +28,7 @@ UpdateChecker::UpdateChecker(QObject* parent)
|
||||
: QObject(parent)
|
||||
, m_netMgr(new QNetworkAccessManager(this))
|
||||
, m_reply(nullptr)
|
||||
, m_isManuallyRequested(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -17,8 +17,8 @@
|
||||
|
||||
#ifndef KEEPASSXC_UPDATECHECK_H
|
||||
#define KEEPASSXC_UPDATECHECK_H
|
||||
#include <QString>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
class QNetworkAccessManager;
|
||||
class QNetworkReply;
|
||||
@ -57,4 +57,4 @@ inline UpdateChecker* updateCheck()
|
||||
return UpdateChecker::instance();
|
||||
}
|
||||
|
||||
#endif //KEEPASSXC_UPDATECHECK_H
|
||||
#endif // KEEPASSXC_UPDATECHECK_H
|
||||
|
@ -177,8 +177,8 @@ void TestEntrySearcher::testAllAttributesAreSearched()
|
||||
void TestEntrySearcher::testSearchTermParser()
|
||||
{
|
||||
// Test standard search terms
|
||||
auto terms =
|
||||
m_entrySearcher.parseSearchTerms("-test \"quoted \\\"string\\\"\" user:user pass:\"test me\" noquote ");
|
||||
m_entrySearcher.parseSearchTerms("-test \"quoted \\\"string\\\"\" user:user pass:\"test me\" noquote ");
|
||||
auto terms = m_entrySearcher.m_searchTerms;
|
||||
|
||||
QCOMPARE(terms.length(), 5);
|
||||
|
||||
@ -200,7 +200,8 @@ void TestEntrySearcher::testSearchTermParser()
|
||||
QCOMPARE(terms[4]->word, QString("noquote"));
|
||||
|
||||
// Test wildcard and regex search terms
|
||||
terms = m_entrySearcher.parseSearchTerms("+url:*.google.com *user:\\d+\\w{2}");
|
||||
m_entrySearcher.parseSearchTerms("+url:*.google.com *user:\\d+\\w{2}");
|
||||
terms = m_entrySearcher.m_searchTerms;
|
||||
|
||||
QCOMPARE(terms.length(), 2);
|
||||
|
||||
|
@ -811,7 +811,6 @@ void TestGroup::testCopyDataFrom()
|
||||
group3->setName("TestGroup3");
|
||||
group3->customData()->set("testKey", "value");
|
||||
|
||||
|
||||
QSignalSpy spyGroupModified(group.data(), SIGNAL(groupModified()));
|
||||
QSignalSpy spyGroupDataChanged(group.data(), SIGNAL(groupDataChanged(Group*)));
|
||||
|
||||
|
@ -17,8 +17,8 @@
|
||||
|
||||
#include "TestUpdateCheck.h"
|
||||
#include "TestGlobal.h"
|
||||
#include "updatecheck/UpdateChecker.h"
|
||||
#include "crypto/Crypto.h"
|
||||
#include "updatecheck/UpdateChecker.h"
|
||||
|
||||
QTEST_GUILESS_MAIN(TestUpdateCheck)
|
||||
|
||||
@ -29,7 +29,7 @@ void TestUpdateCheck::initTestCase()
|
||||
|
||||
void TestUpdateCheck::testCompareVersion()
|
||||
{
|
||||
// Remote Version , Installed Version
|
||||
// Remote Version , Installed Version
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.4.0"), QString("2.3.4")), true);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0"), QString("2.4.0")), false);
|
||||
QCOMPARE(UpdateChecker::compareVersions(QString("2.3.0"), QString("2.3.0")), false);
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
class TestUpdateCheck : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
|
||||
private slots:
|
||||
void initTestCase();
|
||||
|
142
utils/keepassxc-snap-helper.sh
Executable file
142
utils/keepassxc-snap-helper.sh
Executable file
@ -0,0 +1,142 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# KeePassXC Browser Extension Native Messaging Installer Tool
|
||||
# Copyright (C) 2017 KeePassXC team <https://keepassxc.org/>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 or (at your option)
|
||||
# version 3 of the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
set -e
|
||||
|
||||
DEBUG=false
|
||||
|
||||
JSON_BASE=$(cat << EOF
|
||||
{
|
||||
"name": "org.keepassxc.keepassxc_browser",
|
||||
"description": "KeePassXC integration with native messaging support",
|
||||
"path": "/snap/bin/keepassxc.proxy",
|
||||
"type": "stdio",
|
||||
__EXT__
|
||||
}
|
||||
EOF
|
||||
)
|
||||
|
||||
JSON_FIREFOX=$(cat << EOF
|
||||
"allowed_extensions": [
|
||||
"keepassxc-browser@keepassxc.org"
|
||||
]
|
||||
EOF
|
||||
)
|
||||
|
||||
JSON_CHROME=$(cat << EOF
|
||||
"allowed_origins": [
|
||||
"chrome-extension://iopaggbpplllidnfmcghoonnokmjoicf/",
|
||||
"chrome-extension://oboonakemofpalcgghocfoadofidjkkk/"
|
||||
]
|
||||
EOF
|
||||
)
|
||||
|
||||
JSON_OUT=""
|
||||
BASE_DIR="."
|
||||
INSTALL_DIR=""
|
||||
INSTALL_FILE="org.keepassxc.keepassxc_browser.json"
|
||||
|
||||
buildJson() {
|
||||
if [[ ! -z $1 ]]; then
|
||||
# Insert Firefox data
|
||||
JSON_OUT="${JSON_BASE/__EXT__/$JSON_FIREFOX}"
|
||||
else
|
||||
# Insert Chrome data
|
||||
JSON_OUT="${JSON_BASE/__EXT__/$JSON_CHROME}"
|
||||
fi
|
||||
}
|
||||
|
||||
askBrowserSnap() {
|
||||
if (whiptail --title "Snap Choice" --defaultno \
|
||||
--yesno "Is this browser installed as a snap (usually NO)?" 8 60); then
|
||||
# BASE_DIR="$1"
|
||||
whiptail --title "Snap Choice" --msgbox "Sorry, browsers installed as snaps are not supported at this time" 8 50
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
setupFirefox() {
|
||||
askBrowserSnap "./snap/firefox/common"
|
||||
buildJson "firefox"
|
||||
INSTALL_DIR="${BASE_DIR}/.mozilla/native-messaging-hosts"
|
||||
}
|
||||
|
||||
setupChrome() {
|
||||
buildJson
|
||||
INSTALL_DIR="${BASE_DIR}/.config/google-chrome/NativeMessagingHosts"
|
||||
}
|
||||
|
||||
setupChromium() {
|
||||
askBrowserSnap "./snap/chromium/current"
|
||||
buildJson
|
||||
INSTALL_DIR="${BASE_DIR}/.config/chromium/NativeMessagingHosts"
|
||||
}
|
||||
|
||||
setupVivaldi() {
|
||||
buildJson
|
||||
INSTALL_DIR="${BASE_DIR}/.config/vivaldi/NativeMessagingHosts"
|
||||
}
|
||||
|
||||
setupTorBrowser() {
|
||||
buildJson "firefox"
|
||||
INSTALL_DIR="${BASE_DIR}/.tor-browser/app/Browser/TorBrowser/Data/Browser/.mozilla/native-messaging-hosts"
|
||||
}
|
||||
|
||||
# --------------------------------
|
||||
# Start of script
|
||||
# --------------------------------
|
||||
|
||||
BROWSER=$(whiptail \
|
||||
--title "Browser Selection" \
|
||||
--menu "Choose a browser to integrate with KeePassXC:" \
|
||||
15 60 5 \
|
||||
"1" "Firefox" \
|
||||
"2" "Chrome" \
|
||||
"3" "Chromium" \
|
||||
"4" "Vivaldi" \
|
||||
"5" "Tor Browser" \
|
||||
3>&1 1>&2 2>&3)
|
||||
|
||||
clear
|
||||
|
||||
exitstatus=$?
|
||||
if [ $exitstatus = 0 ]; then
|
||||
# Configure settings for the chosen browser
|
||||
case "$BROWSER" in
|
||||
1) setupFirefox ;;
|
||||
2) setupChrome ;;
|
||||
3) setupChromium ;;
|
||||
4) setupVivaldi ;;
|
||||
5) setupTorBrowser ;;
|
||||
esac
|
||||
|
||||
# Install the JSON file
|
||||
cd ~
|
||||
mkdir -p "$INSTALL_DIR"
|
||||
echo "$JSON_OUT" > ${INSTALL_DIR}/${INSTALL_FILE}
|
||||
|
||||
$DEBUG && echo "Installed to: ${INSTALL_DIR}/${INSTALL_FILE}"
|
||||
|
||||
whiptail \
|
||||
--title "Installation Complete" \
|
||||
--msgbox "You will need to restart your browser in order to connect to KeePassXC" \
|
||||
8 50
|
||||
else
|
||||
whiptail --title "Installation Canceled" --msgbox "No changes were made to your system" 8 50
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user