freedombox release 26.6 for unstable

[dgit distro=debian split]
 [dgit please-upload source=freedombox version=26.6]
 -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmnUWw0WHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICFtdD/9BHHquoQcNXuHT162FGjYleuJN
 nM8tQnZ4x0Gj2pSMIUa+8QUXO6xS8swvZCajHLotgs20KUTDM9ti8cm2+wZFMTlL
 L1MENTDOoKfGSeNMNL5SHf/wNwJGuqpYWfbY7QrZQUd+F6XM3zvACq6tD8NU3NYE
 ardMTVZc6oXoTfXav3jliD9wxW2HT2ouyvm9US9kPOnIFNfbHKv+4vstC7UK2RvT
 iE+CiLJe1X1jQOwSe89ziMGbP2NIdCEhPFrwGXCfipXePpvkBA0kxbzPdSPchNDS
 NLWKJYR9+Su+tsxvgKornhHuKKFilOfG6k5h8z/y4Khm/rMncWSvyrB6kYdLrKNX
 jO96I7SHulQvgIl74+V4VXQNGLjvFLqiago+XBT/Jui7k/4pjUPxO5fNqoT4gmWk
 FEiOTrc7++RtfYyi3KpvRA4UI48EpRK5ff048Jnh93aD+ghm3+0Gv6QuhiIK6y6z
 Jts6mF98iI2BGNsFYdpChIRT0/atZwRczr8gUljX5FJM4FfNM5X1fUOee8Y7lahL
 1IDSMb+QjwhRkRIS75UAw5TRa1FsqlJIp+faKx8dFCCOvXxh3ADPUTR3SEPDHdiz
 kglrHBlFyZN2w7+4OQuKmde0wrS/qW8N/aNoncKFTD36JoKn87/wpFtujCyYm6t3
 qwN5EMgK8/TMPqg16g==
 =F+Ew
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmnZb5oWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICMj1EAC1yiknGtf3K/I4SQ1nb8SP16C7
 ZeSKl2TSnUlPr2qa77S95h5raRGLiTNUhZ9+MnJYvZYDgorBhh7GT4MME4YcT6Wu
 o6FENEMfjq7YgHSX7CPa6eni3lhJdwPsN0O24sYa9aGmBo8FC7xKmtjc2JAHsmCi
 yT5R81rGj9Gy7yV31n7mrTZcH2BxwEAXJnMilyIBSmoLoaLT7fnJ6Mg1wMPQ4UWL
 5uQ0R8nc9YEVuj+w2lX4Hwx0Exgu5MVHOdW/tXWTttnnD4JVmxzyZ0lfR7rtevC2
 3ejZk1VSzIlQWuLr12g4vGvPMW2p7zpoL6brGFFlRwXt4SdSx3ygbiu3SliklfVs
 Q74qlFaTO/Wns/xS7bYY9HchO4oFYw5oeJNK05F8Be1Xfy7F9hL15GJ8P9Q2O007
 27/nLngx/yqMywcivs/a1kknmawyc7iCh2TGkjrMWUNparvcbbWHxuUk4mqDx4C+
 +YDa48WS9TvQgEi8296da+WlKW81MWPBQQRhTui1aQA+/RMs+SjpvHxX813c6IkJ
 r3nwzDTJqx0j0HHdLPZztPkxq+dNapRDXK9JO6N2DljvwMmCp+v5Yf3a0pHOAEHj
 v2w7pqE3d8aHQMfQSRjBHvMVaa+QYCG8ycHdm2cjhBt+uyoKrmh112lTXiwqiPEx
 dEugCQKxXSJClzfoag==
 =mzFW
 -----END PGP SIGNATURE-----

Merge tag 'debian/26.6' into debian/trixie-backports

freedombox release 26.6 for unstable
This commit is contained in:
James Valleroy 2026-04-10 17:45:59 -04:00
commit f9ecccc181
69 changed files with 8040 additions and 1793 deletions

View File

@ -17,8 +17,6 @@ RestartSec=5
ExecReload=/bin/kill -HUP $MAINPID
User=plinth
Group=plinth
StandardOutput=null
StandardError=null
NotifyAccess=main
# Uploaded files in /var/tmp/ are shared with FreedomBox privileged service by
# joining namespaces.

29
debian/changelog vendored
View File

@ -1,3 +1,32 @@
freedombox (26.6) unstable; urgency=medium
[ Coucouf ]
* Translated using Weblate (French)
[ Dietmar ]
* Translated using Weblate (Italian)
* Translated using Weblate (German)
[ Pierfrancesco Passerini ]
* Translated using Weblate (Italian)
[ bsurajpatra ]
* Translated using Weblate (Hindi)
[ Sunil Mohan Adapa ]
* service: Capture stdout/stderr when running as systemd unit
* views: Add a decorator to handle exceptions in JSON views
* d/control: Add fido2 library as dependency
* users: Add support for registering, editing, and deleting passkeys
* users: Add support for logging in with passkeys
* users: Add link to guide on passkeys
[ James Valleroy ]
* locale: Update translation strings
* doc: Fetch latest manual
-- James Valleroy <jvalleroy@mailbox.org> Mon, 06 Apr 2026 20:41:35 -0400
freedombox (26.5.1~bpo13+1) trixie-backports; urgency=medium
* Rebuild for trixie-backports.

2
debian/control vendored
View File

@ -37,6 +37,7 @@ Build-Depends:
python3-django-ipware <!nocheck>,
python3-django-oauth-toolkit <!nocheck>,
python3-django-stronghold <!nocheck>,
python3-fido2 <!nocheck>,
python3-gi,
python3-markupsafe,
python3-mypy <!nocheck>,
@ -110,6 +111,7 @@ Depends:
python3-django-ipware,
python3-django-oauth-toolkit,
python3-django-stronghold,
python3-fido2,
python3-gi,
python3-markupsafe,
python3-pampy,

View File

@ -0,0 +1,117 @@
#language en
##TAG:TRANSLATION-HEADER-START
~- [[FreedomBox/Guide/Passkeys|English]] - [[DebianWiki/EditorGuide#translation|(+)]] -~
##TAG:TRANSLATION-HEADER-END
<<TableOfContents>>
## BEGIN_INCLUDE
== Use Passkeys to Improve Login Security ==
{{{#!wiki tip
Passkeys are strongly recommended over passwords.
}}}
'''Available since''': !FreedomBox 26.6
!FreedomBox allows users to login to their account with passkeys. Passkeys are way to verify user's identity using digital signatures. They are a more secure alternative to passwords. Secret information is kept with the user on their phone, laptop, or a hardware token and unlocked using a PIN, fingerprint, or face ID. No secrets are stored on the server. The server knows only the public information that can be used to verify user's signatures.
=== How do passkeys work? ===
After the user logs into their account, one or more passkeys can be added to the account from the 'Manage Passkeys' page. At the time of adding passkeys, the passkey hardware (or authenticator), will generate a public and private key pair that is tied to the domain and user account. The private key is kept in the hardware and public key is provided to the server. The server stores the public key along with user account. Later when a user is trying to log in to their account, the server sends a long randomly generated string to the authenticator called the challenge. The hardware digitally signs the challenge using the private key and sends it to the server. The server is able to verify that the signature is made by the holder of private key by just using the public key that it has (this is a feature of public/private key pairs). Once verified, the server logs into the user account associated with that public key.
During this process, the browser acts as a trusted intermediary between the passkey hardware and the server. It ensures that the user is verified by providing PIN, fingerprint, face ID, etc. It also ensures that a passkey is only used with the domain it is meant for.
=== Better security ===
Passkeys provide better security than passwords:
* '''Multi-factor authentication''': During registration of a passkey and during login, !FreedomBox requests that the browser verify the user. This means the user will need to unlock the authenticator device by providing a PIN, fingerprint, face ID, etc. This acts as one of the authentication factors: "something you know" or "something your are". Another authentication factor is "something that you have": the hardware that stores your passkey (such as Solokey, Nitrokey, or Yubikey) or a phone. Together, this is similar to using a password along with a second factor authentication. So, passkeys can replace two-factor authentication while being much more convenient and easier to use.
* '''No reuse''': Passkeys are never reused. For each domain a separate passkey is generated and used. Browsers ensure that passkey for a domain is never used with another domain. Unlike reused passwords, when a website or a service is compromised, adversaries can't use that to gain access to your account in different website or service. This also prevents phishing attacks were adversarial websites pretend to be legitimate ones.
* '''No secrets on the server''': The website allowing use of passkeys for login does not store any secret information. It only stores the public key part of the passkey. If this information is obtained by an adversary, they will not be able to login to the website. Only the private key stored on the authenticator device can be used to login to the website (since only a private key can create signatures needed for login process).
* '''No guessing''': The secret part of a passkey is much more impractical to guess compared to a password. There is no risk that someone will be able to guess your password and access your account. There is no risk that you might accidentally set a predictable password.
* '''Convenience''': Users don't need to remember username, email, or a secret to login to a website. They don't need to receive OTP via text or email, use TOTP app, or confirm login using a mobile app. After clicking on the 'Login with passkey' button, they unlock their authenticator using a PIN, fingerprint, or face ID. Then they physically tap on the authenticator (if necessary). The user is then logged in. There are fewer things to remember. Even the PIN for a hardware authenticator is typically easier to remember than a password. This convenience encourages users to use this mechanism, ultimately leading to better security.
=== Hardware Needed for Passkeys ===
{{{#!wiki tip
'''[[https://solokeys.com/|Solokeys]]''' are recommend for passkey storage by the !FreedomBox project.
* The [[https://github.com/solokeys/solo2|firmware]] (the OS for the hardware) is free software.
* The [[https://github.com/solokeys/solo2-hw|hardware]] designs are free too.
* The Solokeys team and the !FreedomBox team collaborate.
}}}
There are many ways to get started with passkeys:
* '''Separate passkey hardware''': The recommended way to store passkeys is on a specific hardware key. In this setup, the private key part of the passkey never leaves the hardware device. They are also typically built such that it is hard for an adversary with physical access the device to extract passkey from it. Another advantage of these devices is that the hardware can be used with all your existing devices such as phones, laptops, and desktops. These devices interact with phones and desktops using USB, Bluetooth, or NFC tap. In case of NFC, the device works with proximity from the phone without additional power. When using a separate hardware, however, you must have a backup way of logging into your account in the event that you loose the hardware device. This could be an additional passkey hardware or a password. See the section on backup below.
* '''Builtin passkey hardware''': When a separate hardware device is not available, specialized hardware, such as a TPM, built into the computer is preferable. This setup will still ensure that passkeys do not leave the hardware. One disadvantage of this approach is that the passkey only works with that device and you will need register each device you use separately.
* '''Password managers''': As a last resort, one could use password managers that support passkeys and work with your browser or OS. Android, iOS, and Windows offer such password managers. Passkeys stored in password managers are typically synchronized to the cloud and a breach of that service/account could result in compromise of all your accounts. However, they work across multiple devices and you typically don't have to worry about loosing a single hardware device.
=== Naming Your Passkey ===
In !FreedomBox, when a passkey is added to your account, it by default named as 'Key 1'. The next one will be named 'Key 2' and so on. However, it is good practice to name them such that you know which device they are stored on. For example, you can name them 'Key on Primary Solokey', 'Key on Android Phone', etc. If a device is lost, you can login to your account and remove that key from the list of passkeys associated with your account.
=== Multiple Domains ===
Each passkey is strictly tied to a domain and never used for another domain. This necessary to ensure that a malicious domain does not impersonate a legitimate domain. Hence, if your !FreedomBox is configured with multiple domains, then the browser and hardware authenticator device will treat them as separate accounts for the purpose of authentication with passkeys. This means you need to register separate passkeys for each of your domains.
For example, assume your !FreedomBox has two domains configured mydomain1.fbx.one and mydomain2.example. Visit mydomain1.fbx.one, log in to your account, and add a passkey. This passkey will be tied to this domain. When you are trying to log in, the passkey will work if you are accessing mydomain1.fbx.one but it won't work when accessing mydomain2.example. To make the second domain work, you need to add a second passkey while accessing your !FreedomBox with the domain name mydomain2.example. Two passkeys are then stored in your hardware token. First one will be tied to mydomain1.fbx.one and will only be used when accessing that domain. Second one will be tied to mydomain2.example and will only be used when accessing that domain.
=== Multiple User Accounts ===
When you use a passkey hardware for multiple user accounts on the same !FreedomBox, separate passkeys will be created for each of the accounts. Each passkey will be assigned the username of the account it is tied to. This information is stored in the passkey as well as the server. During login, the browser will prompt to select the user account you want to log into. If only a single passkey exists for a given domain name, then the selection dialog is not shown and user will login to the account corresponding to the passkey.
=== Backup for Passkey ===
In case the device storing your passkey is lost, you need alternate ways to login to you account:
1. You can register and maintain two passkeys on two separate devices. For example, your primary passkey could be on a Solokey hardware token and the second passkey could be on an Android phone or another Solokey hardware token. If one is lost, you can login with the other. This is the recommended approach.
1. !FreedomBox continues to support passwords even after passkeys are registered. So, if a passkey device is lost, you can login with a password.
1. If you forget your password and if your user account is not the only administrator account on the !FreedomBox, you can ask an administrator to reset your password. After that you can register a new passkey stored on a new device.
=== Supported Platforms ===
Passkeys are based on WebAuthn, a standard published by World Wide Web Consortium. So, !FreedomBox's implementation is expected to work wherever passkeys work. It has been tested as follows:
|| '''OS/Device''' || '''Browser''' || '''Authenticator''' || '''Result''' ||
|| GNU/Linux || Firefox || Solokeys || Pass ||
|| GNU/Linux || Firefox || Yubikey || Pass ||
|| GNU/Linux || Chromium || Solokeys || Pass ||
|| GNU/Linux || GNOME Web || - || Fail (Browser does not support Webauthn) ||
|| Windows || Firefox || Windows Hello || Pass ||
|| Windows || Firefox || Solokeys || Pass ||
|| Windows || Firefox || Android Phone || Pass ||
|| Windows || Chrome || Windows Hello || Pass ||
|| Windows || Chrome || Solokeys || Pass ||
|| Windows || Chrome || Android Phone || Pass ||
|| Windows || Edge || Windows Hello || Pass ||
|| Windows || Edge || Solokeys || Pass ||
|| Windows || Edge || Android Phone || Pass ||
|| Android || Firefox || Google Password Manager || Pass ||
|| Android || Firefox || Solokeys USB || Fail (Touch is not detected after PIN entry) ||
|| Android || Firefox || Solokeys NFC || Fail (Need to understand NFC setup) ||
|| Android || Firefox || Another device || Untested ||
|| Android || Chrome || Google Password Manager || Pass ||
|| Android || Chrome || Solokeys USB || Fail (Touch is not detected after PIN entry) ||
|| Android || Chrome || Solokeys NFC || Fail (Need to understand NFC setup) ||
|| Android || Chrome || Another device || Untested ||
## END_INCLUDE
Back to [[FreedomBox/Features|Features introduction]] or [[FreedomBox/Manual|manual]] pages.
<<Include(FreedomBox/Portal)>>
----
CategoryFreedomBox

View File

@ -8,6 +8,28 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
The following are the release notes for each !FreedomBox version.
== FreedomBox 26.6 (2026-04-06) ==
=== Highlights ===
* users: Add support for logging in with passkeys
=== Other Changes ===
* d/control: Add fido2 library as dependency
* locale: Update translations for French, German, Hindi, Italian
* service: Capture stdout/stderr when running as systemd unit
* users: Add link to guide on passkeys
* users: Add support for registering, editing, and deleting passkeys
* views: Add a decorator to handle exceptions in JSON views
== FreedomBox 26.5.1 (2026-03-26) ==
* debian/control: Fix building with nocheck profile
* debian/copyright: Drop a removed file, correct path for another
* locale: Update translations for Albanian, Turkish
* web_server: Fix locating SVG icons on production setup
== FreedomBox 26.5 (2026-03-23) ==
=== Highlights ===

View File

@ -8,25 +8,25 @@
== Users and Groups ==
You can grant access to your !FreedomBox for other users. Provide the Username with a password and assign a group to it. Currently the groups
This app can be used to create, edit, and remove user accounts on !FreedomBox. Many apps with web interface in !FreedomBox support single sign-on using OpenID Connect. This means that if you are logged into !FreedomBox web interface, there is no need to login to the app separately. Other apps support using the !FreedomBox user accounts via LDAP. Finally, there are some apps that manage their own user accounts separate from the accounts you have in !FreedomBox.
Access to an app is allowed if the user accessing the app is part of the app's group. You can grant access to apps in !FreedomBox for specific users by adding them to the following groups:
* admin
* bit-torrent
* calibre
* ed2k
* feed-reader
* freedombox-share
* freedombox-ssh
* git-access
* minidlna
* syncthing
* kiwix
* syncthing-access
* vpn
* web-search
* wiki
are supported.
The user will be able to log in to services that support single sign-on through LDAP, if they are in the appropriate group.
Users in the admin group will be able to log in to all services. They can also log in to the system through SSH and have administrative privileges (sudo). A user's groups can also be changed later.
Users in the admin group will be able to log in to all services. They can also log in to the system through SSH and have administrative privileges (sudo).
A user's groups can also be changed later.
!FreedomBox supports logging in with passkeys. Passkeys are a secure alternative to passwords and are the recommended way of authenticating to !FreedomBox. Read more in the [[FreedomBox/Guide/Passkeys|FreedomBox's guide to passkeys]].
It is also possible to set an SSH public key which will allow this user to securely log in to the system without using a password. You may enter multiple keys, one on each line. Blank lines and lines starting with # will be ignored.

View File

@ -83,6 +83,7 @@
<<Include(FreedomBox/Manual/Users, , from="## BEGIN_INCLUDE", to="## END_INCLUDE")>>
= Guides =
<<Include(FreedomBox/Guide/Passkeys, , from="## BEGIN_INCLUDE", to="## END_INCLUDE")>>
<<Include(FreedomBox/Guide/ExposeLocalService, , from="## BEGIN_INCLUDE", to="## END_INCLUDE")>>
= Hardware =

View File

@ -83,6 +83,7 @@
<<Include(FreedomBox/Manual/Users, , from="## BEGIN_INCLUDE", to="## END_INCLUDE")>>
= Guides =
<<Include(FreedomBox/Guide/Passkeys, , from="## BEGIN_INCLUDE", to="## END_INCLUDE")>>
<<Include(FreedomBox/Guide/ExposeLocalService, , from="## BEGIN_INCLUDE", to="## END_INCLUDE")>>
= Hardware =

View File

@ -8,6 +8,28 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f
The following are the release notes for each !FreedomBox version.
== FreedomBox 26.6 (2026-04-06) ==
=== Highlights ===
* users: Add support for logging in with passkeys
=== Other Changes ===
* d/control: Add fido2 library as dependency
* locale: Update translations for French, German, Hindi, Italian
* service: Capture stdout/stderr when running as systemd unit
* users: Add link to guide on passkeys
* users: Add support for registering, editing, and deleting passkeys
* views: Add a decorator to handle exceptions in JSON views
== FreedomBox 26.5.1 (2026-03-26) ==
* debian/control: Fix building with nocheck profile
* debian/copyright: Drop a removed file, correct path for another
* locale: Update translations for Albanian, Turkish
* web_server: Fix locating SVG icons on production setup
== FreedomBox 26.5 (2026-03-23) ==
=== Highlights ===

View File

@ -3,4 +3,4 @@
Package init file.
"""
__version__ = '26.5.1'
__version__ = '26.6'

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2025-04-16 02:28+0000\n"
"Last-Translator: MohammedSaalif <2300031323@kluniversity.in>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/freedombox/"
@ -31,7 +31,7 @@ msgstr "تم إعداد التكوين الثابت {etc_path} بشكل صحيح
msgid "Container {container_name} is running"
msgstr "الخدمة {service_name} نشِطة"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
#, fuzzy
msgid "FreedomBox"
msgstr "صندوق الحرية"
@ -347,6 +347,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr ""
@ -1979,6 +1980,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3062,8 +3064,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "عن"
@ -3201,6 +3203,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3607,7 +3610,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5331,12 +5334,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6207,8 +6216,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8582,7 +8591,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8624,7 +8633,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8633,77 +8642,173 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Local Network Domain"
msgid "For Domain"
msgstr "مجال الشبكة المحلية"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
msgid "Delete passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9417,22 +9522,26 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Manage passkeys"
msgstr ""
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9667,15 +9776,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2020-06-10 15:41+0000\n"
"Last-Translator: aiman an <an1f3@hotmail.com>\n"
"Language-Team: Arabic (Saudi Arabia) <https://hosted.weblate.org/projects/"
@ -30,7 +30,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr ""
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr ""
@ -323,6 +323,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "اسم"
@ -1961,6 +1962,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3054,8 +3056,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr ""
@ -3193,6 +3195,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3599,7 +3602,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5333,12 +5336,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6209,8 +6218,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8588,7 +8597,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8630,7 +8639,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8639,77 +8648,173 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Local Network Domain"
msgid "For Domain"
msgstr "عنوان الشبكة المحلية"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
msgid "Delete passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9423,22 +9528,26 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Manage passkeys"
msgstr ""
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9673,15 +9782,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@ -26,7 +26,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr ""
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr ""
@ -317,6 +317,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr ""
@ -1949,6 +1950,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3032,8 +3034,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr ""
@ -3171,6 +3173,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3575,7 +3578,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5289,12 +5292,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6161,8 +6170,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8533,7 +8542,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8575,7 +8584,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8584,77 +8593,171 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
msgid "For Domain"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
msgid "Delete passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9356,22 +9459,26 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Manage passkeys"
msgstr ""
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9604,15 +9711,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2025-12-17 07:00+0000\n"
"Last-Translator: 109247019824 "
"<109247019824@users.noreply.hosted.weblate.org>\n"
@ -30,7 +30,7 @@ msgstr "Статичните настройки {etc_path} са правилно
msgid "Container {container_name} is running"
msgstr "Контейнерът {container_name} работи"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -349,6 +349,7 @@ msgstr "Хранилище"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Наименование"
@ -2077,6 +2078,7 @@ msgstr "Адрес по IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Действия"
@ -3209,8 +3211,8 @@ msgstr "Обратна връзка"
msgid "Contribute"
msgstr "Допринасяне"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "За проекта"
@ -3349,6 +3351,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Научете повече…"
@ -3758,7 +3761,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5605,12 +5608,18 @@ msgstr "Редактиране на връзката"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Грешка:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Затваряне"
@ -6491,8 +6500,8 @@ msgstr "Рестартиране"
msgid "Shutdown"
msgstr "Изключване"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Рестартиране"
@ -9096,7 +9105,7 @@ msgstr "Запазване на парола"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Създаване на потребител"
@ -9147,7 +9156,7 @@ msgid "Skip this step"
msgstr "Пропускане на стъпката"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Поребители"
@ -9156,16 +9165,114 @@ msgstr "Поребители"
msgid "Edit user %(username)s"
msgstr "Промяна на потребителя %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Приложението не поддържа дисгностика"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Вход"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Обновяване на настройки"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add Package"
msgid "Add passkey"
msgstr "Добавяне на пакет"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Домейн"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Последна проверка: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Премахване на потребител"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Отказ"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Променяне на потребителя <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9174,19 +9281,19 @@ msgstr ""
"За да промените паролата, използвайте <a "
"href=\"%(change_password_url)s\">формуляра за промяна на парола</a>."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Запазване на промените"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
"Потвърждавате ли премахването на потребителя <em>%(username)s</em> и всички "
"негови файлове?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -9195,45 +9302,57 @@ msgstr ""
"домашната му папка. Ако желаете тези файлове да бъдат запазени, вместо да "
"премахвате профила го изключете."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Премахване на файловете на %(username)s"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Отказ"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Изходът е успешен."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Потребителят %(username)s е създаден."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Потребителят %(username)s е променен."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Промяна на потребител"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "Потребителят %(username)s е премахнат."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Промяна на парола"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Паролата е променена."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A wiki file with the given name already exists."
msgid "Passkey with that identifier already exists."
msgstr "В енциклопедията съществува файл с такова име."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Промяна на потребител"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9952,22 +10071,28 @@ msgid " System"
msgstr " Системни"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Управление на псевдоними"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Промяна на парола"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Изключване"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Изход"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Избор на език"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Вход"
@ -10206,15 +10331,15 @@ msgstr ""
"Всички данни и настройки на приложението ще бъдат загубени. Приложението "
"може да бъде инсталирано отново."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "Тук"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Настройките не са променени"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "преди премахване на {app_id}"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2025-04-01 03:02+0000\n"
"Last-Translator: MURALA SAI GANESH <saiganeshmurala@gmail.com>\n"
"Language-Team: Bengali <https://hosted.weblate.org/projects/freedombox/"
@ -30,7 +30,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "সেবা {service_name} চলছে"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "ফ্রিডমবক্স"
@ -323,6 +323,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "নাম"
@ -1980,6 +1981,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "ক্রিয়া"
@ -3081,8 +3083,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "সম্পর্কে"
@ -3220,6 +3222,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3626,7 +3629,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5354,12 +5357,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6230,8 +6239,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8614,7 +8623,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8656,7 +8665,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8665,77 +8674,175 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "ডোমেন"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete"
msgid "Delete passkey"
msgstr "মুছো"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "বাতিল"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "বাতিল"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9438,22 +9545,28 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Enabled"
msgid "Manage passkeys"
msgstr "সক্রিয়"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9688,15 +9801,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "এখানে"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-02-06 23:02+0000\n"
"Last-Translator: kosagi <marti.torra@natana.cat>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/freedombox/"
@ -29,7 +29,7 @@ msgstr "La configuració estàtica {etc_path} s'ha establert correctament"
msgid "Container {container_name} is running"
msgstr "El contenidor {container_name} està en marxa"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -351,6 +351,7 @@ msgstr "Repositori"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Nom"
@ -2158,6 +2159,7 @@ msgstr "Adreça IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Accions"
@ -3377,8 +3379,8 @@ msgstr "Enviar comentaris"
msgid "Contribute"
msgstr "Contribueix"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Sobre"
@ -3554,6 +3556,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Aprèn-ne més..."
@ -4040,7 +4043,7 @@ msgstr "Videoconferència"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Informació de la llicència de JavaScript"
@ -6092,12 +6095,18 @@ msgstr "Edita la Connexió"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Error:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Tanca"
@ -6991,8 +7000,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -9363,7 +9372,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -9405,7 +9414,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -9414,77 +9423,185 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Aquesta app no permet diagnòstics"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Actualitza la configuració"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Afegeix contrasenya"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domini"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last update"
msgid "Last Used"
msgstr "Ultima actualització"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete %(name)s"
msgid "Delete passkey"
msgstr "Esborrar %(name)s"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A library with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Ja existeix una biblioteca amb aquest nom."
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -10187,22 +10304,28 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Gestiona els alias"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -10437,15 +10560,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-03-08 18:48+0000\n"
"Last-Translator: Jiří Podhorecký <j.podhorecky@volny.cz>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/freedombox/"
@ -29,7 +29,7 @@ msgstr "Statická konfigurace {etc_path} je nastavena správně"
msgid "Container {container_name} is running"
msgstr "Kontejner {container_name} je spuštěn"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -344,6 +344,7 @@ msgstr "Repozitář"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Název"
@ -2118,6 +2119,7 @@ msgstr "IP adresa"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Akce"
@ -3326,8 +3328,8 @@ msgstr "Odeslat zpětnou vazbu"
msgid "Contribute"
msgstr "Zapojit se"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "O projektu"
@ -3500,6 +3502,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Zjistit více…"
@ -3975,7 +3978,7 @@ msgstr "Webové konference"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Licenční informace o JavaScriptu"
@ -5961,12 +5964,18 @@ msgstr "Upravit připojení"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Chyba:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Zavřít"
@ -6940,8 +6949,8 @@ msgstr "Restart"
msgid "Shutdown"
msgstr "Vypnout"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Restartovat"
@ -9712,7 +9721,7 @@ msgstr "Uložit heslo"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Vytvořit uživatele"
@ -9762,7 +9771,7 @@ msgid "Skip this step"
msgstr "Tento krok přeskočte"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Uživatelé"
@ -9771,16 +9780,114 @@ msgstr "Uživatelé"
msgid "Edit user %(username)s"
msgstr "Upravit uživatele %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Tato aplikace nepodporuje diagnostiku"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Přihlášení"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Aktualizovat nastavení"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Přidat heslo"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Doména"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Naposledy skenováno: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Smazat uživatele"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Storno"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Upravit uživatele %(username)s"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9789,17 +9896,17 @@ msgstr ""
"Pro změnu hesla použijte formulář <a href=\"%(change_password_url)s\">změna "
"hesla </a>."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Uložit změny"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Smazat uživatele <em>%(username)s</em> a všechny jeho soubory?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -9808,45 +9915,57 @@ msgstr ""
"adresáře uživatele. Pokud si přejete tyto soubory zachovat, zakažte raději "
"uživatelský účet."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Odstranit uživatele a soubory"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Storno"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Odhlášení proběhlo úspěšně."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Uživatel %(username)s vytvořen."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Uživatel %(username)s aktualizován."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Upravit uživatele"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "Uživatel %(username)s smazán."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Změnit heslo"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Heslo úspěšně změněno."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Sdílení s tímto názvem už existuje."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Upravit uživatele"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard je rychlý, moderní a bezpečný tunel VPN."
@ -10626,22 +10745,28 @@ msgid " System"
msgstr " Systém"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Správa aliasů"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Změnit heslo"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Vypnout"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Odhlásit"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Vyberte jazyk"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Přihlásit"
@ -10895,15 +11020,15 @@ msgstr ""
"Všechna data a konfigurace aplikace budou trvale ztraceny. Aplikaci lze "
"nainstalovat znovu."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "Zde"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Nastavení se nezměnila"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "před odinstalací {app_id}"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/freedombox/"
@ -32,7 +32,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "Tjenesten {service_name} er aktiv"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -349,6 +349,7 @@ msgstr "Lager"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Navn"
@ -2258,6 +2259,7 @@ msgstr "IP-adresse"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Handlinger"
@ -3526,8 +3528,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Om"
@ -3688,6 +3690,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
#, fuzzy
#| msgid "Learn more &raquo;"
@ -4129,7 +4132,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -6101,6 +6104,9 @@ msgstr "Rediger Forbindelse"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
#, fuzzy
#| msgid "error"
@ -6108,7 +6114,10 @@ msgid "Error:"
msgstr "fejl"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -7143,8 +7152,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Sluk Nu"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
#, fuzzy
#| msgid "Restart Now"
msgid "Restart"
@ -9917,7 +9926,7 @@ msgstr "Gem Kodeord"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Opret Bruger"
@ -9966,7 +9975,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Brugere"
@ -9975,16 +9984,114 @@ msgstr "Brugere"
msgid "Edit user %(username)s"
msgstr "Rediger Bruger %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Denne applikation understøtter ikke diagnostik"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Log ind"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Opdater indstillinger"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Tilføj kodeord"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domæne"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Create Connection"
msgid "Last Used"
msgstr "Opret Forbindelse"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete User"
msgid "Delete passkey"
msgstr "Slet Bruger"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Annuller"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Rediger Bruger <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9993,67 +10100,79 @@ msgstr ""
"Brug <a href='%(change_password_url)s'>siden til kodeordsændring </a> for at "
"ændre kodeord."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Gem Ændringer"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, fuzzy, python-format
#| msgid "Delete user <strong>%(username)s</strong> permanently?"
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Slet bruger <strong>%(username)s</strong> permanent?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Slet filer"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Annuller"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
#, fuzzy
#| msgid "Password changed successfully."
msgid "Logged out successfully."
msgstr "Kodeord blev ændret."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Bruger %(username)s oprettet."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Bruger %(username)s opdateret."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Rediger Bruger"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "User %(username)s created."
msgid "User %(username)s deleted."
msgstr "Bruger %(username)s oprettet."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Ændr kodeord"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Kodeord blev ændret."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "This service already exists"
msgid "Passkey with that identifier already exists."
msgstr "Denne tjeneste eksisterer allerede"
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Rediger Bruger"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -10874,26 +10993,32 @@ msgid " System"
msgstr " System"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Libraries"
msgid "Manage passkeys"
msgstr "Håndter samlinger"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Ændr kodeord"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
#, fuzzy
#| msgid "Shut Down Now"
msgid "Shut down"
msgstr "Sluk Nu"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Log ud"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
#, fuzzy
#| msgid "Language"
msgid "Select language"
msgstr "Sprog"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Log ind"
@ -11155,15 +11280,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Indstilling uændret"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"PO-Revision-Date: 2026-03-22 23:09+0000\n"
"Last-Translator: Ettore Atalan <atalanttore@googlemail.com>\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-03-29 11:09+0000\n"
"Last-Translator: Dietmar <sagen@permondes.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/freedombox/"
"freedombox/de/>\n"
"Language: de\n"
@ -31,7 +31,7 @@ msgstr "Statische Konfiguration {etc_path} ist richtig eingerichtet"
msgid "Container {container_name} is running"
msgstr "Container {container_name} wird ausgeführt"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -172,7 +172,7 @@ msgstr "{box_name} Weboberfläche (Plinth)"
#: plinth/modules/apache/__init__.py:129
msgid "Web app protected by FreedomBox"
msgstr ""
msgstr "Web-App geschützt durch FreedomBox"
#: plinth/modules/apache/components.py:234
#, python-brace-format
@ -352,6 +352,7 @@ msgstr "Paketquelle"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Name"
@ -415,10 +416,8 @@ msgid "Passphrase"
msgstr "Passwort"
#: plinth/modules/backups/forms.py:187
#, fuzzy
#| msgid "Passphrase; Only needed when using encryption."
msgid "Only needed when using encryption."
msgstr "Passphrase; Nur notwendig, wenn Verschlüsselung genutzt wird."
msgstr "Nur notwendig, wenn Verschlüsselung genutzt wird."
#: plinth/modules/backups/forms.py:190
msgid "Confirm Passphrase"
@ -461,38 +460,31 @@ msgid "SSH Authentication Type"
msgstr "SSH-Authentifizierungstyp"
#: plinth/modules/backups/forms.py:256
#, fuzzy
#| msgid "Authentication to remote server failed."
msgid "Choose how to authenticate to the remote SSH server."
msgstr "Authentifizierung am Server fehlgeschlagen."
msgstr ""
"Wählen Sie aus, wie Sie sich beim entfernten SSH-Server authentifizieren "
"möchten."
#: plinth/modules/backups/forms.py:258
#, fuzzy
#| msgid "needs authentication"
msgid "Key-based Authentication"
msgstr "benötigt Authentifizierung"
msgstr "Schlüsselbasierte Authentifizierung"
#: plinth/modules/backups/forms.py:259
#, fuzzy
#| msgid "Disable password authentication"
msgid "Password-based Authentication"
msgstr "Passwortauthentifizierung deaktivieren"
msgstr "Passwortbasierte Authentifizierung"
#: plinth/modules/backups/forms.py:261
msgid "SSH server password"
msgstr "SSH-Server-Passwort"
#: plinth/modules/backups/forms.py:262
#, fuzzy
#| msgid "Disable password authentication"
msgid "Required for password-based authentication."
msgstr "Passwortauthentifizierung deaktivieren"
msgstr "Erforderlich für die passwortbasierte Authentifizierung."
#: plinth/modules/backups/forms.py:275
#, fuzzy
#| msgid "Disable password authentication"
msgid "SSH password is needed for password-based authentication."
msgstr "Passwortauthentifizierung deaktivieren"
msgstr ""
"Für die passwortbasierte Authentifizierung ist ein SSH-Passwort erforderlich."
#: plinth/modules/backups/forms.py:292
msgid "Remote backup repository already exists."
@ -641,6 +633,9 @@ msgid ""
"list on the remote machine for %(box_name)s to be able to connect to the "
"remote machine:"
msgstr ""
"Der folgende öffentliche Schlüssel des SSH-Clients muss zur Liste der "
"autorisierten Schlüssel auf dem Remote-Rechner hinzugefügt werden, damit "
"%(box_name)s eine Verbindung zum Remote-Rechner herstellen kann:"
#: plinth/modules/backups/templates/backups_add_remote_repository.html:87
#, python-format
@ -649,6 +644,10 @@ msgid ""
"successful, then the public key will be automatically added to the "
"authorized keys list, so that future connections do not need the password."
msgstr ""
"Der Dienst von %(box_name)s versucht, sich mit dem angegebenen Passwort "
"anzumelden. Gelingt dies, wird der öffentliche Schlüssel automatisch zur "
"Liste der autorisierten Schlüssel hinzugefügt, sodass für zukünftige "
"Verbindungen kein Passwort mehr erforderlich ist."
#: plinth/modules/backups/templates/backups_add_remote_repository.html:132
#: plinth/modules/backups/templates/backups_upload.html:29
@ -832,10 +831,8 @@ msgid "Authentication to remote server failed."
msgstr "Authentifizierung am Server fehlgeschlagen."
#: plinth/modules/backups/views.py:50
#, fuzzy
#| msgid "Error establishing connection to server: {}"
msgid "Error establishing connection to server: {} {} {}"
msgstr "Fehler beim Verbinden mit Server: {}"
msgstr "Fehler beim Verbinden mit Server: {} {} {}"
#: plinth/modules/backups/views.py:82
msgid "Backup schedule updated."
@ -1485,14 +1482,7 @@ msgid "Webserver Home Page"
msgstr "Webserver-Startseite"
#: plinth/modules/config/forms.py:37
#, fuzzy, python-brace-format
#| msgid ""
#| "Choose the default page that must be served when someone visits your "
#| "{box_name} on the web. A typical use case is to set your blog or wiki as "
#| "the home page when someone visits the domain name. Note that once the "
#| "home page is set to something other than {box_name} Service (Plinth), "
#| "your users must explicitly type /plinth or /freedombox to reach "
#| "{box_name} Service (Plinth)."
#, python-brace-format
msgid ""
"Choose the default page that must be served when someone visits your "
"{box_name} on the web. A typical use case is to set your blog or wiki as the "
@ -1504,8 +1494,8 @@ msgstr ""
"{box_name} im Web aufruft. Ein typischer Anwendungsfall ist ihren Blog oder "
"Wiki als die Einstiegsseite einzustellen wenn jemand die Domain besucht. "
"Beachten Sie, dass, wenn die Startseite auf etwas anderes als {box_name}-"
"Dienst (Plinth) eingestellt ist, die Benutzer explizit /plinth oder /"
"freedombox eingeben müssen um den {box_name}-Dienst (Plinth) zu erreichen."
"Dienst (Plinth) eingestellt ist, die Benutzer explizit /freedombox eingeben "
"müssen um den {box_name}-Dienst (Plinth) zu erreichen."
#: plinth/modules/config/forms.py:48
msgid "Show advanced apps and features"
@ -2176,6 +2166,7 @@ msgstr "IP-Adresse"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Aktionen"
@ -2471,15 +2462,11 @@ msgstr ""
"werden automatisch erstellt und verweisen auf den ersten Admin-Benutzer."
#: plinth/modules/email/__init__.py:41
#, fuzzy
#| msgid ""
#| "<a href=\"/plinth/apps/roundcube/\">Roundcube app</a> provides web "
#| "interface for users to access email."
msgid ""
"<a href=\"/freedombox/apps/roundcube/\">Roundcube app</a> provides web "
"interface for users to access email."
msgstr ""
"<a href=\"/plinth/apps/roundcube/\">Roundcube App</a> bietet eine "
"<a href=\"/freedombox/apps/roundcube/\">Roundcube App</a> bietet eine "
"Weboberfläche für den Zugriff auf E-Mails."
#: plinth/modules/email/__init__.py:43
@ -3404,8 +3391,8 @@ msgstr "Feedback geben"
msgid "Contribute"
msgstr "Mitwirken"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Info"
@ -3585,6 +3572,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Mehr erfahren …"
@ -4073,7 +4061,7 @@ msgstr "Web-Konferenz"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "JavaScript-Lizenzinformation"
@ -6098,12 +6086,18 @@ msgstr "Verbindung bearbeiten"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Fehler:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Schließen"
@ -6308,12 +6302,6 @@ msgstr ""
"weiterleitet, damit %(box_name)s die Dienste bereitstellt."
#: plinth/modules/networks/templates/router_configuration_content.html:32
#, fuzzy
#| msgid ""
#| "If you don't have control over your router, choose not to configure it. "
#| "To see options to overcome this limitation, choose 'I dont have a public "
#| "IP address' option in <a href=\"/plinth/sys/networks/internet-connection-"
#| "type/\">Internet connection type selection</a>."
msgid ""
"If you don't have control over your router, choose not to configure it. To "
"see options to overcome this limitation, choose 'I dont have a public IP "
@ -6323,7 +6311,7 @@ msgstr ""
"Wenn Sie keine Kontrolle über Ihren Router haben, können Sie ihn nicht "
"konfigurieren. Um Optionen zur Überwindung dieser Einschränkung zu sehen, "
"wählen Sie die Option 'Ich habe keine öffentliche IP-Adresse' in <a href=\"/"
"plinth/sys/networks/internet-connection-type/\">Auswahl des "
"freedombox/sys/networks/internet-connection-type/\">Auswahl des "
"Internetverbindungstyps</a>."
#: plinth/modules/networks/templates/router_configuration_content.html:39
@ -6737,16 +6725,12 @@ msgid "OpenID Connect Provider"
msgstr ""
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:14
#, fuzzy
#| msgid "Applications"
msgid "Application"
msgstr "Anwendungen"
msgstr "Anwendung"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:22
#, fuzzy
#| msgid "Authorized SSH Keys"
msgid "Authorize App"
msgstr "Autorisierte SSH-Schlüssel"
msgstr "App autorisieren"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:37
#, python-format
@ -6754,17 +6738,18 @@ msgid ""
"<strong>%(app)s</strong> wants to access your account <strong> %(username)s</"
"strong>"
msgstr ""
"<strong> %(app)s</strong> möchte auf Ihr Konto zugreifen <strong> "
"%(username)s</strong>"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:52
#, fuzzy, python-format
#| msgid "Authorized SSH Keys"
#, python-format
msgid "Authorize %(app)s"
msgstr "Autorisierte SSH-Schlüssel"
msgstr "%(app)s autorisieren"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:59
#, python-format
msgid "Authorizing will redirect to %(url)s"
msgstr ""
msgstr "Die Autorisierung führt zu einer Weiterleitung zu %(url)s"
#: plinth/modules/openvpn/__init__.py:20
#, python-brace-format
@ -7101,8 +7086,8 @@ msgstr "Neustart"
msgid "Shutdown"
msgstr "Herunterfahren"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Neu starten"
@ -8207,12 +8192,6 @@ msgstr ""
"automatisch bereinigt."
#: plinth/modules/snapshot/__init__.py:25
#, fuzzy
#| msgid ""
#| "Snapshots currently work on btrfs file systems only and on the root "
#| "partition only. Snapshots are not a replacement for <a href=\"/plinth/sys/"
#| "backups\">backups</a> since they can only be stored on the same "
#| "partition. "
msgid ""
"Snapshots currently work on btrfs file systems only and on the root "
"partition only. Snapshots are not a replacement for <a href=\"/freedombox/"
@ -8221,8 +8200,8 @@ msgid ""
msgstr ""
"Schnappschüsse funktionieren derzeit ausschließlich auf Btrfs-Dateisystemen "
"und nur auf der Root-Partition. Schnappschüsse sind kein Ersatz für <a "
"href=\"/plinth/sys/backups\">Datensicherungen</a>, da sie nur auf derselben "
"Partition gespeichert werden können. "
"href=\"/freedombox/sys/backups\">Datensicherungen</a>, da sie nur auf "
"derselben Partition gespeichert werden können. "
#: plinth/modules/snapshot/__init__.py:50
msgid "Storage Snapshots"
@ -9955,7 +9934,7 @@ msgstr "Passwort speichern"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Benutzer anlegen"
@ -10006,7 +9985,7 @@ msgid "Skip this step"
msgstr "Überspringen Sie diesen Schritt"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Benutzer"
@ -10015,16 +9994,114 @@ msgstr "Benutzer"
msgid "Edit user %(username)s"
msgstr "Benutzer %(username)s bearbeiten"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Diese App unterstützt keine Diagnose"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Anmelden"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Übernehmen der Änderungen"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Kennwort hinzufügen"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domain"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Zuletzt gescannt: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Benutzer löschen"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Abbrechen"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Benutzer <em>%(username)s</em> bearbeiten"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -10034,17 +10111,17 @@ msgstr ""
"href='%(change_password_url)s'>Passwortänderungsformular</a>, um das "
"Passwort zu ändern."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Änderungen speichern"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Benutzer <em>%(username)s</em> und alle Dateien des Benutzers löschen?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -10053,45 +10130,57 @@ msgstr ""
"Verzeichnis des Benutzers entfernt. Wenn Sie diese Dateien behalten möchten, "
"deaktivieren Sie stattdessen das Benutzerkonto."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Benutzer und Dateien löschen"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Abbrechen"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Erfolgreich abgemeldet."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Benutzer %(username)s angelegt."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Benutzer %(username)s geändert."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Benutzer bearbeiten"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "Benutzer %(username)s gelöscht."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Passwort ändern"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Passwort erfolgreich geändert."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Eine Freigabe mit diesem Namen existiert bereits."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Benutzer bearbeiten"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard ist ein schneller, moderner, sicherer VPN-Tunnel."
@ -10123,14 +10212,12 @@ msgid "Invalid key."
msgstr "Ungültiger Schlüssel."
#: plinth/modules/wireguard/forms.py:63
#, fuzzy
#| msgid "Enter a valid username."
msgid "Enter a valid IPv4 address."
msgstr "Einen gültigen Benutzernamen eingeben."
msgstr "Eine gültige IPv4-Adresse eingeben."
#: plinth/modules/wireguard/forms.py:65
msgid "Enter a valid network prefix or net mask."
msgstr ""
msgstr "Geben Sie ein gültiges Netzwerkpräfix oder eine gültige Netzmaske ein."
#: plinth/modules/wireguard/forms.py:71
#: plinth/modules/wireguard/templates/wireguard.html:29
@ -10177,11 +10264,6 @@ msgid "Client IP address provided by server"
msgstr "Vom Server bereitgestellte Client-IP-Adresse"
#: plinth/modules/wireguard/forms.py:94
#, fuzzy
#| msgid ""
#| "IP address assigned to this machine on the VPN after connecting to the "
#| "endpoint. This value is usually provided by the server operator. Example: "
#| "192.168.0.10."
msgid ""
"IP address assigned to this machine on the VPN after connecting to the "
"endpoint. This value is usually provided by the server operator. Example: "
@ -10191,7 +10273,9 @@ msgid ""
msgstr ""
"IP-Adresse, die diesem Computer auf dem VPN zugewiesen ist, nachdem eine "
"Verbindung mit dem Endpunkt hergestellt wurde. Dieser Wert wird in der Regel "
"vom Serverbetreiber bereitgestellt. Beispiel: 192.168.0.10."
"vom Serverbetreiber bereitgestellt. Beispiel: 192.168.0.10. Sie können auch "
"das Netzwerk angeben. Dadurch können Sie auf Rechner im Netzwerk zugreifen. "
"Beispiele: 10.68.12.43/24 oder 10.68.12.43/255.255.255.0."
#: plinth/modules/wireguard/forms.py:102
msgid "Private key of this machine"
@ -10245,10 +10329,9 @@ msgid "As a Server"
msgstr "Als Server"
#: plinth/modules/wireguard/templates/wireguard.html:17
#, fuzzy, python-format
#| msgid "Endpoints for this %(box_name)s:"
#, python-format
msgid "Information for this %(box_name)s:"
msgstr "Endpunkte für diese %(box_name)s:"
msgstr "Informationen zu dieser %(box_name)s:"
#: plinth/modules/wireguard/templates/wireguard.html:25
msgid "Property"
@ -10265,10 +10348,9 @@ msgid "Endpoint(s)"
msgstr "Endpunkt"
#: plinth/modules/wireguard/templates/wireguard.html:41
#, fuzzy, python-format
#| msgid "To %(box_name)s Ports"
#, python-format
msgid "%(box_name)s VPN IP for services"
msgstr "Zu %(box_name)s Ports"
msgstr "VPN-IP von %(box_name)s für Dienste"
#: plinth/modules/wireguard/templates/wireguard.html:50
msgid "Peers"
@ -10304,10 +10386,8 @@ msgid "Add Allowed Client"
msgstr "Zulässige Clients hinzufügen"
#: plinth/modules/wireguard/templates/wireguard.html:97
#, fuzzy
#| msgid "WireGuard server started successfully."
msgid "WireGuard server not started yet."
msgstr "Der WireGuard-Server wurde erfolgreich gestartet."
msgstr "WireGuard-Server wurde noch nicht gestartet."
#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard.html:103
@ -10398,7 +10478,7 @@ msgstr "Öffentlicher Schlüssel des Servers:"
#: plinth/modules/wireguard/templates/wireguard_show_client.html:46
msgid "Server VPN IP address for services:"
msgstr ""
msgstr "VPN-IP-Adresse des Servers für Dienste:"
#: plinth/modules/wireguard/templates/wireguard_show_client.html:58
#: plinth/modules/wireguard/templates/wireguard_show_server.html:64
@ -10442,6 +10522,7 @@ msgstr "IP-Adresse dieses Rechners:"
#: plinth/modules/wireguard/templates/wireguard_show_server.html:46
msgid "All outgoing traffic is sent using this connection:"
msgstr ""
"Der gesamte ausgehende Datenverkehr wird über diese Verbindung gesendet:"
#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
@ -10708,20 +10789,20 @@ msgstr "Zeitüberschreitung beim Warten auf den Paket-Manager"
#: plinth/settings.py:181
msgid "Uniquely identify your user account with username"
msgstr ""
"Identifizieren Sie Ihr Benutzerkonto eindeutig anhand des Benutzernamens"
#: plinth/settings.py:183
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "Adresse anfordern"
msgstr "E-Mail-Adresse anzeigen"
#: plinth/settings.py:185
msgid "View basic profile information (such as name and email)"
msgstr ""
"Grundlegende Profilinformationen anzeigen (z. B. Name und E-Mail-Adresse)"
#: plinth/settings.py:187
msgid "View permissions that account has"
msgstr ""
msgstr "Die Berechtigungen dieses Kontos anzeigen"
#: plinth/setup.py:44
msgid "Installing app"
@ -10907,22 +10988,28 @@ msgid " System"
msgstr " System"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Aliase verwalten"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Passwort ändern"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Herunterfahren"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Abmelden"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Sprache wählen"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Anmelden"
@ -11129,11 +11216,11 @@ msgstr "Alle Schlagwörter löschen"
#: plinth/templates/theme-menu.html:9
msgid "Toggle theme (auto)"
msgstr ""
msgstr "Thema umschalten (automatisch)"
#: plinth/templates/theme-menu.html:17
msgid "Toggle theme"
msgstr ""
msgstr "Thema umschalten"
#: plinth/templates/theme-menu.html:25
msgid "Light"
@ -11177,15 +11264,15 @@ msgstr ""
"Alle App-Daten und -Konfigurationen gehen dauerhaft verloren. App kann "
"wieder frisch installiert werden."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "Hier"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Einstellung unverändert"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "vor der Deinstallation von {app_id}"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -27,7 +27,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr ""
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr ""
@ -318,6 +318,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr ""
@ -1950,6 +1951,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3033,8 +3035,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr ""
@ -3172,6 +3174,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3576,7 +3579,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5290,12 +5293,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6162,8 +6171,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8534,7 +8543,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8576,7 +8585,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8585,77 +8594,171 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
msgid "For Domain"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
msgid "Delete passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9357,22 +9460,26 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Manage passkeys"
msgstr ""
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9605,15 +9712,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-02-22 13:17+0000\n"
"Last-Translator: James Valleroy <jvalleroy@mailbox.org>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/freedombox/"
@ -29,7 +29,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "Το πρόγραμμα {container_name} είναι ενεργοποιημένο"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "Freedombox"
@ -354,6 +354,7 @@ msgstr "Δημιουργία Αποθετηρίου"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Όνομα"
@ -2282,6 +2283,7 @@ msgstr "Διεύθυνση IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Ενέργειες"
@ -3520,8 +3522,8 @@ msgstr "Υποβάλετε σχόλια"
msgid "Contribute"
msgstr "Συνεισφέρετε"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Σχετικά με"
@ -3702,6 +3704,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Μάθε περισσότερα..."
@ -4168,7 +4171,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Πληροφορίες άδειας χρήσης JavaScript"
@ -6177,12 +6180,18 @@ msgstr "Επεξεργασία σύνδεσης"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -7214,8 +7223,8 @@ msgstr ""
msgid "Shutdown"
msgstr "ΤΕΡΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Κάνετε επανεκκίνηση"
@ -10116,7 +10125,7 @@ msgstr "Αποθήκευση κωδικού πρόσβασης"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Δημιουργία χρήστη"
@ -10166,7 +10175,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Χρήστες"
@ -10175,17 +10184,115 @@ msgstr "Χρήστες"
msgid "Edit user %(username)s"
msgstr "Επεξεργασία χρήστη %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Αυτή η εφαρμογή δεν υποστηρίζει διαγνωστικά τεστ"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Σύνδεση"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Ενημέρωση ρυθμίσεων"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Show password"
msgid "Add passkey"
msgstr "Εμφάνιση κωδικού"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Όνομα διαδικτύου"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Create Connection"
msgid "Last Used"
msgstr "Δημιουργία σύνδεσης"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete User"
msgid "Delete passkey"
msgstr "Διαγραφή χρήστη"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Άκυρο"
#: plinth/modules/users/templates/users_update.html:16
#, fuzzy, python-format
#| msgid "Edit user %(username)s"
msgid "Edit User <em>%(username)s</em>"
msgstr "Επεξεργασία χρήστη %(username)s"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -10194,67 +10301,79 @@ msgstr ""
"Χρησιμοποιήστε τη <a href='%(change_password_url)s'> φόρμα αλλαγής κωδικού "
"πρόσβασης </a> για να αλλάξετε τον κωδικό πρόσβασης."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Αποθήκευση αλλαγών"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, fuzzy, python-format
#| msgid "Delete user <strong>%(username)s</strong> permanently?"
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Να διαγραφεί οριστικά ο χρήστης <strong>%(username)s </strong>;"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete User"
msgid "Delete user and files"
msgstr "Διαγραφή χρήστη"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Άκυρο"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
#, fuzzy
#| msgid "Password changed successfully."
msgid "Logged out successfully."
msgstr "Ο κωδικός πρόσβασης άλλαξε με επιτυχία."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Ο χρήστης %(username)s δημιουργήθηκε."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "O χρήστης %(username)s ενημερώθηκε."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Επεξεργασία χρήστη"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "User %(username)s created."
msgid "User %(username)s deleted."
msgstr "Ο χρήστης %(username)s δημιουργήθηκε."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Αλλαγή κωδικού πρόσβασης"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Ο κωδικός πρόσβασης άλλαξε με επιτυχία."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Υπάρχει ήδη ένα μέρισμα με αυτό το όνομα."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Επεξεργασία χρήστη"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -11095,22 +11214,28 @@ msgid " System"
msgstr " Σύστημα"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Repositories"
msgid "Manage passkeys"
msgstr "Διαχείριση αποθετηρίων"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Αλλαγή κωδικού πρόσβασης"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "ΤΕΡΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Αποσύνδεση"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Επιλογή γλώσσας"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Σύνδεση"
@ -11387,15 +11512,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Οι ρυθμίσεις δεν άλλαξαν"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2024-11-01 17:00+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/freedombox/"
@ -30,7 +30,7 @@ msgstr "La configuración fija {etc_path} está configurada correctamente"
msgid "Container {container_name} is running"
msgstr "{service_name} se está ejecutando"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -357,6 +357,7 @@ msgstr "Repositorio"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Nombre"
@ -2229,6 +2230,7 @@ msgstr "Dirección IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Acciones"
@ -3456,8 +3458,8 @@ msgstr "Enviar Comentarios"
msgid "Contribute"
msgstr "Contribuír"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Acerca de"
@ -3638,6 +3640,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Aprenda más..."
@ -4104,7 +4107,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Información de licencia de JavaScript"
@ -6144,6 +6147,9 @@ msgstr "Editar conexión"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
#, fuzzy
#| msgid "Error"
@ -6151,7 +6157,10 @@ msgid "Error:"
msgstr "Error"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Cerrar"
@ -7156,8 +7165,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Apagar"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Reiniciar"
@ -10018,7 +10027,7 @@ msgstr "Guardar clave de acceso"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Crear usuaria/o"
@ -10075,7 +10084,7 @@ msgid "Skip this step"
msgstr "Saltar este paso"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Usuarias/os"
@ -10084,16 +10093,114 @@ msgstr "Usuarias/os"
msgid "Edit user %(username)s"
msgstr "Editar el usuario %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Esta aplicación no soporta diagnósticos"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Inicio de sesión"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Actualizar configuración"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Añadir contraseña"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Dominio"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last Connected Time"
msgid "Last Used"
msgstr "Última conexión"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete User"
msgid "Delete passkey"
msgstr "Eliminar usuaria/o"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Cancelar"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Editar el usuario <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -10102,65 +10209,77 @@ msgstr ""
"Use el <a href=\"%(change_password_url)s\">formulario para cambio de clave "
"de acceso</a> para cambiarla."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Guardar cambios"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, fuzzy, python-format
#| msgid "Delete user <strong>%(username)s</strong> permanently?"
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "¿Eliminar usuaria/o <strong>%(username)s</strong> definitivamente?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Eliminar archivos"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Cancelar"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Desconectado con éxito."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Se ha creado el o la usuaria %(username)s."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "El o la usuaria %(username)s se ha actualizado."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Editar usuario"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "User %(username)s created."
msgid "User %(username)s deleted."
msgstr "Se ha creado el o la usuaria %(username)s."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Cambiar clave de acceso"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Clave de acceso cambiada con éxito."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Ya existe una compartición con este nombre."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Editar usuario"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WirGuard es un túnel VPN rápido, moderno y seguro."
@ -10986,22 +11105,28 @@ msgid " System"
msgstr " Sistema"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Administrar Alias"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Cambiar clave de acceso"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Apagar"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Cerrar sesión"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Seleccionar idioma"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Iniciar sesión"
@ -11263,15 +11388,15 @@ msgstr ""
"Todos los datos de la aplicación y la configuración se perderán "
"permanentemente. La aplicación se puede instalar de nuevo."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Configuración sin cambio"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "antes de desinstalar {app_id}"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-01-09 20:01+0000\n"
"Last-Translator: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>\n"
"Language-Team: Estonian <https://hosted.weblate.org/projects/freedombox/"
@ -29,7 +29,7 @@ msgstr "Staatiline seadistus asukohas „{etc_path}“ on korrektne"
msgid "Container {container_name} is running"
msgstr "{container_name} konteiner töötab"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -335,6 +335,7 @@ msgstr "Varukoopiate hoidla"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Nimi"
@ -1991,6 +1992,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Tegevused"
@ -3074,8 +3076,8 @@ msgstr ""
msgid "Contribute"
msgstr "Tee kaastööd"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Rakenduse teave"
@ -3213,6 +3215,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3617,7 +3620,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5331,12 +5334,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6205,8 +6214,8 @@ msgstr "Käivita arvuti uuesti"
msgid "Shutdown"
msgstr "Lülita välja"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Käivita uuesti"
@ -8587,7 +8596,7 @@ msgstr "Salvesta salasõna"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Lisa kasutaja"
@ -8632,7 +8641,7 @@ msgid "Skip this step"
msgstr "Jäta see samm vahele"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Kasutajad"
@ -8641,77 +8650,183 @@ msgstr "Kasutajad"
msgid "Edit user %(username)s"
msgstr "Muuda kasutajat %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Logi sisse"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Uuenda seadistust"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Lisa salasõna"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domeen"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Create User"
msgid "Last Used"
msgstr "Lisa kasutaja"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Kustuta kasutaja"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Muuda kasutajat <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Väljalogimine õnnestus."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Muuda salasõna"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Salasõna muutmine õnnestus."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A library with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Sellise nimega raamatukogu on juba olemas."
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard on kiire, moodne ja turvaline VPN-tunnel."
@ -9421,22 +9536,28 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Passwords"
msgid "Manage passkeys"
msgstr "Halda salasõnu"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9672,15 +9793,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/freedombox/"
@ -30,7 +30,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "سرویس {service_name} در حال اجراست"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
#, fuzzy
msgid "FreedomBox"
msgstr "FreedomBox"
@ -343,6 +343,7 @@ msgstr "مخزن"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "نام"
@ -2220,6 +2221,7 @@ msgstr "نشانی آی‌پی"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "کنش‌ها"
@ -3412,8 +3414,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "درباره"
@ -3572,6 +3574,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
#, fuzzy
msgid "Learn more..."
@ -4009,7 +4012,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5918,12 +5921,18 @@ msgstr "ویرایش اتصال"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "بستن"
@ -6875,8 +6884,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -9446,7 +9455,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -9495,7 +9504,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -9504,84 +9513,192 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This module does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "برای این واحد آزمون عیب‌یابی وجود ندارد"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "به‌روزرسانی وضعیت"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Show password"
msgid "Add passkey"
msgstr "رمز را نشان بده"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "دامنه"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Create Connection"
msgid "Last Used"
msgstr "ساختن اتصال"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete"
msgid "Delete passkey"
msgstr "پاک‌کردن"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "انصراف"
#: plinth/modules/users/templates/users_update.html:16
#, fuzzy, python-format
#| msgid "Delete Wiki or Blog <em>%(name)s</em>"
msgid "Edit User <em>%(username)s</em>"
msgstr "پاک‌کردن ویکی یا وبلاگ <em>%(name)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, fuzzy, python-format
#| msgid "Delete Wiki or Blog <em>%(name)s</em>"
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "پاک‌کردن ویکی یا وبلاگ <em>%(name)s</em>"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete"
msgid "Delete user and files"
msgstr "پاک‌کردن"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "انصراف"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
#, fuzzy
#| msgid "Partition expanded successfully."
msgid "Logged out successfully."
msgstr "پارتیشن با موفقیت بزرگ شد."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "{name} deleted."
msgid "User %(username)s deleted."
msgstr "{name} پاک شد."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Shared"
msgid "Edit Passkey"
msgstr "مشترک"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -10357,24 +10474,30 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Create Connection"
msgid "Manage passkeys"
msgstr "ساختن اتصال"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
#, fuzzy
#| msgid "Language"
msgid "Select language"
msgstr "زبان"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -10622,15 +10745,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2016-01-31 22:24+0530\n"
"Last-Translator: Sunil Mohan Adapa <sunil@medhas.org>\n"
"Language-Team: Plinth Developers <freedombox-"
@ -29,7 +29,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "SERVICE DISCOVERY SERVER IS RUNNING"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FREEDOMBOX"
@ -358,6 +358,7 @@ msgstr "CREATE USER"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "NAME"
@ -2311,6 +2312,7 @@ msgstr "IP ADDRESS"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "ACTIONS"
@ -3568,8 +3570,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "ABOUT"
@ -3729,6 +3731,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
#, fuzzy
#| msgid "Learn more &raquo;"
@ -4161,7 +4164,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -6108,12 +6111,18 @@ msgstr "EDIT CONNECTION"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -7159,8 +7168,8 @@ msgstr ""
msgid "Shutdown"
msgstr "SHUT DOWN NOW"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
#, fuzzy
#| msgid "Restart Now"
msgid "Restart"
@ -9929,7 +9938,7 @@ msgstr "SAVE PASSWORD"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "CREATE USER"
@ -9978,7 +9987,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "USERS"
@ -9987,16 +9996,114 @@ msgstr "USERS"
msgid "Edit user %(username)s"
msgstr "EDIT USER %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This module does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "THIS MODULE DOES NOT SUPPORT DIAGNOSTICS"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "LOGIN"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "UPDATE SETUP"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Show password"
msgid "Add passkey"
msgstr "SHOW PASSWORD"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "DOMAIN"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Create Connection"
msgid "Last Used"
msgstr "CREATE CONNECTION"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete User"
msgid "Delete passkey"
msgstr "DELETE USER"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "CANCEL"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "EDIT USER <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -10005,67 +10112,79 @@ msgstr ""
"USE THE <a href='%(change_password_url)s'>CHANGE PASSWORD FORM </a> TO "
"CHANGE THE PASSWORD."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "SAVE CHANGES"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, fuzzy, python-format
#| msgid "Delete user <strong>%(username)s</strong> permanently?"
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "DELETE USER <strong>%(username)s</stong> PERMANENTLY?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete User"
msgid "Delete user and files"
msgstr "DELETE USER"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "CANCEL"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
#, fuzzy
#| msgid "Password changed successfully."
msgid "Logged out successfully."
msgstr "PASSWORD CHANGED SUCCESSFULLY."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "USER %(username)s CREATED."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "USER %(username)s UPDATED."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "EDIT USER"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "User %(username)s created."
msgid "User %(username)s deleted."
msgstr "USER %(username)s CREATED."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "CHANGE PASSWORD"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "PASSWORD CHANGED SUCCESSFULLY."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "This service already exists"
msgid "Passkey with that identifier already exists."
msgstr "THIS SERVICE ALREADY EXISTS"
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "EDIT USER"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -10893,26 +11012,32 @@ msgid " System"
msgstr "SYSTEM"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Create User"
msgid "Manage passkeys"
msgstr "CREATE USER"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "CHANGE PASSWORD"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
#, fuzzy
#| msgid "Shut Down Now"
msgid "Shut down"
msgstr "SHUT DOWN NOW"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "LOG OUT"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
#, fuzzy
#| msgid "Language"
msgid "Select language"
msgstr "LANGUAGE"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "LOG IN"
@ -11178,15 +11303,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "SETTING UNCHANGED"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"PO-Revision-Date: 2026-02-18 15:09+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-03-29 11:09+0000\n"
"Last-Translator: Coucouf <coucouf@coucouf.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/freedombox/"
"freedombox/fr/>\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.16.1-dev\n"
"X-Generator: Weblate 5.17-dev\n"
#: plinth/config.py:103
#, python-brace-format
@ -29,7 +29,7 @@ msgstr "La configuration statique {etc_path} est correctement configurée"
msgid "Container {container_name} is running"
msgstr "Le conteneur {container_name} est actif"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -169,7 +169,7 @@ msgstr "Interface web de la {box_name} (Plinth)"
#: plinth/modules/apache/__init__.py:129
msgid "Web app protected by FreedomBox"
msgstr ""
msgstr "Appli Web protégée par la FreedomBox"
#: plinth/modules/apache/components.py:234
#, python-brace-format
@ -350,6 +350,7 @@ msgstr "Dépôt"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Nom"
@ -395,12 +396,12 @@ msgid ""
"\"Key in Repository\" means that a password-protected key is stored with the "
"backup."
msgstr ""
 Clef dans le dépôt » signifie que la clef de chiffrement de la sauvegarde, "
 Clé dans le dépôt » signifie que la clé de chiffrement de la sauvegarde, "
"protégée par un mot de passe, sera stockée à côté de la sauvegarde elle-même."
#: plinth/modules/backups/forms.py:184
msgid "Key in Repository"
msgstr "Clef dans le dépôt"
msgstr "Clé dans le dépôt"
#: plinth/modules/backups/forms.py:184
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:68
@ -413,12 +414,8 @@ msgid "Passphrase"
msgstr "Phrase secrète"
#: plinth/modules/backups/forms.py:187
#, fuzzy
#| msgid "Passphrase; Only needed when using encryption."
msgid "Only needed when using encryption."
msgstr ""
"Phrase secrète; nécessaire uniquement dans le cas où le chiffrement est "
"utilisé."
msgstr "Nécessaire uniquement dans le cas où le chiffrement est utilisé."
#: plinth/modules/backups/forms.py:190
msgid "Confirm Passphrase"
@ -457,44 +454,33 @@ msgstr ""
"chemin/vers/le/dépôt/</i>"
#: plinth/modules/backups/forms.py:255
#, fuzzy
#| msgid "Authentication Mode"
msgid "SSH Authentication Type"
msgstr "Mode Authentification"
msgstr "Mode dAuhentification SSH"
#: plinth/modules/backups/forms.py:256
#, fuzzy
#| msgid "Authentication to remote server failed."
msgid "Choose how to authenticate to the remote SSH server."
msgstr "Lauthentification sur le serveur distant a échoué."
msgstr "Choisissez le mode dauthentification au serveur SSH distant."
#: plinth/modules/backups/forms.py:258
#, fuzzy
#| msgid "needs authentication"
msgid "Key-based Authentication"
msgstr "nécessite une authentification"
msgstr "Authentification à base de clés"
#: plinth/modules/backups/forms.py:259
#, fuzzy
#| msgid "Disable password authentication"
msgid "Password-based Authentication"
msgstr "Désactiver lauthentification par mot de passe"
msgstr "Authentification par mot de passe"
#: plinth/modules/backups/forms.py:261
msgid "SSH server password"
msgstr "Mot de passe du serveur SSH"
#: plinth/modules/backups/forms.py:262
#, fuzzy
#| msgid "Disable password authentication"
msgid "Required for password-based authentication."
msgstr "Désactiver lauthentification par mot de passe"
msgstr "Requis pour lauthentification par mot de passe."
#: plinth/modules/backups/forms.py:275
#, fuzzy
#| msgid "Disable password authentication"
msgid "SSH password is needed for password-based authentication."
msgstr "Désactiver lauthentification par mot de passe"
msgstr ""
"Le mot de passe SSH est requis pour lauthentification par mot de passe."
#: plinth/modules/backups/forms.py:292
msgid "Remote backup repository already exists."
@ -641,6 +627,9 @@ msgid ""
"list on the remote machine for %(box_name)s to be able to connect to the "
"remote machine:"
msgstr ""
"La clé publique de client SSH qui suit doit être ajoutée à la liste des clés "
"autorisées sur la machine distante pour que la %(box_name)s puisse sy "
"connecter :"
#: plinth/modules/backups/templates/backups_add_remote_repository.html:87
#, python-format
@ -649,6 +638,10 @@ msgid ""
"successful, then the public key will be automatically added to the "
"authorized keys list, so that future connections do not need the password."
msgstr ""
"Le service %(box_name)s va maintenant tenter détablir une connexion en "
"utilisant le mot de passe fourni. En cas de succès, la clé publique sera "
"automatiquement ajoutée à la liste des clés autorisées pour que les "
"connexions ultérieures puissent se faire sans redemander le mot de passe."
#: plinth/modules/backups/templates/backups_add_remote_repository.html:132
#: plinth/modules/backups/templates/backups_upload.html:29
@ -830,10 +823,8 @@ msgid "Authentication to remote server failed."
msgstr "Lauthentification sur le serveur distant a échoué."
#: plinth/modules/backups/views.py:50
#, fuzzy
#| msgid "Error establishing connection to server: {}"
msgid "Error establishing connection to server: {} {} {}"
msgstr "Erreur lors de la connexion au serveur : {}"
msgstr "Erreur lors de la connexion au serveur : {} {} {}"
#: plinth/modules/backups/views.py:82
msgid "Backup schedule updated."
@ -1487,14 +1478,7 @@ msgid "Webserver Home Page"
msgstr "Page daccueil du serveur web"
#: plinth/modules/config/forms.py:37
#, fuzzy, python-brace-format
#| msgid ""
#| "Choose the default page that must be served when someone visits your "
#| "{box_name} on the web. A typical use case is to set your blog or wiki as "
#| "the home page when someone visits the domain name. Note that once the "
#| "home page is set to something other than {box_name} Service (Plinth), "
#| "your users must explicitly type /plinth or /freedombox to reach "
#| "{box_name} Service (Plinth)."
#, python-brace-format
msgid ""
"Choose the default page that must be served when someone visits your "
"{box_name} on the web. A typical use case is to set your blog or wiki as the "
@ -1507,8 +1491,8 @@ msgstr ""
"mettre votre blogue ou votre wiki en page daccueil lorsquon se rend sur "
"votre nom de domaine. Veuillez noter quavec une page daccueil autre que "
 Gestion de la {box_name} (Plinth) », vos utilisateurs devront "
"explicitement ajouter le chemin /plinth ou /freedombox à ladresse de la "
"{box_name} pour accéder à la présente interface."
"explicitement ajouter le chemin /freedombox pour accéder à linterface "
"{box_name} (Plinth)."
#: plinth/modules/config/forms.py:48
msgid "Show advanced apps and features"
@ -2186,6 +2170,7 @@ msgstr "Adresse IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Actions"
@ -2480,15 +2465,11 @@ msgstr ""
"automatiquement, pointant vers le premier compte administrateur."
#: plinth/modules/email/__init__.py:41
#, fuzzy
#| msgid ""
#| "<a href=\"/plinth/apps/roundcube/\">Roundcube app</a> provides web "
#| "interface for users to access email."
msgid ""
"<a href=\"/freedombox/apps/roundcube/\">Roundcube app</a> provides web "
"interface for users to access email."
msgstr ""
"<a href=\"/plinth/apps/roundcube/\">Lappli Roundcube</a> propose une "
"<a href=\"/freedombox/apps/roundcube/\">Lappli Roundcube</a> propose une "
"interface Web pour accéder à vos courriels."
#: plinth/modules/email/__init__.py:43
@ -3412,8 +3393,8 @@ msgstr "Partager vos impressions"
msgid "Contribute"
msgstr "Participer"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "À propos"
@ -3597,6 +3578,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "En savoir plus…"
@ -4087,7 +4069,7 @@ msgstr "Conférence Web"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Information de licence JavaScript"
@ -4809,7 +4791,7 @@ msgid ""
"instance of time."
msgstr ""
"Vous permet de modifier le nombre maximum de joueurs autorisés à se "
"connecter à minetest à un instant donné."
"connecter à minetest en même temps."
#: plinth/modules/minetest/forms.py:19
msgid "Enable creative mode"
@ -6122,12 +6104,18 @@ msgstr "Modifier la connexion"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Erreur :"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Fermer"
@ -6335,12 +6323,6 @@ msgstr ""
"%(box_name)s puisse fournir ses services."
#: plinth/modules/networks/templates/router_configuration_content.html:32
#, fuzzy
#| msgid ""
#| "If you don't have control over your router, choose not to configure it. "
#| "To see options to overcome this limitation, choose 'I dont have a public "
#| "IP address' option in <a href=\"/plinth/sys/networks/internet-connection-"
#| "type/\">Internet connection type selection</a>."
msgid ""
"If you don't have control over your router, choose not to configure it. To "
"see options to overcome this limitation, choose 'I dont have a public IP "
@ -6350,7 +6332,7 @@ msgstr ""
"Si vous navez pas le contrôle de votre routeur, choisissez loption de ne "
"pas le configurer. Pour plus dinformations sur les manières de contourner "
"cette limitation, choisissez loption « Je nai dadresse IP publique » dans "
"la sélection du <a href=\"/plinth/sys/networks/internet-connection-type/"
"la sélection du <a href=\"/freedombox/sys/networks/internet-connection-type/"
"\">type de connexion à Internet</a>."
#: plinth/modules/networks/templates/router_configuration_content.html:39
@ -6761,19 +6743,15 @@ msgstr ""
#: plinth/modules/oidc/__init__.py:56
msgid "OpenID Connect Provider"
msgstr ""
msgstr "Fournisseur OpenID Connect"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:14
#, fuzzy
#| msgid "Applications"
msgid "Application"
msgstr "Applications"
msgstr "Application"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:22
#, fuzzy
#| msgid "Authorized SSH Keys"
msgid "Authorize App"
msgstr "Clés SSH autorisées"
msgstr "Autoriser cette appli"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:37
#, python-format
@ -6781,17 +6759,18 @@ msgid ""
"<strong>%(app)s</strong> wants to access your account <strong> %(username)s</"
"strong>"
msgstr ""
"<strong>%(app)s</strong> veut accéder à votre compte <strong> %(username)s</"
"strong>"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:52
#, fuzzy, python-format
#| msgid "Authorized SSH Keys"
#, python-format
msgid "Authorize %(app)s"
msgstr "Clés SSH autorisées"
msgstr "Autoriser %(app)s"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:59
#, python-format
msgid "Authorizing will redirect to %(url)s"
msgstr ""
msgstr "Lautorisation entraînera une redirection vers %(url)s"
#: plinth/modules/openvpn/__init__.py:20
#, python-brace-format
@ -7130,8 +7109,8 @@ msgstr "Redémarrer"
msgid "Shutdown"
msgstr "Éteindre"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Redémarrer"
@ -7937,7 +7916,7 @@ msgstr ""
#: plinth/modules/security/templates/security_report.html:45
msgid "App Name"
msgstr "Application"
msgstr "Nom dAppli"
#: plinth/modules/security/templates/security_report.html:46
msgid "Current Vulnerabilities"
@ -8253,12 +8232,6 @@ msgstr ""
"paramétrage qui suit."
#: plinth/modules/snapshot/__init__.py:25
#, fuzzy
#| msgid ""
#| "Snapshots currently work on btrfs file systems only and on the root "
#| "partition only. Snapshots are not a replacement for <a href=\"/plinth/sys/"
#| "backups\">backups</a> since they can only be stored on the same "
#| "partition. "
msgid ""
"Snapshots currently work on btrfs file systems only and on the root "
"partition only. Snapshots are not a replacement for <a href=\"/freedombox/"
@ -8266,9 +8239,10 @@ msgid ""
"partition. "
msgstr ""
"Les instantanés ne fonctionnent actuellement que sur des systèmes de "
"fichiers btrfs et sur la partition racine uniquement. Les instantanés ne "
"peuvent pas remplacent pas les <a href=\"/plinth/sys/backups\">sauvegardes</"
"a> car ils sont forcément conservés sur la même partition. "
"fichiers btrfs et uniquement pour la partition racine. Les instantanés ne "
"peuvent pas remplacer une vraie <a href=\"/freedombox/sys/"
"backups\">sauvegarde</a> car ils sont forcément conservés sur la même "
"partition. "
#: plinth/modules/snapshot/__init__.py:50
msgid "Storage Snapshots"
@ -9931,10 +9905,10 @@ msgid ""
"system without using a password. You may enter multiple keys, one on each "
"line. Blank lines and lines starting with # will be ignored."
msgstr ""
"Lajout dune clef publique SSH permettra à cet utilisateur douvrir une "
"Lajout dune clé publique SSH permettra à cet utilisateur douvrir une "
"session sécurisée sans utiliser de mot de passe. Vous pouvez ajouter "
"plusieurs clefs, une sur chaque ligne. Les lignes vides et celles commençant "
"par # sont ignorées."
"plusieurs clés, une par ligne. Les lignes vides et celles commençant par # "
"sont ignorées."
#: plinth/modules/users/forms.py:273
msgid "Delete user"
@ -9967,7 +9941,7 @@ msgstr "Échec de lajout de lutilisateur au groupe."
#: plinth/modules/users/forms.py:369
msgid "Unable to set SSH keys."
msgstr "Échec du paramétrage des clefs SSH."
msgstr "Échec du paramétrage des clés SSH."
#: plinth/modules/users/forms.py:382
msgid "Failed to change user status."
@ -10011,7 +9985,7 @@ msgstr "Sauvegarder le mot de passe"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Créer un utilisateur"
@ -10064,7 +10038,7 @@ msgid "Skip this step"
msgstr "Passer cette étape"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Utilisateurs"
@ -10073,16 +10047,114 @@ msgstr "Utilisateurs"
msgid "Edit user %(username)s"
msgstr "Paramètres du compte %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Cette application nest pas compatible avec les tests de diagnostic"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Sidentifier"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Appliquer les changements"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Ajouter un mot de passe"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domaine"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Dernière analyse : "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Supprimer l'utilisateur"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Annuler"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Modifier lutilisateur <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -10091,19 +10163,19 @@ msgstr ""
"Utiliser le <a href=\"%(change_password_url)s\">formulaire de changement de "
"mot de passe</a> pour changer votre mot de passe."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Appliquer les changements"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
"Supprimer lutilisateur <em>%(username)s</em> et tous les fichiers de "
"l'utilisateur?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -10112,45 +10184,57 @@ msgstr ""
"répertoire personnel de l'utilisateur. Si vous voulez conserver ces "
"fichiers, désactivez plutôt le compte de l'utilisateur."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Supprimer l'utilisateur et les fichiers"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Annuler"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Déconnecté avec succès."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Utilisateur %(username)s créé."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Utilisateur %(username)s mis à jour."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Modification de lutilisateur"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "L'utilisateur %(username)s supprimé."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Changer Mot de Passe"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Le mot de passe a été changé."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Un partage existe déjà avec ce nom."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Modification de lutilisateur"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard est un tunnel VPN rapide, moderne et sécurisé."
@ -10161,9 +10245,9 @@ msgid ""
"It can be used to connect to a VPN provider which supports WireGuard, and to "
"route all outgoing traffic from {box_name} through the VPN."
msgstr ""
"Il peut être utilisé pour se connecter à un fournisseur de réseau privé "
"virtuel VPN proposant un service WireGuard et router tout le trafic sortant "
"de la {box_name} à travers ce VPN."
"Vous pouvez lutiliser avec un fournisseur de réseau privé virtuel VPN "
"proposant un service WireGuard pour router tout le trafic sortant de la "
"{box_name} à travers ce VPN."
#: plinth/modules/wireguard/__init__.py:26
#, python-brace-format
@ -10172,7 +10256,7 @@ msgid ""
"travelling. While connected to a public Wi-Fi network, all traffic can be "
"securely relayed through {box_name}."
msgstr ""
"Une autre usage possible est de connecter un appareil mobile à votre "
"Vous pouvez également lutiliser pour connecter un appareil mobile à votre "
"{box_name} pendant un déplacement. Même si votre appareil est connecté à un "
"réseau Wi-Fi public, tout votre trafic sera alors relayé via votre "
"{box_name} de manière sécurisée."
@ -10182,14 +10266,12 @@ msgid "Invalid key."
msgstr "Clé invalide."
#: plinth/modules/wireguard/forms.py:63
#, fuzzy
#| msgid "Enter a valid username."
msgid "Enter a valid IPv4 address."
msgstr "Entrez un nom dutilisateur valide."
msgstr "Veuillez saisir une adresse IPv4 valide."
#: plinth/modules/wireguard/forms.py:65
msgid "Enter a valid network prefix or net mask."
msgstr ""
msgstr "Veuillez saisir un préfixe réseau ou un masque de sous-réseau valide."
#: plinth/modules/wireguard/forms.py:71
#: plinth/modules/wireguard/templates/wireguard.html:29
@ -10236,11 +10318,6 @@ msgid "Client IP address provided by server"
msgstr "Adresse IP du client fournie par le serveur"
#: plinth/modules/wireguard/forms.py:94
#, fuzzy
#| msgid ""
#| "IP address assigned to this machine on the VPN after connecting to the "
#| "endpoint. This value is usually provided by the server operator. Example: "
#| "192.168.0.10."
msgid ""
"IP address assigned to this machine on the VPN after connecting to the "
"endpoint. This value is usually provided by the server operator. Example: "
@ -10250,7 +10327,9 @@ msgid ""
msgstr ""
"Adresse IP attribuée à cette machine sur le réseau privé virtuel VPN une "
"fois connectée au serveur distant. Cette valeur est généralement fournie par "
"lopérateur du serveur. Par exemple : 192.18.0.10."
"lopérateur du serveur. Par exemple : 192.18.0.10. Vous pouvez également "
"spécifier le réseau. Cela vous permettra datteindre les machines de ce "
"réseau. Par exemple : 10.68.12.43/24 ou 10.68.12.43/255.255.255.0."
#: plinth/modules/wireguard/forms.py:102
msgid "Private key of this machine"
@ -10303,34 +10382,30 @@ msgid "As a Server"
msgstr "En tant que serveur"
#: plinth/modules/wireguard/templates/wireguard.html:17
#, fuzzy, python-format
#| msgid "Endpoints for this %(box_name)s:"
#, python-format
msgid "Information for this %(box_name)s:"
msgstr "Points de terminaison de cette %(box_name)s :"
msgstr "Informations de cette %(box_name)s :"
#: plinth/modules/wireguard/templates/wireguard.html:25
msgid "Property"
msgstr ""
msgstr "Propriété"
#: plinth/modules/wireguard/templates/wireguard.html:26
msgid "Value"
msgstr ""
msgstr "Valeur"
#: plinth/modules/wireguard/templates/wireguard.html:33
#, fuzzy
#| msgid "Endpoint"
msgid "Endpoint(s)"
msgstr "Serveur distant"
msgstr "Terminaison(s)"
#: plinth/modules/wireguard/templates/wireguard.html:41
#, fuzzy, python-format
#| msgid "To %(box_name)s Ports"
#, python-format
msgid "%(box_name)s VPN IP for services"
msgstr "Vers les ports %(box_name)s"
msgstr "IP VPN de la %(box_name)s pour les services"
#: plinth/modules/wireguard/templates/wireguard.html:50
msgid "Peers"
msgstr ""
msgstr "Pairs"
#: plinth/modules/wireguard/templates/wireguard.html:52
msgid "Peers allowed to connect to this server:"
@ -10362,10 +10437,8 @@ msgid "Add Allowed Client"
msgstr "Ajouter un client autorisé"
#: plinth/modules/wireguard/templates/wireguard.html:97
#, fuzzy
#| msgid "WireGuard server started successfully."
msgid "WireGuard server not started yet."
msgstr "Le serveur WireGuard a été démarré."
msgstr "Le serveur WireGuard na pas encore démarré."
#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard.html:103
@ -10456,7 +10529,7 @@ msgstr "Clé publique du serveur :"
#: plinth/modules/wireguard/templates/wireguard_show_client.html:46
msgid "Server VPN IP address for services:"
msgstr ""
msgstr "Adresse IP VPN du serveur pour les services :"
#: plinth/modules/wireguard/templates/wireguard_show_client.html:58
#: plinth/modules/wireguard/templates/wireguard_show_server.html:64
@ -10498,7 +10571,7 @@ msgstr "Adresse IP de cette machine :"
#: plinth/modules/wireguard/templates/wireguard_show_server.html:46
msgid "All outgoing traffic is sent using this connection:"
msgstr ""
msgstr "Lensemble du trafic sortant est envoyé à travers cette connexion :"
#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
@ -10765,20 +10838,21 @@ msgstr "Aucune réponse du gestionnaire de paquets"
#: plinth/settings.py:181
msgid "Uniquely identify your user account with username"
msgstr ""
"Identifiez votre compte utilisateur de manière unique par un nom "
"dutilisateur"
#: plinth/settings.py:183
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "demande dadresse en cours"
msgstr "Voir ladresse de courriel"
#: plinth/settings.py:185
msgid "View basic profile information (such as name and email)"
msgstr ""
"Voir les informations de base du profil (telles que le nom et le courriel)"
#: plinth/settings.py:187
msgid "View permissions that account has"
msgstr ""
msgstr "Voir les permissions attribuées à ce compte"
#: plinth/setup.py:44
msgid "Installing app"
@ -10962,22 +11036,28 @@ msgid " System"
msgstr " Système"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Configurer des alias"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Changer le mot de passe"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Éteindre"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Se déconnecter"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Choisir la langue"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Sidentifier"
@ -11015,7 +11095,7 @@ msgstr "Mobile"
#: plinth/templates/clients.html:82
msgid "Android APK"
msgstr ""
msgstr "APK pour Android"
#: plinth/templates/clients.html:91
msgid "Play Store"
@ -11236,15 +11316,15 @@ msgstr ""
"Lensemble données de lappli et sa configuration seront définitivement "
"perdus. Un appli peut toujours être réinstallée de zéro."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "Ici"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Paramètre inchangé"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "avant la désinstallation de {app_id}"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2022-12-30 10:51+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language-Team: Galician <https://hosted.weblate.org/projects/freedombox/"
@ -29,7 +29,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr ""
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -326,6 +326,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr ""
@ -1962,6 +1963,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3049,8 +3051,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Acerca de"
@ -3188,6 +3190,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3596,7 +3599,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5324,12 +5327,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6204,8 +6213,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8595,7 +8604,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8637,7 +8646,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8646,77 +8655,173 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Manual"
msgid "Update Passkey"
msgstr "Manual"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
msgid "For Domain"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
msgid "Delete passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9433,22 +9538,26 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Manage passkeys"
msgstr ""
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9685,15 +9794,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -9734,11 +9843,6 @@ msgstr ""
#~ msgid "Server URL"
#~ msgstr "Servidor web"
#, fuzzy
#~| msgid "Manual"
#~ msgid "Updates"
#~ msgstr "Manual"
#, fuzzy
#~| msgid "Manual"
#~ msgctxt "Not automatically"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2021-01-18 12:32+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Gujarati <https://hosted.weblate.org/projects/freedombox/"
@ -29,7 +29,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr ""
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "ફ્રિડમબોક્ષ"
@ -336,6 +336,7 @@ msgstr "દસ્તાવેજીકરણ"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr ""
@ -2147,6 +2148,7 @@ msgstr "GnuDIP સર્વર સરનામું"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3330,8 +3332,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "વિશે"
@ -3469,6 +3471,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3877,7 +3880,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5690,12 +5693,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6593,8 +6602,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -9056,7 +9065,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -9098,7 +9107,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -9107,77 +9116,181 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This module does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "આ વિભાગ તપાસનું સમર્થન નથી કરતો"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "સેટઅપ અપડેટ કરો"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Show password"
msgid "Add passkey"
msgstr "પાસવર્ડ બતાવો"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain Name"
msgid "For Domain"
msgstr "ક્ષેત્રનું નામ"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last update"
msgid "Last Used"
msgstr "છેલ્લો સુધારો"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
msgid "Delete passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9928,24 +10041,30 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Documentation"
msgid "Manage passkeys"
msgstr "દસ્તાવેજીકરણ"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
#, fuzzy
#| msgid "Language"
msgid "Select language"
msgstr "ભાષા"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -10193,15 +10312,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "સેટિંગ યથાવત"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"PO-Revision-Date: 2025-12-16 01:15+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-03-31 06:09+0000\n"
"Last-Translator: bsurajpatra <ankitsuraj1111@gmail.com>\n"
"Language-Team: Hindi <https://hosted.weblate.org/projects/freedombox/"
"freedombox/hi/>\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.15.1-dev\n"
"X-Generator: Weblate 5.17-dev\n"
#: plinth/config.py:103
#, python-brace-format
@ -30,7 +30,7 @@ msgstr "स्थैतिक कॉन्फ़िगरेशन {etc_path}
msgid "Container {container_name} is running"
msgstr "सेवा {service_name} चल रहा है"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "स्वतंत्रता बॉक्स"
@ -345,6 +345,7 @@ msgstr "यूसर बनाये"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "नाम"
@ -2256,6 +2257,7 @@ msgstr "आइपी एेड्रैस"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "एक्सआयन"
@ -3536,8 +3538,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
#, fuzzy
msgid "About"
@ -3692,6 +3694,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "और सीखिये..."
@ -4134,7 +4137,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "जावास्क्रिप्ट लाइसेंस जानकारी"
@ -6077,12 +6080,18 @@ msgstr "कनेक्शन संपादित करें"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -7112,8 +7121,8 @@ msgstr ""
msgid "Shutdown"
msgstr "शट डाउन"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "रीस्टार्ट"
@ -9935,7 +9944,7 @@ msgstr "पासवर्ड सहेजें"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "यूसर बनाये"
@ -9984,7 +9993,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "यूसरस"
@ -9993,17 +10002,115 @@ msgstr "यूसरस"
msgid "Edit user %(username)s"
msgstr "यूसर संपादित करें %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This module does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "यह मॉड्यूल निदानिकी कि नहीं समर्थन करता है"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "लॉगिन"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "सेटअप अपडेट"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "पासवर्ड जोड़ें"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "डोमेन"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "कनेक्शन बनाएँ: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete User"
msgid "Delete passkey"
msgstr "यूसर हटाइये"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "कैंसिल"
#: plinth/modules/users/templates/users_update.html:16
#, fuzzy, python-format
#| msgid "Edit user %(username)s"
msgid "Edit User <em>%(username)s</em>"
msgstr "यूसर संपादित करें %(username)s"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -10012,67 +10119,79 @@ msgstr ""
"पासवर्ड बदलने के लिये <a href='%(change_password_url)s'> यइ पासवर्ड बदलना फोम्र </"
"a> का उपयोग करें."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "बदलाव संचयित कीजिये"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, fuzzy, python-format
#| msgid "Delete user <strong>%(username)s</strong> permanently?"
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "यूसर <strong>%(username)s</strong> स्थाई रूप से हटाइये?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete User"
msgid "Delete user and files"
msgstr "यूसर हटाइये"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "कैंसिल"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
#, fuzzy
#| msgid "Password changed successfully."
msgid "Logged out successfully."
msgstr "पासवर्ड सफलतापूर्वक बदल गया."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "युसर %(username)s बनाया."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "युसर %(username)s अपडेट किया."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "यूसर संपादित करें"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "User %(username)s created."
msgid "User %(username)s deleted."
msgstr "युसर %(username)s बनाया."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "पासवर्ड बदलिये"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "पासवर्ड सफलतापूर्वक बदल गया."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "इस नाम का एक शयर पहले से मौजूद है."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "यूसर संपादित करें"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -10917,22 +11036,28 @@ msgid " System"
msgstr " सिस्टम"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Create User"
msgid "Manage passkeys"
msgstr "यूसर बनाये"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "पासवर्ड बदलें"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "शट डाउन"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "लॉग आउट"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "भाषा चुनें"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "लॉग इन"
@ -10970,7 +11095,7 @@ msgstr "मोबाइल"
#: plinth/templates/clients.html:82
msgid "Android APK"
msgstr ""
msgstr "एंड्रॉइड एपीके"
#: plinth/templates/clients.html:91
msgid "Play Store"
@ -11201,15 +11326,15 @@ msgstr ""
"सभी ऐप डेटा और कॉन्फ़िगरेशन हमेशा के लिए खो जाएंगे। ऐप को फिर से नए सिरे से इंस्टॉल किया "
"जा सकता है।"
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "यहाँ"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "सेटिंग स्थिर है"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "{app_id} को अनइंस्टॉल करने से पहले"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2025-06-04 15:01+0000\n"
"Last-Translator: András Szűcs "
"<andrascc86288f63c44cb5@users.noreply.hosted.weblate.org>\n"
@ -31,7 +31,7 @@ msgstr "A statikus konfiguráció {etc_path} megfelelően van beállítva"
msgid "Container {container_name} is running"
msgstr "A szolgáltatás fut: {service_name}"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -355,6 +355,7 @@ msgstr "Tároló"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Név"
@ -2259,6 +2260,7 @@ msgstr "IP-cím"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Műveletek"
@ -3511,8 +3513,8 @@ msgstr "Visszajelzés küldése"
msgid "Contribute"
msgstr "Hozzájárulás"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Névjegy"
@ -3688,6 +3690,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Bővebben..."
@ -4152,7 +4155,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "JavaScript licencinformáció"
@ -6234,6 +6237,9 @@ msgstr "Kapcsolat szerkesztése"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
#, fuzzy
#| msgid "error"
@ -6241,7 +6247,10 @@ msgid "Error:"
msgstr "hiba"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Bezárás"
@ -7275,8 +7284,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Leállítás"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Újraindítás"
@ -10125,7 +10134,7 @@ msgstr "Jelszó mentése"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Felhasználó létrehozása"
@ -10182,7 +10191,7 @@ msgid "Skip this step"
msgstr "Lépés kihagyása"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Felhasználók"
@ -10191,16 +10200,114 @@ msgstr "Felhasználók"
msgid "Edit user %(username)s"
msgstr "%(username)s felhasználó szerkesztése"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Ez az alkalmazás nem támogatja a hibaellenőrzést"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Bejelentkezés"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Beállítások frissítése"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Jelszó hozzáadása"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domain"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last Connected Time"
msgid "Last Used"
msgstr "Utolsó csatlakozási idő"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete User"
msgid "Delete passkey"
msgstr "Felhasználó törlése"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Mégse"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "<em>%(username)s</em> felhasználó szerkesztése"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -10209,65 +10316,77 @@ msgstr ""
"A jelszó a <a href=\"%(change_password_url)s\">jelszómódosítási űrlap</a> "
"kitöltésével változtatható meg."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Változtatások mentése"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, fuzzy, python-format
#| msgid "Delete user <strong>%(username)s</strong> permanently?"
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "<strong>%(username)s</strong> nevű felhasználó végleges törlése?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Fájlok törlése"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Mégse"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Sikeres kijelentkezés."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "%(username)s nevű felhasználó létrehozva."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "%(username)s nevű felhasználó frissítve."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Felhasználó szerkesztése"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "User %(username)s created."
msgid "User %(username)s deleted."
msgstr "%(username)s nevű felhasználó létrehozva."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Jelszómódosítás"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "A jelszó módosítása sikeres."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Egy megosztás ezzel a névvel már létezik."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Felhasználó szerkesztése"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "A WireGuard egy gyors, modern, biztonságos VPN-alagút."
@ -11114,22 +11233,28 @@ msgid " System"
msgstr " Rendszer"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Álnevek kezelése"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Jelszómódosítás"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Leállítás"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Kijelentkezés"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Válassz nyelvet"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Bejelentkezés"
@ -11401,15 +11526,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "A beállítás változatlan"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Indonesian (FreedomBox)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/freedombox/"
@ -25,7 +25,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "Layanan {service_name} sedang berjalan"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -350,6 +350,7 @@ msgstr "Gudang"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Nama"
@ -2237,6 +2238,7 @@ msgstr "Alamat IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Aksi"
@ -3464,8 +3466,8 @@ msgstr "Berikan umpan balik"
msgid "Contribute"
msgstr "Kontribusi"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Tentang"
@ -3638,6 +3640,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Belajarlah lagi..."
@ -4090,7 +4093,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Informasi Lisensi JavaScript"
@ -5960,6 +5963,9 @@ msgstr "Sunting Koneksi"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
#, fuzzy
#| msgid "error"
@ -5967,7 +5973,10 @@ msgid "Error:"
msgstr "kesalahan"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Tutup"
@ -6860,8 +6869,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Matikan"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Mulai ulang"
@ -9405,7 +9414,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -9449,7 +9458,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -9458,81 +9467,191 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Aplikasi ini tidak mendukung diagnostik"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Masuk"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Perbarui Pengaturan"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Tambahkan Kata Sandi"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domain"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Used"
msgid "Last Used"
msgstr "Digunakan"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete %(username)s"
msgid "Delete passkey"
msgstr "Pangkar %(username)s"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Batal"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Hapus Wiki atau Blog <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, fuzzy, python-format
#| msgid "Edit User <em>%(username)s</em>"
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Hapus Wiki atau Blog <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Hapus file"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Batal"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "User {user} deleted."
msgid "User %(username)s deleted."
msgstr "Insan {user} dipangkar."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A library with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Perpustakaan dengan nama ini sudah ada."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit Share"
msgid "Edit Passkey"
msgstr "Sunting Bagikan"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -10312,22 +10431,28 @@ msgid " System"
msgstr " sistem"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Libraries"
msgid "Manage passkeys"
msgstr "Kelola Perpustakaan"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Ganti kata sandi"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Matikan"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Keluar"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Pilih bahasa"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Masuk"
@ -10583,15 +10708,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"PO-Revision-Date: 2026-02-06 23:01+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-03-31 06:09+0000\n"
"Last-Translator: Pierfrancesco Passerini <p.passerini@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/freedombox/"
"freedombox/it/>\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.16-dev\n"
"X-Generator: Weblate 5.17-dev\n"
#: plinth/config.py:103
#, python-brace-format
@ -29,7 +29,7 @@ msgstr "La configurazione statica {etc_path} è impostata correttamente"
msgid "Container {container_name} is running"
msgstr "Il contenitore {container_name} è in esecuzione"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -167,7 +167,7 @@ msgstr "{box_name} Interfaccia Web (Plinth)"
#: plinth/modules/apache/__init__.py:129
msgid "Web app protected by FreedomBox"
msgstr ""
msgstr "Web app protetta da FreedomBox"
#: plinth/modules/apache/components.py:234
#, python-brace-format
@ -345,6 +345,7 @@ msgstr "Deposito"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Nome"
@ -406,10 +407,8 @@ msgid "Passphrase"
msgstr "Passphrase"
#: plinth/modules/backups/forms.py:187
#, fuzzy
#| msgid "Passphrase; Only needed when using encryption."
msgid "Only needed when using encryption."
msgstr "Passphrase; Necessaria solo quando si utilizza la crittografia."
msgstr "Necessaria solo quando si utilizza la crittografia."
#: plinth/modules/backups/forms.py:190
msgid "Confirm Passphrase"
@ -448,44 +447,32 @@ msgstr ""
"repo/</i>"
#: plinth/modules/backups/forms.py:255
#, fuzzy
#| msgid "Authentication Mode"
msgid "SSH Authentication Type"
msgstr "Modalità Autenticazione"
msgstr "Tipo di autenticazione SSH"
#: plinth/modules/backups/forms.py:256
#, fuzzy
#| msgid "Authentication to remote server failed."
msgid "Choose how to authenticate to the remote SSH server."
msgstr "Autenticazione al server remoto fallita."
msgstr "Scegliere la modalità di autenticazione sul server SSH remoto."
#: plinth/modules/backups/forms.py:258
#, fuzzy
#| msgid "needs authentication"
msgid "Key-based Authentication"
msgstr "richiede autenticazione"
msgstr "Autenticazione basata su chiave"
#: plinth/modules/backups/forms.py:259
#, fuzzy
#| msgid "Disable password authentication"
msgid "Password-based Authentication"
msgstr "Disabilita l'autenticazione con password"
msgstr "Autenticazione basata su password"
#: plinth/modules/backups/forms.py:261
msgid "SSH server password"
msgstr "Password server SSH"
#: plinth/modules/backups/forms.py:262
#, fuzzy
#| msgid "Disable password authentication"
msgid "Required for password-based authentication."
msgstr "Disabilita l'autenticazione con password"
msgstr "Richiesto per l'autenticazione basata su password."
#: plinth/modules/backups/forms.py:275
#, fuzzy
#| msgid "Disable password authentication"
msgid "SSH password is needed for password-based authentication."
msgstr "Disabilita l'autenticazione con password"
msgstr "La password SSH è necessaria per l'autenticazione basata su password."
#: plinth/modules/backups/forms.py:292
msgid "Remote backup repository already exists."
@ -631,6 +618,9 @@ msgid ""
"list on the remote machine for %(box_name)s to be able to connect to the "
"remote machine:"
msgstr ""
"Per consentire a %(box_name)s di connettersi al computer remoto, è "
"necessario aggiungere la seguente chiave pubblica SSH all'elenco delle "
"chiavi autorizzate sul computer remoto:"
#: plinth/modules/backups/templates/backups_add_remote_repository.html:87
#, python-format
@ -639,6 +629,10 @@ msgid ""
"successful, then the public key will be automatically added to the "
"authorized keys list, so that future connections do not need the password."
msgstr ""
"Il servizio %(box_name)s tenterà di connettersi utilizzando la password "
"fornita. In caso di esito positivo, la chiave pubblica verrà automaticamente "
"aggiunta all'elenco delle chiavi autorizzate, in modo che per le connessioni "
"future non sia più necessaria la password."
#: plinth/modules/backups/templates/backups_add_remote_repository.html:132
#: plinth/modules/backups/templates/backups_upload.html:29
@ -817,10 +811,8 @@ msgid "Authentication to remote server failed."
msgstr "Autenticazione al server remoto fallita."
#: plinth/modules/backups/views.py:50
#, fuzzy
#| msgid "Error establishing connection to server: {}"
msgid "Error establishing connection to server: {} {} {}"
msgstr "Errore di connessione al server: {}"
msgstr "Errore di connessione al server: {} {} {}"
#: plinth/modules/backups/views.py:82
msgid "Backup schedule updated."
@ -1464,14 +1456,7 @@ msgid "Webserver Home Page"
msgstr "Pagina iniziale del server web"
#: plinth/modules/config/forms.py:37
#, fuzzy, python-brace-format
#| msgid ""
#| "Choose the default page that must be served when someone visits your "
#| "{box_name} on the web. A typical use case is to set your blog or wiki as "
#| "the home page when someone visits the domain name. Note that once the "
#| "home page is set to something other than {box_name} Service (Plinth), "
#| "your users must explicitly type /plinth or /freedombox to reach "
#| "{box_name} Service (Plinth)."
#, python-brace-format
msgid ""
"Choose the default page that must be served when someone visits your "
"{box_name} on the web. A typical use case is to set your blog or wiki as the "
@ -1484,7 +1469,7 @@ msgstr ""
"il tuo blog o wiki come pagina iniziale quando qualcuno visita il nome del "
"dominio. Si noti che una volta che la home page è impostata su qualcosa di "
"diverso da {box_name} Service (Plinth), i tuoi utenti devono esplicitamente "
"digitare /plinth o /freedombox per raggiungere {box_name} Service (Plinth)."
"digitare /freedombox per raggiungere {box_name} Service (Plinth)."
#: plinth/modules/config/forms.py:48
msgid "Show advanced apps and features"
@ -2145,6 +2130,7 @@ msgstr "Indirizzo IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Azioni"
@ -2435,15 +2421,11 @@ msgstr ""
"creati automaticamente e puntano al primo utente amministratore."
#: plinth/modules/email/__init__.py:41
#, fuzzy
#| msgid ""
#| "<a href=\"/plinth/apps/roundcube/\">Roundcube app</a> provides web "
#| "interface for users to access email."
msgid ""
"<a href=\"/freedombox/apps/roundcube/\">Roundcube app</a> provides web "
"interface for users to access email."
msgstr ""
"<a href=\"/plinth/apps/roundcube/\">Roundcube app</a> fornisce "
"<a href=\"/freedombox/apps/roundcube/\">Roundcube app</a> fornisce "
"un'interfaccia web per l'accesso degli utenti all'email."
#: plinth/modules/email/__init__.py:43
@ -3361,8 +3343,8 @@ msgstr "Invia feedback"
msgid "Contribute"
msgstr "Collabora"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Informazioni"
@ -3540,6 +3522,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Approfondisci..."
@ -4019,7 +4002,7 @@ msgstr "Conferenza Web"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Informazioni sulla licenza JavaScript"
@ -6036,12 +6019,18 @@ msgstr "Modifica Concessione"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Errore:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Chiudi"
@ -6242,12 +6231,6 @@ msgstr ""
"permettendogli di fornire i servizi."
#: plinth/modules/networks/templates/router_configuration_content.html:32
#, fuzzy
#| msgid ""
#| "If you don't have control over your router, choose not to configure it. "
#| "To see options to overcome this limitation, choose 'I dont have a public "
#| "IP address' option in <a href=\"/plinth/sys/networks/internet-connection-"
#| "type/\">Internet connection type selection</a>."
msgid ""
"If you don't have control over your router, choose not to configure it. To "
"see options to overcome this limitation, choose 'I dont have a public IP "
@ -6256,9 +6239,9 @@ msgid ""
msgstr ""
"Se non hai il controllo del tuo router, scegli di non configurarlo. Per "
"visualizzare le opzioni capaci di superare questa limitazione, seleziona "
"lopzione “Non dispongo di un indirizzo IP pubblico” in <a href=\"/plinth/"
"sys/networks/internet-connection-type/\">selezione del tipo di connessione "
"Internet</a>."
"lopzione “Non dispongo di un indirizzo IP pubblico” in <a href=\"/"
"freedombox/sys/networks/internet-connection-type/\">selezione del tipo di "
"connessione Internet</a>."
#: plinth/modules/networks/templates/router_configuration_content.html:39
msgid "Choose How You Wish to Configure Your Router"
@ -6664,19 +6647,15 @@ msgstr ""
#: plinth/modules/oidc/__init__.py:56
msgid "OpenID Connect Provider"
msgstr ""
msgstr "Fornitore OpenID Connect"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:14
#, fuzzy
#| msgid "Application enabled"
msgid "Application"
msgstr "Applicazione abilitata"
msgstr "Applicazione"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:22
#, fuzzy
#| msgid "Authorized SSH Keys"
msgid "Authorize App"
msgstr "Chiavi SSH autorizzate"
msgstr "Autorizza App"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:37
#, python-format
@ -6684,17 +6663,18 @@ msgid ""
"<strong>%(app)s</strong> wants to access your account <strong> %(username)s</"
"strong>"
msgstr ""
"<strong>%(app)s </strong> vuole accedere al tuo account <strong> "
"%(username)s</strong>"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:52
#, fuzzy, python-format
#| msgid "Authorized SSH Keys"
#, python-format
msgid "Authorize %(app)s"
msgstr "Chiavi SSH autorizzate"
msgstr "Autorizza %(app)s"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:59
#, python-format
msgid "Authorizing will redirect to %(url)s"
msgstr ""
msgstr "Autorizzando sarai reindirizzato su %(url)s"
#: plinth/modules/openvpn/__init__.py:20
#, python-brace-format
@ -7025,8 +7005,8 @@ msgstr "Riavvia"
msgid "Shutdown"
msgstr "Spegni"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Riavvio"
@ -8121,12 +8101,6 @@ msgstr ""
"indicate."
#: plinth/modules/snapshot/__init__.py:25
#, fuzzy
#| msgid ""
#| "Snapshots currently work on btrfs file systems only and on the root "
#| "partition only. Snapshots are not a replacement for <a href=\"/plinth/sys/"
#| "backups\">backups</a> since they can only be stored on the same "
#| "partition. "
msgid ""
"Snapshots currently work on btrfs file systems only and on the root "
"partition only. Snapshots are not a replacement for <a href=\"/freedombox/"
@ -8134,7 +8108,7 @@ msgid ""
"partition. "
msgstr ""
"Le istantanee, attualmente, funzionano solo sui filesystem btrfs e solo "
"sulla partizione root. Non sostituiscono i <a href=\"/plinth/sys/"
"sulla partizione root. Non sostituiscono i <a href=\"/freedombox/sys/"
"backups\">backup</a> poiché possono essere salvate solo sulla stessa "
"partizione. "
@ -9837,7 +9811,7 @@ msgstr "Salva password"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Crea utente"
@ -9887,7 +9861,7 @@ msgid "Skip this step"
msgstr "Salta questo passaggio"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Utenti"
@ -9896,16 +9870,114 @@ msgstr "Utenti"
msgid "Edit user %(username)s"
msgstr "Modifica l'utente %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Questa applicazione non supporta la diagnostica"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Login"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Aggiorna impostazioni"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Aggiungi la password"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Dominio"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Ultima scansione: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Cancella l'utente"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Cancella"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Modifica utente <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9914,17 +9986,17 @@ msgstr ""
"Utilizzare il form <a href=\"%(change_password_url)s\">cambio password</a> "
"per modificare la password."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Applica cambiamenti"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Cancellare l'utente <em>%(username)s</em> e tutti i suoi file?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -9932,45 +10004,57 @@ msgstr ""
"L'eliminazione di un account utente rimuove anche la sua home directory. Se "
"desideri conservare i suoi file, disabilita l'account anziché eliminarlo."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Cancellare utente e file"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Cancella"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Disconnesso correttamente."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Utente %(username)s creato."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Utente %(username)s aggiornato."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Modifica utente"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "Utente %(username)s cancellato."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Cambia password"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "La password è stata aggiornata."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Una condivisione con questo nome esiste già."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Modifica utente"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard è un tunnel VPN veloce, moderno e sicuro."
@ -10001,14 +10085,12 @@ msgid "Invalid key."
msgstr "Chiave non valida."
#: plinth/modules/wireguard/forms.py:63
#, fuzzy
#| msgid "Enter a valid username."
msgid "Enter a valid IPv4 address."
msgstr "Inserisci un nome utente valido."
msgstr "Inserisci un indirizzo IPv4 valido."
#: plinth/modules/wireguard/forms.py:65
msgid "Enter a valid network prefix or net mask."
msgstr ""
msgstr "Inserisci un prefisso di rete od una netmask validi."
#: plinth/modules/wireguard/forms.py:71
#: plinth/modules/wireguard/templates/wireguard.html:29
@ -10055,11 +10137,6 @@ msgid "Client IP address provided by server"
msgstr "Indirizzo IP client fornito dal server"
#: plinth/modules/wireguard/forms.py:94
#, fuzzy
#| msgid ""
#| "IP address assigned to this machine on the VPN after connecting to the "
#| "endpoint. This value is usually provided by the server operator. Example: "
#| "192.168.0.10."
msgid ""
"IP address assigned to this machine on the VPN after connecting to the "
"endpoint. This value is usually provided by the server operator. Example: "
@ -10069,7 +10146,9 @@ msgid ""
msgstr ""
"Indirizzo IP assegnato a questa macchina sulla VPN dopo la connessione "
"all'endpoint. Questo valore è generalmente fornito dal gestore del server. "
"Esempio: 192.168.0.10"
"Esempio: 192.168.0.10. È inoltre possibile specificare la rete. Ciò "
"consentirà di raggiungere le macchine nella rete. Esempi: 10.68.12.43/24 o "
"10.68.12.43/255.255.255.0."
#: plinth/modules/wireguard/forms.py:102
msgid "Private key of this machine"
@ -10120,34 +10199,30 @@ msgid "As a Server"
msgstr "Come server"
#: plinth/modules/wireguard/templates/wireguard.html:17
#, fuzzy, python-format
#| msgid "Endpoints for this %(box_name)s:"
#, python-format
msgid "Information for this %(box_name)s:"
msgstr "Punti di accesso per %(box_name)s:"
msgstr "Informazioni su %(box_name)s:"
#: plinth/modules/wireguard/templates/wireguard.html:25
msgid "Property"
msgstr ""
msgstr "Proprietà"
#: plinth/modules/wireguard/templates/wireguard.html:26
msgid "Value"
msgstr ""
msgstr "Valore"
#: plinth/modules/wireguard/templates/wireguard.html:33
#, fuzzy
#| msgid "Endpoint"
msgid "Endpoint(s)"
msgstr "Endpoint"
#: plinth/modules/wireguard/templates/wireguard.html:41
#, fuzzy, python-format
#| msgid "To %(box_name)s Ports"
#, python-format
msgid "%(box_name)s VPN IP for services"
msgstr "Alla porta %(box_name)s"
msgstr "VPN IP per i servizi %(box_name)s"
#: plinth/modules/wireguard/templates/wireguard.html:50
msgid "Peers"
msgstr ""
msgstr "Nodi"
#: plinth/modules/wireguard/templates/wireguard.html:52
msgid "Peers allowed to connect to this server:"
@ -10177,10 +10252,8 @@ msgid "Add Allowed Client"
msgstr "Aggiungi client autorizzato"
#: plinth/modules/wireguard/templates/wireguard.html:97
#, fuzzy
#| msgid "WireGuard server started successfully."
msgid "WireGuard server not started yet."
msgstr "Il server WireGuard è stato correttamente avviato."
msgstr "Il server WireGuard non è stato ancora avviato."
#: plinth/modules/wireguard/templates/wireguard.html:101
#: plinth/modules/wireguard/templates/wireguard.html:103
@ -10271,7 +10344,7 @@ msgstr "Chiave pubblica del server:"
#: plinth/modules/wireguard/templates/wireguard_show_client.html:46
msgid "Server VPN IP address for services:"
msgstr ""
msgstr "Indirizzo IP VPN server per i servizi:"
#: plinth/modules/wireguard/templates/wireguard_show_client.html:58
#: plinth/modules/wireguard/templates/wireguard_show_server.html:64
@ -10313,7 +10386,7 @@ msgstr "Indirizzo IP di questa macchina:"
#: plinth/modules/wireguard/templates/wireguard_show_server.html:46
msgid "All outgoing traffic is sent using this connection:"
msgstr ""
msgstr "Tutto il traffico in uscita utilizza questo collegamento:"
#: plinth/modules/wireguard/views.py:54
msgid "Added new client."
@ -10575,21 +10648,19 @@ msgstr "Timeout in attesa del gestore di pacchetti"
#: plinth/settings.py:181
msgid "Uniquely identify your user account with username"
msgstr ""
msgstr "Identifica univocamente il tuo account con il nome utente"
#: plinth/settings.py:183
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "acquisizione indirizzo in corso"
msgstr "Visualizza indirizzo email"
#: plinth/settings.py:185
msgid "View basic profile information (such as name and email)"
msgstr ""
msgstr "Visualizza le informazioni base del profilo (come nome ed email)"
#: plinth/settings.py:187
msgid "View permissions that account has"
msgstr ""
msgstr "Visualizza le autorizzazioni dell'account"
#: plinth/setup.py:44
msgid "Installing app"
@ -10771,22 +10842,28 @@ msgid " System"
msgstr " Sistema"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Gestire gli alias"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Cambia password"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Spegni"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Esci"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Seleziona la lingua"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Accedi"
@ -10824,7 +10901,7 @@ msgstr "Mobile"
#: plinth/templates/clients.html:82
msgid "Android APK"
msgstr ""
msgstr "Android APK"
#: plinth/templates/clients.html:91
msgid "Play Store"
@ -11040,15 +11117,15 @@ msgstr ""
"Tutti i dati e le configurazioni dell'app verranno rimossi definitivamente. "
"L'app potrà essere reinstallata da zero."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "Qui"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Impostazioni invariate"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "Prima della disinstallazione di {app_id}"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2025-10-24 16:02+0000\n"
"Last-Translator: Jun Nogata <nogajun@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/freedombox/"
@ -30,7 +30,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "サービス {service_name} は動作中です"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -321,6 +321,7 @@ msgstr "リポジトリ"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "名前"
@ -1955,6 +1956,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3038,8 +3040,8 @@ msgstr "フィードバックを送る"
msgid "Contribute"
msgstr "協力する"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "詳細"
@ -3177,6 +3179,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3583,7 +3586,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5297,12 +5300,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6169,8 +6178,8 @@ msgstr "再起動"
msgid "Shutdown"
msgstr "シャットダウン"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "再起動"
@ -8541,7 +8550,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "ユーザーを作成"
@ -8583,7 +8592,7 @@ msgid "Skip this step"
msgstr "この手順をスキップ"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "ユーザー"
@ -8592,77 +8601,177 @@ msgstr "ユーザー"
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Local Network Domain"
msgid "For Domain"
msgstr "ローカルネットワーク ドメイン"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Create User"
msgid "Last Used"
msgstr "ユーザーを作成"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
msgid "Delete passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "キャンセル"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "変更を保存"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "キャンセル"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "ユーザーを編集"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "パスワードを変更"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "ユーザーを編集"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9364,22 +9473,28 @@ msgid " System"
msgstr " システム"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Change password"
msgid "Manage passkeys"
msgstr "パスワードを変更"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "パスワードを変更"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "シャットダウン"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "ログアウト"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9612,15 +9727,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2020-07-16 16:41+0000\n"
"Last-Translator: Yogesh <yogesh@karnatakaeducation.org.in>\n"
"Language-Team: Kannada <https://hosted.weblate.org/projects/freedombox/"
@ -29,7 +29,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr ""
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "ಫ್ರೀಡಂಬಾಕ್ಸ್"
@ -320,6 +320,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr ""
@ -1952,6 +1953,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3035,8 +3037,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "ಬಗ್ಗೆ"
@ -3174,6 +3176,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3578,7 +3581,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5292,12 +5295,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6164,8 +6173,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8538,7 +8547,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8580,7 +8589,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8589,77 +8598,171 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
msgid "For Domain"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
msgid "Delete passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9361,22 +9464,26 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Manage passkeys"
msgstr ""
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9609,15 +9716,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Lithuanian <https://hosted.weblate.org/projects/freedombox/"
@ -31,7 +31,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr ""
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -322,6 +322,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr ""
@ -1958,6 +1959,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3047,8 +3049,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Apie"
@ -3186,6 +3188,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3590,7 +3593,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5312,12 +5315,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6184,8 +6193,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8562,7 +8571,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8604,7 +8613,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8613,77 +8622,171 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
msgid "For Domain"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
msgid "Delete passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9385,22 +9488,26 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Manage passkeys"
msgstr ""
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9633,15 +9740,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Latvian <https://hosted.weblate.org/projects/freedombox/"
@ -30,7 +30,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr ""
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -321,6 +321,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr ""
@ -1957,6 +1958,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3046,8 +3048,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr ""
@ -3185,6 +3187,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3589,7 +3592,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5311,12 +5314,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6183,8 +6192,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8561,7 +8570,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8603,7 +8612,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8612,77 +8621,171 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
msgid "For Domain"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
msgid "Delete passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9384,22 +9487,26 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Manage passkeys"
msgstr ""
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9632,15 +9739,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2024-10-27 23:30+0000\n"
"Last-Translator: Sunil Mohan Adapa <sunil@medhas.org>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
@ -38,7 +38,7 @@ msgstr "Statisk oppsett {etc_path} er korrekt satt opp"
msgid "Container {container_name} is running"
msgstr "Tjenesten {service_name} kjører"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -355,6 +355,7 @@ msgstr "Kodelager"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Navn"
@ -2256,6 +2257,7 @@ msgstr "IP-adresse"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Handlinger"
@ -3511,8 +3513,8 @@ msgstr "Send inn tilbakemeldinger"
msgid "Contribute"
msgstr "Bidra"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Om"
@ -3686,6 +3688,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Lær mer…"
@ -4140,7 +4143,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "JavaScript lisensinformasjon"
@ -6159,6 +6162,9 @@ msgstr "Endre oppkobling"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
#, fuzzy
#| msgid "error"
@ -6166,7 +6172,10 @@ msgid "Error:"
msgstr "feil"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Lukk"
@ -7213,8 +7222,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Slå av"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Omstart"
@ -10023,7 +10032,7 @@ msgstr "Lagre passord"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Opprett bruker"
@ -10068,7 +10077,7 @@ msgid "Skip this step"
msgstr "Hopp over dette steget"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Brukere"
@ -10077,16 +10086,114 @@ msgstr "Brukere"
msgid "Edit user %(username)s"
msgstr "Endre bruker %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This module does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Denne modulen støtter ikke diagnostikk"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Login"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Oppdater oppsett"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Legg til passord"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domene"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Create Connection"
msgid "Last Used"
msgstr "Lage forbindelse"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete User"
msgid "Delete passkey"
msgstr "Slett bruker"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Kanseller"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Rediger bruker <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -10095,67 +10202,79 @@ msgstr ""
"Bruk <a href=\"%(change_password_url)s\">passordsendringsskjemaet</a> for å "
"endre passordet."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Lagre endringer"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, fuzzy, python-format
#| msgid "Delete user <strong>%(username)s</strong> permanently?"
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Slett bruker <strong>%(username)s</strong> for godt?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Slett filer"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Kanseller"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
#, fuzzy
#| msgid "Password changed successfully."
msgid "Logged out successfully."
msgstr "Vellykket passordbytte."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Bruker %(username)s opprettet."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Oppdaterte bruker %(username)s."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Rediger bruker"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "User %(username)s created."
msgid "User %(username)s deleted."
msgstr "Bruker %(username)s opprettet."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Endre passord"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Vellykket passordbytte."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "En deling ved dette navnet finnes allerede."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Rediger bruker"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard er en rask, moderne og sikker VPN-tunnel."
@ -10992,22 +11111,28 @@ msgid " System"
msgstr " System"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Libraries"
msgid "Manage passkeys"
msgstr "Håndter biblioteker"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Endre passord"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Slå av"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Logg ut"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Velg språk"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Logg inn"
@ -11274,15 +11399,15 @@ msgstr ""
"All programdata og oppsett blir permanent borte. Programmet kan installeres "
"på nytt igjen."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Oppsett uendret"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "før avinstallering av {app_id}"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2025-09-17 09:01+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/freedombox/"
@ -31,7 +31,7 @@ msgstr "Statische configuratie {etc_path} is correct ingesteld"
msgid "Container {container_name} is running"
msgstr "Container {container_name} wordt uitgevoerd"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -349,6 +349,7 @@ msgstr "Repository"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Naam"
@ -2153,6 +2154,7 @@ msgstr "IP Adres"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Acties"
@ -3350,8 +3352,8 @@ msgstr "Feedback indienen"
msgid "Contribute"
msgstr "Bijdragen"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Over ons"
@ -3531,6 +3533,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Lees meer..."
@ -3984,7 +3987,7 @@ msgstr "Web Conferentie"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "JavaScript licentie-informatie"
@ -5977,12 +5980,18 @@ msgstr "Wijzig verbinding"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Foutmelding:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Sluiten"
@ -6959,8 +6968,8 @@ msgstr "Herstart"
msgid "Shutdown"
msgstr "Uitschakelen"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Herstarten"
@ -9696,7 +9705,7 @@ msgstr "Wachtwoord Opslaan"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Nieuwe gebruiker registreren"
@ -9747,7 +9756,7 @@ msgid "Skip this step"
msgstr "Deze stap overslaan"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Gebruikers"
@ -9756,16 +9765,114 @@ msgstr "Gebruikers"
msgid "Edit user %(username)s"
msgstr "Gebruiker %(username)s wijzigen"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Deze toepassing heeft geen diagnosetests"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Aanmelding"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Instelling bijwerken"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Wachtwoord toevoegen"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domein"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Laatst gescand: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Gebruiker verwijderen"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Annuleer"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Gebruiker <em>%(username)s</em> wijzigen"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9774,61 +9881,73 @@ msgstr ""
"Gebruik het <a href='%(change_password_url)s'>wachtwoord wijzigingsformulier "
"</a> om het wachtwoord te veranderen."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Wijzigingen opslaan"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Gebruiker <em>%(username)s</em> en al diens bestanden verwijderen?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Gebruikers en bestanden verwijderen"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Annuleer"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Succesvol uitgelogd."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Gebruiker %(username)s aangemaakt."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Gebruiker %(username)s bijgewerkt."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Gebruiker wijzigen"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "Gebruiker %(username)s verwijderd."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Wijzig wachtwoord"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Wachtwoord succesvol gewijzigd."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Er bestaat al een gedeelde map met deze naam."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Gebruiker wijzigen"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard is een snelle, moderne en veilige VPN-tunnel."
@ -10649,22 +10768,28 @@ msgid " System"
msgstr " Systeem"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Aliassen beheren"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Wijzig wachtwoord"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Uitschakelen"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Afmelden"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Selecteer taal"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Aanmelden"
@ -10923,15 +11048,15 @@ msgstr ""
"Alle toepassings-gegevens en configuratie gaan permanent verloren. de "
"toepassing kan opnieuw vers worden geïnstalleerd."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "Hier"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Instelling onveranderd"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "voor het verwijderen van {app_id}"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2024-07-13 12:09+0000\n"
"Last-Translator: Monika <adamdomenek@protonmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/freedombox/"
@ -31,7 +31,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "Usługa {service_name} jest uruchomiona"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -339,6 +339,7 @@ msgstr "Repozytorium"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Nazwa"
@ -2241,6 +2242,7 @@ msgstr "Adresy IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Akcje"
@ -3482,8 +3484,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "O FreedomBox"
@ -3634,6 +3636,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Dowiedz się więcej..."
@ -4050,7 +4053,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Informacje o licencji JavaScript"
@ -5906,6 +5909,9 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
#, fuzzy
#| msgid "error"
@ -5913,7 +5919,10 @@ msgid "Error:"
msgstr "błąd"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6820,8 +6829,8 @@ msgstr ""
msgid "Shutdown"
msgstr "Wyłącz"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Uruchom ponownie"
@ -9381,7 +9390,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -9428,7 +9437,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -9437,83 +9446,191 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This module does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Ten moduł nie obsługuje diagnostyki"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Aktualizuj ustawienia"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Dodaj hasło"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domena"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Used"
msgid "Last Used"
msgstr "W użyciu"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete"
msgid "Delete passkey"
msgstr "Usuń"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Anuluj"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Edytuj Użytkownika <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, fuzzy, python-format
#| msgid "Edit User <em>%(username)s</em>"
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Edytuj Użytkownika <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Usuń pliki"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Anuluj"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
#, fuzzy
#| msgid "Partition expanded successfully."
msgid "Logged out successfully."
msgstr "Partycja rozszerzona."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "{name} deleted."
msgid "User %(username)s deleted."
msgstr "Usunięto {name}."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Passkey with that identifier already exists."
msgstr "Zdalne repozytorium już istnieje."
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -10327,24 +10444,30 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Create Repository"
msgid "Manage passkeys"
msgstr "Utwórz repozytorium"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Zmień hasło"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Wyłącz"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Wyloguj się"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
#, fuzzy
#| msgid "Language"
msgid "Select language"
msgstr "Język"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Zaloguj się"
@ -10603,15 +10726,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Ustawienie bez zmian"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2025-04-09 22:41+0000\n"
"Last-Translator: tuliogit <wikigeolog@gmx.com>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/freedombox/"
@ -30,7 +30,7 @@ msgstr "Configuração estática {etc_path} está estabelecida propriamente"
msgid "Container {container_name} is running"
msgstr "O serviço {service_name} está em execução"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "Freedombox"
@ -353,6 +353,7 @@ msgstr "Repositório"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Nome"
@ -2183,6 +2184,7 @@ msgstr "Endereço IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Ações"
@ -3406,8 +3408,8 @@ msgstr "Enviar feedback"
msgid "Contribute"
msgstr "Contribuir"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Sobre"
@ -3583,6 +3585,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Saber mais..."
@ -4048,7 +4051,7 @@ msgstr "Conferência web"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Informações sobre a licença JavaScript"
@ -6052,12 +6055,18 @@ msgstr "Editar ligação"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Erro:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Fechar"
@ -7041,8 +7050,8 @@ msgstr "Reinício"
msgid "Shutdown"
msgstr "Desligar"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Reiniciar"
@ -9874,7 +9883,7 @@ msgstr "Salvar senha"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Criar utilizador"
@ -9930,7 +9939,7 @@ msgid "Skip this step"
msgstr "Pular esta etapa"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Usuários"
@ -9939,16 +9948,114 @@ msgstr "Usuários"
msgid "Edit user %(username)s"
msgstr "Editar utilizador %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Este aplicativo não oferece suporte a diagnósticos"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Iniciar sessão"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Atualizar configuração"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Adicionar senha"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domínio"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Última digitalização: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Excluir usuário"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Cancelar"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Editar utilizador <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9957,19 +10064,19 @@ msgstr ""
"Use o <a href=\"%(change_password_url)s\">formulário de alteração de senha</"
"a> para alterar a senha."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Salvar alterações"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
"Excluir o usuário &lt;em&gt;%(username)s&lt;/em&gt; e todos os arquivos do "
"usuário?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -9978,45 +10085,57 @@ msgstr ""
"inicial do usuário. Se desejar manter esses arquivos, desative a conta de "
"usuário."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Excluir usuário e arquivos"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Cancelar"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Sessão terminada com sucesso."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Usuário %(username)s criado."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Usuário %(username)s atualizado."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Editar usuário"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "Usuário %(username)s excluído."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Alterar a senha"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Senha alterada com sucesso."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Já existe um compartilhamento com esse nome."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Editar usuário"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "O WireGuard é um túnel VPN rápido, moderno e seguro."
@ -10829,22 +10948,28 @@ msgid " System"
msgstr " Sistema"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Gerenciar aliases"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Alterar palavra-passe"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Desligar"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Terminar sessão"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Selecionar idioma"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Iniciar sessão"
@ -11103,15 +11228,15 @@ msgstr ""
"Todos os dados e configurações do aplicativo serão perdidos permanentemente. "
"O aplicativo poderá ser instalado novamente."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "Aqui"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Definição inalterada"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "antes da desinstalação do {app_id}"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-03-15 18:09+0000\n"
"Last-Translator: OwlGale <owlgale@users.noreply.hosted.weblate.org>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/freedombox/"
@ -30,7 +30,7 @@ msgstr "Статическая конфигурация {etc_path} правил
msgid "Container {container_name} is running"
msgstr "Контейнер {container_name} запущен"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -351,6 +351,7 @@ msgstr "Репозиторий"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Имя"
@ -2144,6 +2145,7 @@ msgstr "IP-адреса"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Действия"
@ -3360,8 +3362,8 @@ msgstr "Отправить отзыв"
msgid "Contribute"
msgstr "Помочь проекту"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "О проекте"
@ -3536,6 +3538,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Подробнее..."
@ -4015,7 +4018,7 @@ msgstr "Веб-конференция"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Информация о лицензии JavaScript"
@ -6013,12 +6016,18 @@ msgstr "Редактирование подключения"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Ошибка:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Закрыть"
@ -7001,8 +7010,8 @@ msgstr "Перезагрузка"
msgid "Shutdown"
msgstr "Выключить"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Перезапустить"
@ -9811,7 +9820,7 @@ msgstr "Сохранить пароль"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Создать пользователя"
@ -9862,7 +9871,7 @@ msgid "Skip this step"
msgstr "Пропустить этот шаг"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Пользователи"
@ -9871,16 +9880,114 @@ msgstr "Пользователи"
msgid "Edit user %(username)s"
msgstr "Редактирование пользователя %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Это приложение не поддерживает диагностику"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Войти"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Обновить настройки"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Добавить пароль"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Домен"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Последнее сканирование: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Удалить пользователя"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Отмена"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Редактировать пользователя <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9889,17 +9996,17 @@ msgstr ""
"Для смены пароля используйте форму <a "
"href=\"%(change_password_url)s\">Изменить пароль</a>."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Сохранить изменения"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Удалить пользователя <em>%(username)s</em> и все его файлы?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -9908,45 +10015,57 @@ msgstr ""
"домашнего каталога. Если вы хотите сохранить эти файлы, отключите учетную "
"запись пользователя."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Удаление пользователя и файлов"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Отмена"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Выход выполнен успешно."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Пользователь %(username)s создан."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Пользователь %(username)s обновлен."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Редактирование пользователя"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "Пользователь %(username)s удален."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Изменить пароль"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Пароль успешно изменён."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Общий ресурс с таким именем уже существует."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Редактирование пользователя"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard - это быстрый, современный и безопасный VPN-туннель."
@ -10751,22 +10870,28 @@ msgid " System"
msgstr " Система"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Управление псевдонимами"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Изменить пароль"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Завершить работу"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Выход"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Выбрать язык"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Войти"
@ -11020,15 +11145,15 @@ msgstr ""
"Все данные и настройки приложения будут безвозвратно утеряны. Приложение "
"можно установить заново."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "Здесь"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Настройки без изменений"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "перед удалением {app_id}"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2021-04-27 13:32+0000\n"
"Last-Translator: HelaBasa <R45XvezA@protonmail.ch>\n"
"Language-Team: Sinhala <https://hosted.weblate.org/projects/freedombox/"
@ -29,7 +29,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr ""
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "ෆ්‍රීඩම්බොක්ස්"
@ -320,6 +320,7 @@ msgstr ""
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr ""
@ -1952,6 +1953,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3035,8 +3037,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "පිළිබඳව"
@ -3174,6 +3176,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3578,7 +3581,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5292,12 +5295,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6164,8 +6173,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8536,7 +8545,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8578,7 +8587,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8587,77 +8596,171 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
msgid "For Domain"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
msgid "Delete passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr ""
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9359,22 +9462,26 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Manage passkeys"
msgstr ""
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9607,15 +9714,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2022-09-14 17:19+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Slovenian <https://hosted.weblate.org/projects/freedombox/"
@ -30,7 +30,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr ""
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -342,6 +342,7 @@ msgstr "Ustvari novo skladišče"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Ime"
@ -2136,6 +2137,7 @@ msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3293,8 +3295,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr ""
@ -3432,6 +3434,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3839,7 +3842,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5621,12 +5624,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6517,8 +6526,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8976,7 +8985,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -9018,7 +9027,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -9027,80 +9036,180 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain Name"
msgid "For Domain"
msgstr "Ime domene"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete Archive"
msgid "Delete passkey"
msgstr "Izbriši arhiv"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Prekliči"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete Archive"
msgid "Delete user and files"
msgstr "Izbriši arhiv"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Prekliči"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "Archive deleted."
msgid "User %(username)s deleted."
msgstr "Arhiv je izbrisan."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "Create remote backup repository"
msgid "Passkey with that identifier already exists."
msgstr "Ustvari oddaljeno skladišče za rezervne kopije"
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9853,22 +9962,28 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Create new repository"
msgid "Manage passkeys"
msgstr "Ustvari novo skladišče"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -10108,15 +10223,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-03-26 09:09+0000\n"
"Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n"
"Language-Team: Albanian <https://hosted.weblate.org/projects/freedombox/"
@ -29,7 +29,7 @@ msgstr "Formësimi statik {etc_path} është ujdisur si duhet"
msgid "Container {container_name} is running"
msgstr "Kontejneri {container_name} po xhiron"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -347,6 +347,7 @@ msgstr "Depo"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Emër"
@ -2138,6 +2139,7 @@ msgstr "Adresë IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Veprime"
@ -3354,8 +3356,8 @@ msgstr "Parashtroni Përshtypjet"
msgid "Contribute"
msgstr "Jepni Ndihmesë"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Mbi"
@ -3533,6 +3535,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Mësoni më tepër…"
@ -4020,7 +4023,7 @@ msgstr "Konferencë Web"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Hollësi licence JavaScript"
@ -6027,12 +6030,18 @@ msgstr "Përpunoni Lidhje"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Gabim:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Mbylle"
@ -7011,8 +7020,8 @@ msgstr "Rinisu"
msgid "Shutdown"
msgstr "Fike"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Rinise"
@ -9827,7 +9836,7 @@ msgstr "Ruaje Fjalëkalimin"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Krijoni Përdorues"
@ -9879,7 +9888,7 @@ msgid "Skip this step"
msgstr "Anashkalojeni këtë hap"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Përdorues"
@ -9888,16 +9897,114 @@ msgstr "Përdorues"
msgid "Edit user %(username)s"
msgstr "Përpunoni përdoruesin %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Ky aplikacion smbulon diagnostikime"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Hyrje"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Përditësoni ujdisjen"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Shtoni fjalëkalim"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Përkatësi"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Skanuar së fundi më: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Fshi përdorues"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Anuloje"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Përpunoni Përdoruesin <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9907,17 +10014,17 @@ msgstr ""
"href=\"%(change_password_url)s\">formularin e ndryshimit të fjalëkalimeve</"
"a>."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Ruaji Ndryshimet"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Të fshihet përdoruesi %(username)s dhe krejt kartelat e përdoruesit?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -9926,45 +10033,57 @@ msgstr ""
"të përdoruesit. Nëse dëshironi ti mbani këto kartela, më mirë çaktivizoni "
"llogarinë e përdoruesit."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Fshini përdorues dhe kartela"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Anuloje"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "U dol me sukses."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Përdoruesi %(username)s u krijua."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Përdoruesi %(username)s u përditësua."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Përpunoni Përdorues"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "Përdoruesi %(username)s u fshi."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Ndryshoni Fjalëkalimin"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Fjalëkalimi u ndryshua me sukses."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Ka tashmë një pjesë me këtë emër."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Përpunoni Përdorues"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard-i është një tunel VPN i shpejtë, modern, i sigurt."
@ -10754,22 +10873,28 @@ msgid " System"
msgstr " Sistem"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Administroni Aliase"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Ndryshoni fjalëkalimin"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Fike"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Dil"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Përzgjidhni gjuhën"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Hyni"
@ -11022,15 +11147,15 @@ msgstr ""
"Krejt të dhënat dhe formësimi i aplikacionit do të humbin përgjithnjë. "
"Aplikacioni mund të instalohet sërish nga e para."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "Këtu"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Rregullim i pandryshuar"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "para çinstalimit të {app_id}"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2022-09-14 17:20+0000\n"
"Last-Translator: ikmaak <info@ikmaak.nl>\n"
"Language-Team: Serbian <https://hosted.weblate.org/projects/freedombox/"
@ -31,7 +31,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "Servis {service_name} je pokrenut"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "KutijaSlobode"
@ -342,6 +342,7 @@ msgstr "Kreirajte repozitorij"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Ime"
@ -2089,6 +2090,7 @@ msgstr "IP adrese"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3207,8 +3209,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr ""
@ -3348,6 +3350,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3756,7 +3759,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5526,12 +5529,18 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6416,8 +6425,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8847,7 +8856,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8889,7 +8898,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8898,79 +8907,177 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
msgid "Browser does not support passkeys."
msgstr ""
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
msgid "Add passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain Names"
msgid "For Domain"
msgstr "Domeni"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete Archive"
msgid "Delete passkey"
msgstr "Izbriši arhivu"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete Archive"
msgid "Delete user and files"
msgstr "Izbriši arhivu"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr ""
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
msgid "Passkey with that identifier already exists."
msgstr ""
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9684,22 +9791,26 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
msgid "Manage passkeys"
msgstr ""
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -9938,15 +10049,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-03-11 22:09+0000\n"
"Last-Translator: Daniel Wiik <d.wiik@outlook.com>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/freedombox/"
@ -29,7 +29,7 @@ msgstr "Statisk konfiguration {etc_path} är inställd korrekt"
msgid "Container {container_name} is running"
msgstr "Tjänsten {container_name} körs"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -345,6 +345,7 @@ msgstr "Databasen"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Namn"
@ -2125,6 +2126,7 @@ msgstr "IP Adress"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Åtgärder"
@ -3330,8 +3332,8 @@ msgstr "Skicka feedback"
msgid "Contribute"
msgstr "Bidrar"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Om"
@ -3507,6 +3509,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Läs mer..."
@ -3984,7 +3987,7 @@ msgstr "Webbkonferens"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "JavaScript-licensinformation"
@ -5973,12 +5976,18 @@ msgstr "Redigera Anslutning"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Fel:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Stäng"
@ -6954,8 +6963,8 @@ msgstr "Omstart"
msgid "Shutdown"
msgstr "Avstängning"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Starta om"
@ -9738,7 +9747,7 @@ msgstr "Spara lösenord"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Skapa användare"
@ -9788,7 +9797,7 @@ msgid "Skip this step"
msgstr "Hoppa över det här steget"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Användare"
@ -9797,16 +9806,114 @@ msgstr "Användare"
msgid "Edit user %(username)s"
msgstr "Redigera användare %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Den här appen stöder inte diagnostik"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Logga in"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Uppdatera inställningar"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Lägg till lösenord"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domän"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Senast skannad: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Radera användare"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Avbryt"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Redigera användare <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9815,17 +9922,17 @@ msgstr ""
"Använd <a href=\"%(change_password_url)s\">ändra lösenord </a> för att ändra "
"lösenordet."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Spara ändringar"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Ta bort användaren <em>%(username)s</em> och alla användarens filer?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -9834,45 +9941,57 @@ msgstr ""
"hemkatalog. Om du vill behålla dessa filer, inaktivera användarkontot "
"istället."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Ta bort användare och filer"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Avbryt"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Du har loggat ut framgångsrikt."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Användaren %(username)s skapades."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Användaren %(username)s har uppdaterats."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Redigera användar"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "Användare %(username)s raderades."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Ändra lösenord"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Lösenordet har ändrats."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Det finns redan en share med det här namnet."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Redigera användar"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard är en snabb, modern, säker VPN-tunnel."
@ -10658,22 +10777,28 @@ msgid " System"
msgstr " System"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Hantera alias"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Ändra lösenord"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Stänga ner"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Logga ut"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Välj språk"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Logga in"
@ -10928,15 +11053,15 @@ msgstr ""
"All appdata och konfiguration kommer att gå förlorad permanent. Appen kan "
"installeras på nytt igen."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "Här"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Instänllningar oförändrade"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "innan du avinstallerar {app_id}"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-03-02 19:53+0000\n"
"Last-Translator: James Valleroy <jvalleroy@mailbox.org>\n"
"Language-Team: Tamil <https://hosted.weblate.org/projects/freedombox/"
@ -29,7 +29,7 @@ msgstr "நிலையான உள்ளமைவு {etc_path} சரிய
msgid "Container {container_name} is running"
msgstr "கொள்கலன் {container_name} இயங்குகிறது"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "கட்டற்றபெட்டி"
@ -346,6 +346,7 @@ msgstr "களஞ்சியம்"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "பெயர்"
@ -2128,6 +2129,7 @@ msgstr "ஐபி முகவரி"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "செயல்கள்"
@ -3331,8 +3333,8 @@ msgstr "கருத்துக்களை சமர்ப்பிக்க
msgid "Contribute"
msgstr "பங்களிப்பு"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "பற்றி"
@ -3505,6 +3507,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "மேலும் அறிக ..."
@ -3977,7 +3980,7 @@ msgstr "வலை மாநாடு"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "சாவாச்கிரிப்ட் உரிம செய்தி"
@ -5943,12 +5946,18 @@ msgstr "இணைப்பைத் திருத்து"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "பிழை:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "மூடு"
@ -6921,8 +6930,8 @@ msgstr "மறுதொடக்கம் செய்யுங்கள்"
msgid "Shutdown"
msgstr "பணிநிறுத்தம்"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "மறுதொடக்கம்"
@ -9684,7 +9693,7 @@ msgstr "கடவுச்சொல்லைச் சேமிக்கவு
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "பயனரை உருவாக்கு"
@ -9734,7 +9743,7 @@ msgid "Skip this step"
msgstr "இந்த படியைத் தவிர்க்கவும்"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "பயனர்கள்"
@ -9743,16 +9752,114 @@ msgstr "பயனர்கள்"
msgid "Edit user %(username)s"
msgstr "பயனர் %(username)s திருத்து"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "இந்த பயன்பாடு கண்டறிதலை ஆதரிக்கவில்லை"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "புகுபதிவு"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "புதுப்பிப்பு அமைவு"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "கடவுச்சொல்லைச் சேர்க்கவும்"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "டொமைன்"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "கடைசியாக ச்கேன்: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "பயனரை நீக்கு"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "ரத்துசெய்"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "பயனர் <em>%(username)s </em> ஐத் திருத்தவும்"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9761,17 +9868,17 @@ msgstr ""
"கடவுச்சொல்லை மாற்ற <a href=\"%(change_password_url)s\"> கடவுச்சொல் படிவத்தை "
"மாற்றவும் </a> ஐப் பயன்படுத்தவும்."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "மாற்றங்களைச் சேமிக்கவும்"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "பயனர் <em>%(username)s </em> மற்றும் பயனரின் அனைத்து கோப்புகளையும் நீக்கு?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -9779,45 +9886,57 @@ msgstr ""
"ஒரு பயனர் கணக்கை நீக்குவது பயனரின் வீட்டு அடைவு அனைத்து கோப்புகளையும் நீக்குகிறது. இந்த "
"கோப்புகளை வைத்திருக்க விரும்பினால், அதற்கு பதிலாக பயனர் கணக்கை முடக்கவும்."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "பயனர் மற்றும் கோப்புகளை நீக்கவும்"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "ரத்துசெய்"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "வெற்றிகரமாக உள்நுழைந்தது."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "பயனர் %(username)s உருவாக்கப்பட்டது."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "பயனர் %(username)s புதுப்பிக்கப்பட்டன."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "பயனரைத் திருத்து"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "பயனர் %(username)s நீக்கப்பட்டன."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "கடவுச்சொல்லை மாற்றவும்"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "கடவுச்சொல் வெற்றிகரமாக மாற்றப்பட்டது."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "இந்த பெயருடன் ஒரு பங்கு ஏற்கனவே உள்ளது."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "பயனரைத் திருத்து"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "வயர்கார்ட் ஒரு வேகமான, நவீன, பாதுகாப்பான விபிஎன் சுரங்கப்பாதை."
@ -10607,22 +10726,28 @@ msgid " System"
msgstr " அமைப்பு"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "மாற்றுப்பெயர்களை நிர்வகிக்கவும்"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "கடவுச்சொல்லை மாற்றவும்"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "மூடு"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "விடுபதிகை"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "மொழியைத் தேர்ந்தெடுக்கவும்"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "புகுபதிகை"
@ -10872,15 +10997,15 @@ msgstr ""
"அனைத்து பயன்பாட்டு தரவு மற்றும் உள்ளமைவும் நிரந்தரமாக இழக்கப்படும். பயன்பாடு மீண்டும் "
"புதிதாக நிறுவப்படலாம்."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "இங்கே"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "மாறாமல் அமைத்தல்"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "{app_id} ஐ நிறுவல் நீக்குவதற்கு முன்"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2025-05-14 17:03+0000\n"
"Last-Translator: Sripath Roy Koganti <sripathroy@swecha.net>\n"
"Language-Team: Telugu <https://hosted.weblate.org/projects/freedombox/"
@ -32,7 +32,7 @@ msgstr "స్టాటిక్ కాన్ఫిగరేషన్ {etc_path}
msgid "Container {container_name} is running"
msgstr "{service_name} సేవ అమలులో ఉంది"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "ఫ్రీడమ్‌బాక్స్"
@ -346,6 +346,7 @@ msgstr "రిపోజిటరీ"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "పేరు"
@ -2129,6 +2130,7 @@ msgstr "IP చిరునామా"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "చర్యలు"
@ -3307,8 +3309,8 @@ msgstr "అభిప్రాయాన్ని సమర్పించండ
msgid "Contribute"
msgstr "దోహదం చేయండి"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "గురించి"
@ -3475,6 +3477,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "మరింత తెలుసుకోండి.."
@ -3930,7 +3933,7 @@ msgstr "వెబ్ కాన్ఫరెన్స్"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "జావాస్క్రిప్ట్ లైసెన్స్ సమాచరం"
@ -5843,12 +5846,18 @@ msgstr "అనుసంధానాన్ని సవరించండి"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "లోపం:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "దగ్గరగా"
@ -6799,8 +6808,8 @@ msgstr "రీబూట్ చేయండి"
msgid "Shutdown"
msgstr "షట్డౌన్"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "పునఃప్రారంభించండి"
@ -9499,7 +9508,7 @@ msgstr "పాస్‌వర్డ్‌ను సేవ్ చేయి"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "వినియోగదారుని సృష్టించు"
@ -9553,7 +9562,7 @@ msgid "Skip this step"
msgstr "ఈ దశను దాటవేయి"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "వినియోగదారులు"
@ -9562,16 +9571,114 @@ msgstr "వినియోగదారులు"
msgid "Edit user %(username)s"
msgstr "%(username)s వినియోగదారుని మార్చు"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "ఈ యాప్ డయాగ్నస్టిక్స్‌కు మద్దతు ఇవ్వదు"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "ప్రవేశించు"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "అమరికను నవీకరించు"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "రహస్యపదం జోడించండి"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "డొమైన్"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "చివరిగా స్కాన్ చేయబడినది "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "వినియోగదారుని తొలగించు"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "రద్దుచేయి"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "వినియోగదారు%(username)sని సవరించండి"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9580,17 +9687,17 @@ msgstr ""
"పాస్వర్డ్ను మార్చడానికి <a href=\"%(change_password_url)s\">పాస్వర్డ్ మాచ్రు ఫారం</a>ని "
"ఉపయోగించండి."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "మార్పులను భద్రపరుచు"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "%(username)s వినియోగదారుని శాశ్వతంగా తొలగించు?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -9598,45 +9705,57 @@ msgstr ""
"వినియోగదారు ఖాతాను తొలగించడం వలన వినియోగదారు హోమ్ డైరెక్టరీలోని అన్ని ఫైల్‌లు కూడా తొలగించబడతాయి. మీరు ఈ "
"ఫైల్‌లను ఉంచాలనుకుంటే, బదులుగా వినియోగదారు ఖాతాను నిలిపివేయండి."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "వినియోగదారు మరియు ఫైల్‌లను తొలగించండి"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "రద్దుచేయి"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "విజయవంతంగా లాగ్ అవుట్ చేయబడింది."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "వినియోగదారి %(username)s సృష్టించబడ్డారు."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "వినియోగదారి %(username)s నావీకరించబడ్డాడు."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "వినియోగదారి మార్పు"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "వినియోగదారు %(username)s తొలగించబడ్డారు."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "పాస్‌వర్డ్ మార్చు"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "పాస్‌వర్డ్ విజయవంతంగా మార్చబడినది."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "ఈ పేరుతో ఒక వాటా ఇప్పటికే ఉంది."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "వినియోగదారి మార్పు"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "వైర్‌గార్డ్ వేగవంతమైన, ఆధునిక, సురక్షితమైన వపన్ సొరంగం."
@ -10427,22 +10546,28 @@ msgid " System"
msgstr " కార్యవ్యవస్థ"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "మారుపేర్లను నిర్వహించండి"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "పాస్స్ వర్ద మార్చుము"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "మూసివేయి"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "నిష్క్రమించు"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "బాషను ఎంచుకోండి"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "లోనికి ప్రవేశించండి"
@ -10696,15 +10821,15 @@ msgid ""
"installed freshly again."
msgstr "మొత్తం యాప్ డేటా మరియు కాన్ఫిగరేషన్ శాశ్వతంగా పోతాయి. యాప్ను మళ్లీ తాజాగా ఇన్‌స్టాల్ చేయవచ్చు."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "ఇక్కడ"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "మారకుండా అమర్చుతోంది"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "{app_id} ని అన్ఇన్‌స్టాల్ చేయడానికి ముందు"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-03-25 07:09+0000\n"
"Last-Translator: Burak Yavuz <hitowerdigit@hotmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/freedombox/"
@ -28,7 +28,7 @@ msgstr "Sabit yapılandırma {etc_path} düzgün bir şekilde ayarlanmış"
msgid "Container {container_name} is running"
msgstr "{container_name} kapsayıcısı çalışıyor"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -343,6 +343,7 @@ msgstr "Depo"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Ad"
@ -2120,6 +2121,7 @@ msgstr "IP Adresi"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Eylemler"
@ -3336,8 +3338,8 @@ msgstr "Geri Bildirim Gönder"
msgid "Contribute"
msgstr "Katkıda Bulun"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Hakkında"
@ -3511,6 +3513,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Daha fazla bilgi edinin..."
@ -3990,7 +3993,7 @@ msgstr "Web görüşme"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "JavaScript lisans bilgileri"
@ -5991,12 +5994,18 @@ msgstr "Bağlantıyı Düzenle"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Hata:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Kapat"
@ -6968,8 +6977,8 @@ msgstr "Baştan başlat"
msgid "Shutdown"
msgstr "Kapat"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Yeniden başlat"
@ -9765,7 +9774,7 @@ msgstr "Parolayı Kaydet"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Kullanıcı Oluştur"
@ -9815,7 +9824,7 @@ msgid "Skip this step"
msgstr "Bu adımı atla"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Kullanıcılar"
@ -9824,16 +9833,114 @@ msgstr "Kullanıcılar"
msgid "Edit user %(username)s"
msgstr "%(username)s kullanıcısını düzenle"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Bu uygulama tanılamayı desteklemiyor"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Oturum aç"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Ayarlamayı güncelle"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Parola ekle"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Etki alanı"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Son taranan: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Kullanıcıyı sil"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "İptal"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "<em>%(username)s</em> Kullanıcısını Düzenleyin"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9842,18 +9949,18 @@ msgstr ""
"Parolayı değiştirmek için <a href='%(change_password_url)s'>parola "
"değiştirme formunu</a> kullanın."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Değişiklikleri Kaydet"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
"<em>%(username)s</em> kullanıcısı ve kullanıcının tüm dosyaları silinsin mi?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -9862,45 +9969,57 @@ msgstr ""
"tüm dosyaları da kaldırır. Eğer bu dosyaları saklamak istiyorsanız, bunun "
"yerine kullanıcı hesabını etkisizleştirin."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Kullanıcı ve dosyaları sil"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "İptal"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Başarılı olarak oturumu kapatıldı."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "%(username)s kullanıcısı oluşturuldu."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "%(username)s kullanıcısı güncellendi."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Kullanıcıyı Düzenle"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "%(username)s kullanıcısı silindi."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Parolayı Değiştir"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Parola başarılı olarak değiştirildi."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Bu ada sahip bir paylaşım zaten var."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Kullanıcıyı Düzenle"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard hızlı, modern ve güvenli bir VPN tünelidir."
@ -10683,22 +10802,28 @@ msgid " System"
msgstr " Sistem"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Kod Adlarını Yönet"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Parolayı değiştir"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Kapat"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Oturumu kapat"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Dil seçin"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Oturum aç"
@ -10952,15 +11077,15 @@ msgstr ""
"Tüm uygulama verileri ve yapılandırması kalıcı olarak kaybolacaktır. "
"Uygulama tekrar yeni olarak yüklenebilir."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "Burada"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Ayar değişmedi"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "{app_id} kaldırılmadan önce"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2025-12-17 07:00+0000\n"
"Last-Translator: Максим Горпиніч <gorpinicmaksim0@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/freedombox/"
@ -30,7 +30,7 @@ msgstr "Статична конфігурація {etc_path} налаштова
msgid "Container {container_name} is running"
msgstr "Контейнер {container_name} працює"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -349,6 +349,7 @@ msgstr "Репозиторій"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Назва"
@ -2146,6 +2147,7 @@ msgstr "IP-адреса"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "Дії"
@ -3362,8 +3364,8 @@ msgstr "Надіслати відгук"
msgid "Contribute"
msgstr "Співпрацювати"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "Про FreedomBox"
@ -3537,6 +3539,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "Дізнатися більше..."
@ -4018,7 +4021,7 @@ msgstr "Веб-конференція"
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr "Інформація про ліцензію JavaScript"
@ -6014,12 +6017,18 @@ msgstr "Змінити зʼєднання"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "Помилка:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr "Закрити"
@ -7002,8 +7011,8 @@ msgstr "Перезавантаження"
msgid "Shutdown"
msgstr "Вимкнення"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "Перезапустити"
@ -9792,7 +9801,7 @@ msgstr "Зберегти пароль"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "Створити користувача"
@ -9843,7 +9852,7 @@ msgid "Skip this step"
msgstr "Пропустити цей крок"
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "Користувачі"
@ -9852,16 +9861,114 @@ msgstr "Користувачі"
msgid "Edit user %(username)s"
msgstr "Зміни користувача %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Цей застосунок не підтримує діагностику"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "Вхід"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Оновити налаштування"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Додати пароль"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Домен"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "Останнє сканування: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "Видалити користувача"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "Скасувати"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "Зміни користувача <em>%(username)s</em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
@ -9870,17 +9977,17 @@ msgstr ""
"Щоб змінити пароль використовуйте <a href=\"%(change_password_url)s\">форму "
"зміни пароля</a>."
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "Зберегти зміни"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "Видалити користувача <em>%(username)s</em> і всі файли користувача?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
@ -9889,45 +9996,57 @@ msgstr ""
"каталогу користувача. Якщо ви хочете зберегти ці файли, замість цього "
"вимкніть обліковий запис користувача."
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "Видалити користувача та файли"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "Скасувати"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "Вийшли успішно."
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "Створено користувача %(username)s."
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "Користувача %(username)s оновлено."
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "Зміни користувача"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "Користувача %(username)s видалено."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "Зберегти пароль"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "Пароль змінено успішно."
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Ділянка з такою назвою вже існує."
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "Зміни користувача"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr "WireGuard — це швидкий, сучасний, безпечний тунель VPN."
@ -10725,22 +10844,28 @@ msgid " System"
msgstr " Система"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "Керування псевдонімами"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "Змінити пароль"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "Вимкнути"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "Вийти"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "Вибрати мову"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "Увійти"
@ -10993,15 +11118,15 @@ msgstr ""
"Усі дані програми та налаштування буде втрачено назавжди. Застосунок можна "
"встановити начисто ще раз."
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr "тут"
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "Налаштування не змінено"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "перед видаленням {app_id}"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2021-07-28 08:34+0000\n"
"Last-Translator: bruh <quangtrung02hn16@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/freedombox/"
@ -30,7 +30,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "Dịch vụ {service_name} đang chạy"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -353,6 +353,7 @@ msgstr "Kho"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "Tên"
@ -2225,6 +2226,7 @@ msgstr "Địa chỉ IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3370,8 +3372,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr ""
@ -3511,6 +3513,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3919,7 +3922,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5707,6 +5710,9 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
#, fuzzy
#| msgid "error"
@ -5714,7 +5720,10 @@ msgid "Error:"
msgstr "lỗi"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6591,8 +6600,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -9015,7 +9024,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -9057,7 +9066,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -9066,80 +9075,186 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "Ứng dụng này không hỗ trợ chẩn đoán"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "Cập nhật thiết lập"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "Thêm mật khẩu"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "TLS domain"
msgid "For Domain"
msgstr "Miền TLS"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
msgid "Last Used"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete"
msgid "Delete passkey"
msgstr "Xoá"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "Xoá tệp"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "{name} deleted."
msgid "User %(username)s deleted."
msgstr "Đã xoá {name}."
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A library with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "Một thư viện có tên này đã tồn tại."
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9856,22 +9971,28 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Libraries"
msgid "Manage passkeys"
msgstr "Quản lý thư viện"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -10113,15 +10234,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2026-03-04 05:09+0000\n"
"Last-Translator: 大王叫我来巡山 "
"<hamburger2048@users.noreply.hosted.weblate.org>\n"
@ -30,7 +30,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "{container_name} 容器正在运行"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "FreedomBox"
@ -332,6 +332,7 @@ msgstr "存储库"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "名称"
@ -2031,6 +2032,7 @@ msgstr "IP 地址"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr "行动"
@ -3136,8 +3138,8 @@ msgstr ""
msgid "Contribute"
msgstr "贡献"
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "关于"
@ -3286,6 +3288,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr "了解更多……"
@ -3706,7 +3709,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5457,12 +5460,18 @@ msgstr "编辑连接"
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
msgid "Error:"
msgstr "错误:"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6349,8 +6358,8 @@ msgstr ""
msgid "Shutdown"
msgstr "关闭"
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr "重新启动"
@ -8783,7 +8792,7 @@ msgstr "保存密码"
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr "创建用户"
@ -8827,7 +8836,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr "用户"
@ -8836,77 +8845,187 @@ msgstr "用户"
msgid "Edit user %(username)s"
msgstr "编辑用户 %(username)s"
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "此应用程序不支持诊断"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr "登录"
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
#, fuzzy
#| msgid "Update setup"
msgid "Update Passkey"
msgstr "更新安装程序"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "添加密码"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "域名"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last scanned: "
msgid "Last Used"
msgstr "上次扫描: "
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete user"
msgid "Delete passkey"
msgstr "删除用户"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr "取消"
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr "编辑用户 <em>%(username)s<em></em></em>"
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr "使用 <a href=\"%(change_password_url)s\">更改密码表单</a> 更改密码。"
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr "保存更改"
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr "删除用户 <em>%(username)s</em> 及该用户所有文件?"
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
msgid "Delete user and files"
msgstr "删除用户和文件"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr "取消"
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr "已成功退出登录。"
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr "用户 %(username)s 已创建。"
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr "用户 %(username)s 已更新。"
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr "编辑用户"
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, python-format
msgid "User %(username)s deleted."
msgstr "用户 %(username)s 已被删除。"
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr "更改密码"
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr "已成功更改密码。"
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "已存在同名共享。"
#: plinth/modules/users/views.py:431
#, fuzzy
#| msgid "Edit User"
msgid "Edit Passkey"
msgstr "编辑用户"
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9617,22 +9736,28 @@ msgid " System"
msgstr " 系统"
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "管理别名"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr "更改密码"
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr "关闭"
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr "登出"
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr "选择语言"
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr "登录"
@ -9868,15 +9993,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr "设置未改变"
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-24 00:03+0000\n"
"POT-Creation-Date: 2026-04-07 00:12+0000\n"
"PO-Revision-Date: 2025-02-07 12:01+0000\n"
"Last-Translator: pesder <j_h_liau@yahoo.com.tw>\n"
"Language-Team: Chinese (Traditional Han script) <https://hosted.weblate.org/"
@ -30,7 +30,7 @@ msgstr "靜態配置 {etc_path} 已正確設置"
msgid "Container {container_name} is running"
msgstr "{service_name} 服務執行中"
#: plinth/context_processors.py:21 plinth/views.py:175
#: plinth/context_processors.py:21 plinth/views.py:180
msgid "FreedomBox"
msgstr "自由盒子"
@ -335,6 +335,7 @@ msgstr "儲存庫"
#: plinth/modules/networks/templates/connection_show.html:76
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:33
#: plinth/modules/users/templates/users_passkeys.html:92
msgid "Name"
msgstr "名稱"
@ -2116,6 +2117,7 @@ msgstr "IP 地址"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:29
#: plinth/modules/users/templates/users_passkeys.html:96
msgid "Actions"
msgstr ""
@ -3273,8 +3275,8 @@ msgstr ""
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:222
#: plinth/templates/base.html:225 plinth/templates/help-menu.html:47
#: plinth/modules/help/__init__.py:53 plinth/templates/base.html:229
#: plinth/templates/base.html:232 plinth/templates/help-menu.html:47
#: plinth/templates/help-menu.html:48 plinth/templates/index.html:96
msgid "About"
msgstr "關於"
@ -3414,6 +3416,7 @@ msgstr ""
#: plinth/modules/help/templates/help_contribute.html:43
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/modules/users/templates/users_passkeys.html:77
#: plinth/templates/app-header.html:67
msgid "Learn more..."
msgstr ""
@ -3822,7 +3825,7 @@ msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:192
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:282
#: plinth/templates/base.html:289
msgid "JavaScript license information"
msgstr ""
@ -5607,6 +5610,9 @@ msgstr ""
#: plinth/modules/networks/templates/connections_fields.html:14
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:64
#: plinth/modules/users/templates/users_login.html:26
#: plinth/modules/users/templates/users_passkeys.html:26
#: plinth/modules/users/templates/users_passkeys.html:54
#: plinth/templates/messages.html:15
#, fuzzy
#| msgid "error"
@ -5614,7 +5620,10 @@ msgid "Error:"
msgstr "錯誤"
#: plinth/modules/networks/templates/connections_fields.html:21
#: plinth/modules/users/templates/users_update.html:50
#: plinth/modules/users/templates/users_login.html:33
#: plinth/modules/users/templates/users_passkeys.html:33
#: plinth/modules/users/templates/users_passkeys.html:140
#: plinth/modules/users/templates/users_update.html:55
#: plinth/templates/messages.html:31
msgid "Close"
msgstr ""
@ -6491,8 +6500,8 @@ msgstr ""
msgid "Shutdown"
msgstr ""
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:187
#: plinth/templates/base.html:188
#: plinth/modules/power/templates/power.html:15 plinth/templates/base.html:194
#: plinth/templates/base.html:195
msgid "Restart"
msgstr ""
@ -8916,7 +8925,7 @@ msgstr ""
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:16
#: plinth/modules/users/templates/users_list.html:18
#: plinth/modules/users/views.py:109
#: plinth/modules/users/views.py:134
msgid "Create User"
msgstr ""
@ -8958,7 +8967,7 @@ msgid "Skip this step"
msgstr ""
#: plinth/modules/users/templates/users_list.html:12
#: plinth/modules/users/views.py:127
#: plinth/modules/users/views.py:152
msgid "Users"
msgstr ""
@ -8967,80 +8976,186 @@ msgstr ""
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_login.html:23
#: plinth/modules/users/templates/users_login.html:30
msgid "Logging in with passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_login.html:41
#: plinth/modules/users/templates/users_passkeys.html:41
#, fuzzy
#| msgid "This app does not support diagnostics"
msgid "Browser does not support passkeys."
msgstr "此應用程式不支援診斷"
#: plinth/modules/users/templates/users_login.html:57
msgid "Login"
msgstr ""
#: plinth/modules/users/templates/users_login.html:70
#: plinth/modules/users/templates/users_login.html:72
msgid "Log in with passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkey_edit.html:19
msgid "Update Passkey"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:48
#: plinth/modules/users/views.py:314
msgid "Passkeys"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:57
msgid ""
"Working with passkeys requires using browser's Javascript API. Please enable "
"Javascript support in your browser to continue."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:66
msgid ""
"Passkeys are way to verify user's identity using digital signatures. They "
"are a more secure alternative to passwords. Secret information is kept with "
"the user on their phone, laptop, or a hardware token and unlocked using a "
"PIN, fingerprint, or face ID. No secrets are stored on the server. The "
"server knows only the public information that can used to verify user's "
"signatures."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:83
#: plinth/modules/users/templates/users_passkeys.html:85
#, fuzzy
#| msgid "Add password"
msgid "Add passkey"
msgstr "新增密碼"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "域"
#: plinth/modules/users/templates/users_passkeys.html:94
msgid "Added"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:95
#, fuzzy
#| msgid "Last update"
msgid "Last Used"
msgstr "最後更新"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:135
msgid "Delete passkey <em class=\"passkey-name\"></em>?"
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:145
msgid "You will need this passkey's device to add it back again."
msgstr ""
#: plinth/modules/users/templates/users_passkeys.html:152
#, fuzzy
#| msgid "Delete"
msgid "Delete passkey"
msgstr "刪除"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
msgid "Cancel"
msgstr ""
#: plinth/modules/users/templates/users_update.html:16
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:24
#: plinth/modules/users/templates/users_update.html:23
#, python-format
msgid "Use <a href=\"%(passkeys_url)s\">passkeys</a> for better security."
msgstr ""
#: plinth/modules/users/templates/users_update.html:29
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:36
#: plinth/modules/users/templates/users_update.html:41
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/templates/users_update.html:45
#: plinth/modules/users/templates/users_update.html:50
#, python-format
msgid "Delete user <em>%(username)s</em> and all the user's files?"
msgstr ""
#: plinth/modules/users/templates/users_update.html:55
#: plinth/modules/users/templates/users_update.html:60
msgid ""
"Deleting a user account also removes all the files user's home directory. If "
"you wish to keep these files, disable the user account instead."
msgstr ""
#: plinth/modules/users/templates/users_update.html:64
#: plinth/modules/users/templates/users_update.html:69
#, fuzzy
#| msgid "Delete files"
msgid "Delete user and files"
msgstr "刪除檔案"
#: plinth/modules/users/templates/users_update.html:67
msgid "Cancel"
msgstr ""
#: plinth/modules/users/views.py:87
#: plinth/modules/users/views.py:112
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/users/views.py:107
#: plinth/modules/users/views.py:132
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:138
#: plinth/modules/users/views.py:163
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:139
#: plinth/modules/users/views.py:164
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:177
#: plinth/modules/users/views.py:202
#, fuzzy, python-format
#| msgid "{name} deleted."
msgid "User %(username)s deleted."
msgstr "{name} 已刪除。"
#: plinth/modules/users/views.py:196
#: plinth/modules/users/views.py:221
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:197
#: plinth/modules/users/views.py:222
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/users/views.py:420
#, fuzzy
#| msgid "A library with this name already exists."
msgid "Passkey with that identifier already exists."
msgstr "已存在同樣名稱的圖書館。"
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
msgstr ""
#: plinth/modules/users/views.py:518 plinth/modules/users/views.py:542
msgid "Passkey used is not known."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
@ -9755,22 +9870,28 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Aliases"
msgid "Manage passkeys"
msgstr "別名"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:193 plinth/templates/base.html:194
#: plinth/templates/base.html:200 plinth/templates/base.html:201
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:204 plinth/templates/base.html:242
#: plinth/templates/base.html:211 plinth/templates/base.html:249
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:213 plinth/templates/base.html:216
#: plinth/templates/base.html:220 plinth/templates/base.html:223
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:231 plinth/templates/base.html:233
#: plinth/templates/base.html:238 plinth/templates/base.html:240
msgid "Log in"
msgstr ""
@ -10013,15 +10134,15 @@ msgid ""
"installed freshly again."
msgstr ""
#: plinth/views.py:89
#: plinth/views.py:94
msgid "Here"
msgstr ""
#: plinth/views.py:431
#: plinth/views.py:436
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:654
#: plinth/views.py:659
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""

View File

@ -5,6 +5,7 @@ Setup logging for the application.
import logging
import logging.config
import sys
import typing
import warnings
@ -158,5 +159,11 @@ def get_configuration():
}
}
}
if not sys.stdin.isatty():
# If running on a console, say due to user manually starting it, then
# log everything to console. However, if we are running as a systemd
# unit then no need to log to console. This allows us to capture
# stdout/stderr in systemd unit without repeating the log messages.
configuration['root']['handlers'].remove('console')
return configuration

View File

@ -0,0 +1,46 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# Generated by Django 4.2.28 on 2026-03-19 23:52
#
"""
Django migration for adding the user's passkey model.
"""
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('plinth', '0005_storednotification'),
]
operations = [
migrations.CreateModel(
name='UserPasskey',
fields=[
('id',
models.AutoField(auto_created=True, primary_key=True,
serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=256, null=True,
blank=True)),
('domain', models.CharField(max_length=256)),
('created_time', models.DateTimeField(auto_now_add=True)),
('last_used_time', models.DateTimeField(auto_now=True)),
('signature_counter', models.IntegerField(default=0)),
('registration_flags', models.IntegerField()),
('extensions', models.JSONField(null=True, blank=True)),
('aaguid', models.UUIDField(null=True, blank=True)),
('credential_id', models.BinaryField(unique=True)),
('public_key', models.BinaryField()),
('user',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
related_name='passkeys',
to=settings.AUTH_USER_MODEL)),
],
),
]

View File

@ -44,6 +44,28 @@ class UserProfile(models.Model):
language = models.CharField(max_length=32, null=True, default=None)
class UserPasskey(models.Model):
"""Model to store passkeys for a user account."""
user = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE, related_name='passkeys')
# Relying Party information
name = models.CharField(max_length=256, null=True, blank=True)
domain = models.CharField(max_length=256)
created_time = models.DateTimeField(auto_now_add=True)
last_used_time = models.DateTimeField(auto_now=True)
# Authenticator data
signature_counter = models.IntegerField(default=0)
registration_flags = models.IntegerField()
extensions = models.JSONField(null=True, blank=True)
# Credential data
aaguid = models.UUIDField(null=True, blank=True)
credential_id = models.BinaryField(unique=True)
public_key = models.BinaryField()
@receiver(models.signals.post_save, sender=User)
def _on_user_post_save(sender, instance, **kwargs):
"""When the user model is saved, user profile too."""

View File

@ -36,7 +36,7 @@ class AuthenticationForm(DjangoAuthenticationForm):
self.fields['username'].widget.attrs.update({
'autofocus': 'autofocus',
'autocapitalize': 'none',
'autocomplete': 'username'
'autocomplete': 'username webauthn'
})

View File

@ -0,0 +1,324 @@
// SPDX-License-Identifier: AGPL-3.0-or-later
/**
* @licstart The following is the entire license notice for the JavaScript
* code in this page.
*
* This file is part of FreedomBox.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @licend The above is the entire license notice for the JavaScript code
* in this page.
*/
/*
* Decode a given base64 encoded (in web-mode) string to a binary array.
*/
function base64WebDecode(base64WebString) {
let base64String = base64WebString
.replaceAll('-', '+')
.replaceAll('_', '/');
const padding = base64String.length % 4;
if (padding != 0) {
base64String += '='.repeat(4 - padding);
}
const binaryString = atob(base64String);
const binaryArray = new Uint8Array(binaryString.length);
for (let i = 0; i < binaryString.length; i++) {
binaryArray[i] = binaryString.charCodeAt(i);
}
return binaryArray;
}
/*
* Show an error as an bootstrap alert message and print to browser debug
* console.
*/
function handleError(error_string, exception) {
console.log(error_string, exception);
const template = document.getElementById('passkey-message-template');
template.querySelector('.message').innerText = exception.toString();
const messages = document.getElementById('passkey-messages');
messages.insertAdjacentHTML('beforeEnd', template.innerHTML);
}
/*
* Make a window.fetch() request and handle some common errors.
*/
async function jsonFetch(relative_url, options, operation) {
let response, json = null;
const consoleError = 'Could not perform operation: ' + operation;
try {
const url = new URL(relative_url, window.location.href);
response = await window.fetch(url, options);
json = await response.json();
} catch (error) {
handleError(consoleError, error);
return null;
}
if (response.ok && json) {
return json;
}
if (json && json['error_string']) {
handleError(consoleError, json['error_string']);
} else {
handleError(consoleError, `${response.status}: ${response.statusText}`);
}
return null;
}
/*
* Add a passkey. First send a request to the server to begin passkey creation
* and get challenge and creation options. Then request the browser to talk to
* the authenticator to create a passkey. Finally, pass the public key of the
* newly create passkey along with creation results to the server.
*/
async function addPasskey(csrfToken) {
console.log('Adding passkey');
if (!window.PublicKeyCredential) {
const message = document.getElementById(
'browser-does-not-support-passkeys').innerText.trim();
handleError('Browser does not support passkeys', message);
return;
}
//
// Request challenge and options from server.
//
let options = await jsonFetch('add-begin/', {
'method': 'POST',
body: new URLSearchParams({'csrfmiddlewaretoken': csrfToken})
}, 'initiate passkey registration');
if (!options) {
return;
}
options['publicKey']['user']['id'] = base64WebDecode(
options['publicKey']['user']['id']);
options['publicKey']['challenge'] = base64WebDecode(
options['publicKey']['challenge']);
//
// Create new key pair on the authenticator (via the browser).
//
let credential;
try {
credential = await navigator.credentials.create(
{'publicKey': options['publicKey']});
} catch (error) {
handleError('Passkey registration failed.', error);
return;
}
//
// Send the public key and authenticator response to the server for
// verification and storage.
//
let completeResponse = await jsonFetch('add-complete/', {
'method': 'POST',
'headers': {
'Content-Type': 'application/json',
'X-CSRFToken': csrfToken
},
'body': JSON.stringify(credential),
}, 'passkey registration');
if (!completeResponse) {
return;
}
console.log('Passkey registration succeeded.');
window.location.reload();
};
/*
* Show a confirmation dialog to the user to delete a passkey.
*/
function onPasskeyDeleteClicked(event) {
const modalElement = document.getElementById('passkey-delete-confirm-dialog');
const modal = new bootstrap.Modal(modalElement);
const passkeyElement = event.target.closest('.passkey');
const nameElements = modalElement.querySelectorAll('.passkey-name');
nameElements.forEach((element) => {
element.innerText = passkeyElement.dataset.passkeyName;
});
modalElement.dataset.passkeyId = passkeyElement.dataset.passkeyId;
event.preventDefault();
modal.show();
}
/*
* Send request to the server to delete a passkey by submitting a form (and
* refreshing the page).
*/
function onPasskeyDeleteConfirmed(event) {
const modelElement = document.getElementById('passkey-delete-confirm-dialog');
const passkeyId = modelElement.dataset.passkeyId;
const form = document.querySelector(
`[data-passkey-id="${passkeyId}"] .form-passkey-delete`);
form.submit();
}
/*
* Attach event handler to 'Add Passkey', 'Delete Passkey', and 'Confirm Delete'
* buttons. Retrieve CSRF token and pass it along.
*/
document.addEventListener('DOMContentLoaded', () => {
const addPasskeyButton = document.getElementById('add-passkey');
if (!addPasskeyButton) {
// Not part of the Manage Passkeys page.
return;
}
const csrfToken = document.getElementsByName('csrfmiddlewaretoken')[0].value;
addPasskeyButton.addEventListener('click', async (event) => {
event.preventDefault();
await addPasskey(csrfToken);
});
const deleteButtons = document.querySelectorAll(
'.passkey-delete-button');
deleteButtons.forEach((element) => {
element.addEventListener('click', onPasskeyDeleteClicked);
});
const confirmDeleteButton = document.querySelector(
'#passkey-delete-confirm-dialog .confirm');
confirmDeleteButton.addEventListener('click', onPasskeyDeleteConfirmed);
});
let passkeyLoginAbortController = null;
/*
* Login with a passkey. First send a request to the server to begin logging in
* with passkey and get challenge and login operation options. Then request the
* browser to talk to the authenticator to sign the challenge with a passkey.
* Finally, pass the challenge signed with a known passkey along with other
* results to the server.
*/
async function loginWithPasskey(conditionalMediation, csrfToken, next) {
console.log('Signing in with a passkey. Conditional mediation: ',
conditionalMediation);
if (!window.PublicKeyCredential) {
if (!conditionalMediation) {
const message = document.getElementById(
'browser-does-not-support-passkeys').innerText.trim();
handleError('Browser does not support passkeys', message);
}
return;
}
//
// Request challenge and options from server.
//
const options = await jsonFetch('passkey-begin/', {
'method': 'POST',
body: new URLSearchParams({'csrfmiddlewaretoken': csrfToken})
}, 'initiate passkey login');
if (!options) {
return;
}
options['publicKey']['challenge'] = base64WebDecode(
options['publicKey']['challenge']);
// Abort a previous login operation (such as conditional mediation operation
// if it is running). Firefox automatically does this but Chrome does not.
if (passkeyLoginAbortController) {
console.log('Explicitly aborting previous passkey login operation.');
passkeyLoginAbortController.abort();
}
passkeyLoginAbortController = new AbortController();
//
// Sign the server challenge with passkey stored in authenticator (via the
// browser).
//
let credential;
try {
const getOptions = {
'publicKey': options['publicKey'],
'signal': passkeyLoginAbortController.signal
};
if (conditionalMediation) {
getOptions['mediation'] = 'conditional';
}
credential = await navigator.credentials.get(getOptions);
} catch (error) {
if (conditionalMediation && error.name == 'AbortError') {
// When user clicks on 'Log in with passkey', the process initiated
// with conditional mediation will be aborted.
console.log('Log in initiated with button, ' +
'conditional mediation aborted.');
return;
}
if (!conditionalMediation) {
// Don't show error message or retry.
handleError('Login with passkey failed.', error);
}
return;
}
// Send the signature and the authenticator response to the server to
// complete the login process.
let completeResponse = await jsonFetch('passkey-complete/', {
'method': 'POST',
'headers': {
'Content-Type': 'application/json',
'X-CSRFToken': csrfToken
},
'body': JSON.stringify(credential),
}, 'login with passkey');
if (!completeResponse) {
return;
}
console.log('Login with passkey succeeded.');
window.location.href = next;
}
/*
* Attach an click event listener to 'Log in with passkey' button.
*/
document.addEventListener('DOMContentLoaded', async () => {
const loginWithPasskeyButton = document.getElementById('login-with-passkey');
if (!loginWithPasskeyButton) {
// Not part of login page.
return;
}
const csrfToken = document.getElementsByName('csrfmiddlewaretoken')[0].value;
const next = document.getElementsByName('next')[0].value;
loginWithPasskeyButton.addEventListener('click', async (event) => {
event.preventDefault();
await loginWithPasskey(false, csrfToken, next);
});
// Login with conditional mediation. This means that user will see a
// 'passkey' option with autofill in the username field. The login method
// will be wait in the navigator.credentials.get() call until user selects
// that option. Don't await.
loginWithPasskey(true, csrfToken, next);
});

View File

@ -0,0 +1,7 @@
/*
# SPDX-License-Identifier: AGPL-3.0-or-later
*/
.operations form {
display: inline;
}

View File

@ -5,12 +5,46 @@
{% load bootstrap %}
{% load i18n %}
{% load static %}
{% load extras %}
{% block breadcrumbs %}
{% endblock %}
{% block page_js %}
<script type="text/javascript" src="{% static 'users/passkeys.js' %}" defer></script>
{% endblock %}
{% block content %}
<div id="passkey-message-template" class="d-none">
<div class="alert alert-danger alert-dismissible
d-flex align-items-center fade show"
role="alert">
<div class="me-2">
{% icon 'exclamation-triangle' %}
<span class="visually-hidden">{% trans "Error:" %}</span>
</div>
<div>
{% trans "Logging in with passkey failed: " %}
<span class="message"></span>
<button type="button" class="btn-close" data-bs-dismiss="alert"
aria-label="{% trans "Close" %}">
</button>
</div>
</div>
</div>
<div id="localized-strings" class="d-none">
<div id="browser-does-not-support-passkeys">
{% trans "Browser does not support passkeys." %}
</div>
</div>
<div id="passkey-messages">
</div>
<form class="form form-login" method="post">
<div class="row">
@ -28,4 +62,16 @@
<input type="hidden" name="next" value="{{ next }}" />
</form>
<div class="row text-center">
<div class="col col-md-4 offset-md-4">
<hr>
<a id="login-with-passkey" href="#" class="btn btn-default" role="button"
title="{% trans 'Log in with passkey' %}">
{% icon 'key' %}
{% trans 'Log in with passkey' %}
</a>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,22 @@
{% extends "base.html" %}
{% comment %}
# SPDX-License-Identifier: AGPL-3.0-or-later
{% endcomment %}
{% load bootstrap %}
{% load i18n %}
{% block content %}
<h2>{{ title }}</h2>
<form class="form form-edit-passkey" method="post">
{% csrf_token %}
{{ form|bootstrap }}
<input type="submit" class="btn btn-primary"
value="{% trans "Update Passkey" %}"/>
</form>
{% endblock %}

View File

@ -0,0 +1,162 @@
{% extends "base.html" %}
{% comment %}
# SPDX-License-Identifier: AGPL-3.0-or-later
{% endcomment %}
{% load static %}
{% load i18n %}
{% load extras %}
{% block page_js %}
<script type="text/javascript" src="{% static 'users/passkeys.js' %}" defer></script>
{% endblock %}
{% block page_head %}
<link type="text/css" rel="stylesheet" href="{% static 'users/users.css' %}">
{% endblock %}
{% block content %}
<div id="passkey-message-template" class="d-none">
<div class="alert alert-danger alert-dismissible
d-flex align-items-center fade show"
role="alert">
<div class="me-2">
{% icon 'exclamation-triangle' %}
<span class="visually-hidden">{% trans "Error:" %}</span>
</div>
<div>
{% trans "Adding passkey failed: " %}
<span class="message"></span>
<button type="button" class="btn-close" data-bs-dismiss="alert"
aria-label="{% trans "Close" %}">
</button>
</div>
</div>
</div>
<div id="localized-strings" class="d-none">
<div id="browser-does-not-support-passkeys">
{% trans "Browser does not support passkeys." %}
</div>
</div>
<div id="passkey-messages">
</div>
<h2>{% trans "Passkeys" %}</h2>
<noscript>
<div class="alert alert-danger d-flex align-items-center" role="alert">
<div class="me-2">
<span class="fa fa-exclamation-triangle" aria-hidden="true"></span>
<span class="visually-hidden">{% trans "Error:" %}</span>
</div>
<div>
{% blocktrans trimmed %}
Working with passkeys requires using browser's Javascript API. Please
enable Javascript support in your browser to continue.
{% endblocktrans %}
</div>
</div>
</noscript>
<p>
{% blocktrans trimmed %}
Passkeys are way to verify user's identity using digital signatures.
They are a more secure alternative to passwords. Secret information is
kept with the user on their phone, laptop, or a hardware token and
unlocked using a PIN, fingerprint, or face ID. No secrets are stored on
the server. The server knows only the public information that can used to
verify user's signatures.
{% endblocktrans %}
</p>
<p class="manual-page">
<a href="{% url 'help:manual-page' lang='-' page='Passkeys' %}">
{% trans 'Learn more...' %}
</a>
</p>
<p>
{% csrf_token %}
<a id="add-passkey" href="#" class="btn btn-primary" role="button"
title="{% trans 'Add passkey' %}">
{% icon "plus" %}
{% trans 'Add passkey' %}
</a>
</p>
{% if object_list %}
<div class="table-responsive">
<table class="table">
<thead>
<th>{% trans "Name" %}</th>
<th>{% trans "For Domain" %}</th>
<th>{% trans "Added" %}</th>
<th>{% trans "Last Used" %}</th>
<th>{% trans "Actions" %}</th>
</thead>
<tbody>
{% for passkey in object_list %}
<tr class="passkey" data-passkey-name="{{ passkey.name }}"
data-passkey-id="{{ passkey.id }}">
<td>{{ passkey.name }}</td>
<td>{{ passkey.domain }}</td>
<td>{{ passkey.created_time }}</td>
<td>{{ passkey.last_used_time }}</td>
<td class="operations">
<a class="btn btn-sm btn-default" role="button"
href="{% url 'users:passkey_edit' passkey.user.username passkey.id %}">
{% icon "pencil-square-o" %}
</a>
<form class="form form-passkey-delete" method="post"
action="{% url 'users:passkey_delete' passkey.user.username passkey.id %}">
{% csrf_token %}
<button class="btn btn-sm btn-default passkey-delete-button"
type="submit">
{% icon "trash-o" %}
</button>
</form>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<p>{% trans "No passkeys added to user account." %}
{% endif %}
<div id="passkey-delete-confirm-dialog" class="modal" tabindex="-1"
role="dialog">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">
{% blocktrans trimmed with username=object.username %}
Delete passkey <em class="passkey-name"></em>?
{% endblocktrans %}
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"
aria-label="{% trans 'Close' %}">
</button>
</div>
<div class="modal-body">
<p>
{% blocktrans trimmed %}
You will need this passkey's device to add it back again.
{% endblocktrans %}
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger confirm">
{% trans "Delete passkey" %}
</button>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
{% trans "Cancel" %}
</button>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -19,6 +19,11 @@
</h3>
<p>
{% url 'users:passkeys' object.username as passkeys_url %}
{% blocktrans trimmed %}
Use <a href="{{ passkeys_url }}">passkeys</a> for better security.
{% endblocktrans %}
{% url 'users:change_password' object.username as change_password_url %}
{% blocktrans trimmed %}

View File

@ -18,6 +18,26 @@ urlpatterns = [
re_path(r'^sys/users/(?P<slug>[\w.@+-]+)/change_password/$',
non_admin_view(views.UserChangePassword.as_view()),
name='change_password'),
re_path(r'^sys/users/(?P<username>[\w.@+-]+)/passkeys/$',
non_admin_view(views.PasskeysList.as_view()), name='passkeys'),
re_path(r'^sys/users/(?P<username>[\w.@+-]+)/passkeys/add-begin/$',
non_admin_view(views.passkey_add_begin), name='passkey_add_begin'),
re_path(r'^sys/users/(?P<username>[\w.@+-]+)/passkeys/add-complete/$',
non_admin_view(views.passkey_add_complete),
name='passkey_add_complete'),
re_path(
r'^sys/users/(?P<username>[\w.@+-]+)/passkeys/'
r'(?P<passkey_id>[\d]+)/edit/$',
non_admin_view(views.PasskeyEdit.as_view()), name='passkey_edit'),
re_path(r'^accounts/login/passkey-begin/$',
public(views.passkey_login_begin), name='passkey_login_begin'),
re_path(r'^accounts/login/passkey-complete/$',
public(views.passkey_login_complete),
name='passkey_login_complete'),
re_path(
r'^sys/users/(?P<username>[\w.@+-]+)/passkeys/'
r'(?P<passkey_id>[\d]+)/delete/$',
non_admin_view(views.PasskeyDelete.as_view()), name='passkey_delete'),
re_path(r'^accounts/login/$', public(views.LoginView.as_view()),
name='login'),
re_path(r'^accounts/logout/$', public(views.logout), name='logout'),

View File

@ -1,33 +1,58 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""Django views for user app."""
import functools
import importlib.metadata
import json
import logging
import re
import uuid
import axes.utils
import django.views.generic
import fido2.cbor
import fido2.features
import fido2.utils
from django import shortcuts
from django.contrib import messages
from django.contrib.auth import login as auth_login
from django.contrib.auth import logout as auth_logout
from django.contrib.auth import update_session_auth_hash
from django.contrib.auth.models import User
from django.contrib.auth.views import LoginView as DjangoLoginView
from django.contrib.messages.views import SuccessMessageMixin
from django.core.exceptions import PermissionDenied
from django.http import HttpResponseRedirect
from django.db import IntegrityError
from django.http import HttpResponseRedirect, JsonResponse
from django.urls import reverse, reverse_lazy
from django.utils.decorators import method_decorator
from django.utils.translation import gettext as _
from django.utils.translation import gettext_lazy
from django.views.decorators.http import require_POST
from django.views.generic.edit import CreateView, FormView, UpdateView
from django.views.generic.edit import (CreateView, DeleteView, FormView,
UpdateView)
from fido2 import webauthn
from fido2.server import Fido2Server
from fido2.webauthn import AttestedCredentialData, AuthenticationResponse
import plinth.modules.ssh.privileged as ssh_privileged
from plinth import translation
from plinth.models import UserPasskey
from plinth.modules import first_boot
from plinth.utils import is_user_admin
from plinth.views import AppView
from plinth.version import Version
from plinth.views import AppView, json_exception
from . import privileged
from .forms import (AuthenticationForm, CaptchaForm, CreateUserForm,
FirstBootForm, UserChangePasswordForm, UserUpdateForm)
# Enable fido2 basic features
if Version(importlib.metadata.version('fido2')) < Version('2.0.0'):
fido2.features.webauthn_json_mapping.enabled = True # type: ignore
logger = logging.getLogger(__name__)
class LoginView(DjangoLoginView):
"""View to login to FreedomBox and set language preference."""
@ -257,3 +282,293 @@ class FirstBootView(django.views.generic.CreateView):
def get_success_url(self):
"""Return the next first boot step after valid form submission."""
return reverse(first_boot.next_step())
def get_fido2_server(domain: str) -> Fido2Server:
"""Return an instance of a Fido2Server."""
relying_party = webauthn.PublicKeyCredentialRpEntity(
id=domain, name='FreedomBox')
return Fido2Server(relying_party)
def require_owner_or_admin(view_func):
"""Decorator to check if the view is called by owner or admin."""
@functools.wraps(view_func)
def _wrapped_view(request, *args, **kwargs):
"""Wrap a view method and check ownership is valid."""
if (kwargs['username'] != request.user.get_username()
and not is_user_admin(request)):
raise PermissionDenied
return view_func(request, *args, **kwargs)
return _wrapped_view
@method_decorator(require_owner_or_admin, name='dispatch')
class PasskeysList(ContextMixin, django.views.generic.ListView):
"""View to show a list of current passkeys for the user."""
model = UserPasskey
template_name = 'users_passkeys.html'
title = gettext_lazy('Passkeys')
def get_queryset(self):
"""Show only list of passkeys for this user."""
return self.model.objects.filter(
user__username=self.kwargs['username']).order_by('created_time')
@json_exception
@require_owner_or_admin
@require_POST
def passkey_add_begin(request, username):
"""Verify passkey registration and add passkey to user's account."""
user = User.objects.get(username=username)
# Domain
domain = request.get_host().partition(':')[0]
# User
username = user.get_username()
user_entity = webauthn.PublicKeyCredentialUserEntity(
id=user.id, name=username, display_name=username)
# Begin registration
server = get_fido2_server(domain)
create_options, state = server.register_begin(
user_entity,
user_verification=webauthn.UserVerificationRequirement.REQUIRED,
resident_key_requirement=webauthn.ResidentKeyRequirement.PREFERRED)
logger.info('Passkey creation began for user - %s (%s)', username, user.id)
request.session['fido2_server_state'] = state
return JsonResponse(dict(create_options))
def _passkey_get_next_name(user):
"""Return a suitable name for the next passkey of the given user."""
number = 1
for passkey in user.passkeys.all():
match = re.match(r'^Key (\d+)$', passkey.name)
if match:
number = max(number, int(match[1]) + 1)
return f'Key {number}'
@json_exception
@require_owner_or_admin
@require_POST
def passkey_add_complete(request, username):
"""Verify passkey registration and add passkey to user's account."""
def _response(result: bool, error_string: str):
"""Return a JsonResponse object."""
status = 200
if not result:
status = 400
logger.error('Error completing passkey registration: %s',
error_string)
return JsonResponse({
'result': result,
'error_string': error_string
}, status=status)
user = User.objects.get(username=username)
try:
response = json.loads(request.body)
except json.decoder.JSONDecodeError as exception:
return _response(False, str(exception))
# Domain
domain = request.get_host().partition(':')[0]
# State
state = request.session.get('fido2_server_state')
# Complete registration
server = get_fido2_server(domain)
try:
authenticator_data = server.register_complete(state, response)
logger.info('Passkey creation completed for user - %s (%s)',
user.get_username(), user.id)
assert authenticator_data.is_user_present()
assert authenticator_data.is_user_verified()
logger.info('Passkey user is present and verified.')
except Exception as exception:
return _response(False, str(exception))
try:
credential_data = authenticator_data.credential_data
UserPasskey.objects.create(
user=user,
name=_passkey_get_next_name(user),
domain=domain,
signature_counter=authenticator_data.counter,
registration_flags=authenticator_data.flags,
extensions=authenticator_data.extensions,
aaguid=uuid.UUID(f'urn:uuid:{credential_data.aaguid}'),
credential_id=credential_data.credential_id,
public_key=fido2.cbor.encode(credential_data.public_key),
)
except IntegrityError:
return _response(False,
_('Passkey with that identifier already exists.'))
return _response(True, None)
@method_decorator(require_owner_or_admin, name='dispatch')
class PasskeyEdit(ContextMixin, UpdateView):
"""View to allow editing a passkey's name."""
model = UserPasskey
fields = ['name']
pk_url_kwarg = 'passkey_id'
title = _('Edit Passkey')
def get_template_names(self):
"""Return the template name to use."""
return ['users_passkey_edit.html']
def get_success_url(self):
"""Return the URL to visit if form edit succeeds."""
return reverse('users:passkeys', args=[self.kwargs['username']])
@method_decorator(require_owner_or_admin, name='dispatch')
@method_decorator(require_POST, name='dispatch')
class PasskeyDelete(DeleteView):
"""View to delete a passkey."""
model = UserPasskey
pk_url_kwarg = 'passkey_id'
def get_success_url(self):
"""Return the URL to visit if form edit succeeds."""
return reverse('users:passkeys', args=[self.kwargs['username']])
@json_exception
@require_POST
def passkey_login_begin(request):
"""Begin the process of logging-in with passwords."""
# Domain
domain = request.get_host().partition(':')[0]
# Begin Authentication
server = get_fido2_server(domain)
request_options, state = server.authenticate_begin(
credentials=None,
user_verification=fido2.webauthn.UserVerificationRequirement.REQUIRED,
challenge=None)
logger.info('Passkey login begins')
request.session['fido2_server_state'] = state
return JsonResponse(dict(request_options))
@json_exception
@require_POST
def passkey_login_complete(request):
"""Complete the process of logging-in with passwords."""
def _response(result: bool, error_string: str):
"""Return a JsonResponse object."""
status = 200
if not result:
status = 400
logger.error('Error completing passkey login: %s', error_string)
return JsonResponse({
'result': result,
'error_string': error_string
}, status=status)
try:
response = json.loads(request.body)
except json.decoder.JSONDecodeError as exception:
return _response(False, str(exception))
# Domain
domain = request.get_host().partition(':')[0]
# State
state = request.session.get('fido2_server_state')
# Complete Authentication
server = get_fido2_server(domain)
try:
authentication_repsonse = AuthenticationResponse.from_dict(response)
if hasattr(authentication_repsonse, 'raw_id'):
# Library python3-fido2 >= 2.0.0
credential_id = authentication_repsonse.raw_id
else:
# Library python3-fido2 < 2.0.0
credential_id = authentication_repsonse.id
selected_passkeys = UserPasskey.objects.filter(
credential_id=credential_id)
if not len(selected_passkeys):
return _response(False, _('Passkey used is not known.'))
selected_passkey = selected_passkeys[0]
credentials = [
AttestedCredentialData.create(
aaguid=selected_passkey.aaguid.bytes,
credential_id=selected_passkey.credential_id,
public_key=fido2.cbor.decode(selected_passkey.public_key))
]
credential_data = server.authenticate_complete(
state=state, credentials=credentials,
response=authentication_repsonse)
except Exception as exception:
return _response(False, str(exception))
try:
passkeys = UserPasskey.objects.filter(
credential_id=credential_data.credential_id,
public_key=fido2.cbor.encode(credential_data.public_key))
except Exception as exception:
return _response(False, str(exception))
if not len(passkeys):
return _response(False, _('Passkey used is not known.'))
assert len(passkeys) == 1 # credential_id is a unique field.
passkey = passkeys[0]
# Detect cloned passkeys using signature counter.
# See: https://www.w3.org/TR/webauthn/#signature-counter
authenticator_data = authentication_repsonse.response.authenticator_data
signature_counter = authenticator_data.counter
if (passkey.signature_counter and signature_counter
and signature_counter <= passkey.signature_counter):
# TODO: Notify user of a cloned passkey
logger.warning(
'Potentially cloned passkey detected. Passkey ID in DB - %s, '
'credential ID - %s, signature counters - %s <= %s', passkey.id,
fido2.utils.websafe_encode(passkey.credential_id),
signature_counter, passkey.signature_counter)
passkey.signature_counter = signature_counter
passkey.save() # Update the last used time
# Needed by login(), stored in session, and used for permission checks.
passkey.user.backend = 'django.contrib.auth.backends.ModelBackend'
# Perform user login into Django
auth_login(request, passkey.user)
response = _response(True, None)
if request.user.is_authenticated:
translation.set_language(request, response,
request.user.userprofile.language)
return response

View File

@ -173,6 +173,13 @@
{% trans "Edit" %}
</a>
</li>
<li>
<a id="id_manage_passkeys_menu" class="dropdown-item"
href="{% url 'users:passkeys' request.user.username %}"
title="{% trans "Manage passkeys" %}">
{% trans "Manage passkeys" %}
</a>
</li>
<li>
<a id="id_change_password_menu" class="dropdown-item"
href="{% url 'users:change_password' request.user.username %}"

View File

@ -3,10 +3,13 @@
Tests for common FreedomBox views.
"""
import json
import pytest
from django.http import JsonResponse
from django.urls import resolve
from plinth.views import get_breadcrumbs, is_safe_url
from plinth.views import get_breadcrumbs, is_safe_url, json_exception
def test_get_breadcrumbs(rf, test_menu):
@ -82,3 +85,31 @@ def test_is_safe_url_valid_url(url):
def test_is_safe_url_invalid_url(url):
"""Test invalid URLs for safe URL checks."""
assert not is_safe_url(url)
def test_json_exception(rf):
"""Test handling exceptions in JSON views."""
@json_exception
def error_view(request):
raise Exception('exception-message')
assert error_view.__name__ == 'error_view'
request = rf.get('')
response = error_view(request)
assert response.status_code == 500
json_content = json.loads(response.content)
assert not json_content['result']
assert json_content['error_name'] == 'Exception'
assert json_content['error_string'] == 'exception-message'
def success_view(request):
return JsonResponse({'result': True, 'error_string': None})
request = rf.get('')
response = success_view(request)
assert response.status_code == 200
json_content = json.loads(response.content)
assert json_content['result']
assert json_content['error_string'] is None

View File

@ -3,10 +3,13 @@
Main FreedomBox views.
"""
import functools
import logging
import random
import time
import traceback
import urllib.parse
from collections.abc import Callable
from django.contrib import messages
from django.core.exceptions import ImproperlyConfigured
@ -33,6 +36,8 @@ from plinth.translation import get_language_from_request, set_language
from . import forms, frontpage, operation, setup
logger = logging.getLogger(__name__)
REDIRECT_FIELD_NAME = 'next'
@ -683,6 +688,7 @@ class AppLogsView(TemplateView):
def notification_dismiss(request, id):
"""Dismiss a notification."""
from django.http import HttpResponse
from .notification import Notification
notes = Notification.list(key=id, user=request.user)
if notes:
@ -697,3 +703,24 @@ def notification_dismiss(request, id):
return response
return HttpResponseRedirect(_get_redirect_url_from_param(request))
def json_exception(view_func: Callable):
"""View decorator to return an view exception in JSON format."""
@functools.wraps(view_func)
def wrapper(*args, **kwargs):
"""Wrapper over view function to handle exceptions."""
try:
return view_func(*args, **kwargs)
except Exception as exception:
logger.exception('Error running view %s - %s', view_func.__name__,
exception)
return JsonResponse(
{
'result': False,
'error_name': type(exception).__name__,
'error_string': str(exception)
}, status=500) # Internal server error
return wrapper

View File

@ -67,6 +67,7 @@ dependencies = [
"django-bootstrap-form",
"django-simple-captcha",
"django-stronghold >= 0.3.0",
"fido2 >= 1.2.0",
"psutil",
"python-apt",
"python-augeas",