Compare commits

..

30 Commits

Author SHA1 Message Date
Jiří Podhorecký
fe7f6da2b1
Translated using Weblate (Czech)
Currently translated at 100.0% (1954 of 1954 strings)
2026-08-22 22:51:28 +02:00
John Doe
be95bcbc9b
Translated using Weblate (French)
Currently translated at 100.0% (1954 of 1954 strings)
2026-08-22 22:51:24 +02:00
James Valleroy
9c8a808eaa
Release v26.11.1 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-19 21:10:32 -04:00
James Valleroy
effe91a6d1
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-19 21:09:44 -04:00
Dietmar
ec78a93b4e
Translated using Weblate (German)
Currently translated at 99.3% (1942 of 1954 strings)
2026-08-20 02:46:20 +02:00
Sunil Mohan Adapa
b1cc874abb
apache: Stop installing uwsgi by default
Closes: Debian #1144740.

- When one of the applications such as bepasty, radicale, or searx need it, then
install it.

- Reduces the number of dependencies for freedombox package.

- Reduces size of the disk image.

- Ensures that uwsgi does not run on every freedombox machine.

- Apache's proxy_uwsgi module (provided by apache2-bin, apache2) can still be
enabled by default because uwsgi is not a dependency for the Apache module and
uwsgi socket connections are not attempted until specific configuration is
enabled and requests arrive.

- Change dependency from uwsgi-core to uwsgi. uwsgi-core does not have init
scripts but uwsgi package has init script (but only on trixie and not forky and
up). The init script is disabled and masked by bepasty, radicale, and searx
apps. So, this should not be a problem.

Tests:

- On a freshly installed Debian forky and trixie machines, install freedombox
deb package built with changes. Installation succeeds. uwsgi is not installed at
all. bepasty and radicale can be installed and basic requests to web UI work.
uwsgi init script is not started and is masked.

- Functional tests for bepasty and radicale work.

- On a Trixie machine, setup freedombox from trixie. Then install freedombox deb
package with the patch. uwsgi is not marked as manually installed and running
unattended-updates will remove it. Install bepasty and uwsgi package is
installed and marked as manually installed.

- On a Trixie machine, setup freedombox from trixie. Install the bepasty app.
Then install freedombox deb package with the patch. uwsgi is marked as manually
installed and running unattended-updates will not remove it.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-19 20:43:36 -04:00
Hosted Weblate user 54392
714abafb0c
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 61.0% (1192 of 1954 strings)
2026-08-19 04:51:25 +02:00
Oğuz Ersen
1ae6eed009
Translated using Weblate (Turkish)
Currently translated at 100.0% (1954 of 1954 strings)
2026-08-19 04:51:24 +02:00
James Valleroy
b6e122816d
d/tests: Re-arrange test steps to help with debugging
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-08-17 19:52:04 -07:00
James Valleroy
031bbb53cb
Release v26.11 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-17 19:45:01 -04:00
James Valleroy
52e83a6c26
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-17 19:44:02 -04:00
James Valleroy
4043799d18
locale: Update strings for translation
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-17 19:23:41 -04:00
Sunil Mohan Adapa
29eca5426d
views: Link to apps-add page from a tag click in app page
Tests:

- On Coturn app page, clicking on a tag redirects to Add New App page with tag
filter set to clicked tag.

- On Names app page, clicking on a tag redirects to system page with tag filter
set to clicked tag.

- On Operations page such as when installing an app, clicking on a tag redirects
to Add New App page with tag filter set to clicked tag.

- On Index page such when OpenVPN is clicked description for OpenVPN is shown.
Clicking on a tag in the description redirects to Add New App page with tag
filter set to clicked tag.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-17 19:19:05 -04:00
Sunil Mohan Adapa
18046ef736
firstboot: Link from next steps page to add apps page
- Instead of the apps page which will be empty on first boot.

Tests:

- On Next Steps page, click on apps link takes users to add apps page and not
apps page.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-17 19:19:02 -04:00
Sunil Mohan Adapa
2764c58c53
views: Add a separate page for adding new apps
- It avoids confusion with two separate app sections in a single page. The
sections/pages can be better titled.

- In future, we can style the apps page (with more status display) differently
from apps-add page (with more search and featured apps).

- Move page specific parts into individual pages instead of in the common
template cards.html.

- Add special message when there are no apps enabled and when there are no more
apps to enable.

- Drop show_disabled flag in cards template that is not needed anymore.

Tests:

- Unit tests work.

- Functional tests work on bepasty when starting with uninstalled, disabled, or
enabled states.

- Apps page shows special message when there are no apps enabled. It is
centered.

- Apps page shows 'Add new app' button with icon. Clicking it takes us to
apps-add page.

- Apps page does not have disabled apps list (even hidden).

- Disabled and uninstalled apps are not shown on apps page.

- Apps-add page shows special message when there are no more apps to be
installed or enabled (test by altering view code to have empty list of apps).

- Apps-add page shows list of apps that are disabled or uninstalled but not
enabled apps. It shows a title 'Add New App'.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-17 19:18:51 -04:00
James Valleroy
37cfb0fbfd
debian: Trim list of Uploaders
See:
https://lists.debian.org/debian-project/2026/08/msg00011.html

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-08-15 07:11:43 -07:00
Sunil Mohan Adapa
62deda0ec7
dynamicdns: Allow updating both IPv4 and IPv6 records together
- Change the IPv6 checkbox into an option to select from IPv4 only, IPv6 only,
or IPv4 and IPv6. Update functional tests.

- Add type hints everywhere.

- Separate out the generic URL update method to its own module. Add unit tests.

- Migrate old configuration to new configuration on first read.

- Store multiple IP addresses in the status. Support showing old status format
of single IP address as well. Show multiple IP addresses in the status table.

- Handle errors during update using exceptions for clearer code.

- For generic URL based updates, capture return code, stdout and stdin in error
message.

Tests:

- Adding a new GnuDIP domain leads to configuration setting ip_type = ipv4

- When adding a new dynamic domain, when generic option is selected IP Address
  Type is shown. When GnuDIP is selected, the field is hidden.

- IP Address Type field is as expected. Options and description are as expected.

- When a new domain is added for generic domain, the value of ip_type is set as
  expected. Changing the value to other values works. Configuration is updated
  as expected. Option values and description are as expected.

- The column for IP Address is now 'IP Addresses'. When multiple IP addresses
  are present in the status, they are shown in multiple lines in the tables as
  <pre>. When no IP addresses are present, a '-' is shown in the column.

- When generic domain update fails, subprocess failure code, stderr and stdout
  are shown in the error message.

- Unit tests work.

- Functional tests work.

- After 5 minute period, attempts are made to update the domain

- For GnuDIP and generic method:

  - IP address lookup works for IPv4 and IPv6.

  - IP address updates works for IPv4 (tested) and IPv6 (untested).

  - In 'both' configuration, when IPv6 update fails, IPv4 still succeeds.

  - Updates are skipped if the record is up-to-date.

  - Successful updates are performed otherwise.

  - Wrong password leads to proper error being shown.

- When the old status is stored, it is updated during read and proper status is
  shown.

- When configuration has old use_ipv6 key, then it is migrated when newer
  version of the service is started. True value is converted as 'ipv6', False
  value is converted as 'ipv4'. 'null' key is properly removed.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-15 08:49:43 -04:00
Sunil Mohan Adapa
ca1b54f3cf
dynamnicdns: Drop old migration code shipped in bookworm
All the users of the old ez-ipupdate client must have been migrated long ago as
the migration code was shipped in bookworm.

Tests:

- Service starts as expected.

- Re-running setup for the app works.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-15 08:49:38 -04:00
Pierfrancesco Passerini
72095dffec
Translated using Weblate (Italian)
Currently translated at 100.0% (1948 of 1948 strings)
2026-08-13 20:51:26 +02:00
Priit Jõerüüt
53e7fb013c
Translated using Weblate (Estonian)
Currently translated at 19.9% (389 of 1948 strings)
2026-08-11 10:51:27 +00:00
Coucouf
ba0b39c2a4
Translated using Weblate (French)
Currently translated at 100.0% (1948 of 1948 strings)
2026-08-11 10:51:24 +00:00
Sunil Mohan Adapa
c5f9606f43
pyproject: Declare support for Django 6.0
Explicitly noting down the version of Django helps us keep better track of our
upgrade progress. Due to the nature of changes to Django in recent versions,
FreedomBox does not need any changes to support newer versions. So, work done on
analyzing support for newer versions needs to tracked separate from git log
message.

Tests:

- Building FreedomBox Debian package works.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-08 10:03:49 -04:00
Sunil Mohan Adapa
5013c05d35
settings: Drop support for Django < 4.0
- Trixie has Django 4.2.28.

Tests:

- Unit tests pass on Trixie and Forky.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-08 10:03:46 -04:00
Sunil Mohan Adapa
f2e898090c
mypy: Add support for version 2.1
Tests:

- Unit tests pass.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-08 10:03:44 -04:00
Sunil Mohan Adapa
d2a959a277
tests: Use class methods for class scoped fixtures
Using class-scoped fixture as instance method is deprecated in pytest 9.1 and
support will be removed in 10.0.

See: https://docs.pytest.org/en/stable/deprecations.html#class-scoped-fixture-as-instance-method

Tests:

- Run functional tests for samba, matrixsynapse (unrelated failure), and
bepasty.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-08 10:03:39 -04:00
Sunil Mohan Adapa
c1aeb1f661
d/postinst: Remove unnecessary file
- The last bit code left in the file was a fix applied in 2018 and not used
since we stopped using access.conf file.

Tests:

- Building Debian package works.

- The Debian package still contains a postinst script with code for starting
systemd daemon and for running other debhelper hooks.

- Installing the Debian package on a fresh Debian trixie machine starts the
FreedomBox service. First wizard finished without issues and bepasty app install
succeeds.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-08 09:11:38 -04:00
Sunil Mohan Adapa
841b0382e7
homeassistant: App is stable, remove experimental warning
- This app has been running on my FreedomBox without any problems with every day
usage for more than 6 months.

Tests:

- The app description does not show experimental message anymore. App page shows
up fine.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-08 09:09:42 -04:00
Jiří Podhorecký
2aaee483d4
Translated using Weblate (Czech)
Currently translated at 100.0% (1948 of 1948 strings)
2026-08-04 19:01:52 +02:00
Hosted Weblate user 54392
22ac98d6a7
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 60.9% (1188 of 1948 strings)
2026-08-02 05:01:53 +02:00
Burak Yavuz
a04c1c801d
Translated using Weblate (Turkish)
Currently translated at 100.0% (1948 of 1948 strings)
2026-07-30 12:01:59 +02:00
82 changed files with 5172 additions and 3342 deletions

60
debian/changelog vendored
View File

@ -1,3 +1,63 @@
freedombox (26.11.1) unstable; urgency=medium
[ James Valleroy ]
* d/tests: Re-arrange test steps to help with debugging
* doc: Fetch latest manual
[ Oğuz Ersen ]
* Translated using Weblate (Turkish)
[ Hosted Weblate user 54392 ]
* Translated using Weblate (Chinese (Simplified Han script))
[ Sunil Mohan Adapa ]
* apache: Stop installing uwsgi by default (Closes: #1144740)
[ Dietmar ]
* Translated using Weblate (German)
-- James Valleroy <jvalleroy@mailbox.org> Wed, 19 Aug 2026 21:09:59 -0400
freedombox (26.11) unstable; urgency=medium
[ Burak Yavuz ]
* Translated using Weblate (Turkish)
[ Hosted Weblate user 54392 ]
* Translated using Weblate (Chinese (Simplified Han script))
[ Jiří Podhorecký ]
* Translated using Weblate (Czech)
[ Sunil Mohan Adapa ]
* homeassistant: App is stable, remove experimental warning
* d/postinst: Remove unnecessary file
* tests: Use class methods for class scoped fixtures
* mypy: Add support for version 2.1
* settings: Drop support for Django < 4.0
* pyproject: Declare support for Django 6.0
* dynamicdns: Drop old migration code shipped in bookworm
* dynamicdns: Allow updating both IPv4 and IPv6 records together
* views: Add a separate page for adding new apps
* firstboot: Link from next steps page to add apps page
* views: Link to apps-add page from a tag click in app page
[ Coucouf ]
* Translated using Weblate (French)
[ Priit Jõerüüt ]
* Translated using Weblate (Estonian)
[ Pierfrancesco Passerini ]
* Translated using Weblate (Italian)
[ James Valleroy ]
* debian: Trim list of Uploaders
* locale: Update strings for translation
* doc: Fetch latest manual
-- James Valleroy <jvalleroy@mailbox.org> Mon, 17 Aug 2026 19:44:28 -0400
freedombox (26.10) unstable; urgency=medium
[ Coool ]

3
debian/control vendored
View File

@ -2,11 +2,8 @@ Source: freedombox
Section: web
Maintainer: FreedomBox packaging team <freedombox-pkg-team@lists.alioth.debian.org>
Uploaders:
Tzafrir Cohen <tzafrir@debian.org>,
Piotr Ożarowski <piotr@debian.org>,
Petter Reinholdtsen <pere@debian.org>,
Sunil Mohan Adapa <sunil@medhas.org>,
Nick Daly <Nick.M.Daly@gmail.com>,
Federico Ceratto <federico@debian.org>,
James Valleroy <jvalleroy@mailbox.org>,
Build-Depends:

View File

@ -1,13 +0,0 @@
#!/bin/sh
set -e
# Due to a change in sudo, now it runs PAM modules even on password-less
# invocations. This leads to plinth not being able to run root privileges. This
# is because of our own restrictions in /etc/security/access.conf. Since Plinth
# is locked out after upgrade, we need to do this in postinst.
sed -i 's+-:ALL EXCEPT root fbx (admin) (sudo):ALL+-:ALL EXCEPT root fbx plinth (admin) (sudo):ALL+' /etc/security/access.conf
#DEBHELPER#
exit 0

View File

@ -22,17 +22,17 @@ for _ in $(seq 1 120); do
done
# Print final status in test log
cat /tmp/fbx_status.json
cat /tmp/fbx_status.json || true
rm -f /tmp/fbx_status.json
if [ "$SETUP_COMPLETE" -eq 0 ]; then
echo "Error: first-boot setup did not complete in the allotted time." >&2
exit 1
fi
journalctl --unit=plinth --unit=freedombox-privileged
# Access FreedomBox interface
curl --location --cookie "" --fail --write-out "%{response_code}" --insecure \
--stderr - https://localhost/freedombox/
if [ "$SETUP_COMPLETE" -eq 0 ]; then
echo "Error: first-boot setup did not complete in the allotted time." >&2
exit 1
fi

View File

@ -8,6 +8,33 @@ 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.11.1 (2026-08-19) ==
* apache: Stop installing uwsgi by default
* debian: Re-arrange test steps to help with debugging
* locale: Update translations for Chinese (Simplified Han script), German, Turkish
== FreedomBox 26.11 (2026-08-17) ==
=== Highlights ===
* views: Add a separate page for adding new apps
=== Other Changes ===
* debian: Remove unnecessary postinst file
* debian: Trim list of Uploaders
* dynamicdns: Allow updating both IPv4 and IPv6 records together
* dynamicdns: Drop old migration code shipped in bookworm
* firstboot: Link from next steps page to add apps page
* homeassistant: App is stable, remove experimental warning
* locale: Update translations for Chinese (Simplified Han script), Czech, Estonian, French, Italian, Turkish
* mypy: Add support for version 2.1
* pyproject: Declare support for Django 6.0
* settings: Drop support for Django < 4.0
* tests: Use class methods for class scoped fixtures
* views: Link to apps-add page from a tag click in app page
== FreedomBox 26.10 (2026-07-28) ==
* apps: Change header title from Disabled to Available for install

View File

@ -8,6 +8,33 @@ 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.11.1 (2026-08-19) ==
* apache: Stop installing uwsgi by default
* debian: Re-arrange test steps to help with debugging
* locale: Update translations for Chinese (Simplified Han script), German, Turkish
== FreedomBox 26.11 (2026-08-17) ==
=== Highlights ===
* views: Add a separate page for adding new apps
=== Other Changes ===
* debian: Remove unnecessary postinst file
* debian: Trim list of Uploaders
* dynamicdns: Allow updating both IPv4 and IPv6 records together
* dynamicdns: Drop old migration code shipped in bookworm
* firstboot: Link from next steps page to add apps page
* homeassistant: App is stable, remove experimental warning
* locale: Update translations for Chinese (Simplified Han script), Czech, Estonian, French, Italian, Turkish
* mypy: Add support for version 2.1
* pyproject: Declare support for Django 6.0
* settings: Drop support for Django < 4.0
* tests: Use class methods for class scoped fixtures
* views: Link to apps-add page from a tag click in app page
== FreedomBox 26.10 (2026-07-28) ==
* apps: Change header title from Disabled to Available for install

View File

@ -3,4 +3,4 @@
Package init file.
"""
__version__ = '26.10'
__version__ = '26.11.1'

View File

@ -45,10 +45,10 @@ box_name = 'FreedomBox'
# Other globals
develop = False
config_files = []
config_files: list[str] = []
def expand_to_dot_d_paths(file_paths):
def expand_to_dot_d_paths(file_paths: list[str]) -> list[str]:
"""Expand a list of file paths to include file.d/* also."""
final_list = []
for file_path in file_paths:
@ -65,7 +65,7 @@ def expand_to_dot_d_paths(file_paths):
return final_list
def get_develop_config_path():
def get_develop_config_path() -> str:
"""Return config path of current source folder for development mode."""
root_directory = os.path.dirname(os.path.realpath(__file__))
root_directory = os.path.realpath(root_directory)
@ -73,7 +73,7 @@ def get_develop_config_path():
return config_path
def get_config_paths():
def get_config_paths() -> list[str]:
"""Get default config paths."""
return [
'/usr/share/freedombox/freedombox.config',
@ -82,14 +82,14 @@ def get_config_paths():
]
def read():
def read() -> None:
"""Read all configuration files."""
config_paths = get_config_paths()
for config_path in expand_to_dot_d_paths(config_paths):
read_file(config_path)
def read_file(config_path):
def read_file(config_path: str):
"""Read and merge into defaults a single configuration file."""
if not os.path.isfile(config_path): # Does not throw exceptions
# Ignore missing configuration files
@ -101,9 +101,9 @@ def read_file(config_path):
parser = configparser.ConfigParser(
defaults={
'parent_dir':
pathlib.Path(config_path).parent.resolve(),
str(pathlib.Path(config_path).parent.resolve()),
'parent_parent_dir':
pathlib.Path(config_path).parent.parent.resolve(),
str(pathlib.Path(config_path).parent.parent.resolve()),
})
parser.read(config_path) # Ignores all read errors
@ -123,6 +123,7 @@ def read_file(config_path):
)
for section, name, datatype in config_items:
value: int | str | bool
try:
value = parser.get(section, name)
except (configparser.NoSectionError, configparser.NoOptionError):

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
#, fuzzy
msgid "FreedomBox"
msgstr "صندوق الحرية"
@ -624,7 +624,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -981,7 +980,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1574,90 +1573,90 @@ msgstr ""
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1873,66 +1872,84 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1974,8 +1991,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -1986,7 +2002,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2003,12 +2019,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3375,11 +3391,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9055,6 +9067,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9415,19 +9431,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9587,6 +9603,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9629,16 +9661,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Backup app before uninstall"
msgid "Available for install"
msgstr "تطبيق النسخ الاحتياطي قبل إلغاء التثبيت"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9874,11 +9896,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -9887,6 +9909,11 @@ msgstr ""
msgid "Gujarati"
msgstr ""
#, fuzzy
#~| msgid "Backup app before uninstall"
#~ msgid "Available for install"
#~ msgstr "تطبيق النسخ الاحتياطي قبل إلغاء التثبيت"
#~ msgid ""
#~ "Warning! The application may not work properly if domain name is changed "
#~ "later."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr ""
@ -604,7 +604,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -961,7 +960,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1556,90 +1555,90 @@ msgstr ""
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1855,66 +1854,84 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1956,8 +1973,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -1968,7 +1984,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -1985,12 +2001,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3367,11 +3383,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9061,6 +9073,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9421,19 +9437,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9593,6 +9609,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9635,14 +9667,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9878,11 +9902,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr ""
@ -594,7 +594,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -951,7 +950,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1544,90 +1543,90 @@ msgstr ""
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1843,66 +1842,84 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1944,8 +1961,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -1956,7 +1972,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -1973,12 +1989,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3345,11 +3361,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9004,6 +9016,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9364,19 +9380,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9524,6 +9540,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9566,14 +9598,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9807,11 +9831,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -651,7 +651,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1035,7 +1034,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1655,7 +1654,7 @@ msgstr "Клиент за уеб"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1663,7 +1662,7 @@ msgstr ""
"Диагностичната проверка на системата ще я подложи на редица изпитания, за да "
"потвърди, че приложенията и услугите работят според очакванията."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1671,54 +1670,54 @@ msgid ""
msgstr ""
"Приложението също показва <a href=\"{logs_url}\">дневника</a> на {box_name}."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Диагностика"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "пропусната"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "преминала"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "неуспех"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "грешка"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "предупреждение"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "МБ"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "ГБ"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
"За да намалее използваната памет, трябва да изключите някои приложения."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Не трябва да инсталирате нови приложения."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1727,25 +1726,25 @@ msgstr ""
"Системата разполага с малко памет: използвана {percent_used}%, свободна "
"{memory_available}{memory_available_unit}. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Паметта е малко"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Диагностициране"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
"По време на обичайната проверка са намерени {issue_count} неизправности."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Резултати от диагностиката"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Резултати от диагностиката"
@ -1971,66 +1970,92 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IPv4 Addressing Method"
msgid "IPv4 address only"
msgstr "Метод за адресиране на IPv4"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IPv6 Addressing Method"
msgid "IPv6 address only"
msgstr "Метод за адресиране на IPv6"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Enter a valid username."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Въведете съществуващо потребителско име."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Адрес за обновяване"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Име на домейн"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Недопустимо име на домейн"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Потребителско име"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Показване на паролата"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "Адрес по IP"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Домейнът вече съществува."
@ -2072,8 +2097,9 @@ msgid "Last update"
msgstr "Последно обновяване"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
#, fuzzy
#| msgid "IP Address"
msgid "IP Addresses"
msgstr "Адрес по IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2084,7 +2110,7 @@ msgid "Actions"
msgstr "Действия"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2101,12 +2127,12 @@ msgstr "Успешно"
msgid "Failed"
msgstr "Грешка"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Премахване на домейна %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Не са настроени домейни."
@ -3532,11 +3558,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Приложението е експериментално."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9606,6 +9628,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Адрес по IP"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Privacy"
@ -9980,19 +10006,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr "Времето за изчакване на диспечера на пакети е изтекло"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10142,6 +10168,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Услугата <em>%(service_name)s</em> не работи."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Advanced apps"
msgid "Add New App"
msgstr "Разширени приложения"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Advanced apps"
msgid "Add new app"
msgstr "Разширени приложения"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10189,18 +10235,6 @@ msgstr "Избор на език"
msgid "Log in"
msgstr "Вход"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Advanced apps"
msgid "Add new app"
msgstr "Разширени приложения"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Backup app before uninstall"
msgid "Available for install"
msgstr "Резервно копие преди премахване на приложението"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Пускане на клиента за уеб"
@ -10440,11 +10474,11 @@ msgstr ""
msgid "Here"
msgstr "Тук"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Настройките не са променени"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "преди премахване на {app_id}"
@ -10453,6 +10487,14 @@ msgstr "преди премахване на {app_id}"
msgid "Gujarati"
msgstr "Гуджарати"
#~ msgid "This app is experimental."
#~ msgstr "Приложението е експериментално."
#, fuzzy
#~| msgid "Backup app before uninstall"
#~ msgid "Available for install"
#~ msgstr "Резервно копие преди премахване на приложението"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "ফ্রিডমবক্স"
@ -602,7 +602,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -959,7 +958,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1552,94 +1551,94 @@ msgstr ""
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "কারণ নির্ণয়"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Diagnostics"
msgid "Running diagnostics"
msgstr "কারণ নির্ণয়"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostics"
msgid "Diagnostics results"
msgstr "কারণ নির্ণয়"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1868,66 +1867,84 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "নাম"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1975,8 +1992,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -1987,7 +2003,7 @@ msgid "Actions"
msgstr "ক্রিয়া"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2004,12 +2020,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3394,11 +3410,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9089,6 +9101,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9451,19 +9467,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9612,6 +9628,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9656,14 +9688,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9899,11 +9923,11 @@ msgstr ""
msgid "Here"
msgstr "এখানে"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -650,7 +650,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1050,7 +1049,7 @@ msgid "No passwords currently configured."
msgstr "Actualment no hi ha contrasenyes configurades."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1710,7 +1709,7 @@ msgstr "Client web"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1719,7 +1718,7 @@ msgstr ""
"teu sistema per confirmar que les aplicacions i els serveis funcionen "
"correctament."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1728,53 +1727,53 @@ msgstr ""
"Aquesta aplicació també mostra els <a href=\"{logs_url}\">registre</a> dels "
"serveis de {box_name}."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnòstics"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "omès"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "passat"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "fallat"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "error"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "avís"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "Hauries de desactivar algunes aplicacions per reduir l'ús de memòria."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "No hauries dinstal·lar cap aplicació nova en aquest sistema."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1783,24 +1782,24 @@ msgstr ""
"El sistema té poca memòria: {percent_used}% utilitzada, {memory_available} "
"{memory_available_unit} lliures. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Memòria Baixa"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Executant diagnòstics"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "S'han trobat {issue_count} problemes durant les proves rutinàries."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Resultats del diagnòstic"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Ves als resultats del diagnòstic"
@ -2052,66 +2051,92 @@ msgstr "Deixa aquest camp buit si vols mantenir la contrasenya actual."
msgid "The username that was used when the account was created."
msgstr "El nom dusuari que es va utilitzar quan es va crear el compte."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Altres URL dactualització"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "Adreça IP"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "Adreça IP"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "IP address"
msgid "Both IPv4 and IPv6 addresses"
msgstr "Adreça IP"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Tipus de servei"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Adreça del servidor GnuDIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Nom del servidor invàlid"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Actualitza l'URL"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Accepta tots els certificats SSL"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Utilitza autenticació HTTP bàsica"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Nom del Domini"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Nom del domini incorrecte"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Nom d'usuari"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Mostra la contrasenya"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Utilitza IPv6 en lloc de IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "Adreça IP"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Aquest camp és obligatori."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "El Domini ja existeix."
@ -2153,9 +2178,10 @@ msgid "Last update"
msgstr "Ultima actualització"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Adreça IP"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "Adreces IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2165,7 +2191,7 @@ msgid "Actions"
msgstr "Accions"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "Edita el domini %(domain)s"
@ -2182,12 +2208,12 @@ msgstr "Reeixit"
msgid "Failed"
msgstr "Fallat"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Elimina el domini %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "No s'han configurat dominis."
@ -3784,11 +3810,7 @@ msgstr ""
"i no Debian/{box_name}. Les actualitzacions es realitzen seguint un cicle "
"independent."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Aquesta app és experimental."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9851,6 +9873,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Adreça IP"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Private repository"
@ -10219,19 +10245,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10379,6 +10405,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Advanced apps"
msgid "Add New App"
msgstr "Aplicacions avançades"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Advanced apps"
msgid "Add new app"
msgstr "Aplicacions avançades"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10423,18 +10469,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Advanced apps"
msgid "Add new app"
msgstr "Aplicacions avançades"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Backup app before uninstall"
msgid "Available for install"
msgstr "Fes una còpia de seguretat de l'aplicació abans de desinstal·lar-la"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -10670,11 +10704,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -10683,6 +10717,17 @@ msgstr ""
msgid "Gujarati"
msgstr ""
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Utilitza IPv6 en lloc de IPv4"
#~ msgid "This app is experimental."
#~ msgstr "Aquesta app és experimental."
#, fuzzy
#~| msgid "Backup app before uninstall"
#~ msgid "Available for install"
#~ msgstr "Fes una còpia de seguretat de l'aplicació abans de desinstal·lar-la"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"PO-Revision-Date: 2026-06-04 18:01+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
"PO-Revision-Date: 2026-08-22 20:51+0000\n"
"Last-Translator: Jiří Podhorecký <j.podhorecky@volny.cz>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/freedombox/"
"freedombox/cs/>\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
"X-Generator: Weblate 2026.6\n"
"X-Generator: Weblate 2026.9.dev0\n"
#: plinth/config.py:103
#, python-brace-format
@ -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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -638,7 +638,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1024,7 +1023,7 @@ msgid "No passwords currently configured."
msgstr "V současné době nejsou nakonfigurována žádná hesla."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1672,7 +1671,7 @@ msgstr "Webový klient"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1680,7 +1679,7 @@ msgstr ""
"Diagnostický test systému spustí několik kontrol pro potvrzení, že aplikace "
"a služby fungují tak, jak mají."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1689,53 +1688,53 @@ msgstr ""
"Tato aplikace také zobrazuje <a href=\"{logs_url}\">protokoly</a> pro služby "
"{box_name}."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnostika"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "přeskočeno"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "prošlo"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "selhalo"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "chyba"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "varování"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "Měli byste zakázat některé aplikace, abyste snížili využití paměti."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Do tohoto systému byste neměli instalovat žádné nové aplikace."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1744,24 +1743,24 @@ msgstr ""
"Systém má málo paměti: {percent_used}% využité, {memory_available} "
"{memory_available_unit} volné. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Málo paměti"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Spuštění diagnostiky"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "Při rutinních testech bylo nalezeno {issue_count} problémů."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Výsledky diagnostiky"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Přejít na výsledky diagnostiky"
@ -2012,66 +2011,86 @@ msgstr "Pokud chcete zachovat stávající heslo, tuto kolonku nevyplňujte."
msgid "The username that was used when the account was created."
msgstr "Uživatelské jméno které bylo použito pro vytvoření účtu."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
"Vyberte na základě toho, co vaše ISP poskytuje: veřejnou IPv4 adresu, "
"veřejnou IPv6 adresu, nebo obě."
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Další aktualizace URL"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr "pouze IPv4 adresu"
#: plinth/modules/dynamicdns/forms.py:58
msgid "IPv6 address only"
msgstr "pouze IPv6 adresu"
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr "Obě IPv4 a IPv6 adresy"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Typ služby"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Adresa GnuDIP serveru"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Neplatný název serveru"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "URL adresa aktualizace"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Přijímat veškeré SSL certifikáty"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Použít základní HTTP ověřování"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Doménový název"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Neplatný doménový název"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Uživatelské jméno"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Zobrazit heslo"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Použijte IPv6 místo IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr "Typ IP adresy"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Toto pole je povinné."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Doména již existuje."
@ -2113,9 +2132,8 @@ msgid "Last update"
msgstr "Minulá aktualizace"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP adresa"
msgid "IP Addresses"
msgstr "IP Adresy"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2125,7 +2143,7 @@ msgid "Actions"
msgstr "Akce"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "Upravit doménu %(domain)s"
@ -2142,12 +2160,12 @@ msgstr "Úspěšné"
msgid "Failed"
msgstr "Selhalo"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Smazat doménu %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Nejsou nakonfigurovány žádné domény."
@ -2969,7 +2987,7 @@ msgstr ""
#: plinth/modules/first_boot/__init__.py:47
msgid "First Boot"
msgstr ""
msgstr "První start"
#: plinth/modules/first_boot/__init__.py:68
msgid "Setup complete! Next steps:"
@ -2993,18 +3011,14 @@ msgid "See next steps"
msgstr "Viz další kroky"
#: plinth/modules/first_boot/forms.py:14
#, fuzzy, python-brace-format
#| msgid ""
#| "Enter the secret generated during FreedomBox installation. This secret "
#| "can also be obtained by running the command \"sudo cat /var/lib/plinth/"
#| "firstboot-wizard-secret\" on your {box_name}"
#, python-brace-format
msgid ""
"Enter the secret generated during {box_name} installation. This secret can "
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
"wizard-secret\" on your {box_name}"
msgstr ""
"Zadejte tajemství vygenerované při instalaci FreedomBoxu. Toto tajemství lze "
"také získat spuštěním příkazu \"sudo cat /var/lib/plinth/firstboot-wizard-"
"Zadejte tajemství vygenerované při instalaci {box_name}. Toto tajemství lze "
"získat spuštěním příkazu \"sudo cat /var/lib/plinth/firstboot-wizard-"
"secret\" na vašem {box_name}"
#: plinth/modules/first_boot/forms.py:19
@ -3723,11 +3737,7 @@ msgstr ""
"kvalitativní, soukromí a právní kontroly provádí upstreamový projekt, nikoli "
"Debian/{box_name}. Aktualizace se provádějí podle nezávislého cyklu."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Tato aplikace je experimentální."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -4670,10 +4680,14 @@ msgid ""
"game. It allows users to build and explore 3D worlds, interact with others, "
"and engage in various activities such as crafting, mining, and combat."
msgstr ""
"Luanti, dříve známá jako Minetest, je sandboxová hra pro více hráčů s "
"nekonečným světem založená na blocích. Umožňuje uživatelům stavět a "
"prozkoumávat 3D světy, komunikovat s ostatními a věnovat se různým "
"činnostem, jako je výroba předmětů, těžba surovin a boj."
#: plinth/modules/minetest/__init__.py:36
msgid "Luanti offers several educational benefits, including:"
msgstr ""
msgstr "Luanti nabízí několik vzdělávacích výhod, včetně:"
#: plinth/modules/minetest/__init__.py:37
msgid ""
@ -4682,6 +4696,10 @@ msgid ""
"exploration.</li><li>Fostering social interaction and collaboration among "
"players.</li></ul>"
msgstr ""
"<ul><li>Rozvoj prostorového uvažování a schopností řešit problémy.</"
"li><li>Podpora kreativity a sebevyjádření prostřednictvím stavění a "
"objevování.</li><li>Podpora sociálních interakcí a spolupráce mezi hráči.</"
"li></ul>"
#: plinth/modules/minetest/__init__.py:43
#, python-brace-format
@ -4692,6 +4710,11 @@ msgid ""
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
"documentation</a> or online resources."
msgstr ""
"Chcete-li začít, nainstalujte na zařízení uživatelů <a href=\"https://"
"www.luanti.org/downloads/\">klient Luanti</a> a připojte se k serveru Luanti "
"pomocí IP adresy {box_name} a výchozího portu (30000). Další informace "
"najdete v oficiální <a href=\"https://docs.luanti.org/\">dokumentaci k "
"Minetestu</a> nebo v online zdrojích."
#: plinth/modules/minetest/__init__.py:68 plinth/modules/minetest/manifest.py:9
msgid "Luanti"
@ -10231,6 +10254,10 @@ msgstr "IP adresa, která bude přiřazena k tomuto klientovi"
msgid "Add Client"
msgstr "Přidat klienta"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP adresa"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr "Soukromý klíč"
@ -10635,19 +10662,19 @@ msgstr "soubor s nastaveními: {file}"
msgid "Timeout waiting for package manager"
msgstr "Časový limit čekání na správce balíčků"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr "Jedinečně identifikovat váš uživatelský účet s uživatelským jménem"
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr "Zobrazit emailovou adresu"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr "Zobrazit základní informace o profilu (např. jméno a e-mail)"
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr "Zobrazení oprávnění, které má účet"
@ -10808,6 +10835,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Služba <em>%(service_name)s</em> není spuštěná."
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr "Přidat novou aplikaci"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr "Nejsou k dispozici žádné další aplikace."
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr "Přidání nové aplikace"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr "Nejsou k dispozici žádné aplikace."
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10853,18 +10896,6 @@ msgstr "Vyberte jazyk"
msgid "Log in"
msgstr "Přihlásit"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Přidání nového peeru"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Domény k dispozici"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Spustit webového klienta"
@ -11119,11 +11150,11 @@ msgstr ""
msgid "Here"
msgstr "Zde"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Nastavení se nezměnila"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "před odinstalací {app_id}"
@ -11132,6 +11163,15 @@ msgstr "před odinstalací {app_id}"
msgid "Gujarati"
msgstr "gudžarátština"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Použijte IPv6 místo IPv4"
#~ msgid "This app is experimental."
#~ msgstr "Tato aplikace je experimentální."
#~ msgid "Available for install"
#~ msgstr "K dispozici k instalaci"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -657,7 +657,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1077,7 +1076,7 @@ msgid "No passwords currently configured."
msgstr "Endnu ingen kodeord konfigureret."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1769,7 +1768,7 @@ msgstr "Kør webklient"
msgid "P2P"
msgstr "I2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1777,60 +1776,60 @@ msgstr ""
"Systemets diagnostiske test vil udføre en række tjek af dit system for at "
"afgøre om applikationer og tjenester virker som forventet."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnosticering"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "lykkedes"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "mislykkedes"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "fejl"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "Du bør deaktivere nogle applikationer for at frigøre hukommelse."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Du bør ikke installere flere applikationer på dette system."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1840,28 +1839,28 @@ msgstr ""
"{memory_available} {memory_available_unit} fri{percent_used}{percent_used}. "
"{advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Lav hukommelse"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Run Diagnostics"
msgid "Running diagnostics"
msgstr "Kør Diagnostik"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Diagnostics results"
msgstr "Diagnostiske Resultater"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Go to diagnostics results"
@ -2140,68 +2139,94 @@ msgstr "Lad dette felt stå tomt hvis du vil beholde dit nuværende kodeord."
msgid "The username that was used when the account was created."
msgstr "Brugernavnet der blev brugt ved kontooprettelse."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
#, fuzzy
#| msgid "other update URL"
msgid "Other update URL"
msgstr "anden opdaterings-URL"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "IP-adresse"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "IP-adresse"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Invalid server name"
msgid "Both IPv4 and IPv6 addresses"
msgstr "Ugyldigt servernavn"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Servicetype"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "GnuDIP Serveradresse"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Ugyldigt servernavn"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Opdaterings-URL"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Accepter alle SSL-certifikater"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Brug basal (\"basic\") HTTP-autentifikation"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Domænenavn"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Ugyldigt domænenavn"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Brugernavn"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Vis kodeord"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP address"
msgid "IP Address Type"
msgstr "IP-adresse"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "This service already exists"
msgid "Domain already exists."
@ -2251,11 +2276,10 @@ msgid "Last update"
msgstr "Seneste opdatering"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "IP-adresse"
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "IP-adresser"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2265,7 +2289,7 @@ msgid "Actions"
msgstr "Handlinger"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2288,13 +2312,13 @@ msgstr "Adgang"
msgid "Failed"
msgstr "mislykkedes"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete connection %(name)s"
msgid "Delete domain %(domain)s"
msgstr "Slet forbindelse %(name)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "Error setting domain name: {exception}"
msgid "No domains configured."
@ -3885,11 +3909,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10443,6 +10463,12 @@ msgstr ""
msgid "Add Client"
msgstr "Quassel IRC-klient"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "IP-adresse"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Create User"
@ -10859,19 +10885,19 @@ msgstr "konfigurationsfil: {file}"
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -11065,6 +11091,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Tjenestesøgningstjenesten er ikke aktiv"
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Advanced"
msgid "Add New App"
msgstr "Avanceret"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Advanced"
msgid "Add new app"
msgstr "Avanceret"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -11113,18 +11159,6 @@ msgstr "Sprog"
msgid "Log in"
msgstr "Log ind"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Advanced"
msgid "Add new app"
msgstr "Avanceret"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Tilgængelige Domæner"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Kør webklient"
@ -11387,11 +11421,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Indstilling uændret"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -11400,6 +11434,11 @@ msgstr ""
msgid "Gujarati"
msgstr ""
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Tilgængelige Domæner"
#, fuzzy, python-brace-format
#~| msgid ""
#~| "Minetest is a multiplayer infinite-world block sandbox. This module "

View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"PO-Revision-Date: 2026-06-28 16:01+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
"PO-Revision-Date: 2026-08-20 00:46+0000\n"
"Last-Translator: Dietmar <sagen@permondes.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/freedombox/"
"freedombox/de/>\n"
@ -19,7 +19,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 2026.7.dev0\n"
"X-Generator: Weblate 2026.9.dev0\n"
#: plinth/config.py:103
#, python-brace-format
@ -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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -654,7 +654,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1056,7 +1055,7 @@ msgid "No passwords currently configured."
msgstr "Derzeit sind keine Passwörter konfiguriert."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1714,7 +1713,7 @@ msgstr "Webclient"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1722,7 +1721,7 @@ msgstr ""
"Der Systemdiagnosetest wird eine Reihe von Tests auf dem System durchführen, "
"um zu überprüfen, ob alle Anwendungen und Dienste funktionieren."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1731,55 +1730,55 @@ msgstr ""
"Diese App zeigt auch die <a href=\"{logs_url}\">Protokolle</a> für "
"{box_name} Dienste an."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnose"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "übersprungen"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "bestanden"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "gescheitert"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "Fehler"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "Warnung"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
"Sie sollten einige Anwendungen deaktivieren, um den Speicherverbrauch zu "
"reduzieren."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Sie sollten auf diesem System keine neuen Anwendungen installieren."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1788,24 +1787,24 @@ msgstr ""
"Das System hat wenig Speicherplatz: {percent_used}% verwendet, "
"{memory_available}·{memory_available_unit}frei. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Wenig Speicher"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Laufende Diagnosen"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "Bei Routinetests wurden {issue_count} Probleme gefunden."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Diagnose-Ergebnisse"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Zu Diagnose-Ergebnisse gehen"
@ -2059,66 +2058,86 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr "Benutzername, der beim Erstellen des Kontos gewählt wurde."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
"Wählen Sie je nachdem, was Ihr Internetdienstanbieter bereitstellt: eine "
"öffentliche IPv4-Adresse, eine öffentliche IPv6-Adresse oder beides."
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Andere Update-URL"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr "Nur IPv4-Adresse"
#: plinth/modules/dynamicdns/forms.py:58
msgid "IPv6 address only"
msgstr "Nur IPv6-Adresse"
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr "Sowohl IPv4- als auch IPv6-Adressen"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Typ des Dienstes"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "GnuDIP-Server-Adresse"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Ungültiger Servername"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "URL aktualisieren"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Alle SSL-Zertifikate akzeptieren"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "HTTP-Basisauthentifizierung verwenden"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Domain-Name"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Ungültiger Domain-Name"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Benutzername"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Passwort anzeigen"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Verwenden Sie IPv6 statt IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr "IP-Adresstyp"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Dieses Feld ist erforderlich."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Domain existiert bereits."
@ -2160,9 +2179,8 @@ msgid "Last update"
msgstr "Letztes Update"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP-Adresse"
msgid "IP Addresses"
msgstr "IP-Adressen"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2172,7 +2190,7 @@ msgid "Actions"
msgstr "Aktionen"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "Domäne bearbeiten: %(domain)s"
@ -2189,12 +2207,12 @@ msgstr "Erfolg"
msgid "Failed"
msgstr "Gescheitert"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Domäne löschen: %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Es ist keine Domäne konfiguriert."
@ -3022,7 +3040,7 @@ msgstr ""
#: plinth/modules/first_boot/__init__.py:47
msgid "First Boot"
msgstr ""
msgstr "Erster Start"
#: plinth/modules/first_boot/__init__.py:68
msgid "Setup complete! Next steps:"
@ -3046,18 +3064,14 @@ msgid "See next steps"
msgstr "Siehe nächste Schritte"
#: plinth/modules/first_boot/forms.py:14
#, fuzzy, python-brace-format
#| msgid ""
#| "Enter the secret generated during FreedomBox installation. This secret "
#| "can also be obtained by running the command \"sudo cat /var/lib/plinth/"
#| "firstboot-wizard-secret\" on your {box_name}"
#, python-brace-format
msgid ""
"Enter the secret generated during {box_name} installation. This secret can "
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
"wizard-secret\" on your {box_name}"
msgstr ""
"Geben Sie den geheimen Schlüssel ein, der während der FreedomBox-"
"Installation generiert wurde. Dieser Geheime kann auch durch Ausführen des "
"Geben Sie den geheimen Schlüssel ein, der während der {box_name}-"
"Installation generiert wurde. Dieser Geheime kann durch Ausführen des "
"Befehls \"sudo cat /var/lib/plinth/firstboot-wizard-secret\" auf Ihrer "
"{box_name}"
@ -3802,11 +3816,7 @@ msgstr ""
"vom Upstream-Projekt und nicht von Debian/{box_name} durchgeführt. "
"Aktualisierungen werden in einem unabhängigen Zyklus durchgeführt."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Diese App ist experimentell."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -4769,10 +4779,14 @@ msgid ""
"game. It allows users to build and explore 3D worlds, interact with others, "
"and engage in various activities such as crafting, mining, and combat."
msgstr ""
"Luanti, ehemals Minetest, ist ein Multiplayer-Sandbox-Spiel mit unendlichen "
"Welten, das auf Blöcken basiert. Es ermöglicht den Nutzern, 3D-Welten zu "
"erschaffen und zu erkunden, mit anderen zu interagieren und verschiedenen "
"Aktivitäten wie Handwerk, Bergbau und Kämpfen nachzugehen."
#: plinth/modules/minetest/__init__.py:36
msgid "Luanti offers several educational benefits, including:"
msgstr ""
msgstr "Luanti bietet zahlreiche Vorteile im Hinblick auf Bildung, darunter:"
#: plinth/modules/minetest/__init__.py:37
msgid ""
@ -4781,6 +4795,10 @@ msgid ""
"exploration.</li><li>Fostering social interaction and collaboration among "
"players.</li></ul>"
msgstr ""
"<ul><li>Förderung des räumlichen Denkens und der Problemlösungsfähigkeiten.</"
"li><li>Förderung von Kreativität und Selbstentfaltung durch Bauen und "
"Erkunden.</li><li>Förderung der sozialen Interaktion und Zusammenarbeit "
"zwischen den Spielern.</li></ul>"
#: plinth/modules/minetest/__init__.py:43
#, python-brace-format
@ -4791,10 +4809,16 @@ msgid ""
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
"documentation</a> or online resources."
msgstr ""
"Zu Beginn installieren Sie den <a href=\"https://www.luanti.org/downloads/\">"
"Luanti-Client</a> auf den Geräten der Benutzer und stellen über die IP-"
"Adresse von {box_name} und den Standardport (30000) eine Verbindung zum "
"Luanti-Server her. Weitere Informationen finden Sie in der offiziellen <a "
"href=\"https://docs.luanti.org/\">Minetest-Dokumentation</a> oder in Online-"
"Ressourcen."
#: plinth/modules/minetest/__init__.py:68 plinth/modules/minetest/manifest.py:9
msgid "Luanti"
msgstr ""
msgstr "Luanti"
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
@ -10457,15 +10481,17 @@ msgstr "IP-Adresse, die diesem Client zugewiesen wird"
msgid "Add Client"
msgstr "Client hinzufügen"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP-Adresse"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Private key path"
msgid "Private Key"
msgstr "Private Key"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:29
msgid "Click to reveal"
msgstr ""
msgstr "Zum Anzeigen klicken"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:36
msgid "Important:"
@ -10474,6 +10500,8 @@ msgstr "Wichtig:"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:37
msgid "Save the private key now. This page shows it only once!"
msgstr ""
"Speichern Sie den privaten Schlüssel jetzt. Diese Seite zeigt ihn nur einmal "
"an!"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:41
msgid "Client configuration file"
@ -10873,21 +10901,21 @@ msgstr "Konfigurationsdatei: {file}"
msgid "Timeout waiting for package manager"
msgstr "Zeitüberschreitung beim Warten auf den Paket-Manager"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
"Identifizieren Sie Ihr Benutzerkonto eindeutig anhand des Benutzernamens"
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr "E-Mail-Adresse anzeigen"
#: plinth/settings.py:185
#: plinth/settings.py:184
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
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr "Die Berechtigungen dieses Kontos anzeigen"
@ -11053,6 +11081,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Dienst <em>%(service_name)s</em> läuft nicht."
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr "Neue App hinzufügen"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr "Es stehen keine weiteren Apps zum Hinzufügen zur Verfügung."
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr "Neue App hinzufügen"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr "Derzeit sind keine Apps hinzugefügt."
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -11098,18 +11142,6 @@ msgstr "Sprache wählen"
msgid "Log in"
msgstr "Anmelden"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Hinzufügen eines neuen Peers"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Verfügbare Domains"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Webclient starten"
@ -11365,11 +11397,11 @@ msgstr ""
msgid "Here"
msgstr "Hier"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Einstellung unverändert"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "vor der Deinstallation von {app_id}"
@ -11378,6 +11410,17 @@ msgstr "vor der Deinstallation von {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Verwenden Sie IPv6 statt IPv4"
#~ msgid "This app is experimental."
#~ msgstr "Diese App ist experimentell."
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Verfügbare Domains"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr ""
@ -595,7 +595,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -952,7 +951,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1545,90 +1544,90 @@ msgstr ""
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1844,66 +1843,84 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1945,8 +1962,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -1957,7 +1973,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -1974,12 +1990,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3346,11 +3362,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9005,6 +9017,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9365,19 +9381,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9525,6 +9541,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9567,14 +9599,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9808,11 +9832,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "Freedombox"
@ -665,7 +665,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1086,7 +1085,7 @@ msgid "No passwords currently configured."
msgstr "Δεν έχουν ρυθμιστεί μερίσματα."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1778,7 +1777,7 @@ msgstr "Εκτέλεση περιηγητή ιστού"
msgid "P2P"
msgstr "I2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1787,94 +1786,94 @@ msgstr ""
"σύστημά σας για να επιβεβαιώσει ότι οι εφαρμογές και οι υπηρεσίες "
"λειτουργούν όπως αναμένεται."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Διαγνωστικά"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
#, fuzzy
#| msgid "Quassel"
msgid "passed"
msgstr "Quassel"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
#, fuzzy
#| msgid "Setup failed."
msgid "failed"
msgstr "Η εγκατάσταση απέτυχε."
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
#, fuzzy
#| msgid "Git"
msgid "GiB"
msgstr "Git"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Run Diagnostics"
msgid "Running diagnostics"
msgstr "Εκτέλεση διαγνωστικών"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Diagnostics results"
msgstr "Αποτελέσματα διαγνωστικών τεστ"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Go to diagnostics results"
@ -2164,68 +2163,94 @@ msgid "The username that was used when the account was created."
msgstr ""
"Το όνομα χρήστη που χρησιμοποιήθηκε κατά τη δημιουργία του λογαριασμού."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "Διεύθυνση URL ενημέρωσης"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "Διεύθυνση IP"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "Διεύθυνση IP"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Invalid server name"
msgid "Both IPv4 and IPv6 addresses"
msgstr "Μη έγκυρο όνομα διακομιστή"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Τύπος υπηρεσίας"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Διεύθυνση διακομιστή GnuDIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Μη έγκυρο όνομα διακομιστή"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Διεύθυνση URL ενημέρωσης"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Αποδοχή όλων των πιστοποιητικών SSL"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Χρήση βασικού ελέγχου ταυτότητας HTTP"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Όνομα διαδικτύου"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Μη έγκυρο όνομα διαδικτύου"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Όνομα χρήστη"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Εμφάνιση κωδικού"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP address"
msgid "IP Address Type"
msgstr "Διεύθυνση IP"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Domain already exists."
@ -2275,10 +2300,9 @@ msgid "Last update"
msgstr "Τελευταία ενημέρωση"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgid "IP Addresses"
msgstr "Διεύθυνση IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2289,7 +2313,7 @@ msgid "Actions"
msgstr "Ενέργειες"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2312,13 +2336,13 @@ msgstr "Πρόσβαση"
msgid "Failed"
msgstr "Η εγκατάσταση απέτυχε."
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete connection %(name)s"
msgid "Delete domain %(domain)s"
msgstr "Διαγράψτε domain %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "No shares currently configured."
msgid "No domains configured."
@ -3918,11 +3942,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10647,6 +10667,12 @@ msgstr ""
msgid "Add Client"
msgstr "Πελάτης IRC"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "Διεύθυνση IP"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Private repository"
@ -11067,19 +11093,19 @@ msgstr "αρχείο ρυθμίσεων: {file}"
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -11287,6 +11313,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Η υπηρεσία <em>%(service_name)s </em> δεν εκτελείται."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add new introducer"
msgid "Add New App"
msgstr "Προσθέστε νέο εισαγωγέα"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add new introducer"
msgid "Add new app"
msgstr "Προσθέστε νέο εισαγωγέα"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -11331,18 +11377,6 @@ msgstr "Επιλογή γλώσσας"
msgid "Log in"
msgstr "Σύνδεση"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add new introducer"
msgid "Add new app"
msgstr "Προσθέστε νέο εισαγωγέα"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Διαθέσιμα ονόματα"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Εκτέλεση περιηγητή ιστού"
@ -11620,11 +11654,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Οι ρυθμίσεις δεν άλλαξαν"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -11633,6 +11667,11 @@ msgstr ""
msgid "Gujarati"
msgstr "Gujarati"
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Διαθέσιμα ονόματα"
#, fuzzy, python-brace-format
#~| msgid ""
#~| "Minetest is a multiplayer infinite-world block sandbox. This module "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -668,7 +668,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1078,7 +1077,7 @@ msgid "No passwords currently configured."
msgstr "Actualmente no hay contraseñas configuradas."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1760,7 +1759,7 @@ msgstr "Lanzar cliente web"
msgid "P2P"
msgstr "I2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1768,61 +1767,61 @@ msgstr ""
"El test de diagnóstico del sistema ejecuta una serie de comprobaciones para "
"confirmar que las aplicaciones y servicios están funcionando como se espera."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnósticos"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "omitido"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "ok."
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "Falló"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "error"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "aviso"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
"Habría que deshabilitar algunas apps para reducir el consumo de memoria."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Hay que evitar instalar más apps en este sistema."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1831,25 +1830,25 @@ msgstr ""
"El sistema va justo de memoria: {percent_used}% usada, {memory_available} "
"{memory_available_unit} libres. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Poca memoria libre"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Ejecutando los diagnósticos"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
"Se han encontrado {issue_count} problemas durante las pruebas rutinarias."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Resultados de los diagnósticos"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Ir a los resultados de los diagnósticos"
@ -2115,66 +2114,92 @@ msgstr "Deje vacío este campo si quiere conservar su clave actual."
msgid "The username that was used when the account was created."
msgstr "El nombre de usuaria/o que empleó al crear la cuenta."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Otra URL de actualización"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "Dirección IP"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "Dirección IP"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Enter a valid username."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Indique un nombre de usuario válido."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Tipo de servicio"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Dirección del servidor GnuDIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Nombre de servidor no válido"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "URL de actualización"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Aceptar todos los certificados SSL"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Usar autenticación básica de HTTP"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Nombre de dominio"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Nombre de dominio no válido"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Nombre de usuaria/o"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Mostrar clave de acceso"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Use IPv6 en vez de IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "Dirección IP"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Este es un campo obligatorio."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "Content package already exists."
msgid "Domain already exists."
@ -2224,9 +2249,10 @@ msgid "Last update"
msgstr "Última actualización"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Dirección IP"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "Direcciones IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2236,7 +2262,7 @@ msgid "Actions"
msgstr "Acciones"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, fuzzy, python-format
#| msgid "Resolve domain name: {domain}"
msgid "Edit domain %(domain)s"
@ -2256,13 +2282,13 @@ msgstr "Éxito"
msgid "Failed"
msgstr "Falló"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Resolve domain name: {domain}"
msgid "Delete domain %(domain)s"
msgstr "Resolver nombre de dominio: {domain}"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "Cannot test: No domains are configured."
msgid "No domains configured."
@ -3858,11 +3884,7 @@ msgstr ""
"{box_name} . Las actualizaciones se realizan siguiendo un ciclo "
"independiente."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Esta aplicación es experimental."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10563,6 +10585,10 @@ msgstr "Dirección IP para el cliente:"
msgid "Add Client"
msgstr "Añadir cliente"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Dirección IP"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Private key of this machine"
@ -10982,21 +11008,21 @@ msgstr "archivo de configuración: {file}"
msgid "Timeout waiting for package manager"
msgstr "Tiempo máximo esperando al administrador de paquetes"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "solicitando dirección"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -11178,6 +11204,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "El servidor <em>%(service_name)s</em> no se está ejecutando."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add a new peer"
msgid "Add New App"
msgstr "Añadir nuevo par"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Añadir nuevo par"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -11225,18 +11271,6 @@ msgstr "Seleccionar idioma"
msgid "Log in"
msgstr "Iniciar sesión"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Añadir nuevo par"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Dominios disponibles"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Lanzar cliente web"
@ -11499,11 +11533,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Configuración sin cambio"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "antes de desinstalar {app_id}"
@ -11512,6 +11546,17 @@ msgstr "antes de desinstalar {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Use IPv6 en vez de IPv4"
#~ msgid "This app is experimental."
#~ msgstr "Esta aplicación es experimental."
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Dominios disponibles"
#, fuzzy, python-brace-format
#~| msgid ""
#~| "Minetest is a multiplayer infinite-world block sandbox. This module "

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"PO-Revision-Date: 2026-01-09 20:01+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
"PO-Revision-Date: 2026-08-11 10:51+0000\n"
"Last-Translator: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>\n"
"Language-Team: Estonian <https://hosted.weblate.org/projects/freedombox/"
"freedombox/et/>\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\n"
"X-Generator: Weblate 2026.9.dev0\n"
#: plinth/config.py:103
#, python-brace-format
@ -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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -167,7 +167,7 @@ msgstr "Veebiliides (Plinth) {box_name}"
#: plinth/modules/apache/__init__.py:129
msgid "Web app protected by FreedomBox"
msgstr ""
msgstr "Veebirakendust kaitseb FreedomBox"
#: plinth/modules/apache/components.py:234
#, python-brace-format
@ -398,10 +398,8 @@ msgid "Passphrase"
msgstr "Salafraas"
#: plinth/modules/backups/forms.py:187
#, fuzzy
#| msgid "Passphrase; Only needed when using encryption."
msgid "Only needed when using encryption."
msgstr "Salafraasi on vaja vaid krüptimise kasutamisel."
msgstr "Seda on vaja vaid krüptimise kasutamisel."
#: plinth/modules/backups/forms.py:190
msgid "Confirm Passphrase"
@ -619,7 +617,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -945,7 +942,7 @@ msgstr ""
#: plinth/modules/bepasty/forms.py:33
#: plinth/modules/bepasty/templates/bepasty.html:32
msgid "Comment"
msgstr "Komentaar"
msgstr "Kommentaar"
#: plinth/modules/bepasty/forms.py:34
msgid "Any comment to help you remember the purpose of this password."
@ -976,7 +973,7 @@ msgid "No passwords currently configured."
msgstr "Hetkel pole ühtegi salasõna seadistatud."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1586,90 +1583,90 @@ msgstr ""
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnostika"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "vahelejäetud"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "läbi läinud"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "ebaõnnestunud"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "viga"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "hoiatus"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1885,66 +1882,92 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "IP-aadress"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "IP-aadress"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Not a valid IP address."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Pole korrektne IP-aadress."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP address"
msgid "IP Address Type"
msgstr "IP-aadress"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1986,9 +2009,10 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#, fuzzy
#| msgid "IP address"
msgid "IP Addresses"
msgstr "IP-aadress"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -1998,7 +2022,7 @@ msgid "Actions"
msgstr "Tegevused"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2015,12 +2039,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3387,11 +3411,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -5925,10 +5945,8 @@ msgid "OpenID Connect Provider"
msgstr ""
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:14
#, fuzzy
#| msgid "Application installed."
msgid "Application"
msgstr "Rakendus on paigaldatud."
msgstr "Rakendus"
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:22
msgid "Authorize App"
@ -6884,7 +6902,7 @@ msgstr ""
#: plinth/modules/security/templates/security_report.html:45
msgid "App Name"
msgstr "Rakendus"
msgstr "Rakenduse nimi"
#: plinth/modules/security/templates/security_report.html:46
msgid "Current Vulnerabilities"
@ -8694,10 +8712,8 @@ 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"
msgstr "Uuenda pääsuvõtit"
#: plinth/modules/users/templates/users_passkeys.html:30
msgid "Adding passkey failed: "
@ -8726,26 +8742,20 @@ 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"
msgstr "Lisa pääsuvõti"
#: plinth/modules/users/templates/users_passkeys.html:93
#, fuzzy
#| msgid "Domain"
msgid "For Domain"
msgstr "Domeen"
msgstr "Domeeni jaoks"
#: 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"
msgstr "Viimati kasutatud"
#: plinth/modules/users/templates/users_passkeys.html:126
msgid "No passkeys added to user account."
@ -8760,10 +8770,8 @@ 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"
msgstr "Kustuta pääsuvõti"
#: plinth/modules/users/templates/users_passkeys.html:155
#: plinth/modules/users/templates/users_update.html:72
@ -8840,10 +8848,8 @@ 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."
msgstr "Sellise tunnusega pääsuvõti on juba olemas."
#: plinth/modules/users/views.py:431
msgid "Edit Passkey"
@ -8877,10 +8883,8 @@ msgid "Invalid key."
msgstr "Vigane võti."
#: plinth/modules/wireguard/forms.py:63
#, fuzzy
#| msgid "IP address"
msgid "Not a valid IP address."
msgstr "IP-aadress"
msgstr "Pole korrektne IP-aadress."
#: plinth/modules/wireguard/forms.py:69
#: plinth/modules/wireguard/templates/wireguard.html:29
@ -8983,10 +8987,8 @@ msgid "Value"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:33
#, fuzzy
#| msgid "Endpoint"
msgid "Endpoint(s)"
msgstr "Otspunkt"
msgstr "Otspunkt(id)"
#: plinth/modules/wireguard/templates/wireguard.html:41
#, python-format
@ -9033,10 +9035,8 @@ msgid "Add Allowed Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:103
#, fuzzy
#| msgid "Password changed successfully."
msgid "WireGuard server not started yet."
msgstr "Salasõna muutmine õnnestus."
msgstr "WireGuardi server pole veel käivitatud."
#: plinth/modules/wireguard/templates/wireguard.html:107
#: plinth/modules/wireguard/templates/wireguard.html:109
@ -9072,20 +9072,20 @@ msgid "Add Connection to Server"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_add_client.html:21
#, fuzzy
#| msgid "IP address to use for client:"
msgid "IP address that will be assigned to this client"
msgstr "IP-aadress kasutamiseks kliendi jaoks:"
msgstr "IP-aadress, mis määratakse selle kliendi jaoks"
#: plinth/modules/wireguard/templates/wireguard_add_client.html:31
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Privacy"
msgid "Private Key"
msgstr "Privaatsus"
msgstr "Privaatvõti"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:29
msgid "Click to reveal"
@ -9100,10 +9100,8 @@ msgid "Save the private key now. This page shows it only once!"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:41
#, fuzzy
#| msgid "Configuration"
msgid "Client configuration file"
msgstr "Seadistused"
msgstr "Kliendi seadistustefail"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:43
msgid ""
@ -9112,10 +9110,8 @@ msgid ""
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:49
#, fuzzy
#| msgid "warning"
msgid "Warning:"
msgstr "hoiatus"
msgstr "Hoiatus:"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:50
msgid ""
@ -9284,10 +9280,8 @@ msgid "Server deleted."
msgstr ""
#: plinth/modules/wireguard/views.py:408
#, fuzzy
#| msgid "Password changed successfully."
msgid "WireGuard server started successfully."
msgstr "Salasõna muutmine õnnestus."
msgstr "WireGuardi serveri käivitamine õnnestus."
#: plinth/modules/wireguard/views.py:412
msgid "Failed to start WireGuard server: {}"
@ -9449,19 +9443,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9609,6 +9603,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9628,10 +9638,8 @@ msgid " System"
msgstr ""
#: plinth/templates/base.html:179 plinth/templates/base.html:180
#, fuzzy
#| msgid "Manage Passwords"
msgid "Manage passkeys"
msgstr "Halda salasõnu"
msgstr "Halda pääsuvõtmeid"
#: plinth/templates/base.html:186 plinth/templates/base.html:187
msgid "Change password"
@ -9653,16 +9661,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Backup app before uninstall"
msgid "Available for install"
msgstr "Enne rakenduse eemaldamist palun tee varukoopia"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9899,11 +9897,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -9912,5 +9910,8 @@ msgstr ""
msgid "Gujarati"
msgstr ""
#~ msgid "Available for install"
#~ msgstr "Saadaval paigalduseks"
#~ msgid "Single Sign On"
#~ msgstr "Ühekordne sisselogimine"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
#, fuzzy
msgid "FreedomBox"
msgstr "FreedomBox"
@ -665,7 +665,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1061,7 +1060,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1732,7 +1731,7 @@ msgstr "به‌روزرسانی وضعیت"
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1740,88 +1739,88 @@ msgstr ""
"برنامهٔ عیب‌یابی با روش‌های مختلفی سیستم شما را می‌آزماید تا مطمئن شود که "
"برنامه‌های و سرویس‌ها درست کار می‌کنند."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "عیب‌یابی"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Run Diagnostics"
msgid "Running diagnostics"
msgstr "اجرای عیب‌یابی"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Diagnostics results"
msgstr "نتیجهٔ عیب‌یابی"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Go to diagnostics results"
@ -2104,68 +2103,94 @@ msgstr "اگر نمی‌خواهید رمزتان را عوض کنید، این
msgid "The username that was used when the account was created."
msgstr "نام کاربری که هنگام ساختن حساب به‌کار برده شد."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "نشانی به‌روزرسانی"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "نشانی آی‌پی"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "نشانی آی‌پی"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Invalid server name"
msgid "Both IPv4 and IPv6 addresses"
msgstr "نام کاربری معتبر نیست"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "نوع سرویس"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "نشانی سرور GnuDIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "نام کاربری معتبر نیست"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "نشانی به‌روزرسانی"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "همهٔ گواهی‌نامه‌های SSL را بپذیر"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "به‌کاربردن تأیید هویت سادهٔ تحت وب"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "نام دامنه"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "نام دامنه معتبر نیست"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "نام کاربری"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "رمز را نشان بده"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP address"
msgid "IP Address Type"
msgstr "نشانی آی‌پی"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "No wikis or blogs available."
msgid "Domain already exists."
@ -2213,10 +2238,9 @@ msgid "Last update"
msgstr "آخرین به‌روزرسانی"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgid "IP Addresses"
msgstr "نشانی آی‌پی"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2227,7 +2251,7 @@ msgid "Actions"
msgstr "کنش‌ها"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2248,13 +2272,13 @@ msgstr "نقطهٔ دسترسی"
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete connection %(name)s"
msgid "Delete domain %(domain)s"
msgstr "اتصال %(name)s را پاک کن"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "Error setting domain name: {exception}"
msgid "No domains configured."
@ -3761,11 +3785,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9963,6 +9983,12 @@ msgstr ""
msgid "Add Client"
msgstr "برنامهٔ DNS متغیر (Dynamic DNS Client)"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "نشانی آی‌پی"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Create Connection"
@ -10370,19 +10396,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10546,6 +10572,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10593,16 +10635,6 @@ msgstr "زبان"
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "دامنه‌های موجود"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -10851,11 +10883,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -10864,6 +10896,11 @@ msgstr ""
msgid "Gujarati"
msgstr ""
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "دامنه‌های موجود"
#, fuzzy, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FREEDOMBOX"
@ -688,7 +688,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1098,7 +1097,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1790,7 +1789,7 @@ msgstr "LAUNCH WEB CLIENT"
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1798,90 +1797,90 @@ msgstr ""
"THE SYSTEM DIAGNOSTIC TEST WILL RUN A NUMBER OF CHECKS ON YOUR SYSTEM TO "
"CONFIRM THAT APPLICATIONS AND SERVICES ARE WORKING AS EXPECTED."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "DIAGNOSTICS"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
#, fuzzy
#| msgid "Setup failed."
msgid "failed"
msgstr "SETUP FAILED."
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Run Diagnostics"
msgid "Running diagnostics"
msgstr "RUN DIAGNOSTICS"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Diagnostics results"
msgstr "DIAGNOSTIC RESULTS"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Go to diagnostics results"
@ -2187,72 +2186,98 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "UPDATE URL"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "IP ADDRESS"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "IP ADDRESS"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Invalid server name"
msgid "Both IPv4 and IPv6 addresses"
msgstr "INVALID SERVER NAME"
#: plinth/modules/dynamicdns/forms.py:61
#, fuzzy
#| msgid "Service type"
msgid "Service Type"
msgstr "SERVICE TYPE"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
#, fuzzy
#| msgid "GnudIP Server Address"
msgid "GnuDIP Server Address"
msgstr "GNUDIP SERVER ADDRESS"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "INVALID SERVER NAME"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "UPDATE URL"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "ACCEPT ALL SSL CERTIFICATES"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "USE HTTP BASIC AUTHENTICATION"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "DOMAIN NAME"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "INVALID DOMAIN NAME"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "USERNAME"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "SHOW PASSWORD"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP address"
msgid "IP Address Type"
msgstr "IP ADDRESS"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "This service already exists"
msgid "Domain already exists."
@ -2304,10 +2329,9 @@ msgid "Last update"
msgstr "LAST UPDATE"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgid "IP Addresses"
msgstr "IP ADDRESS"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2318,7 +2342,7 @@ msgid "Actions"
msgstr "ACTIONS"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2341,13 +2365,13 @@ msgstr "PUBLISH KEY"
msgid "Failed"
msgstr "SETUP FAILED."
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete connection %(name)s"
msgid "Delete domain %(domain)s"
msgstr "DELETE CONNECTION %(name)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "Error setting domain name: {exception}"
msgid "No domains configured."
@ -3921,11 +3945,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10458,6 +10478,12 @@ msgstr ""
msgid "Add Client"
msgstr "QUASSEL IRC CLIENT"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "IP ADDRESS"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Create User"
@ -10877,19 +10903,19 @@ msgstr "CONFIGURATION"
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -11083,6 +11109,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "SERVICE DISCOVERY SERVER IS NOT RUNNING"
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Added custom service"
msgid "Add New App"
msgstr "ADDED CUSTOM SERVICE"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Added custom service"
msgid "Add new app"
msgstr "ADDED CUSTOM SERVICE"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -11135,18 +11181,6 @@ msgstr "LANGUAGE"
msgid "Log in"
msgstr "LOG IN"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Added custom service"
msgid "Add new app"
msgstr "ADDED CUSTOM SERVICE"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Enable Subdomains"
msgid "Available for install"
msgstr "ENABLE SUBDOMAINS"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "LAUNCH WEB CLIENT"
@ -11413,11 +11447,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "SETTING UNCHANGED"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -11426,6 +11460,11 @@ msgstr ""
msgid "Gujarati"
msgstr ""
#, fuzzy
#~| msgid "Enable Subdomains"
#~ msgid "Available for install"
#~ msgstr "ENABLE SUBDOMAINS"
#, fuzzy, python-brace-format
#~| msgid ""
#~| "When enabled, the blogs and wikis will be available from <a href=\"/"

View File

@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"PO-Revision-Date: 2026-07-06 15:01+0000\n"
"Last-Translator: Coucouf <coucouf@coucouf.fr>\n"
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
"PO-Revision-Date: 2026-08-22 20:51+0000\n"
"Last-Translator: John Doe <thraex@numericable.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/freedombox/"
"freedombox/fr/>\n"
"Language: 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 2026.7.1.dev0\n"
"X-Generator: Weblate 2026.9.dev0\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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -648,7 +648,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1047,7 +1046,7 @@ msgid "No passwords currently configured."
msgstr "Aucun mot de passe actuellement configuré."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1715,7 +1714,7 @@ msgstr "Client web"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1724,7 +1723,7 @@ msgstr ""
"sur votre système pour confirmer que les applications et les services "
"fonctionnent comme prévu."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1733,55 +1732,55 @@ msgstr ""
"Lappli affiche également les <a href=\"{logs_url}\">journaux</a> des "
"services de la {box_name}."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnostics"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "ignoré"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "réussi"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "échoué"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "erreur"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "avertissement"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "Mio"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "Gio"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
"Vous devriez désactiver certaines application pour libérer de la mémoire."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
"Il est déconseillé dinstaller de nouvelles applications sur ce système."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1790,24 +1789,24 @@ msgstr ""
"Le système est bientôt à court de mémoire : {percent_used}% utilisés, "
"{memory_available} {memory_available_unit} libres. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Mémoire disponible faible"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Diagnostics en cours"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "{issue_count} problèmes trouvés lors des tests de routine."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Résultats des diagnostics"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Aller aux résultats des diagnostics"
@ -2063,66 +2062,86 @@ msgid "The username that was used when the account was created."
msgstr ""
"Le nom dutilisateur choisi lors de la création du compte DNS dynamique."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
"Choisissez en fonction de ce que votre FAI fournit : une adresse IPv4 "
"publique, une adresse IPv6 publique ou bien les deux à la fois."
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "URL de mise à jour alternative"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr "Adresse IPv4 seulement"
#: plinth/modules/dynamicdns/forms.py:58
msgid "IPv6 address only"
msgstr "Adresse IPv6 seulement"
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr "À la fois une adresse IPv4 et une adresse IPv6"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Type de service"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Adresse du serveur GnuDIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Nom de serveur invalide"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "URL dactualisation"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Accepter tous les certificats SSL"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Utiliser lauthentification HTTP basique"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Nom de domaine"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Nom de domaine invalide"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Nom dutilisateur"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Afficher le mot de passe"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Utiliser IPv6 au lieu dIPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr "Type d'adresse IP"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Ce champ est requis."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Le domaine existe déjà."
@ -2164,9 +2183,8 @@ msgid "Last update"
msgstr "Dernière mise à jour"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Adresse IP"
msgid "IP Addresses"
msgstr "Adresses IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2176,7 +2194,7 @@ msgid "Actions"
msgstr "Actions"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "Éditer le domaine : %(domain)s"
@ -2193,12 +2211,12 @@ msgstr "Succès"
msgid "Failed"
msgstr "Échec"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Effacer le domaine %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Aucun domaine nest configuré."
@ -3029,7 +3047,7 @@ msgstr ""
#: plinth/modules/first_boot/__init__.py:47
msgid "First Boot"
msgstr ""
msgstr "Premier démarrage"
#: plinth/modules/first_boot/__init__.py:68
msgid "Setup complete! Next steps:"
@ -3053,19 +3071,15 @@ msgid "See next steps"
msgstr "Voir les prochaines étapes"
#: plinth/modules/first_boot/forms.py:14
#, fuzzy, python-brace-format
#| msgid ""
#| "Enter the secret generated during FreedomBox installation. This secret "
#| "can also be obtained by running the command \"sudo cat /var/lib/plinth/"
#| "firstboot-wizard-secret\" on your {box_name}"
#, python-brace-format
msgid ""
"Enter the secret generated during {box_name} installation. This secret can "
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
"wizard-secret\" on your {box_name}"
msgstr ""
"Entrez le code secret généré durant linstallation de la FreedomBox. Il peut "
"également être obtenu en lançant la commande « sudo cat /var/lib/plinth/"
"firstboot-wizard-secret » sur votre {box_name}"
"Entrez le code secret généré durant linstallation de la {box_name}. Il peut "
"être obtenu en lançant la commande « sudo cat /var/lib/plinth/firstboot-"
"wizard-secret » sur votre {box_name}."
#: plinth/modules/first_boot/forms.py:19
msgid "Firstboot Wizard Secret"
@ -3809,11 +3823,7 @@ msgstr ""
"sont réalisées par le projet en amont et pas par Debian/{box_name}. Les "
"mises à jour sont publiées selon un cycle indépendant."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Cette application est expérimentale."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -4777,10 +4787,15 @@ msgid ""
"game. It allows users to build and explore 3D worlds, interact with others, "
"and engage in various activities such as crafting, mining, and combat."
msgstr ""
"Luanti (précédemment nommé Minetest) est un jeu bac-à-sable de construction "
"de blocs multijoueur à monde infini. Il propose la construction et "
"lexploration de mondes en 3D, linteraction à plusieurs et la possibilité "
"de sadonner à des activités telles que lartisanat, lextraction de "
"ressources et le combat."
#: plinth/modules/minetest/__init__.py:36
msgid "Luanti offers several educational benefits, including:"
msgstr ""
msgstr "Luanti a plusieurs intérêts éducatifs, notamment :"
#: plinth/modules/minetest/__init__.py:37
msgid ""
@ -4789,6 +4804,11 @@ msgid ""
"exploration.</li><li>Fostering social interaction and collaboration among "
"players.</li></ul>"
msgstr ""
"<ul><li>le développement de la représentation dans lespace et des capacités "
"de résolution de problèmes;</li><li>la stimulation de la créativité et de "
"lexpression personnelle au travers de la construction et de lexploration;"
"</li><li>lincitation à la collaboration et aux interactions sociales entres "
"joueuses et joueurs.</li></ul>"
#: plinth/modules/minetest/__init__.py:43
#, python-brace-format
@ -4799,6 +4819,12 @@ msgid ""
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
"documentation</a> or online resources."
msgstr ""
"Pour commencer à jouer, installez le <a href=\"https://www.luanti.org/"
"downloads/\">client Luanti</a> sur vos appareils et connectez-vous au "
"serveur Luanti en utilisant lIP de la {box_name} et le port part défaut "
"(30000). Pour plus dinformations, référez-vous à la <a href=\"https://"
"docs.luanti.org/\">documentation Luanti</a> officielle ou aux nombreuses "
"ressources disponibles en ligne."
#: plinth/modules/minetest/__init__.py:68 plinth/modules/minetest/manifest.py:9
msgid "Luanti"
@ -4814,7 +4840,7 @@ msgid ""
"instance of time."
msgstr ""
"Vous permet de modifier le nombre maximum de joueurs autorisés à se "
"connecter à minetest en même temps."
"connecter à Luanti en même temps."
#: plinth/modules/minetest/forms.py:19
msgid "Enable creative mode"
@ -10509,6 +10535,10 @@ msgstr "Adresse IP assignée à ce client"
msgid "Add Client"
msgstr "Ajouter un client"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Adresse IP"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr "Clé privée"
@ -10923,22 +10953,22 @@ msgstr "fichier de configuration : {file}"
msgid "Timeout waiting for package manager"
msgstr "Aucune réponse du gestionnaire de paquets"
#: plinth/settings.py:181
#: plinth/settings.py:180
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
#: plinth/settings.py:182
msgid "View email address"
msgstr "Voir ladresse de courriel"
#: plinth/settings.py:185
#: plinth/settings.py:184
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
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr "Voir les permissions attribuées à ce compte"
@ -11102,6 +11132,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Le service <em>%(service_name)s</em> nest pas actif."
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr "Ajouter une nouvelle appli"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr "Il n'existe plus d'applis disponibles à ajouter."
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr "Ajouter une nouvelle appli"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr "Actuellement il n'y a pas d'appli ajoutée."
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -11147,18 +11193,6 @@ msgstr "Choisir la langue"
msgid "Log in"
msgstr "Sidentifier"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Ajouter un nouveau pair"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Domaines disponibles"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Ouvrir le client web"
@ -11418,11 +11452,11 @@ msgstr ""
msgid "Here"
msgstr "Ici"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Paramètre inchangé"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "avant la désinstallation de {app_id}"
@ -11431,6 +11465,15 @@ msgstr "avant la désinstallation de {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Utiliser IPv6 au lieu dIPv4"
#~ msgid "This app is experimental."
#~ msgstr "Cette application est expérimentale."
#~ msgid "Available for install"
#~ msgstr "Disponibles à linstallation"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -603,7 +603,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -960,7 +959,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1557,90 +1556,90 @@ msgstr ""
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1856,66 +1855,84 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1957,8 +1974,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -1969,7 +1985,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -1986,12 +2002,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3362,11 +3378,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9070,6 +9082,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9431,19 +9447,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9603,6 +9619,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9645,14 +9677,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9890,11 +9914,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "ફ્રિડમબોક્ષ"
@ -633,7 +633,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1012,7 +1011,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1664,7 +1663,7 @@ msgstr "વેબ ક્લાયન્ટ શરૂ કરો"
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1672,88 +1671,88 @@ msgstr ""
"સીસ્ટમ તપાસ પરિક્ષણ આપની એપ્લીકેશન અને સેવાઓ નિર્ધારિત રીતે કામ કરે છે કે નહિ, તે ચકાસવા "
"આપની સીસ્ટમ પર અમુક પરીક્ષણો કરશે."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "તપાસ"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Run Diagnostics"
msgid "Running diagnostics"
msgstr "તપાસ કરો"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Diagnostics results"
msgstr "તપાસના પરિણામો"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Go to diagnostics results"
@ -2029,68 +2028,94 @@ msgstr "જો તમે તમારા વર્તમાન પાસવર
msgid "The username that was used when the account was created."
msgstr "વપરાશકર્તાનામ જેનો ઉપયોગ એકાઉન્ટ બનાવવામાં આવ્યો હતો ત્યારે થયો હતો."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "URL અપડેટ કરો"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "GnuDIP Server Address"
msgid "IPv4 address only"
msgstr "GnuDIP સર્વર સરનામું"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr "GnuDIP સર્વર સરનામું"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Invalid server name"
msgid "Both IPv4 and IPv6 addresses"
msgstr "અમાન્ય સર્વર નામ"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "સેવા પ્રકાર"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "GnuDIP સર્વર સરનામું"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "અમાન્ય સર્વર નામ"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "URL અપડેટ કરો"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "બધા SSL પ્રમાણપત્રો સ્વીકારો"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "HTTP મૂળભૂત પ્રમાણીકરણનો ઉપયોગ કરો"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "ક્ષેત્રનું નામ"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "અમાન્ય ક્ષેત્રીય નામ"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "વપરાશકર્તા નામ"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "પાસવર્ડ બતાવો"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "GnuDIP Server Address"
msgid "IP Address Type"
msgstr "GnuDIP સર્વર સરનામું"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "Domain name set"
msgid "Domain already exists."
@ -2140,10 +2165,9 @@ msgid "Last update"
msgstr "છેલ્લો સુધારો"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "GnuDIP Server Address"
msgid "IP Address"
msgid "IP Addresses"
msgstr "GnuDIP સર્વર સરનામું"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2154,7 +2178,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2173,12 +2197,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "Error setting domain name: {exception}"
msgid "No domains configured."
@ -3645,11 +3669,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9545,6 +9565,12 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "GnuDIP Server Address"
msgid "IP Address"
msgstr "GnuDIP સર્વર સરનામું"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Documentation"
@ -9934,19 +9960,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10112,6 +10138,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10160,14 +10202,6 @@ msgstr "ભાષા"
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "વેબ ક્લાયન્ટ શરૂ કરો"
@ -10416,11 +10450,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "સેટિંગ યથાવત"
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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/"
@ -30,7 +30,7 @@ msgstr "स्थैतिक कॉन्फ़िगरेशन {etc_path}
msgid "Container {container_name} is running"
msgstr "सेवा {service_name} चल रहा है"
#: plinth/context_processors.py:21 plinth/views.py:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "स्वतंत्रता बॉक्स"
@ -647,7 +647,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1051,7 +1050,7 @@ msgid "No passwords currently configured."
msgstr "वर्तमान में कोई पासवर्ड कॉन्फ़िगर नहीं किया गया है।"
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1767,7 +1766,7 @@ msgstr "वेब क्लाइंट लॉंच"
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1775,64 +1774,64 @@ msgstr ""
"पुष्टि करने के लिये कि एप्लिकेशन या सेवाएं अच्छेसे चल रहे है, सिस्टम निदान परिक्षा बहुत सारे "
"चेकों करोगे."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "निदानिकी"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
#, fuzzy
#| msgid "Quassel"
msgid "passed"
msgstr "क्वासेल"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
#, fuzzy
#| msgid "Setup failed."
msgid "failed"
msgstr "सेटअप विफल."
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "आपको इस सिस्टम पर कोई नया ऐप इंस्टॉल नहीं करना चाहिए।"
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1841,28 +1840,28 @@ msgstr ""
"सिस्टम में मेमोरी कम है: {percent_used}% उपयोग हो चुकी है, {memory_available} "
"{memory_available_unit} खाली है। {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "कम मेमोरी"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Run Diagnostics"
msgid "Running diagnostics"
msgstr "निदानिकी चलिये"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Diagnostics results"
msgstr "निदानिकी का परिणाम"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Go to diagnostics results"
@ -2138,68 +2137,94 @@ msgstr "अगर आपको आपना वर्तमान पासव
msgid "The username that was used when the account was created."
msgstr "जाब अकाउंट बनाया गया था, वो यूसरनाम."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "यूआरएल अपडेट करें"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "आइपी एेड्रैस"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "आइपी एेड्रैस"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Invalid server name"
msgid "Both IPv4 and IPv6 addresses"
msgstr "सर्वर नाम अमान्य है"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "सेवा टाइप"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "गिएनयुडिपॅ सर्वर एड्रसॅ"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "सर्वर नाम अमान्य है"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "यूआरएल अपडेट करें"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "सब एसएसएल सिटिफ़िकट स्वीकर करें"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "एचटिटिपि बेसिकॅ प्रमाणीकरण उपयोग करें"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "डोमेन नाम"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "अमान्य डोमेन नाम"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "युसरनाम"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "शो पासवर्ड"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP address"
msgid "IP Address Type"
msgstr "आइपी एेड्रैस"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "A share with this name already exists."
msgid "Domain already exists."
@ -2249,10 +2274,9 @@ msgid "Last update"
msgstr "अंतिम अपडेट"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgid "IP Addresses"
msgstr "आइपी एेड्रैस"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2263,7 +2287,7 @@ msgid "Actions"
msgstr "एक्सआयन"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2286,13 +2310,13 @@ msgstr "अभिगम केंद्र"
msgid "Failed"
msgstr "सेटअप विफल."
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete connection %(name)s"
msgid "Delete domain %(domain)s"
msgstr "कनेक्शन हटाइये %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "No shares currently configured."
msgid "No domains configured."
@ -3880,11 +3904,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10478,6 +10498,12 @@ msgstr ""
msgid "Add Client"
msgstr "आईआरसी क्लाइंट"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "आइपी एेड्रैस"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Create User"
@ -10896,19 +10922,19 @@ msgstr "कॉंफ़िगरेशन फ़ाइल: {file}"
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -11107,6 +11133,26 @@ msgstr "बग रिपोर्ट सबमिट करने से पह
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "सर्विस <em>%(service_name)s</em> नहीं चल रहा है."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add new introducer"
msgid "Add New App"
msgstr "नया इंट्रोड्यूसर जोड़ें"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add new introducer"
msgid "Add new app"
msgstr "नया इंट्रोड्यूसर जोड़ें"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -11151,18 +11197,6 @@ msgstr "भाषा चुनें"
msgid "Log in"
msgstr "लॉग इन"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add new introducer"
msgid "Add new app"
msgstr "नया इंट्रोड्यूसर जोड़ें"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "उपलब्ध वाले डोमेन्स"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "वेब क्लाइंट लॉंच"
@ -11432,11 +11466,11 @@ msgstr ""
msgid "Here"
msgstr "यहाँ"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "सेटिंग स्थिर है"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "{app_id} को अनइंस्टॉल करने से पहले"
@ -11445,6 +11479,11 @@ msgstr "{app_id} को अनइंस्टॉल करने से पह
msgid "Gujarati"
msgstr "गुजराती"
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "उपलब्ध वाले डोमेन्स"
#, fuzzy, python-brace-format
#~| msgid ""
#~| "Minetest is a multiplayer infinite-world block sandbox. This module "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -663,7 +663,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1077,7 +1076,7 @@ msgid "No passwords currently configured."
msgstr "Jelenleg nincs beállítva jelszó."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1769,7 +1768,7 @@ msgstr "Webes kliens indítása"
msgid "P2P"
msgstr "I2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1778,60 +1777,60 @@ msgstr ""
"annak megerősítésére, hogy az alkalmazások és szolgáltatások az elvárt módon "
"működnek."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Hibaellenőrzés"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "sikerült"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "sikertelen"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "hiba"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "figyelmeztetés"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "A memóriahasználat csökkentése érdekében tilts le néhány alkalmazást."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Ne telepíts további alkalmazásokat erre a rendszerre."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1840,28 +1839,28 @@ msgstr ""
"A rendszerben kevés a memória: {percent_used}% használt, "
"{memory_available} {memory_available_unit} szabad. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Kevés a memória"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Run Diagnostics"
msgid "Running diagnostics"
msgstr "Ellenőrzés indítása"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Diagnostics results"
msgstr "Az ellenőrzés eredménye"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Go to diagnostics results"
@ -2145,66 +2144,92 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr "A felhasználónév, amely a fiók létrehozása során lett megadva."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Egyéb frissítési URL"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "IP-cím"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "IP-cím"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Enter a valid username."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Adj meg egy érvényes felhasználónevet."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Szolgáltatás típusa"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "GnuDIP-szerver címe"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Érvénytelen szervernév"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Frissítési URL"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Minden SSL-tanúsítvány elfogadása"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "HTTP alap hitelesítés használata"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Domainnév"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Érvénytelen domainnév"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Felhasználónév"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Jelszó mutatása"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "IPv6 használata IPv4 helyett"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "IP-cím"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Ezt a mezőt ki kell tölteni."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "Client with public key already exists"
msgid "Domain already exists."
@ -2254,9 +2279,10 @@ msgid "Last update"
msgstr "Legutolsó frissítés"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP-cím"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "IP-címek"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2266,7 +2292,7 @@ msgid "Actions"
msgstr "Műveletek"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2285,13 +2311,13 @@ msgstr "Rendben"
msgid "Failed"
msgstr "Sikertelen"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete connection %(name)s"
msgid "Delete domain %(domain)s"
msgstr "%(name)s kapcsolat törlése"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "Cannot test: No domains are configured."
msgid "No domains configured."
@ -3903,11 +3929,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10669,6 +10691,10 @@ msgstr "A kliens által használt IP-cím:"
msgid "Add Client"
msgstr "Kliens hozzáadása"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP-cím"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Private repository"
@ -11091,21 +11117,21 @@ msgstr "konfigurációs fájl: {file}"
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "cím lekérdezése"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -11308,6 +11334,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "A szolgáltatás nem fut (<em>%(service_name)s</em>)."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add a new peer"
msgid "Add New App"
msgstr "Új társ hozzáadása"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Új társ hozzáadása"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -11352,18 +11398,6 @@ msgstr "Válassz nyelvet"
msgid "Log in"
msgstr "Bejelentkezés"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Új társ hozzáadása"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Elérhető Domainek"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Webes kliens indítása"
@ -11636,11 +11670,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "A beállítás változatlan"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -11649,6 +11683,14 @@ msgstr ""
msgid "Gujarati"
msgstr "Gudzsaráti"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "IPv6 használata IPv4 helyett"
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Elérhető Domainek"
#, fuzzy, python-brace-format
#~| msgid ""
#~| "Minetest is a multiplayer infinite-world block sandbox. This module "

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Indonesian (FreedomBox)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -658,7 +658,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1060,7 +1059,7 @@ msgid "No passwords currently configured."
msgstr "Tidak ada kata sandi yang saat ini dikonfigurasi."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1745,7 +1744,7 @@ msgstr "Luncurkan klien web"
msgid "P2P"
msgstr "I2p"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1753,62 +1752,62 @@ msgstr ""
"Tes diagnostik sistem akan menjalankan sejumlah cek pada sistem Anda untuk "
"mengonfirmasi bahwa aplikasi dan layanan berfungsi seperti yang diharapkan."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnosa"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "LULUS"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "gagal"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "kesalahan"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "peringatan"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MIB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GIB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
"Anda harus menonaktifkan beberapa aplikasi untuk mengurangi penggunaan "
"memori."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Kamu seharusnya tidak menginstal aplikasi baru di sistem ini."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1817,28 +1816,28 @@ msgstr ""
"Sistem rendah pada memori: {percent_used}% digunakan, {memory_available} "
"{memory_available_unit} gratis. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Memori rendah"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Run Diagnostics"
msgid "Running diagnostics"
msgstr "Jalankan Diagnosa"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Diagnostics results"
msgstr "Hasil Diagnosa"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Go to diagnostics results"
@ -2121,68 +2120,94 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr "Nama pengguna yang digunakan ketika akun diciptakan."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnudiP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
#, fuzzy
#| msgid "other update URL"
msgid "Other update URL"
msgstr "URL pembaruan lainnya"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "Alamat IP"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "Alamat IP"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Enter a valid username."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Masukkan sebuah nama pengguna yang valid."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Tipe Layanan"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Alamat Server Gnudip"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Nama server tidak valid"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Perbaharui URL"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Terima semua sertifikat SSL"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Gunakan autentikasi dasar HTTP"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Nama domain"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Nama Domain Tidak Valid"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Nama Pengguna"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Tampilkan kata sandi"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Gunakan IPv6 bukan IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP address"
msgid "IP Address Type"
msgstr "Alamat IP"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Domain already exists."
@ -2230,10 +2255,9 @@ msgid "Last update"
msgstr "Pembaharuan Terakhir"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "Alamat IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2244,7 +2268,7 @@ msgid "Actions"
msgstr "Aksi"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2267,13 +2291,13 @@ msgstr "Mengakses"
msgid "Failed"
msgstr "gagal"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete connection %(name)s"
msgid "Delete domain %(domain)s"
msgstr "Hapus koneksi %(name)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "Cannot test: No domains are configured."
msgid "No domains configured."
@ -3845,11 +3869,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9917,6 +9937,12 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "Alamat IP"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Private repository"
@ -10308,21 +10334,21 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "meminta alamat"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10516,6 +10542,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Layanan <em>%(service_name)s</em> tidak berjalan."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Advanced"
msgid "Add New App"
msgstr "Maju"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Advanced"
msgid "Add new app"
msgstr "Maju"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10560,18 +10606,6 @@ msgstr "Pilih bahasa"
msgid "Log in"
msgstr "Masuk"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Advanced"
msgid "Add new app"
msgstr "Maju"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Domain yang Tersedia"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Luncurkan klien web"
@ -10828,11 +10862,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -10841,6 +10875,14 @@ msgstr ""
msgid "Gujarati"
msgstr "Bahasa Gujarat"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Gunakan IPv6 bukan IPv4"
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Domain yang Tersedia"
#~ msgid "Debian:"
#~ msgstr "Debian:"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"PO-Revision-Date: 2026-06-13 20:01+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
"PO-Revision-Date: 2026-08-13 18:51+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 2026.7.dev0\n"
"X-Generator: Weblate 2026.9.dev0\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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -639,7 +639,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1029,7 +1028,7 @@ msgid "No passwords currently configured."
msgstr "Nessuna password attualmente configurata."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1685,7 +1684,7 @@ msgstr "Client web"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1693,7 +1692,7 @@ msgstr ""
"Il test della diagnostica di sistema eseguirà una serie di controlli per "
"verificare che le applicazioni e i servizi funzionino correttamente."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1702,53 +1701,53 @@ msgstr ""
"Questa app mostra anche i <a href=\"{logs_url}\">log</a> per i servizi "
"{box_name}."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnostica"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "ignorati"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "superato"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "fallito"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "errore"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "attenzione"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "Dovresti disabilitare alcune app per ridurre l'uso della memoria."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Non dovresti installare nessuna nuova app in questo sistema."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1757,24 +1756,24 @@ msgstr ""
"Il sistema ha poca memoria: {percent_used}% usata, {memory_available} "
"{memory_available_unit} libera. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Memoria insufficiente"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Esecuzione diagnostica"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "Riscontrati {issue_count} problemi durante i test."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Risultati Diagnostica"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Vai ai risultati diagnostici"
@ -2023,66 +2022,92 @@ msgstr "Lascia vuoto questo campo se vuoi mantenere la password corrente."
msgid "The username that was used when the account was created."
msgstr "Il nome utente usato quando è stato creato il profilo."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "URL aggiornamento alternativo"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "Indirizso IP"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "Indirizso IP"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Not a valid IP address."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Non è un indirizzo IP valido."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Tipo Servizio"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Indirizzo Server GnuDIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Nome Server Invalido"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Aggiorna URL"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Accetta tutti i certificati SSL"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Usa l'autenticazione HTTP di base"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Nome dominio"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Nome dominio non valido"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Nome utente"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Mostra password"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Usare IPv6 invece di IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "Indirizzo IP"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Questo campo è obbligatorio."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Il dominio esiste già."
@ -2124,9 +2149,10 @@ msgid "Last update"
msgstr "Ultimo aggiornamento"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Indirizzo IP"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "Indirizzi IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2136,7 +2162,7 @@ msgid "Actions"
msgstr "Azioni"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "Modifica dominio %(domain)s"
@ -2153,12 +2179,12 @@ msgstr "Successo"
msgid "Failed"
msgstr "Fallito"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Elimina dominio %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Nessun dominio configurato."
@ -2980,7 +3006,7 @@ msgstr ""
#: plinth/modules/first_boot/__init__.py:47
msgid "First Boot"
msgstr ""
msgstr "Primo avvio"
#: plinth/modules/first_boot/__init__.py:68
msgid "Setup complete! Next steps:"
@ -3004,19 +3030,15 @@ msgid "See next steps"
msgstr "Vedi i prossimi passi"
#: plinth/modules/first_boot/forms.py:14
#, fuzzy, python-brace-format
#| msgid ""
#| "Enter the secret generated during FreedomBox installation. This secret "
#| "can also be obtained by running the command \"sudo cat /var/lib/plinth/"
#| "firstboot-wizard-secret\" on your {box_name}"
#, python-brace-format
msgid ""
"Enter the secret generated during {box_name} installation. This secret can "
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
"wizard-secret\" on your {box_name}"
msgstr ""
"Inserire il segreto generato durante l'installazione di FreedomBox. Questo "
"segreto può essere ottenuto anche eseguendo il comando \"sudo cat /var/lib/"
"plinth/firstboot-wizard-secret\" sul vostro {box_name}"
"Inserire il segreto generato durante l'installazione di {box_name}. Tale "
"segreto può essere ottenuto anche con il comando \"sudo cat /var/lib/plinth/"
"firstboot-wizard-secret\" su {box_name}"
#: plinth/modules/first_boot/forms.py:19
msgid "Firstboot Wizard Secret"
@ -3747,11 +3769,7 @@ msgstr ""
"legali sono condotte dal progetto upstream e non da Debian/{box_name}. Gli "
"aggiornamenti seguono un ciclo indipendente."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Questa app è sperimentale."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -4702,10 +4720,14 @@ msgid ""
"game. It allows users to build and explore 3D worlds, interact with others, "
"and engage in various activities such as crafting, mining, and combat."
msgstr ""
"Luanti, precedentemente noto come Minetest, è un gioco sandbox di blocchi "
"multigiocatore a mondo infinito. Consente agli utenti di costruire ed "
"esplorare mondi 3D, interagire con gli altri e impegnarsi in varie attività "
"come l'artigianato, l'estrazione mineraria e il combattimento."
#: plinth/modules/minetest/__init__.py:36
msgid "Luanti offers several educational benefits, including:"
msgstr ""
msgstr "Luanti offre diversi benefici educativi, tra cui:"
#: plinth/modules/minetest/__init__.py:37
msgid ""
@ -4714,6 +4736,10 @@ msgid ""
"exploration.</li><li>Fostering social interaction and collaboration among "
"players.</li></ul>"
msgstr ""
"<ul><li>Sviluppare il ragionamento spaziale e le capacità di risoluzione dei "
"problemi.</li><li>Incoraggiare la creatività e l'espressione di sé "
"attraverso la costruzione e l'esplorazione.</li><li>Favorire l'interazione "
"sociale e la collaborazione tra i giocatori.</li></ul>"
#: plinth/modules/minetest/__init__.py:43
#, python-brace-format
@ -4724,6 +4750,11 @@ msgid ""
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
"documentation</a> or online resources."
msgstr ""
"Per iniziare, installa il <a href=\"https://www.luanti.org/downloads/"
"\">client Luanti</a> sui dispositivi degli utenti e connettiti al server "
"Luanti utilizzando l'IP di {box_name} e la porta predefinita (30000). Per "
"ulteriori informazioni, consulta la <a href=\"https://docs.luanti.org/"
"\">documentazione ufficiale di Minetest</a> o le risorse online."
#: plinth/modules/minetest/__init__.py:68 plinth/modules/minetest/manifest.py:9
msgid "Luanti"
@ -10322,6 +10353,10 @@ msgstr "Indirizzo IP che sarà assegnato al client"
msgid "Add Client"
msgstr "Aggiungere Client"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Indirizzo IP"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr "Chiave privata"
@ -10729,19 +10764,19 @@ msgstr "file di configurazione: {file}"
msgid "Timeout waiting for package manager"
msgstr "Timeout in attesa del gestore di pacchetti"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr "Identifica univocamente il tuo account con il nome utente"
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr "Visualizza indirizzo email"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr "Visualizza le informazioni base del profilo (come nome ed email)"
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr "Visualizza le autorizzazioni dell'account"
@ -10903,6 +10938,24 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Il servizio <em>%(service_name)s</em> non è in esecuzione."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add new app"
msgid "Add New App"
msgstr "Aggiungi una nuova app"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr "Aggiungi una nuova app"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10948,18 +11001,6 @@ msgstr "Seleziona la lingua"
msgid "Log in"
msgstr "Accedi"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Aggiungi un nuovo nodo"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Domini disponibili"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Avvia client web"
@ -11214,11 +11255,11 @@ msgstr ""
msgid "Here"
msgstr "Qui"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Impostazioni invariate"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "Prima della disinstallazione di {app_id}"
@ -11227,6 +11268,15 @@ msgstr "Prima della disinstallazione di {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Usare IPv6 invece di IPv4"
#~ msgid "This app is experimental."
#~ msgstr "Questa app è sperimentale."
#~ msgid "Available for install"
#~ msgstr "Disponibile per l'installazione"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -598,7 +598,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -955,7 +954,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1550,90 +1549,90 @@ msgstr ""
msgid "P2P"
msgstr "I2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1849,66 +1848,84 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1950,8 +1967,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -1962,7 +1978,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -1979,12 +1995,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3351,11 +3367,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9018,6 +9030,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9380,19 +9396,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9540,6 +9556,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9584,16 +9616,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Backup app before uninstall"
msgid "Available for install"
msgstr "アンインストールの前にアプリケーションをバックアップします"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9827,11 +9849,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -9840,6 +9862,11 @@ msgstr ""
msgid "Gujarati"
msgstr ""
#, fuzzy
#~| msgid "Backup app before uninstall"
#~ msgid "Available for install"
#~ msgstr "アンインストールの前にアプリケーションをバックアップします"
#~ msgid "I2P"
#~ msgstr "I2P"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "ಫ್ರೀಡಂಬಾಕ್ಸ್"
@ -597,7 +597,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -954,7 +953,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1547,90 +1546,90 @@ msgstr ""
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1846,66 +1845,84 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1947,8 +1964,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -1959,7 +1975,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -1976,12 +1992,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3348,11 +3364,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9009,6 +9021,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9369,19 +9385,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9529,6 +9545,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9571,14 +9603,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9812,11 +9836,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -601,7 +601,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -958,7 +957,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1553,90 +1552,90 @@ msgstr ""
msgid "P2P"
msgstr "I2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1852,66 +1851,84 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1953,8 +1970,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -1965,7 +1981,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -1982,12 +1998,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3360,11 +3376,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9033,6 +9045,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9393,19 +9409,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9553,6 +9569,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9595,14 +9627,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9836,11 +9860,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
"PO-Revision-Date: 2026-06-18 09:01+0000\n"
"Last-Translator: \"𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/𝕠𝕠𝕠𝕝)\" <coool@mail.lv>\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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -600,7 +600,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -957,7 +956,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1552,90 +1551,90 @@ msgstr ""
msgid "P2P"
msgstr "I2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1851,66 +1850,84 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1952,8 +1969,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -1964,7 +1980,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -1981,12 +1997,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3360,11 +3376,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9031,6 +9043,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9391,19 +9407,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9551,6 +9567,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9593,14 +9625,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9834,11 +9858,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -664,7 +664,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1076,7 +1075,7 @@ msgid "No passwords currently configured."
msgstr "Ingen passord er foreløpig satt opp."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1758,7 +1757,7 @@ msgstr "Sette i gang en web-klient"
msgid "P2P"
msgstr "I2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1766,92 +1765,92 @@ msgstr ""
"Systemets diagnostikktest vil kjøre en rekke kontroller på systemet for å få "
"bekreftet at programmer og tjenester fungerer som forventet."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnostikk"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
#, fuzzy
#| msgid "Quassel"
msgid "passed"
msgstr "Quassel"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "feilet"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "feil"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
#, fuzzy
#| msgid "Git"
msgid "GiB"
msgstr "Git"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "Du bør skru av noen programmer for å redusere minnebruken."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Du bør ikke installere noen nye programmer på dette systemet."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Lite minne"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Run Diagnostics"
msgid "Running diagnostics"
msgstr "Kjør diagnostikk"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Diagnostics results"
msgstr "Diagnostikkresultater"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Go to diagnostics results"
@ -2138,68 +2137,94 @@ msgstr "La dette feltet stå tomt hvis du vil beholde ditt nåværende passord."
msgid "The username that was used when the account was created."
msgstr "Brukernavnet som ble benyttet da kontoen ble opprettet."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "Oppdater URL"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "IP-adresse"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "IP-adresse"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Enter a valid username."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Skriv et gyldig brukernavn."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Type tjeneste"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "GnuDIP-tjeneradresse"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Ugyldig tjenernavn"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Oppdater URL"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Godta alle SSL-sertifikater"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Bruk HTTP-basisgodkjenning"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Domenenavn"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Ugyldig domenenavn"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Brukernavn"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Vis passord"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Bruk IPv6 istedenfor IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP address"
msgid "IP Address Type"
msgstr "IP-adresse"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "Client with public key already exists"
msgid "Domain already exists."
@ -2249,11 +2274,10 @@ msgid "Last update"
msgstr "Siste oppdatering"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "IP-adresse"
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "IP-adresser"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2263,7 +2287,7 @@ msgid "Actions"
msgstr "Handlinger"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2286,13 +2310,13 @@ msgstr "Aksesspunkt"
msgid "Failed"
msgstr "feilet"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete connection %(name)s"
msgid "Delete domain %(domain)s"
msgstr "Slett forbindelse %(name)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "No shares currently configured."
msgid "No domains configured."
@ -3895,11 +3919,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10571,6 +10591,12 @@ msgstr "IP-adresse å bruke for klienten:"
msgid "Add Client"
msgstr "Legg til klient"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP address"
msgid "IP Address"
msgstr "IP-adresse"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Private key of this machine"
@ -10978,19 +11004,19 @@ msgstr "oppsettsfil: {file}"
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -11190,6 +11216,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Tjenesten <em>%(service_name)s</em> kjører ikke."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add new introducer"
msgid "Add New App"
msgstr "Legg til en ny introduserer"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add new introducer"
msgid "Add new app"
msgstr "Legg til en ny introduserer"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -11234,18 +11280,6 @@ msgstr "Velg språk"
msgid "Log in"
msgstr "Logg inn"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add new introducer"
msgid "Add new app"
msgstr "Legg til en ny introduserer"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Tilgjengelige domener"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Sette i gang en web-klient"
@ -11513,11 +11547,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Oppsett uendret"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "før avinstallering av {app_id}"
@ -11526,6 +11560,14 @@ msgstr "før avinstallering av {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Bruk IPv6 istedenfor IPv4"
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Tilgjengelige domener"
#, fuzzy, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
"PO-Revision-Date: 2026-05-21 18:11+0000\n"
"Last-Translator: jay <jj8z@proton.me>\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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -645,7 +645,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1042,7 +1041,7 @@ msgid "No passwords currently configured."
msgstr "Er zijn momenteel geen wachwoorden ingesteld."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1694,7 +1693,7 @@ msgstr "Web cliënt"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1702,61 +1701,61 @@ msgstr ""
"De systeemdiagnose zal een aantal tests op dit systeem uitvoeren om te "
"bevestigen dat de toepassingen en diensten zoals verwacht functioneren."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnose"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "overgeslagen"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "geslaagd"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "mislukt"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "fout"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "waarschuwing"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
"Door toepassingen uit te schakelen kan het geheugengebruik worden verminderd."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Extra toepassingen installeren wordt afgeraden."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1765,24 +1764,24 @@ msgstr ""
"Systeem heeft weinig geheugen beschikbaar: {percent_used}% gebruikt, "
"{memory_available} {memory_available_unit} vrij. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Geheugengebrek"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Voer diagnose uit"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "{issue_count} problemen gevonden tijdens routinetests."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Resultaten van diagnose"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Ga naar resultaten van diagnose"
@ -2035,66 +2034,92 @@ msgstr "Laat dit veld leeg om het huidige wachtwoord te behouden."
msgid "The username that was used when the account was created."
msgstr "De gebruikersnaam die werd gebruikt toen de account werd gemaakt."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Andere update-URL"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "IP adres"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "IP adres"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Enter a valid username."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Voer een geldige gebruikersnaam in."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Dienst Type"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "GnuDIP Serveradres"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Foute servernaam"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "URL bijwerken"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Accepteer alle SSL certificaten"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Gebruik HTTP-basisverificatie"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Domeinnaam"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Foutieve domeinnaam"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Gebruikersnaam"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Toon wachtwoord"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Gebruik IPv6 in plaats van IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "IP Adres"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Dit veld is vereist."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Domein bestaat al."
@ -2136,9 +2161,10 @@ msgid "Last update"
msgstr "Laatste bijwerking"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP Adres"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "IP adressen"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2148,7 +2174,7 @@ msgid "Actions"
msgstr "Acties"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "Bewerk domein: %(domain)s"
@ -2165,12 +2191,12 @@ msgstr "Succes"
msgid "Failed"
msgstr "Mislukt"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Verwijder domein: %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Geen domeinen ingesteld."
@ -3725,11 +3751,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Deze toepassing is een experiment."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10215,6 +10237,10 @@ msgstr "IP-adres dat moet worden gebruikt voor client:"
msgid "Add Client"
msgstr "Cliënt toevoegen"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP Adres"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Private key path"
@ -10632,21 +10658,21 @@ msgstr "configuratiebestand: {file}"
msgid "Timeout waiting for package manager"
msgstr "Time-out wachtend op pakketbeheerder"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "adres wordt aangevraagd"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10821,6 +10847,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Service <em>%(service_name)s</em> is niet actief."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add a new peer"
msgid "Add New App"
msgstr "Nieuwe partner toevoegen"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Nieuwe partner toevoegen"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10868,18 +10914,6 @@ msgstr "Selecteer taal"
msgid "Log in"
msgstr "Aanmelden"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Nieuwe partner toevoegen"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Beschikbare Domeinen"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Start web cliënt"
@ -11139,11 +11173,11 @@ msgstr ""
msgid "Here"
msgstr "Hier"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Instelling onveranderd"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "voor het verwijderen van {app_id}"
@ -11152,6 +11186,17 @@ msgstr "voor het verwijderen van {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Gebruik IPv6 in plaats van IPv4"
#~ msgid "This app is experimental."
#~ msgstr "Deze toepassing is een experiment."
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Beschikbare Domeinen"
#, fuzzy, python-brace-format
#~| msgid ""
#~| "Minetest is a multiplayer infinite-world block sandbox. This module "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -645,7 +645,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1066,7 +1065,7 @@ msgid "No passwords currently configured."
msgstr "Obecnie nie ma ustawionych żadnych haseł."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1751,7 +1750,7 @@ msgstr "Uruchom klienta przeglądarkowego"
msgid "P2P"
msgstr "I2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1759,88 +1758,88 @@ msgstr ""
"Diagnostyka systemu testuje czy aplikacje i usługi na twiom systemie "
"dzialają jak należy."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnostyka"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "udało się"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "nie udało się"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "błąd"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "ostrzeżenie"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Powinieneś nie instalować żadnych nowych aplikacji na tym systemie."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Run Diagnostics"
msgid "Running diagnostics"
msgstr "Uruchom diagnostykę"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Diagnostics results"
msgstr "Wynik diagnostyki"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Go to diagnostics results"
@ -2121,68 +2120,94 @@ msgstr "Zostaw puste jeśli chcesz używać aktualnego hasła."
msgid "The username that was used when the account was created."
msgstr "Użytkownik który był używany podczas zakladania konta."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
#, fuzzy
#| msgid "Update URL"
msgid "Other update URL"
msgstr "Uaktualnij URL"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP addresses"
msgid "IPv4 address only"
msgstr "Adresy IP"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP addresses"
msgid "IPv6 address only"
msgstr "Adresy IP"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Invalid server name"
msgid "Both IPv4 and IPv6 addresses"
msgstr "Niewłaściwa nazwa użytkownika"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Typ usługi"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Adres serwera GnuGIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Niewłaściwa nazwa użytkownika"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Uaktualnij URL"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Akceptuj wszystkie certyfikaty SSL"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Użyj podstawowej autentyfikacji HTTP"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Nazwa domeny"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Niewłaściwa nazwa domeny"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Nazwa użytkownika"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Pokaż hasło"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Użyj IPv6 zamiast IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address Type"
msgstr "Adresy IP"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Domain already exists."
@ -2234,10 +2259,9 @@ msgid "Last update"
msgstr "Ostatnie uaktualnienie"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address"
msgid "IP Addresses"
msgstr "Adresy IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2248,7 +2272,7 @@ msgid "Actions"
msgstr "Akcje"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2271,13 +2295,13 @@ msgstr "Dostęp"
msgid "Failed"
msgstr "nie udało się"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete Archive %(name)s"
msgid "Delete domain %(domain)s"
msgstr "Usuń archiwum %(name)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "Error setting domain name: {exception}"
msgid "No domains configured."
@ -3814,11 +3838,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9902,6 +9922,12 @@ msgstr ""
msgid "Add Client"
msgstr "Klient czatu"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address"
msgstr "Adresy IP"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Create Repository"
@ -10311,19 +10337,19 @@ msgstr "plik konfiguracyjny: {file}"
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10521,6 +10547,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Usługa <em>%(service_name)s</em> nie jest uruchomiona."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Advanced"
msgid "Add New App"
msgstr "Zawansowane"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Advanced"
msgid "Add new app"
msgstr "Zawansowane"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10567,18 +10613,6 @@ msgstr "Język"
msgid "Log in"
msgstr "Zaloguj się"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Advanced"
msgid "Add new app"
msgstr "Zawansowane"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Backup app before uninstall"
msgid "Available for install"
msgstr "Zrób kopię zapasową aplikacji przed odinstalowaniem"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Uruchom klienta przeglądarkowego"
@ -10838,11 +10872,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Ustawienie bez zmian"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -10851,6 +10885,14 @@ msgstr ""
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Użyj IPv6 zamiast IPv4"
#, fuzzy
#~| msgid "Backup app before uninstall"
#~ msgid "Available for install"
#~ msgstr "Zrób kopię zapasową aplikacji przed odinstalowaniem"
#~ msgid "Debian:"
#~ msgstr "Debian:"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "Freedombox"
@ -655,7 +655,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1061,7 +1060,7 @@ msgid "No passwords currently configured."
msgstr "Nenhuma senha configurada no momento."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1721,7 +1720,7 @@ msgstr "Cliente web"
msgid "P2P"
msgstr "Ponto a ponto"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1730,61 +1729,61 @@ msgstr ""
"sistema para confirmar se as aplicações e serviços estão a funcionar "
"conforme o esperado."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnóstico"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "pulou"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "passou"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "fracassado"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "erro"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "aviso"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
"Você deve desabilitar alguns aplicativos para reduzir o uso de memória."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Você não deve instalar nenhum aplicativo novo neste sistema."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1793,24 +1792,24 @@ msgstr ""
"O sistema está com pouca memória: {percent_used}% usada, {memory_available} "
"{memory_available_unit} livre. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Pouca memória"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Diagnóstico em execução"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "Foram encontrados {issue_count} problemas durante testes de rotina."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Resultados de diagnóstico"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Ir para resultados de diagnóstico"
@ -2077,66 +2076,92 @@ msgstr "Deixe este campo em branco se quiser manter sua senha atual."
msgid "The username that was used when the account was created."
msgstr "O nome de usuário que foi usado quando a conta foi criada."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Outra URL de atualização"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "Endereço IP"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "Endereço IP"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Enter a valid username."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Insira um nome de utilizador válido."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Tipo de serviço"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Endereço do servidor GnuDIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Nome de servidor inválido"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "URL de atualização"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Aceitar todos os certificados SSL"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Use autenticação básica HTTP"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Nome de Domínio"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Nome de domínio inválido"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Nome de utilizador"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Mostrar palavra-passe"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Use IPv6 em vez de IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "Endereço IP"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Este campo é obrigatório."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "O domínio já existe."
@ -2178,9 +2203,10 @@ msgid "Last update"
msgstr "Última atualização"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Endereço IP"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "Endereços de IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2190,7 +2216,7 @@ msgid "Actions"
msgstr "Ações"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "Editar domínio %(domain)s"
@ -2207,12 +2233,12 @@ msgstr "Sucesso"
msgid "Failed"
msgstr "Fracassado"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Excluir domínio %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Nenhum domínio configurado."
@ -3803,11 +3829,7 @@ msgstr ""
"revisões legais são realizadas pelo projeto upstream e não pelo Debian/"
"{box_name}. As atualizações são realizadas seguindo um ciclo independente."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10416,6 +10438,10 @@ msgstr "Endereço IP a ser usado pelo cliente:"
msgid "Add Client"
msgstr "Adicionar cliente"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Endereço IP"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Create new repository"
@ -10832,21 +10858,21 @@ msgstr "ficheiro de configuração: {file}"
msgid "Timeout waiting for package manager"
msgstr "Tempo limite de espera para o gerenciador de pacotes"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "endereço de solicitação"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -11019,6 +11045,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "O serviço <em>%(service_name)s</em> não está em execução."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add a new peer"
msgid "Add New App"
msgstr "Adicionar um novo par"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Adicionar um novo par"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -11066,18 +11112,6 @@ msgstr "Selecionar idioma"
msgid "Log in"
msgstr "Iniciar sessão"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Adicionar um novo par"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Backup app before uninstall"
msgid "Available for install"
msgstr "Fazer cópia de segurança da aplicação antes de desinstalar"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Iniciar cliente web"
@ -11337,11 +11371,11 @@ msgstr ""
msgid "Here"
msgstr "Aqui"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Definição inalterada"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "antes da desinstalação do {app_id}"
@ -11350,6 +11384,14 @@ msgstr "antes da desinstalação do {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Use IPv6 em vez de IPv4"
#, fuzzy
#~| msgid "Backup app before uninstall"
#~ msgid "Available for install"
#~ msgstr "Fazer cópia de segurança da aplicação antes de desinstalar"
#, fuzzy, python-brace-format
#~| msgid ""
#~| "Minetest is a multiplayer infinite-world block sandbox. This module "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -646,7 +646,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1037,7 +1036,7 @@ msgid "No passwords currently configured."
msgstr "В настоящее время пароли не настроены."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1696,7 +1695,7 @@ msgstr "Веб-клиент"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1704,7 +1703,7 @@ msgstr ""
"Тест диагностики системы выполнит ряд проверок, чтобы убедиться, что "
"приложения и службы работают так, как ожидается."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1713,55 +1712,55 @@ msgstr ""
"Это приложение также показывает <a href=\"{logs_url}\">журналы</a> для "
"{box_name} ."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Диагностика"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "пропустить"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "успешно"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "сбой"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "ошибка"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "предупреждение"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "МиБ"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "ГиБ"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
"Вы должны отключить некоторые приложения, чтобы уменьшить использование "
"памяти."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Вы не должны устанавливать никаких новых приложений в этой системе."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1770,24 +1769,24 @@ msgstr ""
"В системе мало памяти: использовано {percent_used}%, свободно "
"{memory_available} {memory_available_unit}. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Мало памяти"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Выполнение диагностики"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "Найдены {issue_count} проблем во время обычных проверок."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Результаты диагностики"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Перейдите к результатам диагностики"
@ -2038,66 +2037,92 @@ msgstr "Оставьте это поле пустым, если вы хотит
msgid "The username that was used when the account was created."
msgstr "Имя пользователя, которое использовалось при создании учетной записи."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Другой URL-адрес обновления"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "IP-адрес"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "IP-адрес"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Enter a valid username."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Введите действительное имя пользователя."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Тип службы"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Адрес сервера GnuDIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Недопустимое имя сервера"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Обновление URL-адреса"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Принимать все SSL-сертификаты"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Использовать базовую аутентификацию HTTP"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Доменное имя"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Недопустимое имя домена"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Имя пользователя"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Показать пароль"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Использовать IPv6 вместо IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "IP-адреса"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Это поле обязательно."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Домен уже существует."
@ -2139,8 +2164,9 @@ msgid "Last update"
msgstr "Последнее обновление"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "IP-адреса"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2151,7 +2177,7 @@ msgid "Actions"
msgstr "Действия"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "Редактировать домен %(domain)s"
@ -2168,12 +2194,12 @@ msgstr "Успешно"
msgid "Failed"
msgstr "Неудачно"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Удалить домен %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Домены не настроены."
@ -3763,11 +3789,7 @@ msgstr ""
"осуществляется вышестоящим проектом, а не Debian/{box_name}. Обновления "
"выполняются в соответствии с независимым циклом."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Это приложение является экспериментальным."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10352,6 +10374,10 @@ msgstr "IP-адрес который будет присвоен этому кл
msgid "Add Client"
msgstr "Добавить клиент"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP-адреса"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Private key of this machine"
@ -10770,21 +10796,21 @@ msgstr "Файл настроек: {file}"
msgid "Timeout waiting for package manager"
msgstr "Таймаут ожидания менеджера пакетов"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "запрашиваемый адрес"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10947,6 +10973,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Служба <em>%(service_name)s</em> не запущена."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add a new peer"
msgid "Add New App"
msgstr "Добавление нового однорангового узла"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Добавление нового однорангового узла"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10995,18 +11041,6 @@ msgstr "Выбрать язык"
msgid "Log in"
msgstr "Войти"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Добавление нового однорангового узла"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Доступные Домены"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Запустить веб-клиент"
@ -11261,11 +11295,11 @@ msgstr ""
msgid "Here"
msgstr "Здесь"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Настройки без изменений"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "перед удалением {app_id}"
@ -11274,6 +11308,17 @@ msgstr "перед удалением {app_id}"
msgid "Gujarati"
msgstr "Гуджарати"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Использовать IPv6 вместо IPv4"
#~ msgid "This app is experimental."
#~ msgstr "Это приложение является экспериментальным."
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Доступные Домены"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "ෆ්‍රීඩම්බොක්ස්"
@ -597,7 +597,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -954,7 +953,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1547,90 +1546,90 @@ msgstr ""
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1846,66 +1845,84 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "GnuDIP Server Address"
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr ""
@ -1947,8 +1964,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -1959,7 +1975,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -1976,12 +1992,12 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3348,11 +3364,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9007,6 +9019,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9367,19 +9383,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9527,6 +9543,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr ""
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr ""
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9569,14 +9601,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
msgid "Add new app"
msgstr ""
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -9810,11 +9834,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -659,7 +659,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1075,7 +1074,7 @@ msgid "No passwords currently configured."
msgstr ""
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1721,90 +1720,90 @@ msgstr ""
msgid "P2P"
msgstr "I2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -2022,66 +2021,86 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
msgid "Service Type"
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
msgid "IPv6 address only"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Invalid hostname"
msgid "Both IPv4 and IPv6 addresses"
msgstr "Neveljavno ime gostitelja"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Ime domene"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Neveljavno ime domene"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "Create remote backup repository"
msgid "Domain already exists."
@ -2131,8 +2150,7 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2143,7 +2161,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2160,13 +2178,13 @@ msgstr ""
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete Archive %(name)s"
msgid "Delete domain %(domain)s"
msgstr "Brisanje arhiva %(name)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr ""
@ -3606,11 +3624,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9466,6 +9480,10 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Create new repository"
@ -9859,19 +9877,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10035,6 +10053,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Included apps"
msgid "Add New App"
msgstr "Vključene aplikacije"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Included apps"
msgid "Add new app"
msgstr "Vključene aplikacije"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10079,16 +10117,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Included apps"
msgid "Add new app"
msgstr "Vključene aplikacije"
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -10329,11 +10357,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
"PO-Revision-Date: 2026-06-03 05:01+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -644,7 +644,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1033,7 +1032,7 @@ msgid "No passwords currently configured."
msgstr "Ska fjalëkalime aktualisht të formësuar."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1688,7 +1687,7 @@ msgstr "Klient web"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1697,7 +1696,7 @@ msgstr ""
"sistemin tuaj, për të verifikuar se aplikacionet dhe shërbimet po punojnë "
"siç pritet."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1706,54 +1705,54 @@ msgstr ""
"Ky aplikacion shfaq gjithashtu <a href=\"{logs_url}\">regjistrat</a> për "
"shërbimet {box_name}."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnostikime"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "anashkaluar"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "kaloi"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "dështoi"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "gabim"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "kujdes"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
"Duhet të çaktivizoni disa aplikacione, për të zvogëluar përdorim kujtese."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Sduhet të instaloni çfarëdo aplikacioni të ri në këtë sistem."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1762,24 +1761,24 @@ msgstr ""
"Ka pak kujtesë për sistemin: {percent_used}% të përdorur, {memory_available} "
"{memory_available_unit} të lirë. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Kujtesë e Pakët"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Xhirim diagnostikimesh"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "U gjetën {issue_count} probleme gjatë testimeve rutinë."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Përfundime diagnostikimesh"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Kaloni te përfundime diagnostikimi"
@ -2032,66 +2031,92 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr "Emri i përdoruesit që u përdor kur u krijua llogaria."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Tjetër URL përditësimesh"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "Adresë IP"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "Adresë IP"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Not a valid IP address."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Adresë IP jo e vlefshme."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Lloj Shërbimi"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Adresë Shërbyesi GnuDIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Emër i pavlefshëm shërbyesi"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "URL Përditësimi"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Prano krejt dëshmitë SSL"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Përdor mirëfilltësim elementar HTTP"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Emër Përkatësie"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Emër i pavlefshëm përkatësie"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Emër përdoruesi"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Shfaq fjalëkalim"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Përdor IPv6, në vend se IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "Adresë IP"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Kjo fushë është e domosdoshme."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Përkatësia ekziston tashmë."
@ -2133,9 +2158,10 @@ msgid "Last update"
msgstr "Përditësimi i fundit më"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Adresë IP"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "Adresa IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2145,7 +2171,7 @@ msgid "Actions"
msgstr "Veprime"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "Përpunoni përkatësi: %(domain)s"
@ -2162,12 +2188,12 @@ msgstr "Sukses"
msgid "Failed"
msgstr "Dështoi"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Fshije përkatësinë %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Ska përkatësi të formësuara."
@ -3762,11 +3788,7 @@ msgstr ""
"jo nga Debian/{box_name}. Përditësimet kryhen duke ndjekur një cikël të "
"pavarur."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Ky aplikacion është eksperimental."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10350,6 +10372,10 @@ msgstr "Adresë IP që do ti jepet këtij klienti"
msgid "Add Client"
msgstr "Shtoni Klient"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "Adresë IP"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr "Kyç Privat"
@ -10756,21 +10782,21 @@ msgstr "kartelë formësimi: {file}"
msgid "Timeout waiting for package manager"
msgstr "Mbaroi koha teksa pritej për përgjegjës paketash"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
"Identifikoni në mënyrë unike llogarinë tuaj të përdoruesit me emrin e "
"përdoruesit"
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr "Shihni adresë email"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr "Shihni informacion elementar profili (fjala vjen, emër dhe email)"
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr "Shihni lejet që ka ajo llogari"
@ -10933,6 +10959,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Shërbimi <em>%(service_name)s</em> spo xhiron."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add a new peer"
msgid "Add New App"
msgstr "Shtoni ortak të ri"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Shtoni ortak të ri"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10978,18 +11024,6 @@ msgstr "Përzgjidhni gjuhën"
msgid "Log in"
msgstr "Hyni"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Shtoni ortak të ri"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Përkatësi të Gatshme"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Nis klientin web"
@ -11243,11 +11277,11 @@ msgstr ""
msgid "Here"
msgstr "Këtu"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Rregullim i pandryshuar"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "para çinstalimit të {app_id}"
@ -11256,6 +11290,17 @@ msgstr "para çinstalimit të {app_id}"
msgid "Gujarati"
msgstr "Gujaratase"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Përdor IPv6, në vend se IPv4"
#~ msgid "This app is experimental."
#~ msgstr "Ky aplikacion është eksperimental."
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Përkatësi të Gatshme"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "KutijaSlobode"
@ -637,7 +637,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1041,7 +1040,7 @@ msgid "No passwords currently configured."
msgstr "Trenutno nema arhiva."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1674,90 +1673,90 @@ msgstr ""
msgid "P2P"
msgstr "I2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr ""
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr ""
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr ""
@ -1973,66 +1972,92 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP addresses"
msgid "IPv4 address only"
msgstr "IP adrese"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP addresses"
msgid "IPv6 address only"
msgstr "IP adrese"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "IP addresses"
msgid "Both IPv4 and IPv6 addresses"
msgstr "IP adrese"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address Type"
msgstr "IP adrese"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Domain already exists."
@ -2082,10 +2107,9 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address"
msgid "IP Addresses"
msgstr "IP adrese"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2096,7 +2120,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2115,13 +2139,13 @@ msgstr "Pristup"
msgid "Failed"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete Archive %(name)s"
msgid "Delete domain %(domain)s"
msgstr "Izbriši Arhivu %(name)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "No archives currently exist."
msgid "No domains configured."
@ -3522,11 +3546,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9324,6 +9344,12 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address"
msgstr "IP adrese"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9688,19 +9714,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9860,6 +9886,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Included apps"
msgid "Add New App"
msgstr "Uključene aplikacije"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Included apps"
msgid "Add new app"
msgstr "Uključene aplikacije"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9902,16 +9948,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Included apps"
msgid "Add new app"
msgstr "Uključene aplikacije"
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -10151,11 +10187,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, 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-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
"PO-Revision-Date: 2026-06-22 08:01+0000\n"
"Last-Translator: bittin1ddc447d824349b2 <bittin@reimu.nl>\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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -638,7 +638,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1033,7 +1032,7 @@ msgid "No passwords currently configured."
msgstr "Inga lösenord har för närvarande konfigurerats."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1682,7 +1681,7 @@ msgstr "Webklient"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1690,7 +1689,7 @@ msgstr ""
"Systemets diagnostiktest utför ett antal kontroller av ditt system för att "
"bekräfta att program och tjänster fungerar som de ska."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1699,53 +1698,53 @@ msgstr ""
"Denna app visar också <a href=\"{logs_url}\">loggar</a> för {box_name} "
"tjänster."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Diagnostik"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "Hoppat över"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "passerade"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "misslyckades"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "fel"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "varning"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "Du bör inaktivera vissa appar för att minska minnesanvändningen."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Du bör inte installera några nya appar på det här systemet."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1754,24 +1753,24 @@ msgstr ""
"Systemet är ont om minne: {percent_used}% används, {memory_available}"
"·{memory_available_unit} ledig. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Låg minne"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Kör diagnostik"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "Hittade {issue_count} problem under rutintester."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Diagnostikresultat"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Gå till Diagnostikresultat"
@ -2019,66 +2018,92 @@ msgstr "Lämna fältet tomt om du vill behålla ditt nuvarande lösenord."
msgid "The username that was used when the account was created."
msgstr "Användarnamnet som användes när konton skapades."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Annan uppdaterings-URL"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "IP-adress"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "IP-adress"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Not a valid IP address."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Inte en giltig IP-adress."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Servicetype"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "GnuDIP-serveradress"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Du har angett ett ogiltigt servernamn"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Adress för uppdateringar"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Acceptera alla SSL-certifikat"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Använd grundläggande HTTP-autentisering"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Domännamn"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Ogiltigt domännamn"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Användarnamn"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Visa lösenord"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Använda IPv6 i stället för IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "IP Adress"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Detta fält krävs."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Domain finns redan."
@ -2120,9 +2145,10 @@ msgid "Last update"
msgstr "Senaste uppdatering"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP Adress"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "IP-adresser"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2132,7 +2158,7 @@ msgid "Actions"
msgstr "Åtgärder"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "Redigera domän %(domain)s"
@ -2149,12 +2175,12 @@ msgstr "Lyckades"
msgid "Failed"
msgstr "Misslyckades"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Radera domän %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Inga domäner konfigurerade."
@ -3732,11 +3758,7 @@ msgstr ""
"juridiska omdömen görs av uppströmsprojektet och inte av Debian/{box_name}. "
"Uppdateringar utförs efter en oberoende cykel."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Denna app är experimentell."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10257,6 +10279,10 @@ msgstr "IP-adress som kommer att tilldelas denna klient"
msgid "Add Client"
msgstr "Lägg till klient"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP Adress"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr "Privat nyckel"
@ -10661,19 +10687,19 @@ msgstr "konfigurationsfil: {file}"
msgid "Timeout waiting for package manager"
msgstr "Timeout väntar på pakethanteraren"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr "Unikt identifiera ditt användarkonto med användarnamn"
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr "Visa e-postadress"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr "Visa grundläggande profilinformation (t.ex. namn och e-post)"
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr "Visa behörigheter som kontot har"
@ -10836,6 +10862,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Tjänsten <em> %(service_name)s </em> körs inte."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add a new peer"
msgid "Add New App"
msgstr "Lägga till en ny peer"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Lägga till en ny peer"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10881,18 +10927,6 @@ msgstr "Välj språk"
msgid "Log in"
msgstr "Logga in"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Lägga till en ny peer"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Tillgängliga domäner"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Starta webbklient"
@ -11148,11 +11182,11 @@ msgstr ""
msgid "Here"
msgstr "Här"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Instänllningar oförändrade"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "innan du avinstallerar {app_id}"
@ -11161,6 +11195,17 @@ msgstr "innan du avinstallerar {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Använda IPv6 i stället för IPv4"
#~ msgid "This app is experimental."
#~ msgstr "Denna app är experimentell."
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Tillgängliga domäner"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "கட்டற்றபெட்டி"
@ -646,7 +646,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1033,7 +1032,7 @@ msgid "No passwords currently configured."
msgstr "கடவுச்சொற்கள் தற்போது கட்டமைக்கப்படவில்லை."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1685,7 +1684,7 @@ msgstr "வலை வாங்கி"
msgid "P2P"
msgstr "பி 2 பி"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1693,7 +1692,7 @@ msgstr ""
"பயன்பாடுகள் மற்றும் சேவைகள் எதிர்பார்த்தபடி செயல்படுகின்றன என்பதை உறுதிப்படுத்த கணினி "
"கண்டறியும் சோதனை உங்கள் கணினியில் பல காசோலைகளை இயக்கும்."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1702,53 +1701,53 @@ msgstr ""
"இந்தப் பயன்பாடு {box_name} சேவைகளுக்கான <a href=\"{logs_url}\">பதிவுகளையும்</a> "
"காட்டுகிறது."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "கண்டறிதல்"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "தவிர்க்கப்பட்டது"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "கடந்து சென்றது"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "தோல்வியுற்றது"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "பிழை"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "எச்சரிக்கை"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "Mib"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "கிப்"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "நினைவக பயன்பாட்டைக் குறைக்க சில பயன்பாடுகளை முடக்க வேண்டும்."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "இந்த கணினியில் நீங்கள் எந்த புதிய பயன்பாடுகளையும் நிறுவக்கூடாது."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1757,24 +1756,24 @@ msgstr ""
"கணினி நினைவகத்தில் குறைவாக உள்ளது: {percent_used}% பயன்படுத்தப்படுகிறது, "
"{memory_available} {memory_available_unit} இலவசம். {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "குறைந்த நினைவகம்"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "கண்டறியும் இயங்கும்"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "வழக்கமான சோதனைகளின் போது {issue_count} சிக்கல்கள் கிடைத்தன."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "கண்டறியும் முடிவுகள்"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "கண்டறியும் முடிவுகளுக்குச் செல்லுங்கள்"
@ -2022,66 +2021,92 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr "கணக்கு உருவாக்கப்பட்டபோது பயன்படுத்தப்பட்ட பயனர்பெயர்."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "க்ருடிப்"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "பிற புதுப்பிப்பு முகவரி"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "ஐபி முகவரி"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "ஐபி முகவரி"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Enter a valid username."
msgid "Both IPv4 and IPv6 addresses"
msgstr "செல்லுபடியாகும் பயனர்பெயரை உள்ளிடவும்."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "பணி வகை"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "GNUDIP சேவையக முகவரி"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "தவறான சேவையக பெயர்"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "முகவரி ஐப் புதுப்பிக்கவும்"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "அனைத்து எச்எச்எல் சான்றிதழ்களையும் ஏற்றுக்கொள்ளுங்கள்"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "HTTP அடிப்படை அங்கீகாரத்தைப் பயன்படுத்தவும்"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "டொமைன் பெயர்"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "தவறான டொமைன் பெயர்"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "பயனர்பெயர்"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "கடவுச்சொல்லைக் காட்டு"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "IPv4 க்கு பதிலாக IPv6 ஐப் பயன்படுத்தவும்"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "ஐபி முகவரி"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "இந்த புலம் தேவை."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "டொமைன் ஏற்கனவே உள்ளது."
@ -2123,9 +2148,10 @@ msgid "Last update"
msgstr "கடைசி புதுப்பிப்பு"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "ஐபி முகவரி"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "ஐபி முகவரிகள்"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2135,7 +2161,7 @@ msgid "Actions"
msgstr "செயல்கள்"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "டொமைன் %(domain)s திருத்து"
@ -2152,12 +2178,12 @@ msgstr "செய்"
msgid "Failed"
msgstr "தோல்வியுற்றது"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "டொமைன் %(domain)s நீக்கு"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "எந்த களங்களும் கட்டமைக்கப்படவில்லை."
@ -3727,11 +3753,7 @@ msgstr ""
"திட்டத்தால் செய்யப்படுகின்றன, Debian/{box_name} மூலம் அல்ல. புதுப்பிப்புகள் ஒரு சுயாதீன "
"சுழற்சியைத் தொடர்ந்து செய்யப்படுகின்றன."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "இந்த பயன்பாடு சோதனை."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10218,6 +10240,10 @@ msgstr "இந்த கிளையண்டிற்கு ஒதுக்க
msgid "Add Client"
msgstr "கிளையன்ட் சேர்க்கவும்"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "ஐபி முகவரி"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Private repository"
@ -10626,21 +10652,21 @@ msgstr "உள்ளமைவு கோப்பு: {file}"
msgid "Timeout waiting for package manager"
msgstr "தொகுப்பு மேலாளருக்காக நேரம் காத்திருக்கிறது"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "முகவரி கோருதல்"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10800,6 +10826,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "பணி <em>%(service_name)s </em> இயங்கவில்லை."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add a new peer"
msgid "Add New App"
msgstr "புதிய சகாக்களைச் சேர்க்கவும்"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "புதிய சகாக்களைச் சேர்க்கவும்"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10847,18 +10893,6 @@ msgstr "மொழியைத் தேர்ந்தெடுக்கவு
msgid "Log in"
msgstr "புகுபதிகை"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "புதிய சகாக்களைச் சேர்க்கவும்"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Backup app before uninstall"
msgid "Available for install"
msgstr "நிறுவல் நீக்குவதற்கு முன் காப்புப்பிரதி பயன்பாடு"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "வலை கிளையண்டைத் தொடங்கவும்"
@ -11109,11 +11143,11 @@ msgstr ""
msgid "Here"
msgstr "இங்கே"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "மாறாமல் அமைத்தல்"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "{app_id} ஐ நிறுவல் நீக்குவதற்கு முன்"
@ -11122,6 +11156,17 @@ msgstr "{app_id} ஐ நிறுவல் நீக்குவதற்கு
msgid "Gujarati"
msgstr "குசராத்தி"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "IPv4 க்கு பதிலாக IPv6 ஐப் பயன்படுத்தவும்"
#~ msgid "This app is experimental."
#~ msgstr "இந்த பயன்பாடு சோதனை."
#, fuzzy
#~| msgid "Backup app before uninstall"
#~ msgid "Available for install"
#~ msgstr "நிறுவல் நீக்குவதற்கு முன் காப்புப்பிரதி பயன்பாடு"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: FreedomBox UI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "ఫ్రీడమ్‌బాక్స్"
@ -641,7 +641,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1036,7 +1035,7 @@ msgid "No passwords currently configured."
msgstr "ప్రస్తుతం రహస్యపదాలను ఏవీ కాన్ఫిగర్ చేయబడలేదు."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1677,7 +1676,7 @@ msgstr "వెబ్ క్లయింట్"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1685,60 +1684,60 @@ msgstr ""
"వ్యవస్థ నిర్ధారణ పరీక్ష అనేది మీ కంప్యూటర్లో అన్ని సేవలు మరియు అప్లికేషన్లు అనుకున్న విధంగా పని "
"చేస్తున్నాయో లేదో ధృవీకరించడం కోసం అనేక తనిఖీలు చేస్తుంది."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "లక్షణాలు"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "దాటివేయబడినవి"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "ఉత్తీర్ణులయ్యారు"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "విఫలమయ్యారు"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "లోపం"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "హెచ్చరిక"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "నిర్వహణ సమాచార ఆధారం"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "గిబ్"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "మెమరీ వినియోగాన్ని తగ్గించడానికి మీరు కొన్ని యాప్‌లను నిలిపివేయాలి."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "మీరు ఈ సిస్టమ్‌లో ఏ కొత్త యాప్‌లను ఇన్‌స్టాల్ చేయకూడదు."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1747,24 +1746,24 @@ msgstr ""
"సిస్టమ్ మెమరీ తక్కువగా ఉంది: {percent_used}% ఉపయోగించబడింది, {memory_available} "
"{memory_available_unit} ఉచితం. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "తక్కువ మెమరీ"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "రన్నింగ్ డయాగ్నస్టిక్స్"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "సాధారణ పరీక్షల సమయంలో {issue_count} సమస్యలు కనుగొనబడ్డాయి."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "డయాగ్నోస్టిక్స్ ఫలితాలు"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "పంది"
@ -2023,66 +2022,92 @@ msgstr "మీరు మీ ప్రస్తుత పాస్‌వర్డ
msgid "The username that was used when the account was created."
msgstr "మీరు మీ ఖాతాను సృష్టించినప్పుడు వాడిన వాడుకరి పేరు ."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "జ్ఞుడిప్"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "ఇతర నవీకరణ URL"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "IP చిరునామా"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "IP చిరునామా"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Enter a valid username."
msgid "Both IPv4 and IPv6 addresses"
msgstr "చెల్లుబాటు అయ్యే వినియోగదారు పేరును నమోదు చేయండి."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "సేవా రకం"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "GnudIP సేవకం చిరునామా"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "సేవిక పేరు చెలదు"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "URL నవీకరణ"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "అన్ని ఎస్.ఎస్.ఎల్ సర్టిఫికెట్లు అంగీకరించు"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "HTTP ప్రాథమిక ప్రమాణీకరణ ఉపయోగించు"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "డొమైను పేరు"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "డొమైన్ పేరు చెల్లదు"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "వినియోగి పేరు"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "రహస్యపదం కనబర్చు"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "ఇప్ప్4 బదులు ఇప్ప్6 వినియోగించండి"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "IP చిరునామా"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "ఇది అవసరమేయిన్న క్షేత్రం."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "డొమైన్ ఇప్పటికే ఉన్నది."
@ -2124,8 +2149,9 @@ msgid "Last update"
msgstr "చివరి నవీకరణ"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "IP చిరునామా"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2136,7 +2162,7 @@ msgid "Actions"
msgstr "చర్యలు"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "డొమైన్ %(domain)s ని సవరించు"
@ -2153,12 +2179,12 @@ msgstr "విజయం"
msgid "Failed"
msgstr "విఫలమైంది"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "డొమైన్‌ను తొలగించండి %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "డొమైన్‌లు ఏవీ కాన్ఫిగర్ చేయబడలేదు."
@ -3689,11 +3715,7 @@ msgstr ""
"అమలు చేయబడుతుంది. భద్రత, నాణ్యత, గోప్యత మరియు చట్టపరమైన సమీక్షలు Debian/{box_name} ద్వారా "
"కాకుండా అప్‌స్ట్రీమ్ ప్రాజెక్ట్ ద్వారా చేయబడతాయి. నవీకరణలు స్వతంత్ర చక్రం తర్వాత నిర్వహించబడతాయి."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10031,6 +10053,10 @@ msgstr "క్లయింట్ కోసం ఉపయోగించాల్
msgid "Add Client"
msgstr "ఐ ర్ సి క్లయింట్ (Quassel)"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP చిరునామా"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
msgid "Private Key"
@ -10436,21 +10462,21 @@ msgstr "ఆకృతీకరణ ఫైలు: {file}"
msgid "Timeout waiting for package manager"
msgstr "ప్యాకేజీ మేనేజర్ కోసం వేచి ఉన్న సమయం ముగిసింది"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "చిరునామాను అభ్యర్థిస్తోంది"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10620,6 +10646,26 @@ msgstr "బగ్ నివేదికను సమర్పించే ము
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "<em>%(service_name)s</em> సేవ నడవడం లేదు."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add a new peer"
msgid "Add New App"
msgstr "కొత్త పరిచయకర్తని జోడించండి"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "కొత్త పరిచయకర్తని జోడించండి"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10666,18 +10712,6 @@ msgstr "బాషను ఎంచుకోండి"
msgid "Log in"
msgstr "లోనికి ప్రవేశించండి"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "కొత్త పరిచయకర్తని జోడించండి"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "అందుబాటులో ఉన్న డొమైన్లు"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "వెబ్ క్లయింట్ ని ప్రారంభించండి"
@ -10932,11 +10966,11 @@ msgstr "మొత్తం యాప్ డేటా మరియు కాన
msgid "Here"
msgstr "ఇక్కడ"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "మారకుండా అమర్చుతోంది"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "{app_id} ని అన్ఇన్‌స్టాల్ చేయడానికి ముందు"
@ -10945,6 +10979,14 @@ msgstr "{app_id} ని అన్ఇన్‌స్టాల్ చేయడా
msgid "Gujarati"
msgstr "గుజరాతీ"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "ఇప్ప్4 బదులు ఇప్ప్6 వినియోగించండి"
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "అందుబాటులో ఉన్న డొమైన్లు"
#, fuzzy, python-brace-format
#~| msgid ""
#~| "Minetest is a multiplayer infinite-world block sandbox. This module "

View File

@ -6,9 +6,9 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"PO-Revision-Date: 2026-06-03 05:01+0000\n"
"Last-Translator: Burak Yavuz <hitowerdigit@hotmail.com>\n"
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
"PO-Revision-Date: 2026-08-19 02:51+0000\n"
"Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/freedombox/"
"freedombox/tr/>\n"
"Language: tr\n"
@ -16,7 +16,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 2026.6\n"
"X-Generator: Weblate 2026.9.dev0\n"
#: plinth/config.py:103
#, python-brace-format
@ -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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -635,7 +635,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1023,7 +1022,7 @@ msgid "No passwords currently configured."
msgstr "Şu anda yapılandırılmış parolalar yok."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1673,7 +1672,7 @@ msgstr "Web istemcisi"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1681,7 +1680,7 @@ msgstr ""
"Sistem tanılama denemesi, uygulamaların ve hizmetlerin beklendiği gibi "
"çalıştığını doğrulamak için sisteminizde bir dizi denetim gerçekleştirecek."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1690,54 +1689,54 @@ msgstr ""
"Bu uygulama ayrıca {box_name} hizmetleri için <a href=\"{logs_url}"
"\">günlükleri</a> gösterir."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Tanılama"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "atlandı"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "geçti"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "başarısız"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "hata"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "uyarı"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
"Bellek kullanımını azaltmak için bazı uygulamaları etkisizleştirmelisiniz."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Bu sisteme herhangi bir yeni uygulama yüklememelisiniz."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1746,24 +1745,24 @@ msgstr ""
"Sistem belleği düşük: %{percent_used} kullanılıyor, {memory_available}."
"{memory_available_unit} boş. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Düşük Bellek"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Tanılama çalıştırılıyor"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "Sıradan denemeler sırasında {issue_count} sorun bulundu."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Tanı sonuçları"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Tanı sonuçlarına git"
@ -2014,66 +2013,86 @@ msgstr "Şu anki parolanızı korumak istiyorsanız bu alanı boş bırakın."
msgid "The username that was used when the account was created."
msgstr "Hesap oluşturulduğunda kullanılan kullanıcı adı."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
"İSS'nizin sunduğu seçeneğe göre seçim yapın: bir dış IPv4 adresi, bir dış "
"IPv6 adresi veya her ikisi."
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Diğer güncelleme URL'si"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr "Yalnızca IPv4 adresi"
#: plinth/modules/dynamicdns/forms.py:58
msgid "IPv6 address only"
msgstr "Yalnızca IPv6 adresi"
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr "Hem IPv4 hem de IPv6 adresleri"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Hizmet Türü"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "GnuDIP Sunucu Adresi"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Geçersiz sunucu adı"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Güncelleme URL'si"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Tüm SSL sertifikalarını kabul et"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "HTTP temel kimlik doğrulamasını kullan"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Etki Alanı Adı"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Geçersiz etki alanı adı"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Kullanıcı adı"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Parolayı göster"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "IPv4 yerine IPv6 kullan"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr "IP Adresi Türü"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Bu alan gereklidir."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Etki alanı zaten var."
@ -2115,9 +2134,8 @@ msgid "Last update"
msgstr "Son güncelleme"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP Adresi"
msgid "IP Addresses"
msgstr "IP Adresleri"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2127,7 +2145,7 @@ msgid "Actions"
msgstr "Eylemler"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "%(domain)s etki alanını düzenle"
@ -2144,12 +2162,12 @@ msgstr "Başarılı"
msgid "Failed"
msgstr "Başarısız"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "%(domain)s etki alanını sil"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Yapılandırılmış etki alanları yok."
@ -2975,7 +2993,7 @@ msgstr ""
#: plinth/modules/first_boot/__init__.py:47
msgid "First Boot"
msgstr ""
msgstr "İlk Önyükleme"
#: plinth/modules/first_boot/__init__.py:68
msgid "Setup complete! Next steps:"
@ -2999,19 +3017,15 @@ msgid "See next steps"
msgstr "Sonraki adımları görün"
#: plinth/modules/first_boot/forms.py:14
#, fuzzy, python-brace-format
#| msgid ""
#| "Enter the secret generated during FreedomBox installation. This secret "
#| "can also be obtained by running the command \"sudo cat /var/lib/plinth/"
#| "firstboot-wizard-secret\" on your {box_name}"
#, python-brace-format
msgid ""
"Enter the secret generated during {box_name} installation. This secret can "
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
"wizard-secret\" on your {box_name}"
msgstr ""
"FreedomBox kurulumu sırasında oluşturulan gizli anahtarı girin. Bu gizli "
"{box_name} kurulumu sırasında oluşturulan gizli anahtarı girin. Bu gizli "
"anahtarı, {box_name} cihazınızda \"sudo cat /var/lib/plinth/firstboot-wizard-"
"secret\" komutunu çalıştırarak da elde edebilirsiniz"
"secret\" komutunu çalıştırarak elde edebilirsiniz"
#: plinth/modules/first_boot/forms.py:19
msgid "Firstboot Wizard Secret"
@ -3736,11 +3750,7 @@ msgstr ""
"yöndeki proje tarafından yapılır. Güncellemeler bağımsız bir döngünün "
"ardından gerçekleştirilir."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Bu uygulama deneyseldir."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -4691,10 +4701,15 @@ msgid ""
"game. It allows users to build and explore 3D worlds, interact with others, "
"and engage in various activities such as crafting, mining, and combat."
msgstr ""
"Luanti, eski adıyla Minetest, çok oyunculu, sonsuz dünya bloklu bir korumalı "
"alan oyunudur. Kullanıcıların 3 boyutlu dünyalar inşa etmesini ve "
"keşfetmesini, başkalarıyla etkileşime girmesini ve işçilik, madencilik ve "
"dövüş gibi çeşitli etkinliklere katılmasını sağlar."
#: plinth/modules/minetest/__init__.py:36
msgid "Luanti offers several educational benefits, including:"
msgstr ""
"Luanti aşağıdakiler de dahil olmak üzere çeşitli eğitim faydaları sunar:"
#: plinth/modules/minetest/__init__.py:37
msgid ""
@ -4703,6 +4718,10 @@ msgid ""
"exploration.</li><li>Fostering social interaction and collaboration among "
"players.</li></ul>"
msgstr ""
"<ul><li>Uzamsal akıl yürütme ve problem çözme becerilerini geliştirmek.</"
"li><li>İnşa etme ve keşfetme yoluyla yaratıcılığı ve kendini ifade etmeyi "
"teşvik etmek.</li><li>Oyuncular arasında sosyal etkileşime ve işbirliğine "
"teşvik etmek.</li></ul>"
#: plinth/modules/minetest/__init__.py:43
#, python-brace-format
@ -4713,6 +4732,11 @@ msgid ""
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
"documentation</a> or online resources."
msgstr ""
"Başlamak için <a href=\"https://www.luanti.org/downloads/\">Luanti "
"istemcisini</a> kullanıcıların cihazlarına yükleyin ve {box_name} IP'sini ve "
"varsayılan bağlantı noktasını (30000) kullanarak Luanti sunucusuna bağlanın. "
"Daha fazla bilgi için lütfen resmi <a href=\"https://docs.luanti.org/"
"\">Minetest belgelerine</a> veya çevrimiçi kaynaklara bakın."
#: plinth/modules/minetest/__init__.py:68 plinth/modules/minetest/manifest.py:9
msgid "Luanti"
@ -10285,6 +10309,10 @@ msgstr "Bu istemciye atanacak IP adresi"
msgid "Add Client"
msgstr "İstemci Ekle"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP Adresi"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr "Özel Anahtar"
@ -10690,20 +10718,20 @@ msgstr "yapılandırma dosyası: {file}"
msgid "Timeout waiting for package manager"
msgstr "Paket yöneticisini beklerken zaman aşımı oldu"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
"Kullanıcı hesabınızı kullanıcı adı ile benzersiz bir şekilde tanımlayın"
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr "E-posta adresini görüntüle"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr "Temel profil bilgilerini görüntüle (ad ve e-posta gibi)"
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr "Hesabın sahip olduğu izinleri görüntüle"
@ -10865,6 +10893,22 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "<em>%(service_name)s</em> hizmeti çalışmıyor."
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr "Yeni Uygulama Ekle"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr "Eklenebilecek başka uygulama yok."
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr "Yeni uygulama ekle"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr "Şu anda eklenen uygulama yok."
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10910,18 +10954,6 @@ msgstr "Dil seçin"
msgid "Log in"
msgstr "Oturum aç"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Yeni bir kişi ekle"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Kullanılabilir Etki Alanları"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Web istemcisini başlat"
@ -11176,11 +11208,11 @@ msgstr ""
msgid "Here"
msgstr "Burada"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Ayar değişmedi"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "{app_id} kaldırılmadan önce"
@ -11189,6 +11221,15 @@ msgstr "{app_id} kaldırılmadan önce"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "IPv4 yerine IPv6 kullan"
#~ msgid "This app is experimental."
#~ msgstr "Bu uygulama deneyseldir."
#~ msgid "Available for install"
#~ msgstr "Yükleme için kullanılabilir"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -650,7 +650,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1039,7 +1038,7 @@ msgid "No passwords currently configured."
msgstr "Не налаштовано жодного пароля."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1698,7 +1697,7 @@ msgstr "Веб-клієнт"
msgid "P2P"
msgstr "P2P"
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1706,7 +1705,7 @@ msgstr ""
"Тест діагностики системи запускає певну кількість перевірок, щоб упевнитися, "
"що застосунки і сервіси працюють так, як очікується."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
@ -1715,54 +1714,54 @@ msgstr ""
"Ця програма також показує <a href=\"{logs_url}\">журнали</a> для сервісів "
"{box_name}."
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Діагностика"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr "пропущено"
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "пройдено"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "невдало"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "помилка"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "попередження"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "МіБ"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "ҐіБ"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr ""
"Ви повинні вимкнути деякі застосунки, щоб зменшити використання памʼяті."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Не слід встановлювати нові застосунки в цій системі."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1771,24 +1770,24 @@ msgstr ""
"У системі бракує памʼяті: {percent_used}% використано, {memory_available} "
"{memory_available_unit} вільно. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Мало памʼяті"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "Виконується діагностика"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "Знайдено {issue_count} проблеми під час звичайних перевірок."
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "Результати діагностики"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "Перейти до результатів діагностики"
@ -2040,66 +2039,92 @@ msgstr ""
"Імʼя користувача, яке використовуватиметься після створення облікового "
"запису."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "Інша URL-адреса оновлення"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP address"
msgid "IPv4 address only"
msgstr "IP-адреса"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP address"
msgid "IPv6 address only"
msgstr "IP-адреса"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "Enter a valid username."
msgid "Both IPv4 and IPv6 addresses"
msgstr "Уведіть коректне імʼя користувача."
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Тип сервісу"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Адреса сервера GnuDIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Невірна назва сервера"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "Оновити URL"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Приймати всі SSL-сертифікати"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Використовувати основну автентифікацію HTTP"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Доменна назва"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Неправильна доменна назва"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Ім’я користувача"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Показати пароль"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Використовувати IPv6 замість IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP Address"
msgid "IP Address Type"
msgstr "IP-адреса"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "Це поле обовʼязкове."
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "Домен вже існує."
@ -2141,9 +2166,10 @@ msgid "Last update"
msgstr "Востаннє оновлено"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP-адреса"
#, fuzzy
#| msgid "IP addresses"
msgid "IP Addresses"
msgstr "IP-адреси"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
@ -2153,7 +2179,7 @@ msgid "Actions"
msgstr "Дії"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr "Редагувати домен %(domain)s"
@ -2170,12 +2196,12 @@ msgstr "Успішно"
msgid "Failed"
msgstr "Невдало"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "Видалити домен %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "Домени не налаштовано."
@ -3767,11 +3793,7 @@ msgstr ""
"програмне забезпечення, а не Debian/{box_name}. Оновлення виконуються за "
"незалежним циклом."
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr "Це експериментальний застосунок."
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -10329,6 +10351,10 @@ msgstr "IP-адреса для використання клієнтом:"
msgid "Add Client"
msgstr "Додати клієнта"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP-адреса"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
#, fuzzy
#| msgid "Private key path"
@ -10746,21 +10772,21 @@ msgstr "файл конфіґурації: {file}"
msgid "Timeout waiting for package manager"
msgstr "Час очікування менеджера пакунків"
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
#, fuzzy
#| msgid "requesting address"
msgid "View email address"
msgstr "запит адреси"
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10922,6 +10948,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "Сервіс <em>%(service_name)s</em> не запущено."
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Add a new peer"
msgid "Add New App"
msgstr "Додати новий вузол"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Додати новий вузол"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10969,18 +11015,6 @@ msgstr "Вибрати мову"
msgid "Log in"
msgstr "Увійти"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Add a new peer"
msgid "Add new app"
msgstr "Додати новий вузол"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "Дозволені домени"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "Запустити вебклієнт"
@ -11234,11 +11268,11 @@ msgstr ""
msgid "Here"
msgstr "тут"
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "Налаштування не змінено"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr "перед видаленням {app_id}"
@ -11247,6 +11281,17 @@ msgstr "перед видаленням {app_id}"
msgid "Gujarati"
msgstr "Gujarati"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Використовувати IPv6 замість IPv4"
#~ msgid "This app is experimental."
#~ msgstr "Це експериментальний застосунок."
#, fuzzy
#~| msgid "Available Domains"
#~ msgid "Available for install"
#~ msgstr "Дозволені домени"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -652,7 +652,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1070,7 +1069,7 @@ msgid "No passwords currently configured."
msgstr "Không có mật khẩu nào hiện được thiết lập."
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1744,7 +1743,7 @@ msgstr ""
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
@ -1752,60 +1751,60 @@ msgstr ""
"Kiểm tra chẩn đoán hệ thống sẽ chạy một số phép thử trên hệ thống của bạn để "
"xác nhận rằng các ứng dụng và dịch vụ đang hoạt động như mong đợi."
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "Chẩn đoán"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "đã qua"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "đã trượt"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "lỗi"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "cảnh báo"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "Bạn nên tắt một số ứng dụng để sử dụng ít bộ nhớ hơn."
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "Bạn không nên cài đặt bất kỳ ứng dụng mới nào trên hệ thống này."
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1814,28 +1813,28 @@ msgstr ""
"Hệ thống còn ít bộ nhớ: đã sử dụng {percent_used}%, còn trống "
"{memory_available} {memory_available_unit}. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "Ít bộ nhớ"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
#, fuzzy
#| msgid "Run Diagnostics"
msgid "Running diagnostics"
msgstr "Chạy chẩn đoán"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Diagnostics results"
msgstr "Kết quả chẩn đoán"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
#, fuzzy
#| msgid "Diagnostic Results"
msgid "Go to diagnostics results"
@ -2107,68 +2106,94 @@ msgstr "Bỏ trống ô này nếu bạn muốn giữ mật khẩu hiện tại.
msgid "The username that was used when the account was created."
msgstr "Tên người dùng được sử dụng khi tài khoản được tạo."
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
#, fuzzy
#| msgid "other update URL"
msgid "Other update URL"
msgstr "URL cập nhật khác"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP addresses"
msgid "IPv4 address only"
msgstr "Địa chỉ IP"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP addresses"
msgid "IPv6 address only"
msgstr "Địa chỉ IP"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "IP addresses"
msgid "Both IPv4 and IPv6 addresses"
msgstr "Địa chỉ IP"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "Loại dịch vụ"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "Địa chỉ máy chủ GnuDIP"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "Tên máy chủ không hợp lệ"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "URL cập nhật"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "Chấp nhận tất cả chứng chỉ SSL"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "Sử dụng xác thực HTTP cơ bản"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "Tên miền"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "Tên miền không hợp lệ"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "Tên người dùng"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "Hiện mật khẩu"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "Sử dụng IPv6 thay vì IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address Type"
msgstr "Địa chỉ IP"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Domain already exists."
@ -2218,10 +2243,9 @@ msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address"
msgid "IP Addresses"
msgstr "Địa chỉ IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2232,7 +2256,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2255,13 +2279,13 @@ msgstr "Truy cập"
msgid "Failed"
msgstr "đã trượt"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete Archive %(name)s"
msgid "Delete domain %(domain)s"
msgstr "Xoá tệp %(name)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "Error setting domain name: {exception}"
msgid "No domains configured."
@ -3685,11 +3709,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9503,6 +9523,12 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address"
msgstr "Địa chỉ IP"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9870,19 +9896,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -10042,6 +10068,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Included apps"
msgid "Add New App"
msgstr "Ứng dụng được bao gồm"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Included apps"
msgid "Add new app"
msgstr "Ứng dụng được bao gồm"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -10086,16 +10132,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Included apps"
msgid "Add new app"
msgstr "Ứng dụng được bao gồm"
#: plinth/templates/cards.html:48
msgid "Available for install"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -10338,11 +10374,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -10351,6 +10387,9 @@ msgstr ""
msgid "Gujarati"
msgstr ""
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "Sử dụng IPv6 thay vì IPv4"
#~ msgid ""
#~ "Password of the SSH Server.<br />SSH key-based authentication is not yet "
#~ "possible."

View File

@ -7,10 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: Plinth\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"PO-Revision-Date: 2026-07-20 13:01+0000\n"
"Last-Translator: reducedradius "
"<137701630+flytothehighest@users.noreply.github.com>\n"
"POT-Creation-Date: 2026-08-17 23:23+0000\n"
"PO-Revision-Date: 2026-08-19 02:51+0000\n"
"Last-Translator: Hosted Weblate user 54392 "
"<hamburger2048@users.noreply.hosted.weblate.org>\n"
"Language-Team: Chinese (Simplified Han script) <https://hosted.weblate.org/"
"projects/freedombox/freedombox/zh_Hans/>\n"
"Language: zh_Hans\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 2026.8.dev0\n"
"X-Generator: Weblate 2026.9.dev0\n"
#: plinth/config.py:103
#, python-brace-format
@ -30,7 +30,7 @@ msgstr ""
msgid "Container {container_name} is running"
msgstr "{container_name} 容器正在运行"
#: plinth/context_processors.py:21 plinth/views.py:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "FreedomBox"
@ -609,7 +609,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -985,7 +984,7 @@ msgid "No passwords currently configured."
msgstr "目前没有配置密码。"
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1604,67 +1603,67 @@ msgstr "Web 客户端"
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
"系统诊断将运行测试程序检查你的系统以确认应用程序和服务正在按预期方式运行。"
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "诊断程序"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "通过了"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "失败"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "错误"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "警告"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "你应该禁用一些应用程序以减少内存的使用。"
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "你不应该在这个系统上安装任何新的应用程序。"
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1673,24 +1672,24 @@ msgstr ""
"系统内存不足:已使用 {percent_used}{memory_available} "
"{memory_available_unit}可用。{advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "低内存"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "运行诊断程序"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "诊断结果"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "转到诊断结果"
@ -1925,66 +1924,84 @@ msgstr "如果你想保持你的当前密码,请将此字段留空。"
msgid "The username that was used when the account was created."
msgstr "创建账户时使用的用户名。"
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr "其他更新 URL"
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
msgid "IPv4 address only"
msgstr "仅 IPv4 地址"
#: plinth/modules/dynamicdns/forms.py:58
msgid "IPv6 address only"
msgstr "仅 IPv6 地址"
#: plinth/modules/dynamicdns/forms.py:59
msgid "Both IPv4 and IPv6 addresses"
msgstr "IPv4 和 IPv6 地址"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr "服务类型"
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr "GnuDIP 服务器地址"
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr "服务器名称无效"
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr "更新 URL"
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr "接受所有 SSL 证书"
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr "使用 HTTP 基本身份认证"
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "域名"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "无效的域名"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "用户名"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "显示密码"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "使用IPv6而不是IPv4"
#: plinth/modules/dynamicdns/forms.py:100
msgid "IP Address Type"
msgstr "IP 地址类型"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
msgid "Domain already exists."
msgstr "域名已存在。"
@ -2026,8 +2043,7 @@ msgid "Last update"
msgstr "最后一次更新"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgid "IP Addresses"
msgstr "IP 地址"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2038,7 +2054,7 @@ msgid "Actions"
msgstr "行动"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2055,12 +2071,12 @@ msgstr "成功"
msgid "Failed"
msgstr "失败"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, python-format
msgid "Delete domain %(domain)s"
msgstr "删除域名 %(domain)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
msgid "No domains configured."
msgstr "没有配置域名。"
@ -3471,11 +3487,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9253,6 +9265,10 @@ msgstr ""
msgid "Add Client"
msgstr "添加客户端"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
msgid "IP Address"
msgstr "IP 地址"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr "私钥"
@ -9613,19 +9629,19 @@ msgstr "配置文件:{file}"
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9782,6 +9798,22 @@ msgstr "提交日志报告前,请从日志中删除任何个人信息。"
msgid "Service <em>%(service_name)s</em> is not running."
msgstr "服务 <em>%(service_name)s</em> 未在运行。"
#: plinth/templates/apps-add.html:16
msgid "Add New App"
msgstr "添加新应用"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
msgid "Add new app"
msgstr "添加新应用"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9824,18 +9856,6 @@ msgstr "选择语言"
msgid "Log in"
msgstr "登录"
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Advanced apps"
msgid "Add new app"
msgstr "高级应用"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Available Domains"
msgid "Available for install"
msgstr "可用域名"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr "启动 web 客户端"
@ -10072,11 +10092,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr "设置未改变"
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -10085,6 +10105,12 @@ msgstr ""
msgid "Gujarati"
msgstr "古吉拉特语"
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "使用IPv6而不是IPv4"
#~ msgid "Available for install"
#~ msgstr "可安装"
#, python-brace-format
#~ msgid ""
#~ "Luanti, formally known as Minetest, is a multiplayer infinite-world block "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
"POT-Creation-Date: 2026-08-17 23:23+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:180
#: plinth/context_processors.py:21 plinth/views.py:183
msgid "FreedomBox"
msgstr "自由盒子"
@ -620,7 +620,6 @@ msgstr ""
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#: plinth/modules/diagnostics/templates/diagnostics_full.html:103
#: plinth/modules/help/templates/help_about.html:23
#: plinth/modules/homeassistant/__init__.py:48
#: plinth/modules/kiwix/templates/kiwix-add-package.html:27
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:29
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:95
@ -1018,7 +1017,7 @@ msgid "No passwords currently configured."
msgstr "目前沒有設定密碼。"
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/dynamicdns/forms.py:85 plinth/modules/miniflux/forms.py:14
#: plinth/modules/dynamicdns/forms.py:93 plinth/modules/miniflux/forms.py:14
#: plinth/modules/networks/forms.py:282 plinth/modules/shadowsocks/forms.py:32
#: plinth/modules/shadowsocksserver/forms.py:37
msgid "Password"
@ -1661,67 +1660,67 @@ msgstr "網頁客戶端"
msgid "P2P"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:32
#: plinth/modules/diagnostics/__init__.py:33
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
"系統診斷測試將對您的系統進行多項檢查,以確認應用程序和服務是否按預期運行。"
#: plinth/modules/diagnostics/__init__.py:36
#: plinth/modules/diagnostics/__init__.py:37
#, python-brace-format
msgid ""
"This app also shows the <a href=\"{logs_url}\">logs</a> for {box_name} "
"services."
msgstr ""
#: plinth/modules/diagnostics/__init__.py:60
#: plinth/modules/diagnostics/__init__.py:255
#: plinth/modules/diagnostics/__init__.py:61
#: plinth/modules/diagnostics/__init__.py:256
msgid "Diagnostics"
msgstr "診斷"
#: plinth/modules/diagnostics/__init__.py:115
#: plinth/modules/diagnostics/__init__.py:116
msgid "skipped"
msgstr ""
#: plinth/modules/diagnostics/__init__.py:116
#: plinth/modules/diagnostics/__init__.py:117
msgid "passed"
msgstr "通過"
#: plinth/modules/diagnostics/__init__.py:117
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/networks/views.py:51
msgid "failed"
msgstr "失敗"
#: plinth/modules/diagnostics/__init__.py:118
#: plinth/modules/diagnostics/__init__.py:119
msgid "error"
msgstr "錯誤"
#: plinth/modules/diagnostics/__init__.py:119
#: plinth/modules/diagnostics/__init__.py:120
msgid "warning"
msgstr "警告"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:221
#: plinth/modules/diagnostics/__init__.py:222
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:226
#: plinth/modules/diagnostics/__init__.py:227
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:233
#: plinth/modules/diagnostics/__init__.py:234
msgid "You should disable some apps to reduce memory usage."
msgstr "您應該停用一些應用程式以減少記憶體使用量。"
#: plinth/modules/diagnostics/__init__.py:238
#: plinth/modules/diagnostics/__init__.py:239
msgid "You should not install any new apps on this system."
msgstr "您不應該在這個系統上安裝任何新的應用程式。"
#: plinth/modules/diagnostics/__init__.py:250
#: plinth/modules/diagnostics/__init__.py:251
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
@ -1730,24 +1729,24 @@ msgstr ""
"系統記憶體不足: 使用了{percent_used}%,剩 {memory_available}"
"{memory_available_unit} 可用。{advice_message}"
#: plinth/modules/diagnostics/__init__.py:252
#: plinth/modules/diagnostics/__init__.py:253
msgid "Low Memory"
msgstr "記憶體不足"
#: plinth/modules/diagnostics/__init__.py:283
#: plinth/modules/diagnostics/__init__.py:284
msgid "Running diagnostics"
msgstr "正在進行診斷"
#: plinth/modules/diagnostics/__init__.py:329
#: plinth/modules/diagnostics/__init__.py:330
#, no-python-format, python-brace-format
msgid "Found {issue_count} issues during routine tests."
msgstr "在例行測試中發現{issue_count}個問題。"
#: plinth/modules/diagnostics/__init__.py:330
#: plinth/modules/diagnostics/__init__.py:331
msgid "Diagnostics results"
msgstr "診斷結果"
#: plinth/modules/diagnostics/__init__.py:335
#: plinth/modules/diagnostics/__init__.py:336
msgid "Go to diagnostics results"
msgstr "前往診斷結果頁面"
@ -2000,66 +1999,92 @@ msgstr ""
msgid "The username that was used when the account was created."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:48
#: plinth/modules/dynamicdns/forms.py:49
msgid ""
"Select based on what your ISP provides: a public IPv4 address, a public IPv6 "
"address, or both."
msgstr ""
#: plinth/modules/dynamicdns/forms.py:52
msgid "GnuDIP"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:51
#: plinth/modules/dynamicdns/forms.py:55
msgid "Other update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:53
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "IP addresses"
msgid "IPv4 address only"
msgstr "IP 地址"
#: plinth/modules/dynamicdns/forms.py:58
#, fuzzy
#| msgid "IP addresses"
msgid "IPv6 address only"
msgstr "IP 地址"
#: plinth/modules/dynamicdns/forms.py:59
#, fuzzy
#| msgid "IP addresses"
msgid "Both IPv4 and IPv6 addresses"
msgstr "IP 地址"
#: plinth/modules/dynamicdns/forms.py:61
msgid "Service Type"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:58
#: plinth/modules/dynamicdns/forms.py:66
msgid "GnuDIP Server Address"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:61
#: plinth/modules/dynamicdns/forms.py:69
msgid "Invalid server name"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:64
#: plinth/modules/dynamicdns/forms.py:72
msgid "Update URL"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:68
#: plinth/modules/dynamicdns/forms.py:76
msgid "Accept all SSL certificates"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:72
#: plinth/modules/dynamicdns/forms.py:80
msgid "Use HTTP basic authentication"
msgstr ""
#: plinth/modules/dynamicdns/forms.py:76 plinth/modules/names/forms.py:107
#: plinth/modules/dynamicdns/forms.py:84 plinth/modules/names/forms.py:107
#: plinth/modules/names/templates/names.html:20
msgid "Domain Name"
msgstr "網域名稱"
#: plinth/modules/dynamicdns/forms.py:79 plinth/modules/names/forms.py:100
#: plinth/modules/dynamicdns/forms.py:87 plinth/modules/names/forms.py:100
#: plinth/modules/names/forms.py:118
msgid "Invalid domain name"
msgstr "無效的網域名稱"
#: plinth/modules/dynamicdns/forms.py:82 plinth/modules/miniflux/forms.py:11
#: plinth/modules/dynamicdns/forms.py:90 plinth/modules/miniflux/forms.py:11
#: plinth/modules/networks/forms.py:281 plinth/modules/users/forms.py:151
msgid "Username"
msgstr "使用者名稱"
#: plinth/modules/dynamicdns/forms.py:89 plinth/modules/networks/forms.py:284
#: plinth/modules/dynamicdns/forms.py:97 plinth/modules/networks/forms.py:284
msgid "Show password"
msgstr "顯示密碼"
#: plinth/modules/dynamicdns/forms.py:93
msgid "Use IPv6 instead of IPv4"
msgstr "使用 IPv6 而不是 IPv4"
#: plinth/modules/dynamicdns/forms.py:100
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address Type"
msgstr "IP 地址"
#: plinth/modules/dynamicdns/forms.py:108
#: plinth/modules/dynamicdns/forms.py:117
msgid "This field is required."
msgstr "此欄位為必填項。"
#: plinth/modules/dynamicdns/forms.py:138 plinth/modules/names/forms.py:125
#: plinth/modules/dynamicdns/forms.py:150 plinth/modules/names/forms.py:125
#, fuzzy
#| msgid "Remote backup repository already exists."
msgid "Domain already exists."
@ -2109,10 +2134,9 @@ msgid "Last update"
msgstr "最後更新"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:29
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address"
msgid "IP Addresses"
msgstr "IP 地址"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:30
@ -2123,7 +2147,7 @@ msgid "Actions"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:38
#: plinth/modules/dynamicdns/templates/dynamicdns.html:73
#: plinth/modules/dynamicdns/templates/dynamicdns.html:75
#, python-format
msgid "Edit domain %(domain)s"
msgstr ""
@ -2144,13 +2168,13 @@ msgstr "存取"
msgid "Failed"
msgstr "失敗"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:80
#: plinth/modules/dynamicdns/templates/dynamicdns.html:82
#, fuzzy, python-format
#| msgid "Delete Archive %(name)s"
msgid "Delete domain %(domain)s"
msgstr "刪除備份檔 %(name)s"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:92
#: plinth/modules/dynamicdns/templates/dynamicdns.html:94
#, fuzzy
#| msgid "No passwords currently configured."
msgid "No domains configured."
@ -3588,11 +3612,7 @@ msgid ""
"Updates are performed following an independent cycle."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:48
msgid "This app is experimental."
msgstr ""
#: plinth/modules/homeassistant/__init__.py:64
#: plinth/modules/homeassistant/__init__.py:63
#: plinth/modules/homeassistant/manifest.py:12
#: plinth/modules/homeassistant/manifest.py:20
msgid "Home Assistant"
@ -9402,6 +9422,12 @@ msgstr ""
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:22
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address"
msgstr "IP 地址"
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
msgid "Private Key"
msgstr ""
@ -9769,19 +9795,19 @@ msgstr ""
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/settings.py:181
#: plinth/settings.py:180
msgid "Uniquely identify your user account with username"
msgstr ""
#: plinth/settings.py:183
#: plinth/settings.py:182
msgid "View email address"
msgstr ""
#: plinth/settings.py:185
#: plinth/settings.py:184
msgid "View basic profile information (such as name and email)"
msgstr ""
#: plinth/settings.py:187
#: plinth/settings.py:186
msgid "View permissions that account has"
msgstr ""
@ -9941,6 +9967,26 @@ msgstr ""
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/apps-add.html:16
#, fuzzy
#| msgid "Included apps"
msgid "Add New App"
msgstr "包含的應用"
#: plinth/templates/apps-add.html:21
msgid "There are no more apps available to add."
msgstr ""
#: plinth/templates/apps.html:20
#, fuzzy
#| msgid "Included apps"
msgid "Add new app"
msgstr "包含的應用"
#: plinth/templates/apps.html:27
msgid "There are currently no apps added."
msgstr ""
#: plinth/templates/base.html:31
msgid ""
"FreedomBox is a personal server designed for privacy and data ownership. It "
@ -9985,18 +10031,6 @@ msgstr ""
msgid "Log in"
msgstr ""
#: plinth/templates/cards.html:28
#, fuzzy
#| msgid "Included apps"
msgid "Add new app"
msgstr "包含的應用"
#: plinth/templates/cards.html:48
#, fuzzy
#| msgid "Backup app before uninstall"
msgid "Available for install"
msgstr "解除安裝前備份應用程式"
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
@ -10240,11 +10274,11 @@ msgstr ""
msgid "Here"
msgstr ""
#: plinth/views.py:436
#: plinth/views.py:496
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:659
#: plinth/views.py:723
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
@ -10253,6 +10287,14 @@ msgstr ""
msgid "Gujarati"
msgstr ""
#~ msgid "Use IPv6 instead of IPv4"
#~ msgstr "使用 IPv6 而不是 IPv4"
#, fuzzy
#~| msgid "Backup app before uninstall"
#~ msgid "Available for install"
#~ msgstr "解除安裝前備份應用程式"
#~ msgid ""
#~ "Password of the SSH Server.<br />SSH key-based authentication is not yet "
#~ "possible."

View File

@ -69,7 +69,7 @@ from plinth import action_utils
from plinth import app as app_module
from plinth import cfg
from plinth.config import DropinConfigs
from plinth.daemon import Daemon, RelatedDaemon
from plinth.daemon import Daemon
from plinth.modules import names
from plinth.modules.firewall.components import Firewall
from plinth.modules.letsencrypt.components import LetsEncrypt
@ -96,10 +96,9 @@ class ApacheApp(app_module.App):
is_essential=True, name=_('Apache HTTP Server'))
self.add(info)
packages = Packages('packages-apache', [
'apache2', 'php-fpm', 'ssl-cert', 'uwsgi-core',
'uwsgi-plugin-python3', 'libapache2-mod-auth-openidc'
])
packages = Packages(
'packages-apache',
['apache2', 'php-fpm', 'ssl-cert', 'libapache2-mod-auth-openidc'])
self.add(packages)
dropin_configs = DropinConfigs('dropin-configs-apache', [
@ -134,10 +133,6 @@ class ApacheApp(app_module.App):
daemon = Daemon('daemon-apache', 'apache2')
self.add(daemon)
# To be able to disable the old uwsgi init.d script.
related_daemon = RelatedDaemon('related-daemon-apache', 'uwsgi')
self.add(related_daemon)
@staticmethod
def post_init():
"""Perform post initialization operations."""

View File

@ -42,7 +42,7 @@ def _validate_service(service):
"""Validate a service manifest provided as a dictionary."""
assert isinstance(service['name'], str)
assert isinstance(service['type'], str)
assert service['type'] in ('apache', 'uwsgi', 'system')
assert service['type'] in ('apache', 'system')
if service['type'] == 'apache':
assert service['kind'] in ('config', 'site', 'module')

View File

@ -87,10 +87,6 @@ def test_invalid_directories_and_files(section):
None,
[],
['service'],
[{
'type': 'uwsgi',
'name': 'service'
}],
[{
'type': 'system',
'name': 'service'

View File

@ -6,7 +6,7 @@ from django.utils.translation import gettext_lazy as _
from plinth import app as app_module
from plinth import frontpage, menu
from plinth.config import DropinConfigs
from plinth.daemon import Daemon
from plinth.daemon import Daemon, RelatedDaemon
from plinth.modules.apache.components import Webserver
from plinth.modules.backups.components import BackupRestore
from plinth.modules.firewall.components import Firewall
@ -50,7 +50,7 @@ class BepastyApp(app_module.App):
app_id = 'bepasty'
_version = 4
_version = 5
def __init__(self) -> None:
"""Create components for the app."""
@ -72,7 +72,8 @@ class BepastyApp(app_module.App):
clients=manifest.clients, tags=info.tags)
self.add(shortcut)
packages = Packages('packages-bepasty', ['bepasty'])
packages = Packages('packages-bepasty',
['bepasty', 'uwsgi', 'uwsgi-plugin-python3'])
self.add(packages)
dropin_configs = DropinConfigs('dropin-configs-bepasty', [
@ -97,6 +98,10 @@ class BepastyApp(app_module.App):
**manifest.backup)
self.add(backup_restore)
# To be able to disable the old uwsgi init.d script.
related_daemon = RelatedDaemon('related-daemon-bepasty', 'uwsgi')
self.add(related_daemon)
def setup(self, old_version):
"""Install and configure the app."""
super().setup(old_version)

View File

@ -9,6 +9,7 @@ import logging
import pathlib
import threading
from copy import deepcopy
from typing import Any
import psutil
from django.urls import reverse_lazy
@ -40,7 +41,7 @@ _description = [
logger = logging.Logger(__name__)
current_results = {}
current_results: dict[str, Any] = {}
results_lock = threading.Lock()

View File

@ -7,7 +7,7 @@ import json
import logging
import subprocess
import time
import urllib
from typing import Any, Literal, Tuple
from django.utils.translation import gettext_lazy as _
@ -20,7 +20,7 @@ from plinth.modules.users.components import UsersAndGroups
from plinth.signals import domain_added, domain_removed
from plinth.utils import format_lazy
from . import gnudip, manifest, privileged
from . import generic, gnudip, manifest
logger = logging.getLogger(__name__)
@ -124,111 +124,100 @@ class DynamicDNSApp(app_module.App):
if not old_version:
self.enable()
if old_version == 1:
config = privileged.export_config()
if config['enabled']:
self.enable()
else:
self.disable()
del config['enabled']
set_config(config)
privileged.clean()
def _lookup_public_address(domain):
def _lookup_public_address(ip_type: Literal['ipv4', 'ipv6']):
"""Return the IP address by querying an external server."""
try:
ip_type = 'ipv6' if domain['use_ipv6'] else 'ipv4'
return lookup_public_address(ip_type)
except Exception:
return None
def _query_dns_address(domain):
def _query_dns_address(domain: str, ip_type: Literal['ipv4',
'ipv6']) -> str | None:
"""Return the IP address in the DNS records."""
ip_option = 'AAAA' if domain['use_ipv6'] else 'A'
ip_option = 'AAAA' if ip_type == 'ipv6' else 'A'
try:
output = subprocess.check_output(
['host', '-t', ip_option, domain['domain']])
output = subprocess.check_output(['host', '-t', ip_option, domain])
return output.decode().split(' ')[-1].strip().lower()
except subprocess.CalledProcessError as exception:
logger.warning('Unable to lookup DNS for host %s: %s',
domain['domain'], exception)
logger.warning('Unable to lookup DNS for host %s: %s', domain,
exception)
return None
def _update_using_url(domain, external_address):
"""Update DNS entry using an update URL."""
update_url = domain['update_url']
quote = urllib.parse.quote
if external_address:
update_url = update_url.replace('<Ip>', quote(external_address))
def _check_uptodate_for_ip_type(
domain: dict[str, Any],
ip_type: Literal['ipv4', 'ipv6']) -> Tuple[bool, str | None, str]:
"""Return whether a domain is up-to-date for a given IP address type."""
uptodate = False
dns_address = _query_dns_address(domain['domain'], ip_type)
external_address = _lookup_public_address(ip_type)
if dns_address == external_address and dns_address is not None:
logger.info('Dynamic domain %s is up-to-date: %s (%s)',
domain['domain'], dns_address, ip_type)
uptodate = True
if domain['domain']:
update_url = update_url.replace('<Domain>', quote(domain['domain']))
if domain['username']:
update_url = update_url.replace('<User>', quote(domain['username']))
if domain['password']:
update_url = update_url.replace('<Pass>', quote(domain['password']))
options = ['-o', '/dev/null', '-t', '3', '-T', '3']
if domain['use_http_basic_auth']:
options += [
'--user', domain['username'], '--password', domain['password']
]
if domain['disable_ssl_cert_check']:
options += ['--no-check-certificate']
if domain['use_ipv6']:
options += ['-6']
else:
options += ['-4']
command = ['wget', '-O', '/dev/null'] + options + [update_url]
process = subprocess.run(command, check=False)
return process.returncode == 0, external_address
return uptodate, dns_address, external_address
def _update_dns_for_domain(domain):
def _update_dns_for_domain(domain: dict[str, Any], ip_type: Literal['ipv4',
'ipv6'],
dns_address: str | None,
external_address: str) -> str | None:
"""Update DNS records for a single domain."""
result = False
ip_address = None
error = None
logger.info(
'Updating dynamic domain %s, DNS address %s, looked up '
'external address %s', domain['domain'], dns_address, external_address)
if domain['service_type'] == 'gnudip':
return gnudip.update(domain['server'], ip_type, domain['domain'],
domain['username'], domain['password'])
else:
return generic.update(domain, ip_type, external_address)
def _check_and_update_dns_for_domain(domain: dict[str, Any]):
"""Update DNS records for a single domain only when it is out-of-date."""
result = True
ip_addresses: list[str] = []
error_code: str | None = None
error_message: str | None = None
ip_types: list[Literal['ipv4', 'ipv6']]
if domain['ip_type'] == 'both':
ip_types = ['ipv4', 'ipv6']
else:
ip_types = [domain['ip_type']]
for ip_type in ip_types:
try:
uptodate, dns_address, external_address = \
_check_uptodate_for_ip_type(domain, ip_type)
try:
dns_address = _query_dns_address(domain)
external_address = _lookup_public_address(domain)
if dns_address == external_address and dns_address is not None:
logger.info('Dynamic domain %s is up-to-date: %s',
domain['domain'], dns_address)
result = True
ip_address = dns_address
error = ValueError('up-to-date')
else:
logger.info(
'Updating dynamic domain %s, DNS address %s, looked up '
'external address %s', domain['domain'], dns_address,
external_address)
if domain['service_type'] == 'gnudip':
result, ip_address = gnudip.update(domain['server'],
domain['domain'],
domain['username'],
domain['password'])
else:
result, ip_address = _update_using_url(domain,
external_address)
except Exception as exception:
logger.exception('Failed to be update Dynamic DNS - %s', exception)
error = exception
if not uptodate:
ip_address = _update_dns_for_domain(domain, ip_type,
dns_address,
external_address)
set_status(domain, result, ip_address, error)
ip_addresses.append(ip_address) # type: ignore
except subprocess.CalledProcessError as exception:
logger.exception('Failed to be update Dynamic DNS - %s', exception)
result = False
error_code = str(exception.__class__.__name__)
error_message = f'Command failed: code={exception.returncode}, ' \
f'stderr={exception.stderr.decode()}, ' \
f'stdout={exception.stdout.decode()}'
except Exception as exception:
logger.exception('Failed to be update Dynamic DNS - %s', exception)
result = False
error_code = str(exception.__class__.__name__)
error_message = str(exception.args[0])
set_status(domain, result, ip_addresses, error_code, error_message)
def update_dns(_data):
def update_dns(_data) -> None:
"""For all configured domains, check and up to date DNS records."""
config = get_config()
app = app_module.App.get('dynamicdns')
@ -237,10 +226,10 @@ def update_dns(_data):
# Update for each domain
for domain in config['domains'].values():
_update_dns_for_domain(domain)
_check_and_update_dns_for_domain(domain)
def get_status():
def get_status() -> dict[str, Any]:
"""Return the status of recent update for each domain."""
status = kvstore.get_default('dynamicdns_status', '{}')
status = json.loads(status)
@ -253,16 +242,25 @@ def get_status():
status['domains'][domain] = {
'domain': domain,
'result': False,
'ip_address': None,
'ip_addresses': [],
'error_code': None,
'error_message': None,
'timestamp': 0,
}
for domain_name, domain in status['domains'].items():
domain.setdefault('ip_addresses', [])
if 'ip_address' in domain:
if domain['ip_address']:
domain['ip_addresses'].append(domain['ip_address'])
del domain['ip_address']
return status
def set_status(domain, result, ip_address, error=None):
def set_status(domain: dict[str, Any], result: bool, ip_addresses: list[str],
error_code: str | None, error_message: str | None):
"""Set the status of most recent update."""
status = kvstore.get_default('dynamicdns_status', '{}')
status = json.loads(status)
@ -270,38 +268,50 @@ def set_status(domain, result, ip_address, error=None):
domains[domain['domain']] = {
'domain': domain['domain'],
'result': result,
'ip_address': ip_address,
'error_code': str(error.__class__.__name__) if error else None,
'error_message': str(error.args[0]) if error and error.args else None,
'ip_addresses': ip_addresses,
'error_code': error_code,
'error_message': error_message,
'timestamp': int(time.time()),
}
kvstore.set('dynamicdns_status', json.dumps(status))
def get_config():
def get_config() -> dict[str, Any]:
"""Return the current configuration."""
default_config = {'domains': {}}
default_config: dict[str, Any] = {'domains': {}}
config = kvstore.get_default('dynamicdns_config', '{}')
config = json.loads(config) or default_config
return _fix_corrupt_config(config)
return _migrate_old_config(config)
def _fix_corrupt_config(config):
"""Fix malformed configuration result of bug in older version."""
if 'null' not in config['domains']:
return config
def _migrate_old_config(config: dict[str, Any]) -> dict[str, Any]:
"""Upgrade the old configuration to newer format."""
updated = False
# Fix malformed configuration result of bug in older version.
if 'null' in config['domains']:
del config['domains']['null']
updated = True
# Upgrade from 'use_ipv6' to 'ip_type' key in domain configuration.
for domain_name, domain in config['domains'].items():
if 'use_ipv6' in domain:
domain['ip_type'] = 'ipv6' if domain['use_ipv6'] else 'ipv4'
del domain['use_ipv6']
updated = True
if updated:
set_config(config)
del config['domains']['null']
set_config(config)
return config
def set_config(config):
def set_config(config: dict[str, Any]):
"""Set a new configuration."""
kvstore.set('dynamicdns_config', json.dumps(config))
def notify_domain_added(domain_name):
def notify_domain_added(domain_name: str):
"""Send a signal that domain has been added."""
if app_module.App.get('dynamicdns').is_enabled():
domain_added.send_robust(sender='dynamicdns',
@ -309,7 +319,7 @@ def notify_domain_added(domain_name):
name=domain_name, services='__all__')
def notify_domain_removed(domain_name):
def notify_domain_removed(domain_name: str):
"""Send a signal that domain has been removed."""
if app_module.App.get('dynamicdns').is_enabled():
domain_removed.send_robust(sender='dynamicdns',

View File

@ -45,11 +45,19 @@ class DomainForm(forms.Form):
gettext_lazy('The username that was used when the account was '
'created.')
help_ip_type = \
gettext_lazy('Select based on what your ISP provides: a public IPv4 '
'address, a public IPv6 address, or both.')
provider_choices = (('gnudip', gettext_lazy('GnuDIP')),
('noip.com', 'noip.com'), ('freedns.afraid.org',
'freedns.afraid.org'),
('other', gettext_lazy('Other update URL')))
ip_type_choices = (('ipv4', gettext_lazy('IPv4 address only')),
('ipv6', gettext_lazy('IPv6 address only')),
('both', gettext_lazy('Both IPv4 and IPv6 addresses')))
service_type = forms.ChoiceField(label=gettext_lazy('Service Type'),
help_text=help_service_type,
choices=provider_choices)
@ -89,8 +97,9 @@ class DomainForm(forms.Form):
show_password = forms.BooleanField(label=gettext_lazy('Show password'),
required=False)
use_ipv6 = forms.BooleanField(
label=gettext_lazy('Use IPv6 instead of IPv4'), required=False)
ip_type = forms.ChoiceField(label=gettext_lazy('IP Address Type'),
help_text=help_ip_type,
choices=ip_type_choices)
def clean(self):
"""Further validate and transform field data."""
@ -125,6 +134,9 @@ class DomainForm(forms.Form):
if not cleaned_data.get(field_name):
self.add_error(field_name, message)
if service_type == 'gnudip':
cleaned_data['ip_type'] = 'ipv4'
del cleaned_data['show_password']
return cleaned_data

View File

@ -0,0 +1,45 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Generic HTTP request client for updating Dynamic DNS records.
"""
import subprocess
import urllib.parse
from typing import Any, Literal
def update(domain: dict[str, Any], ip_type: Literal['ipv4', 'ipv6'],
external_address: str | None) -> str | None:
"""Update DNS entry using an update URL."""
update_url = domain['update_url']
quote = urllib.parse.quote
if external_address:
update_url = update_url.replace('<Ip>', quote(external_address))
if domain['domain']:
update_url = update_url.replace('<Domain>', quote(domain['domain']))
if domain['username']:
update_url = update_url.replace('<User>', quote(domain['username']))
if domain['password']:
update_url = update_url.replace('<Pass>', quote(domain['password']))
options = ['-t', '3', '-T', '3']
if domain['use_http_basic_auth']:
options += [
'--user', domain['username'], '--password', domain['password']
]
if domain['disable_ssl_cert_check']:
options += ['--no-check-certificate']
if ip_type == 'ipv6':
options += ['-6']
else:
options += ['-4']
command = ['wget', '-O', '-'] + options + [update_url]
subprocess.run(command, check=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
return external_address

View File

@ -7,6 +7,7 @@ import hashlib
import logging
import socket
from html.parser import HTMLParser
from typing import Literal
import requests
@ -67,8 +68,8 @@ def _request_get_ipv4(*args, **kwargs):
socket.getaddrinfo = original
def update(server: str, domain: str, username: str,
password: str) -> tuple[bool, str | None]:
def update(server: str, ip_type: Literal['ipv4', 'ipv6'], domain: str,
username: str, password: str) -> str | None:
"""Update Dynamic DNS record using GnuDIP protocol.
Protocol documentation:
@ -78,6 +79,9 @@ def update(server: str, domain: str, username: str,
support IPv6 (it does have any code to update AAAA records). So, make a
request only using IPv4 stack.
"""
if ip_type == 'ipv6':
raise NotImplementedError
domain = domain.removeprefix(username + '.')
password_digest = hashlib.md5(password.encode()).hexdigest()
@ -105,4 +109,7 @@ def update(server: str, domain: str, username: str,
update_result = _extract_content_from_meta_tags(update_response.text)
_check_required_keys(update_result, ['retc'])
result = (int(update_result['retc']) == 0)
return result, update_result.get('addr')
if not result:
raise Exception('Server responded with an error')
return update_result.get('addr')

View File

@ -1,113 +0,0 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""Configuration helper for Dynamic DNS."""
import pathlib
import urllib
from typing import Any
from plinth.actions import privileged
_conf_dir = pathlib.Path('/etc/ez-ipupdate/')
_active_config = _conf_dir / 'ez-ipupdate.conf'
_inactive_config = _conf_dir / 'ez-ipupdate.inactive'
_helper_config = _conf_dir / 'ez-ipupdate-plinth.cfg'
_cron_job = pathlib.Path('/etc/cron.d/ez-ipupdate')
def _read_configuration(path, separator='='):
"""Read ez-ipupdate configuration."""
config = {}
for line in path.read_text().splitlines():
if line.startswith('#'):
continue
parts = line.partition(separator)
if parts[1]:
config[parts[0].strip()] = parts[2].strip()
else:
config[parts[0].strip()] = True
return config
@privileged
def export_config() -> dict[str, bool | dict[str, dict[str, str | None]]]:
"""Return the old ez-ipupdate configuration in JSON format."""
input_config = {}
if _active_config.exists():
input_config = _read_configuration(_active_config)
elif _inactive_config.exists():
input_config = _read_configuration(_inactive_config)
helper = {}
if _helper_config.exists():
helper.update(_read_configuration(_helper_config, separator=' '))
def _clean(value):
value_map = {'enabled': True, 'disabled': False, '': None}
return value_map.get(value, value)
domain = {
'service_type': 'gnudip',
'domain': input_config.get('host'),
'server': input_config.get('server'),
'username': input_config.get('user', '').split(':')[0] or None,
'password': input_config.get('user', '').split(':')[-1] or None,
'update_url': _clean(helper.get('POSTURL')) or None,
'use_http_basic_auth': _clean(helper.get('POSTAUTH')),
'disable_ssl_cert_check': _clean(helper.get('POSTSSLIGNORE')),
'use_ipv6': _clean(helper.get('POSTUSEIPV6')),
}
if isinstance(domain['update_url'], bool):
# 'POSTURL ' is a line found in the configuration file
domain['update_url'] = None
if not domain['server']:
domain['service_type'] = 'other'
update_url = domain['update_url']
try:
server = urllib.parse.urlparse(update_url).netloc
service_types: dict[str, str] = {
'dynupdate.noip.com': 'noip.com',
'dynupdate.no-ip.com': 'noip.com',
'freedns.afraid.org': 'freedns.afraid.org'
}
domain['service_type'] = service_types.get(str(server), 'other')
except ValueError:
pass
# Old logic for 'enabling' the app is as follows: If behind NAT, add
# cronjob. If not behind NAT and type is update URL, add cronjob. If not
# behind NAT and type is GnuDIP, move inactive configuration to active
# configuration and start the ez-ipupdate daemon.
enabled = False
if _cron_job.exists() or (domain['service_type'] == 'gnudip'
and _active_config.exists()):
enabled = True
output_config: dict[str, Any] = {'enabled': enabled, 'domains': {}}
if domain['domain']:
output_config['domains'][domain['domain']] = domain
return output_config
@privileged
def clean():
"""Remove all old configuration files."""
last_update = _conf_dir / 'last-update'
status = _conf_dir / 'ez-ipupdate.status'
current_ip = _conf_dir / 'ez-ipupdate.currentIP'
cleanup_files = [
_active_config, _inactive_config, last_update, _helper_config, status,
current_ip
]
for cleanup_file in cleanup_files:
try:
cleanup_file.rename(cleanup_file.with_suffix('.bak'))
except FileNotFoundError:
pass
_cron_job.unlink(missing_ok=True)

View File

@ -65,7 +65,7 @@ document.addEventListener('DOMContentLoaded', () => {
document.getElementById('id_domain-update_url').closest('.form-group').style.display = 'none';
document.getElementById('id_domain-disable_ssl_cert_check').closest('.form-group').style.display = 'none';
document.getElementById('id_domain-use_http_basic_auth').closest('.form-group').style.display = 'none';
document.getElementById('id_domain-use_ipv6').closest('.form-group').style.display = 'none';
document.getElementById('id_domain-ip_type').closest('.form-group').style.display = 'none';
document.getElementById('id_domain-server').closest('.form-group').style.display = 'block';
}
@ -73,7 +73,7 @@ document.addEventListener('DOMContentLoaded', () => {
document.getElementById('id_domain-update_url').closest('.form-group').style.display = 'block';
document.getElementById('id_domain-disable_ssl_cert_check').closest('.form-group').style.display = 'block';
document.getElementById('id_domain-use_http_basic_auth').closest('.form-group').style.display = 'block';
document.getElementById('id_domain-use_ipv6').closest('.form-group').style.display = 'block';
document.getElementById('id_domain-ip_type').closest('.form-group').style.display = 'block';
document.getElementById('id_domain-server').closest('.form-group').style.display = 'none';
}

View File

@ -26,7 +26,7 @@
<th>{% trans "Domain" %}</th>
<th>{% trans "Last update" %}</th>
<th>{% trans "Result" %}</th>
<th>{% trans "IP Address" %}</th>
<th>{% trans "IP Addresses" %}</th>
<th>{% trans "Actions" %}</th>
</tr>
</thead>
@ -66,7 +66,9 @@
({{ domain.error_code }})
{% endif %}
</td>
<td>{{ domain.ip_address|default_if_none:'-' }}</td>
<td><pre>{% for ip_address in domain.ip_addresses %}{{ ip_address }}
{% empty %}-
{% endfor %}</pre></td>
<td>
<a href="{% url 'dynamicdns:domain-edit' domain.domain %}"
class="btn btn-default btn-sm domain-edit" role="button"

View File

@ -35,7 +35,7 @@ _configs = {
'domain': 'freedombox3.example.com',
'username': 'tester3',
'password': 'testingtesting3',
'use_ipv6': True,
'ip_type': 'ipv6',
},
'freedns.afraid.org': {
'service_type': 'freedns.afraid.org',
@ -45,7 +45,7 @@ _configs = {
'domain': 'freedombox5.example.com',
'username': '',
'password': '',
'use_ipv6': False,
'ip_type': 'ipv4',
},
'other': {
'service_type': 'other',
@ -55,7 +55,7 @@ _configs = {
'domain': 'freedombox6.example.com',
'username': 'tester6',
'password': 'testingtesting6',
'use_ipv6': False,
'ip_type': 'both',
},
}
@ -115,7 +115,7 @@ def _configure(browser, config):
'/freedombox/sys/dynamicdns/domain/add/')
for key, value in config.items():
field_id = f'id_domain-{key}'
if key == 'service_type':
if key in ('service_type', 'ip_type'):
browser.find_by_id(field_id).select(value)
elif isinstance(value, bool):
if value:

View File

@ -0,0 +1,112 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Tests for generic URL based Dynamic DNS updates.
"""
import subprocess
from unittest.mock import call, patch
import pytest
from .. import generic
@pytest.fixture(name='domain')
def fixture_domain():
"""Return a domain configuration."""
return {
'domain': 'example.org',
'update_url': ('https://<User>:<Pass>@example.com'
'/update?hostname=<Domain>&ip=<Ip>'),
'username': 'tester',
'password': 'testingtesting',
'use_http_basic_auth': False,
'disable_ssl_cert_check': True,
}
@patch('subprocess.run')
def test_update_ip_types(run, domain):
"""Test that various IP types are handled as expected."""
# IPv4
generic.update(domain, 'ipv4', external_address='1.1.1.1')
assert '-4' in run.mock_calls[0].args[0]
# IPv6
run.reset_mock()
generic.update(domain, 'ipv6', external_address='1.1.1.1')
assert '-6' in run.mock_calls[0].args[0]
@patch('subprocess.run')
def test_update_ssl_cert_check(run, domain):
"""Test that SSL certificate check can be disabled."""
# Check certificate
generic.update(domain, 'ipv4', external_address='1.1.1.1')
assert '--no-check-certificate' in run.mock_calls[0].args[0]
# Don't check certificate
run.reset_mock()
domain['disable_ssl_cert_check'] = False
generic.update(domain, 'ipv4', external_address='1.1.1.1')
assert '--no-check-certificate' not in run.mock_calls[0].args[0]
@patch('subprocess.run')
def test_update_basic_auth(run, domain):
"""Test that using basic authentication works."""
# Check certificate
generic.update(domain, 'ipv4', external_address='1.1.1.1')
assert '--username' not in run.mock_calls[0].args[0]
assert '--password' not in run.mock_calls[0].args[0]
# Don't check certificate
run.reset_mock()
domain['use_http_basic_auth'] = True
generic.update(domain, 'ipv4', external_address='1.1.1.1')
assert ['--user', 'tester', '--password',
'testingtesting'] == run.mock_calls[0].args[0][7:11]
@patch('subprocess.run')
def test_update_url_parameters(run, domain):
"""Test that replacing parameters in the URL works as expected."""
generic.update(domain, 'ipv4', external_address='1.1.1.1')
expected_url = ('https://tester:testingtesting@example.com/update?'
'hostname=example.org&ip=1.1.1.1')
assert expected_url in run.mock_calls[0].args[0]
# No substitution for unavailable values
run.reset_mock()
generic.update(domain, 'ipv4', external_address=None)
expected_url = ('https://tester:testingtesting@example.com/update?'
'hostname=example.org&ip=<Ip>')
assert expected_url in run.mock_calls[0].args[0]
@patch('subprocess.run')
def test_update_call(run, domain):
"""Test that calling the wget command is as expected."""
generic.update(domain, 'ipv4', external_address='1.1.1.1')
assert run.mock_calls == [
call([
'wget', '-O', '-', '-t', '3', '-T', '3', '--no-check-certificate',
'-4',
('https://tester:testingtesting@example.com/update?'
'hostname=example.org&ip=1.1.1.1')
], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
]
@patch('subprocess.run')
def test_update_return_value(run, domain):
"""Test that return value or raising exception works."""
assert '1.1.1.1' == generic.update(domain, 'ipv4',
external_address='1.1.1.1')
run.side_effect = subprocess.CalledProcessError(1, ['foo'])
with pytest.raises(subprocess.CalledProcessError) as exception_info:
generic.update(domain, 'ipv4', external_address='1.1.1.1')
assert exception_info.value.returncode == 1
assert exception_info.value.cmd == ['foo']

View File

@ -1,3 +1,8 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Tests for GnuDIP based Dynamic DNS updates.
"""
from unittest.mock import Mock, patch
import pytest
@ -66,11 +71,18 @@ def test_update_success():
update_resp = Mock()
update_resp.text = response_to_update_request
with patch("plinth.modules.dynamicdns.gnudip.requests.get",
with patch('plinth.modules.dynamicdns.gnudip.requests.get',
side_effect=[salt_resp, update_resp]) as mock_get:
result, addr = gnudip.update(server="http://www.2mbit.com:80",
domain="gnudip.dyn.mpis.net",
username="gnudip", password="password")
assert result
assert addr == "24.81.172.128"
addr = gnudip.update(server='http://www.2mbit.com:80', ip_type='ipv4',
domain='gnudip.dyn.mpis.net', username='gnudip',
password='password')
assert addr == '24.81.172.128'
assert mock_get.call_count == 2
def test_update_ipv6():
"""Test that updating IPv6 raises and exception."""
with pytest.raises(NotImplementedError):
gnudip.update(server='http://www.2mbit.com:80', ip_type='ipv6',
domain='gnudip.dyn.mpis.net', username='gnudip',
password='password')

View File

@ -78,7 +78,7 @@
<li>
{% icon 'th' class='svg-icon app-icon' %}
<div class="step-text">
{% url 'apps' as apps_url %}
{% url 'apps-add' as apps_url %}
{% blocktrans trimmed %}
Put {{ box_name }} to use by installing
<a href="{{ apps_url }}" target="_blank">apps</a>.

View File

@ -45,7 +45,6 @@ _description = [
'quality, privacy and legal reviews are done by the upstream '
'project and not by Debian/{box_name}. Updates are performed '
'following an independent cycle.'), box_name=_(cfg.box_name)),
format_lazy(_alert, _('Caution:'), _('This app is experimental.')),
]

View File

@ -17,7 +17,8 @@ class TestMatrixSynapseApp(functional.BaseAppTests):
diagnostics_delay = 1
@pytest.fixture(scope='class', autouse=True)
def fixture_setup(self, session_browser):
@classmethod
def fixture_setup(cls, session_browser):
"""Setup the app."""
functional.login(session_browser)
functional.domain_add(session_browser, 'mydomain.example')

View File

@ -10,7 +10,7 @@ from django.utils.translation import gettext_lazy as _
from plinth import app as app_module
from plinth import cfg, frontpage, menu
from plinth.config import DropinConfigs
from plinth.daemon import Daemon
from plinth.daemon import Daemon, RelatedDaemon
from plinth.modules.apache.components import Webserver
from plinth.modules.backups.components import BackupRestore
from plinth.modules.firewall.components import Firewall
@ -42,7 +42,7 @@ class RadicaleApp(app_module.App):
app_id = 'radicale'
_version = 6
_version = 7
def __init__(self) -> None:
"""Create components for the app."""
@ -66,7 +66,8 @@ class RadicaleApp(app_module.App):
tags=info.tags, login_required=True)
self.add(shortcut)
packages = Packages('packages-radicale', ['radicale'],
packages = Packages('packages-radicale',
['radicale', 'uwsgi', 'uwsgi-plugin-python3'],
rerun_setup_on_upgrade=True)
self.add(packages)
@ -94,6 +95,10 @@ class RadicaleApp(app_module.App):
**manifest.backup)
self.add(backup_restore)
# To be able to disable the old uwsgi init.d script.
related_daemon = RelatedDaemon('related-daemon-radicale', 'uwsgi')
self.add(related_daemon)
def enable(self):
"""Fix missing directories before enabling radicale."""
privileged.fix_paths()

View File

@ -21,7 +21,8 @@ class TestSambaApp(functional.BaseAppTests):
has_web = False
@pytest.fixture(scope='class', autouse=True)
def fixture_setup(self, session_browser):
@classmethod
def fixture_setup(cls, session_browser):
"""Setup the app."""
functional.login(session_browser)
functional.networks_set_firewall_zone(session_browser, 'internal')

View File

@ -8,7 +8,7 @@ from django.utils.translation import gettext_lazy as _
from plinth import app as app_module
from plinth import frontpage, menu
from plinth.config import DropinConfigs
from plinth.daemon import Daemon
from plinth.daemon import Daemon, RelatedDaemon
from plinth.modules.apache.components import Webserver
from plinth.modules.backups.components import BackupRestore
from plinth.modules.firewall.components import Firewall
@ -31,7 +31,7 @@ class SearxApp(app_module.App):
app_id = 'searx'
_version = 7
_version = 8
def __init__(self) -> None:
"""Create components for the app."""
@ -59,7 +59,9 @@ class SearxApp(app_module.App):
# Include libjs-bootstrap to prevent accidental uninstall (see
# issue #2298).
packages = Packages('packages-searx', ['searx', 'libjs-bootstrap'])
packages = Packages(
'packages-searx',
['searx', 'libjs-bootstrap', 'uwsgi', 'uwsgi-plugin-python3'])
self.add(packages)
dropin_configs = DropinConfigs('dropin-configs-searx', [
@ -91,6 +93,10 @@ class SearxApp(app_module.App):
**manifest.backup)
self.add(backup_restore)
# To be able to disable the old uwsgi init.d script.
related_daemon = RelatedDaemon('related-daemon-searx', 'uwsgi')
self.add(related_daemon)
def set_shortcut_login_required(self, login_required):
"""Change the login_required property of shortcut."""
self.get_component('shortcut-searx').login_required = login_required

View File

@ -3,6 +3,7 @@
import logging
import threading
from typing import Any
from plinth import cfg
from plinth.utils import import_from_gi
@ -40,7 +41,7 @@ _ERRORS: dict[str, str] = {
'Failed': 'org.freedesktop.UDisks2.Error.Failed',
}
_jobs = {}
_jobs: dict[str, Any] = {}
logger = logging.getLogger(__name__)

View File

@ -26,7 +26,6 @@ See: https://docs.djangoproject.com/en/dev/ref/settings/
"""
import django
from django.utils.translation import gettext_lazy as _
ALLOWED_HOSTS = ['*']
@ -240,9 +239,6 @@ TEMPLATES = [
TIME_ZONE = 'UTC'
if django.VERSION <= (4, 0):
USE_L10N = True
USE_TZ = True
# Overridden by configuration setting use_x_forwarded_host

View File

@ -46,8 +46,8 @@
{% if app_info.tags %}
<div class="app-tags d-flex align-items-center flex-wrap">
{% for tag in app_info.tags %}
{% if not forloop.first %}•{% endif %}
<a href="{{ active_section_url }}?tag={{ tag|urlencode }}"
{% if not forloop.first %}•{% endif %}
<a href="{% if tag_search_url %}{% url tag_search_url %}?tag={{ tag|urlencode }}{% endif %}"
class="btn btn-default rounded-pill tag">
{% trans tag %}
</a>

View File

@ -0,0 +1,25 @@
{% extends 'cards.html' %}
{% comment %}
# SPDX-License-Identifier: AGPL-3.0-or-later
{% endcomment %}
{% load static %}
{% load i18n %}
{% block page_js %}
<script src="{% static 'tags.js' %}" defer></script>
{% endblock %}
{% block body_class %}apps-add-page{% endblock %}
{% block header-container %}
<div class="card-section-title">{% trans "Add New App" %}</div>
{% endblock %}
{% block cards-empty %}
<p class="text-center">
{% blocktrans trimmed %}
There are no more apps available to add.
{% endblocktrans %}
</p>
{% endblock %}

View File

@ -5,9 +5,27 @@
{% load static %}
{% load i18n %}
{% load extras %}
{% block page_js %}
<script src="{% static 'tags.js' %}" defer></script>
{% endblock %}
{% block body_class %}apps-page{% endblock %}
{% block toolbar-container %}
<div class="btn-toolbar" role="toolbar">
<a class="btn btn-primary" href="{% url 'apps-add' %}" role="button">
{% icon 'plus' %}
{% trans "Add new app" %}
</a>
</div>
{% endblock %}
{% block cards-empty %}
<p class="text-center">
{% blocktrans trimmed %}
There are currently no apps added.
{% endblocktrans %}
</p>
{% endblock %}

View File

@ -20,45 +20,28 @@
{% include "tags.html" %}
{% endblock %}
<div class="btn-toolbar container" role="toolbar">
<a class="btn btn-primary" href="#available-for-install-container"
data-bs-toggle="collapse" role="button" aria-expanded="false"
aria-controls="available-for-install-container">
{% icon 'plus' %}
{% trans "Add new app" %}
</a>
</div>
<div class="container card-container">
<div class="row">
<div class="card-list card-list-primary">
{% for item in menu_items %}
{% if not show_disabled or item.is_enabled %}
{% block header-container %}
{% endblock %}
{% block toolbar-container %}
{% endblock %}
{% if menu_items %}
<div class="row">
<div class="card-list">
{% for item in menu_items %}
{% if advanced_mode or not item.advanced %}
{% include "card.html" %}
{% endif %}
{% endif %}
{% endfor %}
</div>
</div>
</div>
{% if show_disabled %}
<div class="container card-container collapse" id="available-for-install-container">
<div class="card-section-title">{% trans "Available for install" %}</div>
<div class="row">
<div class="card-list card-list-disabled">
{% for item in menu_items %}
{% if not item.is_enabled %}
{% if advanced_mode or not item.advanced %}
{% include "card.html" %}
{% endif %}
{% endif %}
{% endfor %}
</div>
</div>
</div>
{% endif %}
{% else %}
{% block cards-empty %}
{% endblock %}
{% endif %}
</div>
{% block content-container %}
{% endblock %}

View File

@ -837,12 +837,13 @@ class BaseAppTests:
install(session_browser, self.app_name)
@pytest.fixture(autouse=True, scope='class', name='disable_after_tests')
def fixture_disable_after_tests(self, session_browser):
@classmethod
def fixture_disable_after_tests(cls, session_browser):
"""Disable the app after running tests."""
yield
if self.disable_after_tests and is_installed(session_browser,
self.app_name):
app_disable(session_browser, self.app_name)
if cls.disable_after_tests and is_installed(session_browser,
cls.app_name):
app_disable(session_browser, cls.app_name)
@pytest.fixture(autouse=True, name='background')
def fixture_background(self, session_browser, disable_after_tests):

View File

@ -23,7 +23,8 @@ urlpatterns = [
re_path(r'^language-selection/$',
public(views.LanguageSelectionView.as_view()),
name='language-selection'),
re_path(r'^apps/$', views.AppsIndexView.as_view(), name='apps'),
re_path(r'^apps/$', views.AppsView.as_view(), name='apps'),
re_path(r'^apps/add/$', views.AppsAddView.as_view(), name='apps-add'),
re_path(r'^sys/$', views.system_index, name='system'),
re_path(r'', include((system_urlpatterns, 'system'))),
re_path(r'^uninstall/(?P<app_id>[1-9a-z\-_]+)/$',

View File

@ -174,12 +174,16 @@ def index(request):
shortcut for shortcut in shortcuts if shortcut.component_id == selected
]
selected_shortcut = selected_shortcut[0] if selected_shortcut else None
tag_search_url = None
if selected_shortcut:
tag_search_url = _get_tag_search_url(selected_shortcut.app)
return TemplateResponse(
request, 'index.html', {
'title': _('FreedomBox'),
'shortcuts': shortcuts,
'selected_shortcut': selected_shortcut,
'tag_search_url': tag_search_url,
})
@ -266,8 +270,36 @@ def _get_all_tags(menu_items: list[menu.Menu]) -> list[str]:
return sorted(get_tags(menu_items), key=_)
class AppsIndexView(TemplateView):
"""View for apps index.
def _get_tag_search_url(app: app_module.App) -> str:
"""Return the URL to which clicking on tags to redirect to."""
default_url = 'apps-add'
menus = list(app.get_components_of_type(menu.Menu))
if not menus:
return default_url # When app has no menu item.
parent_section = menus[0]
for _index in range(10):
if parent_section.parent_url_name in ('index', None):
break
try:
parent_section = menu.Menu.get_with_url_name(
parent_section.parent_url_name)
except LookupError:
return default_url
else:
# There was a loop in traversing to the parent menu item.
return default_url
if parent_section.url_name == 'apps':
return default_url
return parent_section.url_name
class AppsView(TemplateView):
"""View for showing installed apps.
This view supports filtering apps by one or more tags. If no tags are
provided, it will show all the apps. If one or more tags are provided,
@ -277,11 +309,39 @@ class AppsIndexView(TemplateView):
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
context['show_disabled'] = True
context['advanced_mode'] = get_advanced_mode()
tags = self.request.GET.getlist('tag', [])
menu_items = menu.main_menu.active_item(self.request).items
menu_items = [
item for item in menu.main_menu.active_item(self.request).items
if item.is_enabled()
]
context['tags'] = tags
context['all_tags'] = _get_all_tags(menu_items)
context['menu_items'] = _pick_menu_items(menu_items, tags)
return context
class AppsAddView(TemplateView):
"""View for showing apps that can be installed.
This view supports filtering apps by one or more tags. If no tags are
provided, it will show all the apps. If one or more tags are provided,
it will select apps matching any of the provided tags.
"""
template_name = 'apps-add.html'
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
context['advanced_mode'] = get_advanced_mode()
tags = self.request.GET.getlist('tag', [])
menu_items = [
item for item in menu.main_menu.active_item(self.request).items
if not item.is_enabled()
]
context['tags'] = tags
context['all_tags'] = _get_all_tags(menu_items)
@ -479,6 +539,7 @@ class AppView(FormView):
context['firewall'] = self.app.get_components_of_type(Firewall)
context['has_backup_restore'] = _has_backup_restore(self.app)
context['tag_search_url'] = _get_tag_search_url(self.app)
return context
@ -504,6 +565,7 @@ class AppOperationsView(TemplateView):
context['operations'] = operation.manager.filter(self.app.app_id)
# Refresh periodically while operations are running
context['refresh_page_sec'] = 3 if context['operations'] else 0
context['tag_search_url'] = _get_tag_search_url(self.app)
return context
@ -541,6 +603,8 @@ class SetupView(TemplateView):
elif context['setup_state'] == app_module.App.SetupState.UP_TO_DATE:
context['refresh_page_sec'] = 0
context['tag_search_url'] = _get_tag_search_url(app)
return context
def dispatch(self, request, *args, **kwargs):

View File

@ -9,6 +9,12 @@ classifiers = [
"Environment :: No Input/Output (Daemon)",
"Environment :: Web Environment",
"Framework :: Django",
"Framework :: Django :: 5",
"Framework :: Django :: 5.0",
"Framework :: Django :: 5.1",
"Framework :: Django :: 5.2",
"Framework :: Django :: 6",
"Framework :: Django :: 6.0",
"Intended Audience :: End Users/Desktop",
"Natural Language :: English",
"Operating System :: POSIX :: Linux",