mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-08-12 12:26:04 +00:00
Compare commits
11 Commits
debian/26.
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53e7fb013c | ||
|
|
ba0b39c2a4 | ||
|
|
c5f9606f43 | ||
|
|
5013c05d35 | ||
|
|
f2e898090c | ||
|
|
d2a959a277 | ||
|
|
c1aeb1f661 | ||
|
|
841b0382e7 | ||
|
|
2aaee483d4 | ||
|
|
22ac98d6a7 | ||
|
|
a04c1c801d |
13
debian/freedombox.postinst
vendored
13
debian/freedombox.postinst
vendored
@ -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
|
|
||||||
@ -45,10 +45,10 @@ box_name = 'FreedomBox'
|
|||||||
# Other globals
|
# Other globals
|
||||||
develop = False
|
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."""
|
"""Expand a list of file paths to include file.d/* also."""
|
||||||
final_list = []
|
final_list = []
|
||||||
for file_path in file_paths:
|
for file_path in file_paths:
|
||||||
@ -65,7 +65,7 @@ def expand_to_dot_d_paths(file_paths):
|
|||||||
return final_list
|
return final_list
|
||||||
|
|
||||||
|
|
||||||
def get_develop_config_path():
|
def get_develop_config_path() -> str:
|
||||||
"""Return config path of current source folder for development mode."""
|
"""Return config path of current source folder for development mode."""
|
||||||
root_directory = os.path.dirname(os.path.realpath(__file__))
|
root_directory = os.path.dirname(os.path.realpath(__file__))
|
||||||
root_directory = os.path.realpath(root_directory)
|
root_directory = os.path.realpath(root_directory)
|
||||||
@ -73,7 +73,7 @@ def get_develop_config_path():
|
|||||||
return config_path
|
return config_path
|
||||||
|
|
||||||
|
|
||||||
def get_config_paths():
|
def get_config_paths() -> list[str]:
|
||||||
"""Get default config paths."""
|
"""Get default config paths."""
|
||||||
return [
|
return [
|
||||||
'/usr/share/freedombox/freedombox.config',
|
'/usr/share/freedombox/freedombox.config',
|
||||||
@ -82,14 +82,14 @@ def get_config_paths():
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def read():
|
def read() -> None:
|
||||||
"""Read all configuration files."""
|
"""Read all configuration files."""
|
||||||
config_paths = get_config_paths()
|
config_paths = get_config_paths()
|
||||||
for config_path in expand_to_dot_d_paths(config_paths):
|
for config_path in expand_to_dot_d_paths(config_paths):
|
||||||
read_file(config_path)
|
read_file(config_path)
|
||||||
|
|
||||||
|
|
||||||
def read_file(config_path):
|
def read_file(config_path: str):
|
||||||
"""Read and merge into defaults a single configuration file."""
|
"""Read and merge into defaults a single configuration file."""
|
||||||
if not os.path.isfile(config_path): # Does not throw exceptions
|
if not os.path.isfile(config_path): # Does not throw exceptions
|
||||||
# Ignore missing configuration files
|
# Ignore missing configuration files
|
||||||
@ -101,9 +101,9 @@ def read_file(config_path):
|
|||||||
parser = configparser.ConfigParser(
|
parser = configparser.ConfigParser(
|
||||||
defaults={
|
defaults={
|
||||||
'parent_dir':
|
'parent_dir':
|
||||||
pathlib.Path(config_path).parent.resolve(),
|
str(pathlib.Path(config_path).parent.resolve()),
|
||||||
'parent_parent_dir':
|
'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
|
parser.read(config_path) # Ignores all read errors
|
||||||
|
|
||||||
@ -123,6 +123,7 @@ def read_file(config_path):
|
|||||||
)
|
)
|
||||||
|
|
||||||
for section, name, datatype in config_items:
|
for section, name, datatype in config_items:
|
||||||
|
value: int | str | bool
|
||||||
try:
|
try:
|
||||||
value = parser.get(section, name)
|
value = parser.get(section, name)
|
||||||
except (configparser.NoSectionError, configparser.NoOptionError):
|
except (configparser.NoSectionError, configparser.NoOptionError):
|
||||||
|
|||||||
@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
|
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
|
||||||
"PO-Revision-Date: 2026-06-04 18:01+0000\n"
|
"PO-Revision-Date: 2026-08-04 17:01+0000\n"
|
||||||
"Last-Translator: Jiří Podhorecký <j.podhorecky@volny.cz>\n"
|
"Last-Translator: Jiří Podhorecký <j.podhorecky@volny.cz>\n"
|
||||||
"Language-Team: Czech <https://hosted.weblate.org/projects/freedombox/"
|
"Language-Team: Czech <https://hosted.weblate.org/projects/freedombox/"
|
||||||
"freedombox/cs/>\n"
|
"freedombox/cs/>\n"
|
||||||
@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\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.8.1.dev0\n"
|
||||||
|
|
||||||
#: plinth/config.py:103
|
#: plinth/config.py:103
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -2969,7 +2969,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/first_boot/__init__.py:47
|
#: plinth/modules/first_boot/__init__.py:47
|
||||||
msgid "First Boot"
|
msgid "First Boot"
|
||||||
msgstr ""
|
msgstr "První start"
|
||||||
|
|
||||||
#: plinth/modules/first_boot/__init__.py:68
|
#: plinth/modules/first_boot/__init__.py:68
|
||||||
msgid "Setup complete! Next steps:"
|
msgid "Setup complete! Next steps:"
|
||||||
@ -2993,18 +2993,14 @@ msgid "See next steps"
|
|||||||
msgstr "Viz další kroky"
|
msgstr "Viz další kroky"
|
||||||
|
|
||||||
#: plinth/modules/first_boot/forms.py:14
|
#: plinth/modules/first_boot/forms.py:14
|
||||||
#, fuzzy, python-brace-format
|
#, 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}"
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the secret generated during {box_name} installation. This secret can "
|
"Enter the secret generated during {box_name} installation. This secret can "
|
||||||
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
|
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
|
||||||
"wizard-secret\" on your {box_name}"
|
"wizard-secret\" on your {box_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Zadejte tajemství vygenerované při instalaci FreedomBoxu. Toto tajemství lze "
|
"Zadejte tajemství vygenerované při instalaci {box_name}. Toto tajemství lze "
|
||||||
"také získat spuštěním příkazu \"sudo cat /var/lib/plinth/firstboot-wizard-"
|
"získat spuštěním příkazu \"sudo cat /var/lib/plinth/firstboot-wizard-"
|
||||||
"secret\" na vašem {box_name}"
|
"secret\" na vašem {box_name}"
|
||||||
|
|
||||||
#: plinth/modules/first_boot/forms.py:19
|
#: plinth/modules/first_boot/forms.py:19
|
||||||
@ -4670,10 +4666,14 @@ msgid ""
|
|||||||
"game. It allows users to build and explore 3D worlds, interact with others, "
|
"game. It allows users to build and explore 3D worlds, interact with others, "
|
||||||
"and engage in various activities such as crafting, mining, and combat."
|
"and engage in various activities such as crafting, mining, and combat."
|
||||||
msgstr ""
|
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
|
#: plinth/modules/minetest/__init__.py:36
|
||||||
msgid "Luanti offers several educational benefits, including:"
|
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
|
#: plinth/modules/minetest/__init__.py:37
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -4682,6 +4682,9 @@ msgid ""
|
|||||||
"exploration.</li><li>Fostering social interaction and collaboration among "
|
"exploration.</li><li>Fostering social interaction and collaboration among "
|
||||||
"players.</li></ul>"
|
"players.</li></ul>"
|
||||||
msgstr ""
|
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
|
#: plinth/modules/minetest/__init__.py:43
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -4692,6 +4695,11 @@ msgid ""
|
|||||||
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
|
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
|
||||||
"documentation</a> or online resources."
|
"documentation</a> or online resources."
|
||||||
msgstr ""
|
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
|
#: plinth/modules/minetest/__init__.py:68 plinth/modules/minetest/manifest.py:9
|
||||||
msgid "Luanti"
|
msgid "Luanti"
|
||||||
@ -10854,16 +10862,12 @@ msgid "Log in"
|
|||||||
msgstr "Přihlásit"
|
msgstr "Přihlásit"
|
||||||
|
|
||||||
#: plinth/templates/cards.html:28
|
#: plinth/templates/cards.html:28
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Add a new peer"
|
|
||||||
msgid "Add new app"
|
msgid "Add new app"
|
||||||
msgstr "Přidání nového peeru"
|
msgstr "Přidání nové aplikace"
|
||||||
|
|
||||||
#: plinth/templates/cards.html:48
|
#: plinth/templates/cards.html:48
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Available Domains"
|
|
||||||
msgid "Available for install"
|
msgid "Available for install"
|
||||||
msgstr "Domény k dispozici"
|
msgstr "K dispozici k instalaci"
|
||||||
|
|
||||||
#: plinth/templates/clients-button.html:16
|
#: plinth/templates/clients-button.html:16
|
||||||
msgid "Launch web client"
|
msgid "Launch web client"
|
||||||
|
|||||||
@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
|
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
|
||||||
"PO-Revision-Date: 2026-01-09 20:01+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"
|
"Last-Translator: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>\n"
|
||||||
"Language-Team: Estonian <https://hosted.weblate.org/projects/freedombox/"
|
"Language-Team: Estonian <https://hosted.weblate.org/projects/freedombox/"
|
||||||
"freedombox/et/>\n"
|
"freedombox/et/>\n"
|
||||||
@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\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
|
#: plinth/config.py:103
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -167,7 +167,7 @@ msgstr "Veebiliides (Plinth) {box_name}"
|
|||||||
|
|
||||||
#: plinth/modules/apache/__init__.py:129
|
#: plinth/modules/apache/__init__.py:129
|
||||||
msgid "Web app protected by FreedomBox"
|
msgid "Web app protected by FreedomBox"
|
||||||
msgstr ""
|
msgstr "Veebirakendust kaitseb FreedomBox"
|
||||||
|
|
||||||
#: plinth/modules/apache/components.py:234
|
#: plinth/modules/apache/components.py:234
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -398,10 +398,8 @@ msgid "Passphrase"
|
|||||||
msgstr "Salafraas"
|
msgstr "Salafraas"
|
||||||
|
|
||||||
#: plinth/modules/backups/forms.py:187
|
#: plinth/modules/backups/forms.py:187
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Passphrase; Only needed when using encryption."
|
|
||||||
msgid "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
|
#: plinth/modules/backups/forms.py:190
|
||||||
msgid "Confirm Passphrase"
|
msgid "Confirm Passphrase"
|
||||||
@ -945,7 +943,7 @@ msgstr ""
|
|||||||
#: plinth/modules/bepasty/forms.py:33
|
#: plinth/modules/bepasty/forms.py:33
|
||||||
#: plinth/modules/bepasty/templates/bepasty.html:32
|
#: plinth/modules/bepasty/templates/bepasty.html:32
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Komentaar"
|
msgstr "Kommentaar"
|
||||||
|
|
||||||
#: plinth/modules/bepasty/forms.py:34
|
#: plinth/modules/bepasty/forms.py:34
|
||||||
msgid "Any comment to help you remember the purpose of this password."
|
msgid "Any comment to help you remember the purpose of this password."
|
||||||
@ -5925,10 +5923,8 @@ msgid "OpenID Connect Provider"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:14
|
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:14
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Application installed."
|
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr "Rakendus on paigaldatud."
|
msgstr "Rakendus"
|
||||||
|
|
||||||
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:22
|
#: plinth/modules/oidc/templates/oauth2_provider/authorize.html:22
|
||||||
msgid "Authorize App"
|
msgid "Authorize App"
|
||||||
@ -6884,7 +6880,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/security/templates/security_report.html:45
|
#: plinth/modules/security/templates/security_report.html:45
|
||||||
msgid "App Name"
|
msgid "App Name"
|
||||||
msgstr "Rakendus"
|
msgstr "Rakenduse nimi"
|
||||||
|
|
||||||
#: plinth/modules/security/templates/security_report.html:46
|
#: plinth/modules/security/templates/security_report.html:46
|
||||||
msgid "Current Vulnerabilities"
|
msgid "Current Vulnerabilities"
|
||||||
@ -8694,10 +8690,8 @@ msgid "Log in with passkey"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/modules/users/templates/users_passkey_edit.html:19
|
#: plinth/modules/users/templates/users_passkey_edit.html:19
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Update setup"
|
|
||||||
msgid "Update Passkey"
|
msgid "Update Passkey"
|
||||||
msgstr "Uuenda seadistust"
|
msgstr "Uuenda pääsuvõtit"
|
||||||
|
|
||||||
#: plinth/modules/users/templates/users_passkeys.html:30
|
#: plinth/modules/users/templates/users_passkeys.html:30
|
||||||
msgid "Adding passkey failed: "
|
msgid "Adding passkey failed: "
|
||||||
@ -8726,26 +8720,20 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/users/templates/users_passkeys.html:83
|
#: plinth/modules/users/templates/users_passkeys.html:83
|
||||||
#: plinth/modules/users/templates/users_passkeys.html:85
|
#: plinth/modules/users/templates/users_passkeys.html:85
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Add password"
|
|
||||||
msgid "Add passkey"
|
msgid "Add passkey"
|
||||||
msgstr "Lisa salasõna"
|
msgstr "Lisa pääsuvõti"
|
||||||
|
|
||||||
#: plinth/modules/users/templates/users_passkeys.html:93
|
#: plinth/modules/users/templates/users_passkeys.html:93
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Domain"
|
|
||||||
msgid "For Domain"
|
msgid "For Domain"
|
||||||
msgstr "Domeen"
|
msgstr "Domeeni jaoks"
|
||||||
|
|
||||||
#: plinth/modules/users/templates/users_passkeys.html:94
|
#: plinth/modules/users/templates/users_passkeys.html:94
|
||||||
msgid "Added"
|
msgid "Added"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/modules/users/templates/users_passkeys.html:95
|
#: plinth/modules/users/templates/users_passkeys.html:95
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Create User"
|
|
||||||
msgid "Last Used"
|
msgid "Last Used"
|
||||||
msgstr "Lisa kasutaja"
|
msgstr "Viimati kasutatud"
|
||||||
|
|
||||||
#: plinth/modules/users/templates/users_passkeys.html:126
|
#: plinth/modules/users/templates/users_passkeys.html:126
|
||||||
msgid "No passkeys added to user account."
|
msgid "No passkeys added to user account."
|
||||||
@ -8760,10 +8748,8 @@ msgid "You will need this passkey's device to add it back again."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/modules/users/templates/users_passkeys.html:152
|
#: plinth/modules/users/templates/users_passkeys.html:152
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Delete user"
|
|
||||||
msgid "Delete passkey"
|
msgid "Delete passkey"
|
||||||
msgstr "Kustuta kasutaja"
|
msgstr "Kustuta pääsuvõti"
|
||||||
|
|
||||||
#: plinth/modules/users/templates/users_passkeys.html:155
|
#: plinth/modules/users/templates/users_passkeys.html:155
|
||||||
#: plinth/modules/users/templates/users_update.html:72
|
#: plinth/modules/users/templates/users_update.html:72
|
||||||
@ -8840,10 +8826,8 @@ msgid "Password changed successfully."
|
|||||||
msgstr "Salasõna muutmine õnnestus."
|
msgstr "Salasõna muutmine õnnestus."
|
||||||
|
|
||||||
#: plinth/modules/users/views.py:420
|
#: plinth/modules/users/views.py:420
|
||||||
#, fuzzy
|
|
||||||
#| msgid "A library with this name already exists."
|
|
||||||
msgid "Passkey with that identifier 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
|
#: plinth/modules/users/views.py:431
|
||||||
msgid "Edit Passkey"
|
msgid "Edit Passkey"
|
||||||
@ -8877,10 +8861,8 @@ msgid "Invalid key."
|
|||||||
msgstr "Vigane võti."
|
msgstr "Vigane võti."
|
||||||
|
|
||||||
#: plinth/modules/wireguard/forms.py:63
|
#: plinth/modules/wireguard/forms.py:63
|
||||||
#, fuzzy
|
|
||||||
#| msgid "IP address"
|
|
||||||
msgid "Not a valid 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/forms.py:69
|
||||||
#: plinth/modules/wireguard/templates/wireguard.html:29
|
#: plinth/modules/wireguard/templates/wireguard.html:29
|
||||||
@ -8983,10 +8965,8 @@ msgid "Value"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/modules/wireguard/templates/wireguard.html:33
|
#: plinth/modules/wireguard/templates/wireguard.html:33
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Endpoint"
|
|
||||||
msgid "Endpoint(s)"
|
msgid "Endpoint(s)"
|
||||||
msgstr "Otspunkt"
|
msgstr "Otspunkt(id)"
|
||||||
|
|
||||||
#: plinth/modules/wireguard/templates/wireguard.html:41
|
#: plinth/modules/wireguard/templates/wireguard.html:41
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -9033,10 +9013,8 @@ msgid "Add Allowed Client"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/modules/wireguard/templates/wireguard.html:103
|
#: plinth/modules/wireguard/templates/wireguard.html:103
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Password changed successfully."
|
|
||||||
msgid "WireGuard server not started yet."
|
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:107
|
||||||
#: plinth/modules/wireguard/templates/wireguard.html:109
|
#: plinth/modules/wireguard/templates/wireguard.html:109
|
||||||
@ -9072,20 +9050,16 @@ msgid "Add Connection to Server"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/modules/wireguard/templates/wireguard_add_client.html:21
|
#: 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"
|
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
|
#: plinth/modules/wireguard/templates/wireguard_add_client.html:31
|
||||||
msgid "Add Client"
|
msgid "Add Client"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
|
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:26
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Privacy"
|
|
||||||
msgid "Private Key"
|
msgid "Private Key"
|
||||||
msgstr "Privaatsus"
|
msgstr "Privaatvõti"
|
||||||
|
|
||||||
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:29
|
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:29
|
||||||
msgid "Click to reveal"
|
msgid "Click to reveal"
|
||||||
@ -9100,10 +9074,8 @@ msgid "Save the private key now. This page shows it only once!"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:41
|
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:41
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Configuration"
|
|
||||||
msgid "Client configuration file"
|
msgid "Client configuration file"
|
||||||
msgstr "Seadistused"
|
msgstr "Kliendi seadistustefail"
|
||||||
|
|
||||||
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:43
|
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:43
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -9112,10 +9084,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:49
|
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:49
|
||||||
#, fuzzy
|
|
||||||
#| msgid "warning"
|
|
||||||
msgid "Warning:"
|
msgid "Warning:"
|
||||||
msgstr "hoiatus"
|
msgstr "Hoiatus:"
|
||||||
|
|
||||||
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:50
|
#: plinth/modules/wireguard/templates/wireguard_auto_add_client.html:50
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -9284,10 +9254,8 @@ msgid "Server deleted."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/modules/wireguard/views.py:408
|
#: plinth/modules/wireguard/views.py:408
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Password changed successfully."
|
|
||||||
msgid "WireGuard server started successfully."
|
msgid "WireGuard server started successfully."
|
||||||
msgstr "Salasõna muutmine õnnestus."
|
msgstr "WireGuardi serveri käivitamine õnnestus."
|
||||||
|
|
||||||
#: plinth/modules/wireguard/views.py:412
|
#: plinth/modules/wireguard/views.py:412
|
||||||
msgid "Failed to start WireGuard server: {}"
|
msgid "Failed to start WireGuard server: {}"
|
||||||
@ -9628,10 +9596,8 @@ msgid " System"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/templates/base.html:179 plinth/templates/base.html:180
|
#: plinth/templates/base.html:179 plinth/templates/base.html:180
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Manage Passwords"
|
|
||||||
msgid "Manage passkeys"
|
msgid "Manage passkeys"
|
||||||
msgstr "Halda salasõnu"
|
msgstr "Halda pääsuvõtmeid"
|
||||||
|
|
||||||
#: plinth/templates/base.html:186 plinth/templates/base.html:187
|
#: plinth/templates/base.html:186 plinth/templates/base.html:187
|
||||||
msgid "Change password"
|
msgid "Change password"
|
||||||
@ -9658,10 +9624,8 @@ msgid "Add new app"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: plinth/templates/cards.html:48
|
#: plinth/templates/cards.html:48
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Backup app before uninstall"
|
|
||||||
msgid "Available for install"
|
msgid "Available for install"
|
||||||
msgstr "Enne rakenduse eemaldamist palun tee varukoopia"
|
msgstr "Saadaval paigalduseks"
|
||||||
|
|
||||||
#: plinth/templates/clients-button.html:16
|
#: plinth/templates/clients-button.html:16
|
||||||
msgid "Launch web client"
|
msgid "Launch web client"
|
||||||
|
|||||||
@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: FreedomBox UI\n"
|
"Project-Id-Version: FreedomBox UI\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
|
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
|
||||||
"PO-Revision-Date: 2026-07-06 15:01+0000\n"
|
"PO-Revision-Date: 2026-08-11 10:51+0000\n"
|
||||||
"Last-Translator: Coucouf <coucouf@coucouf.fr>\n"
|
"Last-Translator: Coucouf <coucouf@coucouf.fr>\n"
|
||||||
"Language-Team: French <https://hosted.weblate.org/projects/freedombox/"
|
"Language-Team: French <https://hosted.weblate.org/projects/freedombox/"
|
||||||
"freedombox/fr/>\n"
|
"freedombox/fr/>\n"
|
||||||
@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\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
|
#: plinth/config.py:103
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -3029,7 +3029,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/first_boot/__init__.py:47
|
#: plinth/modules/first_boot/__init__.py:47
|
||||||
msgid "First Boot"
|
msgid "First Boot"
|
||||||
msgstr ""
|
msgstr "Premier démarrage"
|
||||||
|
|
||||||
#: plinth/modules/first_boot/__init__.py:68
|
#: plinth/modules/first_boot/__init__.py:68
|
||||||
msgid "Setup complete! Next steps:"
|
msgid "Setup complete! Next steps:"
|
||||||
@ -3053,19 +3053,15 @@ msgid "See next steps"
|
|||||||
msgstr "Voir les prochaines étapes"
|
msgstr "Voir les prochaines étapes"
|
||||||
|
|
||||||
#: plinth/modules/first_boot/forms.py:14
|
#: plinth/modules/first_boot/forms.py:14
|
||||||
#, fuzzy, python-brace-format
|
#, 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}"
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the secret generated during {box_name} installation. This secret can "
|
"Enter the secret generated during {box_name} installation. This secret can "
|
||||||
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
|
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
|
||||||
"wizard-secret\" on your {box_name}"
|
"wizard-secret\" on your {box_name}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Entrez le code secret généré durant l’installation de la FreedomBox. Il peut "
|
"Entrez le code secret généré durant l’installation de la {box_name}. Il peut "
|
||||||
"également être obtenu en lançant la commande « sudo cat /var/lib/plinth/"
|
"être obtenu en lançant la commande « sudo cat /var/lib/plinth/firstboot-"
|
||||||
"firstboot-wizard-secret » sur votre {box_name}"
|
"wizard-secret » sur votre {box_name}."
|
||||||
|
|
||||||
#: plinth/modules/first_boot/forms.py:19
|
#: plinth/modules/first_boot/forms.py:19
|
||||||
msgid "Firstboot Wizard Secret"
|
msgid "Firstboot Wizard Secret"
|
||||||
@ -4777,10 +4773,15 @@ msgid ""
|
|||||||
"game. It allows users to build and explore 3D worlds, interact with others, "
|
"game. It allows users to build and explore 3D worlds, interact with others, "
|
||||||
"and engage in various activities such as crafting, mining, and combat."
|
"and engage in various activities such as crafting, mining, and combat."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Luanti (précédemment nommé Minetest) est un jeu bac-à-sable de construction "
|
||||||
|
"de blocs multijoueur à monde infini. Il propose la construction et "
|
||||||
|
"l’exploration de mondes en 3D, l’interaction à plusieurs et la possibilité "
|
||||||
|
"de s’adonner à des activités telles que l’artisanat, l’extraction de "
|
||||||
|
"ressources et le combat."
|
||||||
|
|
||||||
#: plinth/modules/minetest/__init__.py:36
|
#: plinth/modules/minetest/__init__.py:36
|
||||||
msgid "Luanti offers several educational benefits, including:"
|
msgid "Luanti offers several educational benefits, including:"
|
||||||
msgstr ""
|
msgstr "Luanti a plusieurs intérêts éducatifs, notamment :"
|
||||||
|
|
||||||
#: plinth/modules/minetest/__init__.py:37
|
#: plinth/modules/minetest/__init__.py:37
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -4789,6 +4790,11 @@ msgid ""
|
|||||||
"exploration.</li><li>Fostering social interaction and collaboration among "
|
"exploration.</li><li>Fostering social interaction and collaboration among "
|
||||||
"players.</li></ul>"
|
"players.</li></ul>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"<ul><li>le développement de la représentation dans l’espace et des capacités "
|
||||||
|
"de résolution de problèmes ;</li><li>la stimulation de la créativité et de "
|
||||||
|
"l’expression personnelle au travers de la construction et de "
|
||||||
|
"l’exploration ;</li><li>l’incitation à la collaboration et aux interactions "
|
||||||
|
"sociales entres joueuses et joueurs.</li></ul>"
|
||||||
|
|
||||||
#: plinth/modules/minetest/__init__.py:43
|
#: plinth/modules/minetest/__init__.py:43
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -4799,6 +4805,12 @@ msgid ""
|
|||||||
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
|
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
|
||||||
"documentation</a> or online resources."
|
"documentation</a> or online resources."
|
||||||
msgstr ""
|
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 l’IP de la {box_name} et le port part défaut "
|
||||||
|
"(30000). Pour plus d’informations, 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
|
#: plinth/modules/minetest/__init__.py:68 plinth/modules/minetest/manifest.py:9
|
||||||
msgid "Luanti"
|
msgid "Luanti"
|
||||||
@ -4814,7 +4826,7 @@ msgid ""
|
|||||||
"instance of time."
|
"instance of time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous permet de modifier le nombre maximum de joueurs autorisés à se "
|
"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
|
#: plinth/modules/minetest/forms.py:19
|
||||||
msgid "Enable creative mode"
|
msgid "Enable creative mode"
|
||||||
@ -11148,16 +11160,12 @@ msgid "Log in"
|
|||||||
msgstr "S’identifier"
|
msgstr "S’identifier"
|
||||||
|
|
||||||
#: plinth/templates/cards.html:28
|
#: plinth/templates/cards.html:28
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Add a new peer"
|
|
||||||
msgid "Add new app"
|
msgid "Add new app"
|
||||||
msgstr "Ajouter un nouveau pair"
|
msgstr "Ajouter une nouvelle appli"
|
||||||
|
|
||||||
#: plinth/templates/cards.html:48
|
#: plinth/templates/cards.html:48
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Available Domains"
|
|
||||||
msgid "Available for install"
|
msgid "Available for install"
|
||||||
msgstr "Domaines disponibles"
|
msgstr "Disponibles à l’installation"
|
||||||
|
|
||||||
#: plinth/templates/clients-button.html:16
|
#: plinth/templates/clients-button.html:16
|
||||||
msgid "Launch web client"
|
msgid "Launch web client"
|
||||||
|
|||||||
@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
|
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
|
||||||
"PO-Revision-Date: 2026-06-03 05:01+0000\n"
|
"PO-Revision-Date: 2026-07-30 10:01+0000\n"
|
||||||
"Last-Translator: Burak Yavuz <hitowerdigit@hotmail.com>\n"
|
"Last-Translator: Burak Yavuz <hitowerdigit@hotmail.com>\n"
|
||||||
"Language-Team: Turkish <https://hosted.weblate.org/projects/freedombox/"
|
"Language-Team: Turkish <https://hosted.weblate.org/projects/freedombox/"
|
||||||
"freedombox/tr/>\n"
|
"freedombox/tr/>\n"
|
||||||
@ -16,7 +16,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 2026.6\n"
|
"X-Generator: Weblate 2026.8.dev0\n"
|
||||||
|
|
||||||
#: plinth/config.py:103
|
#: plinth/config.py:103
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -2975,7 +2975,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: plinth/modules/first_boot/__init__.py:47
|
#: plinth/modules/first_boot/__init__.py:47
|
||||||
msgid "First Boot"
|
msgid "First Boot"
|
||||||
msgstr ""
|
msgstr "İlk Önyükleme"
|
||||||
|
|
||||||
#: plinth/modules/first_boot/__init__.py:68
|
#: plinth/modules/first_boot/__init__.py:68
|
||||||
msgid "Setup complete! Next steps:"
|
msgid "Setup complete! Next steps:"
|
||||||
@ -2999,19 +2999,15 @@ msgid "See next steps"
|
|||||||
msgstr "Sonraki adımları görün"
|
msgstr "Sonraki adımları görün"
|
||||||
|
|
||||||
#: plinth/modules/first_boot/forms.py:14
|
#: plinth/modules/first_boot/forms.py:14
|
||||||
#, fuzzy, python-brace-format
|
#, 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}"
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Enter the secret generated during {box_name} installation. This secret can "
|
"Enter the secret generated during {box_name} installation. This secret can "
|
||||||
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
|
"be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-"
|
||||||
"wizard-secret\" on your {box_name}"
|
"wizard-secret\" on your {box_name}"
|
||||||
msgstr ""
|
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-"
|
"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
|
#: plinth/modules/first_boot/forms.py:19
|
||||||
msgid "Firstboot Wizard Secret"
|
msgid "Firstboot Wizard Secret"
|
||||||
@ -4691,10 +4687,15 @@ msgid ""
|
|||||||
"game. It allows users to build and explore 3D worlds, interact with others, "
|
"game. It allows users to build and explore 3D worlds, interact with others, "
|
||||||
"and engage in various activities such as crafting, mining, and combat."
|
"and engage in various activities such as crafting, mining, and combat."
|
||||||
msgstr ""
|
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
|
#: plinth/modules/minetest/__init__.py:36
|
||||||
msgid "Luanti offers several educational benefits, including:"
|
msgid "Luanti offers several educational benefits, including:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Luanti aşağıdakiler de dahil olmak üzere çeşitli eğitim faydaları sunar:"
|
||||||
|
|
||||||
#: plinth/modules/minetest/__init__.py:37
|
#: plinth/modules/minetest/__init__.py:37
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -4703,6 +4704,10 @@ msgid ""
|
|||||||
"exploration.</li><li>Fostering social interaction and collaboration among "
|
"exploration.</li><li>Fostering social interaction and collaboration among "
|
||||||
"players.</li></ul>"
|
"players.</li></ul>"
|
||||||
msgstr ""
|
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
|
#: plinth/modules/minetest/__init__.py:43
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@ -4713,6 +4718,11 @@ msgid ""
|
|||||||
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
|
"please refer to the official <a href=\"https://docs.luanti.org/\">Minetest "
|
||||||
"documentation</a> or online resources."
|
"documentation</a> or online resources."
|
||||||
msgstr ""
|
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
|
#: plinth/modules/minetest/__init__.py:68 plinth/modules/minetest/manifest.py:9
|
||||||
msgid "Luanti"
|
msgid "Luanti"
|
||||||
@ -10911,16 +10921,12 @@ msgid "Log in"
|
|||||||
msgstr "Oturum aç"
|
msgstr "Oturum aç"
|
||||||
|
|
||||||
#: plinth/templates/cards.html:28
|
#: plinth/templates/cards.html:28
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Add a new peer"
|
|
||||||
msgid "Add new app"
|
msgid "Add new app"
|
||||||
msgstr "Yeni bir kişi ekle"
|
msgstr "Yeni uygulama ekle"
|
||||||
|
|
||||||
#: plinth/templates/cards.html:48
|
#: plinth/templates/cards.html:48
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Available Domains"
|
|
||||||
msgid "Available for install"
|
msgid "Available for install"
|
||||||
msgstr "Kullanılabilir Etki Alanları"
|
msgstr "Yükleme için kullanılabilir"
|
||||||
|
|
||||||
#: plinth/templates/clients-button.html:16
|
#: plinth/templates/clients-button.html:16
|
||||||
msgid "Launch web client"
|
msgid "Launch web client"
|
||||||
|
|||||||
@ -8,9 +8,9 @@ msgstr ""
|
|||||||
"Project-Id-Version: Plinth\n"
|
"Project-Id-Version: Plinth\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
|
"POT-Creation-Date: 2026-07-29 02:26+0000\n"
|
||||||
"PO-Revision-Date: 2026-07-20 13:01+0000\n"
|
"PO-Revision-Date: 2026-08-02 03:01+0000\n"
|
||||||
"Last-Translator: reducedradius "
|
"Last-Translator: Hosted Weblate user 54392 "
|
||||||
"<137701630+flytothehighest@users.noreply.github.com>\n"
|
"<hamburger2048@users.noreply.hosted.weblate.org>\n"
|
||||||
"Language-Team: Chinese (Simplified Han script) <https://hosted.weblate.org/"
|
"Language-Team: Chinese (Simplified Han script) <https://hosted.weblate.org/"
|
||||||
"projects/freedombox/freedombox/zh_Hans/>\n"
|
"projects/freedombox/freedombox/zh_Hans/>\n"
|
||||||
"Language: zh_Hans\n"
|
"Language: zh_Hans\n"
|
||||||
@ -9825,16 +9825,12 @@ msgid "Log in"
|
|||||||
msgstr "登录"
|
msgstr "登录"
|
||||||
|
|
||||||
#: plinth/templates/cards.html:28
|
#: plinth/templates/cards.html:28
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Advanced apps"
|
|
||||||
msgid "Add new app"
|
msgid "Add new app"
|
||||||
msgstr "高级应用"
|
msgstr "添加新应用"
|
||||||
|
|
||||||
#: plinth/templates/cards.html:48
|
#: plinth/templates/cards.html:48
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Available Domains"
|
|
||||||
msgid "Available for install"
|
msgid "Available for install"
|
||||||
msgstr "可用域名"
|
msgstr "可安装"
|
||||||
|
|
||||||
#: plinth/templates/clients-button.html:16
|
#: plinth/templates/clients-button.html:16
|
||||||
msgid "Launch web client"
|
msgid "Launch web client"
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import logging
|
|||||||
import pathlib
|
import pathlib
|
||||||
import threading
|
import threading
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
import psutil
|
import psutil
|
||||||
from django.urls import reverse_lazy
|
from django.urls import reverse_lazy
|
||||||
@ -40,7 +41,7 @@ _description = [
|
|||||||
|
|
||||||
logger = logging.Logger(__name__)
|
logger = logging.Logger(__name__)
|
||||||
|
|
||||||
current_results = {}
|
current_results: dict[str, Any] = {}
|
||||||
results_lock = threading.Lock()
|
results_lock = threading.Lock()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -45,7 +45,6 @@ _description = [
|
|||||||
'quality, privacy and legal reviews are done by the upstream '
|
'quality, privacy and legal reviews are done by the upstream '
|
||||||
'project and not by Debian/{box_name}. Updates are performed '
|
'project and not by Debian/{box_name}. Updates are performed '
|
||||||
'following an independent cycle.'), box_name=_(cfg.box_name)),
|
'following an independent cycle.'), box_name=_(cfg.box_name)),
|
||||||
format_lazy(_alert, _('Caution:'), _('This app is experimental.')),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,8 @@ class TestMatrixSynapseApp(functional.BaseAppTests):
|
|||||||
diagnostics_delay = 1
|
diagnostics_delay = 1
|
||||||
|
|
||||||
@pytest.fixture(scope='class', autouse=True)
|
@pytest.fixture(scope='class', autouse=True)
|
||||||
def fixture_setup(self, session_browser):
|
@classmethod
|
||||||
|
def fixture_setup(cls, session_browser):
|
||||||
"""Setup the app."""
|
"""Setup the app."""
|
||||||
functional.login(session_browser)
|
functional.login(session_browser)
|
||||||
functional.domain_add(session_browser, 'mydomain.example')
|
functional.domain_add(session_browser, 'mydomain.example')
|
||||||
|
|||||||
@ -21,7 +21,8 @@ class TestSambaApp(functional.BaseAppTests):
|
|||||||
has_web = False
|
has_web = False
|
||||||
|
|
||||||
@pytest.fixture(scope='class', autouse=True)
|
@pytest.fixture(scope='class', autouse=True)
|
||||||
def fixture_setup(self, session_browser):
|
@classmethod
|
||||||
|
def fixture_setup(cls, session_browser):
|
||||||
"""Setup the app."""
|
"""Setup the app."""
|
||||||
functional.login(session_browser)
|
functional.login(session_browser)
|
||||||
functional.networks_set_firewall_zone(session_browser, 'internal')
|
functional.networks_set_firewall_zone(session_browser, 'internal')
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
import threading
|
import threading
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
from plinth import cfg
|
from plinth import cfg
|
||||||
from plinth.utils import import_from_gi
|
from plinth.utils import import_from_gi
|
||||||
@ -40,7 +41,7 @@ _ERRORS: dict[str, str] = {
|
|||||||
'Failed': 'org.freedesktop.UDisks2.Error.Failed',
|
'Failed': 'org.freedesktop.UDisks2.Error.Failed',
|
||||||
}
|
}
|
||||||
|
|
||||||
_jobs = {}
|
_jobs: dict[str, Any] = {}
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|||||||
@ -26,7 +26,6 @@ See: https://docs.djangoproject.com/en/dev/ref/settings/
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import django
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
ALLOWED_HOSTS = ['*']
|
ALLOWED_HOSTS = ['*']
|
||||||
@ -240,9 +239,6 @@ TEMPLATES = [
|
|||||||
|
|
||||||
TIME_ZONE = 'UTC'
|
TIME_ZONE = 'UTC'
|
||||||
|
|
||||||
if django.VERSION <= (4, 0):
|
|
||||||
USE_L10N = True
|
|
||||||
|
|
||||||
USE_TZ = True
|
USE_TZ = True
|
||||||
|
|
||||||
# Overridden by configuration setting use_x_forwarded_host
|
# Overridden by configuration setting use_x_forwarded_host
|
||||||
|
|||||||
@ -837,12 +837,13 @@ class BaseAppTests:
|
|||||||
install(session_browser, self.app_name)
|
install(session_browser, self.app_name)
|
||||||
|
|
||||||
@pytest.fixture(autouse=True, scope='class', name='disable_after_tests')
|
@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."""
|
"""Disable the app after running tests."""
|
||||||
yield
|
yield
|
||||||
if self.disable_after_tests and is_installed(session_browser,
|
if cls.disable_after_tests and is_installed(session_browser,
|
||||||
self.app_name):
|
cls.app_name):
|
||||||
app_disable(session_browser, self.app_name)
|
app_disable(session_browser, cls.app_name)
|
||||||
|
|
||||||
@pytest.fixture(autouse=True, name='background')
|
@pytest.fixture(autouse=True, name='background')
|
||||||
def fixture_background(self, session_browser, disable_after_tests):
|
def fixture_background(self, session_browser, disable_after_tests):
|
||||||
|
|||||||
@ -9,6 +9,12 @@ classifiers = [
|
|||||||
"Environment :: No Input/Output (Daemon)",
|
"Environment :: No Input/Output (Daemon)",
|
||||||
"Environment :: Web Environment",
|
"Environment :: Web Environment",
|
||||||
"Framework :: Django",
|
"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",
|
"Intended Audience :: End Users/Desktop",
|
||||||
"Natural Language :: English",
|
"Natural Language :: English",
|
||||||
"Operating System :: POSIX :: Linux",
|
"Operating System :: POSIX :: Linux",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user