diff --git a/debian/changelog b/debian/changelog index 36def4e4f..0fc8b706d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,27 @@ +freedombox (24.12) unstable; urgency=medium + + [ Ray Kuo ] + * Translated using Weblate (Chinese (Traditional)) + * Translated using Weblate (Chinese (Traditional)) + * Translated using Weblate (Chinese (Traditional)) + * Translated using Weblate (Chinese (Traditional)) + * Translated using Weblate (Chinese (Traditional)) + + [ Besnik Bleta ] + * Translated using Weblate (Albanian) + + [ gfbdrgng ] + * Translated using Weblate (Russian) + * Translated using Weblate (Russian) + + [ Ettore Atalan ] + * Translated using Weblate (German) + + [ James Valleroy ] + * doc: Fetch latest manual + + -- James Valleroy Mon, 03 Jun 2024 20:35:33 -0400 + freedombox (24.11~bpo12+1) bookworm-backports; urgency=medium * Rebuild for bookworm-backports. diff --git a/doc/manual/en/ReleaseNotes.raw.wiki b/doc/manual/en/ReleaseNotes.raw.wiki index ef75fdde4..9ab47bbfa 100644 --- a/doc/manual/en/ReleaseNotes.raw.wiki +++ b/doc/manual/en/ReleaseNotes.raw.wiki @@ -8,6 +8,10 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f The following are the release notes for each !FreedomBox version. +== FreedomBox 24.12 (2024-06-03) == + + * locale: Update translations for Albanian, Chinese (Traditional), German, Russian + == FreedomBox 24.11 (2024-05-20) == * locale: Update translations for Chinese (Simplified), Chinese (Traditional), Spanish, Swedish, Turkish diff --git a/doc/manual/es/PioneerEdition.raw.wiki b/doc/manual/es/PioneerEdition.raw.wiki index 8e5ff6384..12bac7f86 100644 --- a/doc/manual/es/PioneerEdition.raw.wiki +++ b/doc/manual/es/PioneerEdition.raw.wiki @@ -83,7 +83,7 @@ servidor casero sin la extensión puedes encargarla aparte. Los kits vienen con una tarjeta SD precargada con !FreedomBox. '''NO hace ninguna falta descargar imágenes'''. -No obstante, si deseas restablecer tus dispositivos a un estado virginal puedes hacerlo con la imágen provista. Sigue las instrucciones de la página de [[es/FreedomBox/Download|descargas]] para crear una tarjeta SD de !FreedomBox y arrancar tu dispositivo. Asegúrate de descargar imágenes para la [[https://ftp.freedombox.org/pub/freedombox/pioneer/|Pioneer Edition]]. Estas imágenes de tarjeta SD se usan en la ranura SD de la propia placa y no funcionarán si se insertan en un lector SD externo conectado por USB. +No obstante, si deseas restablecer tus dispositivos a un estado virginal puedes hacerlo con la imágen provista. Sigue las instrucciones de la página de [[es/FreedomBox/Download|descargas]] para crear una tarjeta SD de !FreedomBox y arrancar tu dispositivo. Asegúrate de descargar imágenes para la [[https://ftp.freedombox.org/pub/freedombox/hardware/pioneer/|Pioneer Edition]]. Estas imágenes de tarjeta SD se usan en la ranura SD de la propia placa y no funcionarán si se insertan en un lector SD externo conectado por USB. Una alternativa a descargar estas imágenes es [[InstallingDebianOn/Allwinner|instalar Debian]] en el dispositivo y luego [[es/FreedomBox/Hardware/Debian|instalar FreedomBox]] sobre él. diff --git a/doc/manual/es/ReleaseNotes.raw.wiki b/doc/manual/es/ReleaseNotes.raw.wiki index ef75fdde4..9ab47bbfa 100644 --- a/doc/manual/es/ReleaseNotes.raw.wiki +++ b/doc/manual/es/ReleaseNotes.raw.wiki @@ -8,6 +8,10 @@ For more technical details, see the [[https://salsa.debian.org/freedombox-team/f The following are the release notes for each !FreedomBox version. +== FreedomBox 24.12 (2024-06-03) == + + * locale: Update translations for Albanian, Chinese (Traditional), German, Russian + == FreedomBox 24.11 (2024-05-20) == * locale: Update translations for Chinese (Simplified), Chinese (Traditional), Spanish, Swedish, Turkish diff --git a/plinth/__init__.py b/plinth/__init__.py index 9eb41d7d5..06216fa43 100644 --- a/plinth/__init__.py +++ b/plinth/__init__.py @@ -3,4 +3,4 @@ Package init file. """ -__version__ = '24.11' +__version__ = '24.12' diff --git a/plinth/locale/de/LC_MESSAGES/django.po b/plinth/locale/de/LC_MESSAGES/django.po index 613010f4e..e52205140 100644 --- a/plinth/locale/de/LC_MESSAGES/django.po +++ b/plinth/locale/de/LC_MESSAGES/django.po @@ -10,8 +10,8 @@ msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-05-06 20:18-0400\n" -"PO-Revision-Date: 2024-04-08 07:01+0000\n" -"Last-Translator: Johannes Keyser \n" +"PO-Revision-Date: 2024-05-31 23:09+0000\n" +"Last-Translator: Ettore Atalan \n" "Language-Team: German \n" "Language: 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 5.5-dev\n" +"X-Generator: Weblate 5.6-dev\n" #: config.py:103 #, python-brace-format @@ -5281,33 +5281,25 @@ msgid "" msgstr "" #: modules/nextcloud/__init__.py:40 -#, fuzzy -#| msgid "Uninstalling an app is an experimental feature." msgid "This app is experimental." -msgstr "Das Deinstallieren einer App ist eine experimentelle Funktion." +msgstr "Diese App ist experimentell." #: modules/nextcloud/__init__.py:58 modules/nextcloud/manifest.py:11 #: modules/nextcloud/manifest.py:18 -#, fuzzy -#| msgid "Next" msgid "Nextcloud" -msgstr "Weiter" +msgstr "Nextcloud" #: modules/nextcloud/__init__.py:60 msgid "File Storage & Collaboration" -msgstr "" +msgstr "Dateispeicherung & Zusammenarbeit" #: modules/nextcloud/forms.py:19 -#, fuzzy -#| msgid "Hostname set" msgid "Not set" -msgstr "Hostname gesetzt" +msgstr "Nicht festgelegt" #: modules/nextcloud/forms.py:26 -#, fuzzy -#| msgid "Server domain" msgid "Override domain" -msgstr "Serverdomain" +msgstr "Domain überschreiben" #: modules/nextcloud/forms.py:27 #, fuzzy @@ -5325,8 +5317,6 @@ msgstr "" "\"myfreedombox.example.org\" oder \"example.onion\"." #: modules/nextcloud/forms.py:33 -#, fuzzy -#| msgid "Administrator Password" msgid "Administrator password" msgstr "Administrator-Passwort" @@ -5349,10 +5339,8 @@ msgstr "" "derzeitige Passwort bestehen." #: modules/nextcloud/forms.py:41 -#, fuzzy -#| msgid "Default zone is external" msgid "Default phone region" -msgstr "Standard-Zone ist extern" +msgstr "Standard-Telefonregion" #: modules/nextcloud/forms.py:42 msgid "" @@ -5361,12 +5349,10 @@ msgid "" msgstr "" #: modules/nextcloud/views.py:53 -#, fuzzy -#| msgid "Password update failed. Please choose a stronger password" msgid "Password update failed. Please choose a stronger password." msgstr "" -"Kennwortaktualisierung fehlgeschlagen. Bitte wählen Sie ein stärkeres " -"Passwort" +"Passwortaktualisierung fehlgeschlagen. Bitte wählen Sie ein stärkeres " +"Passwort aus." #: modules/openvpn/__init__.py:20 #, python-brace-format @@ -8753,10 +8739,9 @@ msgid "Error installing app: {error}" msgstr "Fehler bei der Installation der App: {error}" #: setup.py:81 setup.py:151 -#, fuzzy, python-brace-format -#| msgid "Error updating app: {error}" +#, python-brace-format msgid "Error repairing app: {error}" -msgstr "Fehler beim Aktualisieren der App: {error}" +msgstr "Fehler beim Reparieren der App: {error}" #: setup.py:84 #, python-brace-format @@ -8772,10 +8757,8 @@ msgid "App updated" msgstr "App aktualisiert" #: setup.py:110 -#, fuzzy -#| msgid "Updating app" msgid "Repairing app" -msgstr "Aktualisieren der App" +msgstr "Reparieren der App" #: setup.py:130 #, fuzzy, python-brace-format @@ -8792,10 +8775,8 @@ msgid "Re-running setup to complete repairs" msgstr "" #: setup.py:165 -#, fuzzy -#| msgid "App updated" msgid "App repaired." -msgstr "App aktualisiert" +msgstr "App repariert." #: setup.py:169 msgid "App repair completed with errors:\n" diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po index 4ec83177f..aa45574e5 100644 --- a/plinth/locale/ru/LC_MESSAGES/django.po +++ b/plinth/locale/ru/LC_MESSAGES/django.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-05-06 20:18-0400\n" -"PO-Revision-Date: 2024-04-22 17:07+0000\n" -"Last-Translator: Yurt Page \n" +"PO-Revision-Date: 2024-05-26 04:09+0000\n" +"Last-Translator: gfbdrgng \n" "Language-Team: Russian \n" "Language: ru\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.5-dev\n" +"X-Generator: Weblate 5.6-dev\n" #: config.py:103 #, python-brace-format @@ -103,10 +103,8 @@ msgid "Use the language preference set in the browser" msgstr "Использовать языковые настройки браузера" #: menu.py:106 -#, fuzzy -#| msgid "Public Visibility" msgid "Visibility" -msgstr "Публичная видимость" +msgstr "Видимость" #: menu.py:108 msgid "Data" @@ -122,10 +120,8 @@ msgid "Security" msgstr "Безопасность" #: menu.py:114 -#, fuzzy -#| msgid "Server Administration" msgid "Administration" -msgstr "Администрирование сервера" +msgstr "Администрирование" #: middleware.py:131 msgid "System is possibly under heavy load. Please retry later." @@ -1314,10 +1310,8 @@ msgstr "" "Показать приложения и функции, которые требуют больше технических знаний." #: modules/config/forms.py:104 -#, fuzzy -#| msgid "System Monitoring" msgid "System-wide logging" -msgstr "Общесистемное ведение журнала" +msgstr "Общесистемное протоколирование" #: modules/config/forms.py:105 msgid "Disable logging, for privacy" @@ -1562,10 +1556,8 @@ msgid "Low Memory" msgstr "Мало памяти" #: modules/diagnostics/__init__.py:265 -#, fuzzy -#| msgid "Run Diagnostics" msgid "Running diagnostics" -msgstr "Запустить диагностику" +msgstr "Выполнение диагностики" #: modules/diagnostics/__init__.py:308 #, no-python-format, python-brace-format @@ -1573,47 +1565,34 @@ msgid "Found {issue_count} issues during routine tests." msgstr "Найдены {issue_count} проблем во время обычных проверок." #: modules/diagnostics/__init__.py:309 -#, fuzzy -#| msgid "Diagnostic Results" msgid "Diagnostics results" msgstr "Результаты диагностики" #: modules/diagnostics/__init__.py:314 -#, fuzzy -#| msgid "Diagnostic Results" msgid "Go to diagnostics results" -msgstr "Результаты диагностики" +msgstr "Перейдите к результатам диагностики" #: modules/diagnostics/forms.py:11 -#, fuzzy -#| msgid "Enable Subdomains" msgid "Enable daily run" -msgstr "Включить поддомены" +msgstr "Включить ежедневный запуск" #: modules/diagnostics/forms.py:12 -#, fuzzy -#| msgid "When enabled, FreedomBox automatically updates once a day." msgid "When enabled, diagnostic checks will run once a day." msgstr "" -"Если опция включена, то FreedomBox автоматически обновляется раз в день." +"Если эта функция включена, диагностические проверки будут выполняться раз в " +"день." #: modules/diagnostics/templates/diagnostics.html:11 -#, fuzzy -#| msgid "Diagnostics" msgid "Diagnostics Run" -msgstr "Диагностика" +msgstr "Выполнение Диагностики" #: modules/diagnostics/templates/diagnostics.html:17 -#, fuzzy -#| msgid "Run Diagnostics" msgid "Run Diagnostics Now" -msgstr "Запустить диагностику" +msgstr "Запустите диагностику сейчас" #: modules/diagnostics/templates/diagnostics.html:22 -#, fuzzy -#| msgid "Results" msgid "View Results" -msgstr "Результаты" +msgstr "Посмотреть результаты" #: modules/diagnostics/templates/diagnostics_app.html:10 msgid "Diagnostic Results" @@ -1627,7 +1606,7 @@ msgstr "Приложение: %(app_name)s" #: modules/diagnostics/templates/diagnostics_app.html:20 #: modules/diagnostics/templates/diagnostics_full.html:48 msgid "Try to repair" -msgstr "" +msgstr "Попробуйте отремонтировать" #: modules/diagnostics/templates/diagnostics_app.html:32 msgid "This app does not support diagnostics" @@ -1638,10 +1617,8 @@ msgid "Run Diagnostics" msgstr "Запустить диагностику" #: modules/diagnostics/templates/diagnostics_full.html:17 -#, fuzzy -#| msgid "Run Diagnostics" msgid "Re-run Diagnostics" -msgstr "Запустить диагностику" +msgstr "Повторный запуск диагностики" #: modules/diagnostics/templates/diagnostics_full.html:21 msgid "Diagnostics test is currently running" @@ -1652,19 +1629,15 @@ msgid "Results" msgstr "Результаты" #: modules/diagnostics/templates/diagnostics_full.html:38 -#, fuzzy, python-format -#| msgid "" -#| "\n" -#| " App: %(app_name)s\n" -#| " " +#, python-format msgid "" "\n" " App: %(app_name)s\n" " " msgstr "" "\n" -" Приложение: %(app_name)s\n" -" " +" Приложение: %(app_name)s\n" +" " #: modules/diagnostics/templates/diagnostics_results.html:11 msgid "Test" @@ -1682,7 +1655,7 @@ msgstr "Диагностический тест" #: modules/diagnostics/views.py:144 #, python-brace-format msgid "App {app_id} is not installed, cannot repair" -msgstr "" +msgstr "Приложение {app_id} не установлено, невозможно восстановить" #: modules/dynamicdns/__init__.py:28 #, python-brace-format @@ -1705,12 +1678,13 @@ msgid "" "Internet asks for your DNS name, they will get a response with your current " "IP address." msgstr "" -"Решение заключается в назначении имени DNS к вашему IP адресу и обновлять " -"DNS имя каждый раз, как будет изменен ваш IP адрес. Динамический DNS " -"позволяет вам публиковать ваш текущий публичный IP адрес на GnuDIP сервере. После этого " -"сервер будет назначать DNS-имя на новый IP-адрес, и если кто-то из Интернета " -"запрашивает DNS-имя, они будут получать ответ ваш текущий IP-адрес." +"Решение состоит в том, чтобы назначить DNS-имя вашему IP-адресу и обновлять " +"его каждый раз, когда ваш IP-адрес изменяется вашим интернет-провайдером. " +"Динамический DNS позволяет передать ваш текущий публичный IP-адрес на сервер GnuDIP. После этого сервер назначит ваше DNS-имя новому IP-адресу, и если кто-то " +"из Интернета запросит ваше DNS-имя, он получит ответ с вашим текущим " +"IP-адресом." #: modules/dynamicdns/__init__.py:40 msgid "" @@ -2035,8 +2009,9 @@ msgid "Monal - XMPP Chat" msgstr "Monal - XMPP чат" #: modules/ejabberd/manifest.py:64 +#, fuzzy msgid "Siskin IM" -msgstr "" +msgstr "Siskin IM" #: modules/ejabberd/manifest.py:73 msgid "Dino" @@ -2252,10 +2227,8 @@ msgid "Firewall" msgstr "Брандмауэр" #: modules/firewall/__init__.py:273 -#, fuzzy -#| msgid "Default app set" msgid "Default zone is external" -msgstr "Приложение по умолчанию настроено" +msgstr "Зоной по умолчанию является внешняя" #: modules/firewall/__init__.py:283 msgid "Firewall backend is nftables" @@ -2653,8 +2626,8 @@ msgid "" "For more information about the %(box_name)s project, see the %(box_name)s Wiki." msgstr "" -"Дополнительные сведения о проекте %(box_name)s смотрите в Wiki ." +"Дополнительную информацию о проекте %(box_name)s можно найти на %(box_name)s Wiki." #: modules/help/templates/help_about.html:91 msgid "Learn more" @@ -2823,11 +2796,10 @@ msgid "" "oftc.net/?randomnick=1&channels=freedombox&prompt=1\"> #freedombox " "channel using the IRC web interface." msgstr "" -"Множество разработчиков и пользователей %(box_name)s так же доступны в IRC " -"сети irc.oftc.net. Подключайтесь и спросите помощи на канале #freedombox используя веб-" -"интерфейс." +"Многие участники и пользователи %(box_name)s также доступны в IRC-сети " +"irc.oftc.net. Присоединяйтесь и запрашивайте помощь на канале #freedombox с помощью веб-интерфейса IRC." #: modules/help/templates/help_manual.html:18 msgid "Download as PDF" @@ -3164,10 +3136,8 @@ msgid "Janus" msgstr "Janus" #: modules/janus/__init__.py:44 -#, fuzzy -#| msgid "Janus Video Room" msgid "Video Room" -msgstr "Видеокомната Janus" +msgstr "Видео комната" #: modules/janus/manifest.py:7 msgid "Janus Video Room" @@ -3240,23 +3210,21 @@ msgstr "" "rel=\"noopener noreferrer\">создать свой собственный." #: modules/kiwix/__init__.py:53 -#, fuzzy msgid "Manage Kiwix content server" msgstr "Управление сервером контента Kiwix" #: modules/kiwix/__init__.py:56 modules/kiwix/manifest.py:8 +#, fuzzy msgid "Kiwix" -msgstr "" +msgstr "Kiwix" #: modules/kiwix/__init__.py:57 msgid "Offline Wikipedia" msgstr "Локальная Википедия" #: modules/kiwix/forms.py:23 -#, fuzzy -#| msgid "Backup files have to be in .tar.gz format" msgid "Content packages have to be in .zim format" -msgstr "Файлы резервного сохранения должны быть в формате .tar.gz" +msgstr "Пакеты контента должны быть в формате .zim" #: modules/kiwix/forms.py:25 #, python-brace-format @@ -3265,6 +3233,9 @@ msgid "" "{box_name}. If Kiwix fails to add the file, it will be deleted immediately " "to save disk space." msgstr "" +"Загруженные ZIM-файлы будут храниться в разделе {kiwix_home}/контент на " +"вашем {box_name}. Если Kiwix не сможет добавить файл, он будет немедленно " +"удален для экономии места на диске." #: modules/kiwix/templates/kiwix-add-package.html:24 #, python-format @@ -3272,66 +3243,54 @@ msgid "You have %(max_filesize)s of free disk space available." msgstr "У вас %(max_filesize)s свободного дискового пространства." #: modules/kiwix/templates/kiwix-add-package.html:36 -#, fuzzy -#| msgid "Upload file" msgid "Upload ZIM file" -msgstr "Загрузить файл" +msgstr "Загрузите файл ZIM" #: modules/kiwix/templates/kiwix-delete-package.html:11 -#, fuzzy, python-format -#| msgid "Delete Wiki or Blog %(name)s" +#, python-format msgid "Delete content package %(name)s" -msgstr "Удалить Вики или Блог %(name)s" +msgstr "Удалите пакет содержимого %(name)s" #: modules/kiwix/templates/kiwix-delete-package.html:17 msgid "" "Delete this package permanently? You may add it back later if you have a " "copy of the ZIM file." msgstr "" +"Удалить этот пакет навсегда? Вы можете добавить его позже, если у вас есть " +"копия файла ZIM." #: modules/kiwix/templates/kiwix.html:11 msgid "Manage Content Packages" msgstr "Управление пакетами контента" #: modules/kiwix/templates/kiwix.html:15 -#, fuzzy -#| msgid "Add a new peer" msgid "Add a content package" -msgstr "Добавление нового однорангового узла" +msgstr "Добавьте пакет контента" #: modules/kiwix/templates/kiwix.html:17 -#, fuzzy -#| msgid "Package" msgid "Add Package" -msgstr "Пакет" +msgstr "Добавить пакет" #: modules/kiwix/templates/kiwix.html:24 -#, fuzzy -#| msgid "No status available." msgid "No content packages available." -msgstr "Статус недоступен." +msgstr "Пакеты контента не предлагаются." #: modules/kiwix/templates/kiwix.html:37 -#, fuzzy, python-format -#| msgid "Delete site %(site)s" +#, python-format msgid "Delete package %(title)s" -msgstr "Удаление узла %(site)s" +msgstr "Удалить пакет %(title)s" #: modules/kiwix/views.py:49 msgid "Content package added." msgstr "Добавлен пакет контента." #: modules/kiwix/views.py:54 -#, fuzzy -#| msgid "Add a new peer" msgid "Add a new content package" -msgstr "Добавление нового однорангового узла" +msgstr "Добавьте новый пакет контента" #: modules/kiwix/views.py:83 -#, fuzzy -#| msgid "Failed to add user to group." msgid "Failed to add content package." -msgstr "Не удалось добавить пользователя в группу." +msgstr "Не удалось добавить пакет содержимого." #: modules/letsencrypt/__init__.py:27 #, python-brace-format @@ -3439,10 +3398,9 @@ msgstr "" "потребоваться время." #: modules/letsencrypt/views.py:46 -#, fuzzy, python-brace-format -#| msgid "Failed to revoke certificate for domain {domain}: {error}" +#, python-brace-format msgid "Failed to revoke certificate for domain {domain}" -msgstr "Не удалось отозвать сертификат для домена {domain}: {error}" +msgstr "Не удалось отозвать сертификат для домена {domain}" #: modules/letsencrypt/views.py:59 modules/letsencrypt/views.py:77 #, python-brace-format @@ -3450,10 +3408,9 @@ msgid "Certificate successfully obtained for domain {domain}" msgstr "Сертификат успешно получен для домена {domain}" #: modules/letsencrypt/views.py:64 modules/letsencrypt/views.py:82 -#, fuzzy, python-brace-format -#| msgid "Failed to obtain certificate for domain {domain}: {error}" +#, python-brace-format msgid "Failed to obtain certificate for domain {domain}" -msgstr "Не удалось получить сертификат для домена {domain}: {error}" +msgstr "Не удалось получить сертификат для домена {domain}" #: modules/letsencrypt/views.py:95 #, python-brace-format @@ -3461,10 +3418,9 @@ msgid "Certificate successfully deleted for domain {domain}" msgstr "Сертификат успешно удален для домена {domain}" #: modules/letsencrypt/views.py:100 -#, fuzzy, python-brace-format -#| msgid "Failed to delete certificate for domain {domain}: {error}" +#, python-brace-format msgid "Failed to delete certificate for domain {domain}" -msgstr "Не удалось удалить сертификат для домена {domain}: {error}" +msgstr "Не удалось удалить сертификат для домена {domain}" #: modules/matrixsynapse/__init__.py:26 msgid "" @@ -3572,13 +3528,6 @@ msgstr "" "domainname." #: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:26 -#, fuzzy -#| msgid "" -#| "\n" -#| " Warning! Changing the domain name after the " -#| "initial\n" -#| " setup is currently not supported.\n" -#| " " msgid "" "\n" " Warning! Changing the domain name after this step " @@ -3588,9 +3537,10 @@ msgid "" " " msgstr "" "\n" -" Предупреждение!Изменение имени домена после " -"начальной \n" -" установки в настоящее время не поддерживается.\n" +" Предупреждение! Изменение доменного имени после этого " +"шага\n" +" потребуется удалить и переустановить приложение, что приведет к " +"стиранию данных приложения.\n" " " #: modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:35 @@ -3631,28 +3581,20 @@ msgstr "" "проверки во время регистрации учетной записи:" #: modules/matrixsynapse/templates/matrix-synapse.html:38 -#, fuzzy -#| msgid "Skip Registration" msgid "Registration Token" -msgstr "Пропустить регистрацию" +msgstr "Регистрационный токен" #: modules/matrixsynapse/templates/matrix-synapse.html:39 -#, fuzzy -#| msgid "Allowed IPs" msgid "Uses Allowed" -msgstr "Разрешенные IP-адреса" +msgstr "Разрешенные виды использования" #: modules/matrixsynapse/templates/matrix-synapse.html:40 -#, fuzzy -#| msgid "Skip Registration" msgid "Pending Registrations" -msgstr "Пропустить регистрацию" +msgstr "Ожидающие регистрации" #: modules/matrixsynapse/templates/matrix-synapse.html:41 -#, fuzzy -#| msgid "Skip Registration" msgid "Completed Registrations" -msgstr "Пропустить регистрацию" +msgstr "Завершенные регистрации" #: modules/matrixsynapse/templates/matrix-synapse.html:42 msgid "Expiry Time" @@ -3794,22 +3736,16 @@ msgstr "" "выбрать предпочитаемый скин." #: modules/mediawiki/forms.py:93 -#, fuzzy -#| msgid "Select language" msgid "Default Language" -msgstr "Выберите язык" +msgstr "Язык по умолчанию" #: modules/mediawiki/forms.py:94 -#, fuzzy -#| msgid "" -#| "Choose a default skin for your MediaWiki installation. Users have the " -#| "option to select their preferred skin." msgid "" "Choose a default language for your MediaWiki installation. Users have the " "option to select their preferred language." msgstr "" -"Выберите скин по умолчанию для вашей установки MediaWiki. Пользователи могут " -"выбрать предпочитаемый скин." +"Выберите язык по умолчанию для вашей установки MediaWiki. У пользователей " +"есть возможность выбрать предпочтительный язык." #: modules/mediawiki/views.py:43 msgid "Password updated" @@ -3848,10 +3784,8 @@ msgid "Site name updated" msgstr "Название сайта обновлено" #: modules/mediawiki/views.py:96 -#, fuzzy -#| msgid "Default skin changed" msgid "Default language changed" -msgstr "Скин по умолчанию изменен" +msgstr "Изменен язык по умолчанию" #: modules/minetest/__init__.py:33 #, python-brace-format @@ -3957,6 +3891,8 @@ msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files." msgstr "" +"Каталог, который сервер MiniDLNA будет читать на предмет содержимого. Все " +"подкаталоги этого каталога также будут проверены на наличие медиафайлов." #: modules/minidlna/manifest.py:10 msgid "vlc" @@ -5271,10 +5207,10 @@ msgstr "" "хорошо интегрированный веб-интерфейс." #: modules/nextcloud/__init__.py:30 -#, fuzzy -#| msgid "All users of FreedomBox can use Nextcloud." msgid "All users of FreedomBox can use Nextcloud. To perform administrative " -msgstr "Все пользователи FreedomBox могут использовать NextCloud." +msgstr "" +"Все пользователи FreedomBox могут использовать Nextcloud. Для выполнения " +"административных " #: modules/nextcloud/__init__.py:34 #, python-brace-format @@ -5284,52 +5220,46 @@ msgid "" "done by the upstream project and not by Debian/{box_name}. Updates are " "performed following an independent cycle." msgstr "" +"Обратите внимание, что Nextcloud устанавливается и работает внутри " +"контейнера, предоставленного сообществом Nextcloud. Проверки безопасности, " +"качества, конфиденциальности и юридические проверки осуществляются проектом, " +"а не Debian/{box_name}. Обновления выполняются по независимому циклу." #: modules/nextcloud/__init__.py:40 msgid "This app is experimental." -msgstr "" +msgstr "Это приложение является экспериментальным." #: modules/nextcloud/__init__.py:58 modules/nextcloud/manifest.py:11 #: modules/nextcloud/manifest.py:18 #, fuzzy #| msgid "Next" msgid "Nextcloud" -msgstr "Следующий" +msgstr "Nextcloud" #: modules/nextcloud/__init__.py:60 msgid "File Storage & Collaboration" msgstr "Хранение файлов и сотрудничество" #: modules/nextcloud/forms.py:19 -#, fuzzy -#| msgid "Hostname set" msgid "Not set" -msgstr "Смена имени хоста" +msgstr "Не установлено" #: modules/nextcloud/forms.py:26 -#, fuzzy -#| msgid "Server domain" msgid "Override domain" -msgstr "Домен сервера" +msgstr "Переопределить домен" #: modules/nextcloud/forms.py:27 -#, fuzzy -#| msgid "" -#| "Used by MediaWiki to generate URLs that point to the wiki such as in " -#| "footer, feeds and emails. Examples: \"myfreedombox.example.org\" or " -#| "\"example.onion\"." msgid "" "Set to the domain or IP address that Nextcloud should be forced to generate " "URLs with. Should not be needed if a valid domain is used to access " "Nextcloud. Examples: \"myfreedombox.example.org\" or \"example.onion\"." msgstr "" -"Использовалось MediaWiki для создания ссылок на wiki страницы, например " -"внизу веб-страниц, в RSS-потоках или в электронных письмах. Например: " -"\"myfreedombox.example.org\" или \"example.onion\"." +"Задайте домен или IP-адрес, с которым Nextcloud должен принудительно " +"генерировать URL-адреса. Не требуется, если для доступа к Nextcloud " +"используется действительный домен. Примеры: \"myfreedombox.example.org\" или " +"\"example.onion\"." #: modules/nextcloud/forms.py:33 -#, fuzzy -#| msgid "Administrator Password" msgid "Administrator password" msgstr "Пароль администратора" @@ -5346,16 +5276,14 @@ msgid "" "required length is 10 characters. Leave this field blank to " "keep the current password." msgstr "" -"Установить новый пароль для учетной записи администратора MediaWiki (admin). " -"Пароль не может быть общим, а минимальная требуемая длина составляет " -"10 символов. Оставьте это поле пустым, чтобы сохранить " -"текущий пароль." +"Необязательно. Set a new password for Nextcloud's administrator account " +"(nextcloud-admin). The password cannot be a common one and the minimum " +"required length is 10 characters. Leave this field blank to " +"keep the current password." #: modules/nextcloud/forms.py:41 -#, fuzzy -#| msgid "Default app set" msgid "Default phone region" -msgstr "Приложение по умолчанию настроено" +msgstr "Телефонный регион по умолчанию" #: modules/nextcloud/forms.py:42 msgid "" @@ -5366,10 +5294,9 @@ msgstr "" "настройках профиля без кода страны." #: modules/nextcloud/views.py:53 -#, fuzzy -#| msgid "Password update failed. Please choose a stronger password" msgid "Password update failed. Please choose a stronger password." -msgstr "Не удалось обновить пароль. Пожалуйста, выберите более надежный пароль" +msgstr "" +"Обновление пароля не удалось. Пожалуйста, выберите более надежный пароль." #: modules/openvpn/__init__.py:20 #, python-brace-format @@ -5417,31 +5344,24 @@ msgid "Profile" msgstr "Профиль" #: modules/openvpn/templates/openvpn.html:15 -#, fuzzy, python-format -#| msgid "" -#| "To connect to %(box_name)s's VPN, you need to download a profile and feed " -#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN " -#| "Clients are available for most platforms. Click \"Learn more...\" above " -#| "for recommended clients and instructions on how to configure them." +#, python-format msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " "to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " "available for most platforms. Click \"Learn more...\" above for recommended " "clients and instructions on how to configure them." msgstr "" -"Чтобы подключиться к VPN %(box_name)s, вам необходимо загрузить профиль и " -"передать его клиенту OpenVPN на вашем мобильном или настольном компьютере. " -"Клиенты OpenVPN доступны для большинства платформ. Нажмите \"Узнать больше..." -"\" выше, чтобы просмотреть рекомендуемые клиенты и инструкции по их " -"настройке." +"Чтобы подключиться к VPN от %(box_name)s, вам нужно скачать профиль и " +"передать его OpenVPN-клиенту на мобильном или настольном компьютере. Клиенты " +"OpenVPN доступны для большинства платформ. Нажмите кнопку \"Узнать больше..." +"\" выше, чтобы найти рекомендуемые клиенты и инструкции по их настройке." #: modules/openvpn/templates/openvpn.html:24 -#, fuzzy, python-format -#| msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +#, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -"Профиль специфичен для каждого пользователя %(box_name)s. Держите профиль в " -"тайне." +"Профиль является индивидуальным для каждого пользователя %(box_name)s. " +"Держите его в секрете." #: modules/openvpn/templates/openvpn.html:34 msgid "Download my profile" @@ -5755,10 +5675,8 @@ msgid "Manage system-wide privacy settings." msgstr "Управление общесистемными настройками приватности." #: modules/privacy/__init__.py:32 modules/privacy/__init__.py:70 -#, fuzzy -#| msgid "Privoxy" msgid "Privacy" -msgstr "Privoxy" +msgstr "Конфиденциальность" #: modules/privacy/__init__.py:68 msgid "Please update privacy settings to match your preferences." @@ -5818,11 +5736,12 @@ msgid "" "privoxy.org\">http://config.privoxy.org/ or http://p.p." msgstr "" -"Вы можете использовать Privoxy, изменив настройки прокси в вашем браузере на " -"имя хоста {box_name} (или IP адрес) с портом 8118. При использовании Privoxy " -"вы можете увидеть его детали настройки и документацию на http://config.privoxy.org или http://p.p." +"Вы можете использовать Privoxy, изменив настройки прокси-сервера вашего " +"браузера на имя хоста {box_name} (или IP-адрес) с портом 8118. Only " +"connections from local network IP addresses are permitted. While using " +"Privoxy, you can see its configuration details and documentation at http://config.privoxy.org/ or http://p.p." #: modules/privoxy/__init__.py:53 msgid "Privoxy" @@ -5976,10 +5895,11 @@ msgid "" "address>) and your user name. Clicking on the search button will list the " "existing calendars and address books." msgstr "" -"В Evolution добавления нового календаря и адресной книги, соответственно с " -"WebDAV. Введите URL-адрес сервера Radicale (напр. https://) и ваше имя пользователя. Нажав на кнопку поиска будет список " -"существующих календарей и адресных книг." +"В Evolution добавьте новый календарь и адресную книгу соответственно с " +"помощью WebDAV. Введите URL-адрес сервера Radicale (например, https://) и ваше имя пользователя. Нажав на кнопку поиска, вы " +"получите список существующих календарей и адресных книг.." #: modules/radicale/views.py:32 msgid "Access rights configuration updated" @@ -6058,17 +5978,13 @@ msgstr "" "Генерированные каналы могут быть прочитаны любой читателкой." #: modules/rssbridge/__init__.py:24 -#, fuzzy, python-brace-format -#| msgid "" -#| "When enabled, Tiny Tiny RSS can be accessed by any user belonging to the feed-reader group." +#, python-brace-format msgid "" "When enabled, RSS-Bridge can be accessed by any " "user belonging to the feed-reader group." msgstr "" -"Когда Tiny Tiny RSS включен, доступ к нему может получить любой пользователь, принадлежащий к группе feed-" -"reader." +"Когда эта функция включена, доступ к RSS-мостику может получить любой пользователь, входящий в группу читателей фидов." #: modules/rssbridge/__init__.py:28 #, python-brace-format @@ -6077,20 +5993,21 @@ msgid "" "follow various websites. When adding a feed, enable authentication and use " "your {box_name} credentials." msgstr "" +"Вы можете использовать RSS-мостик с Tiny Tiny RSS, чтобы следить за различными сайтами. При добавлении ленты включите " +"аутентификацию и используйте свои учетные данные {box_name}." #: modules/rssbridge/__init__.py:46 modules/ttrss/__init__.py:47 msgid "Read and subscribe to news feeds" msgstr "Чтение и подписка на ленты новостей" #: modules/rssbridge/__init__.py:49 modules/rssbridge/manifest.py:10 -#, fuzzy -#| msgid "Bridge" msgid "RSS-Bridge" -msgstr "Мост" +msgstr "RSS-мост" #: modules/rssbridge/__init__.py:50 msgid "RSS Feed Generator" -msgstr "" +msgstr "Генератор RSS-каналов" #: modules/rssbridge/forms.py:12 modules/searx/forms.py:17 msgid "Allow Public Access" @@ -6477,6 +6394,9 @@ msgid "" "server. It consists of two parts: (1) a Shadowsocks server, and (2) a " "Shadowsocks client with a SOCKS5 proxy." msgstr "" +"Shadowsocks - это инструмент для безопасной пересылки сетевых запросов на " +"удаленный сервер. Он состоит из двух частей: (1) сервера Shadowsocks и (2) " +"клиента Shadowsocks с прокси-сервером SOCKS5." #: modules/shadowsocks/__init__.py:21 modules/shadowsocksserver/__init__.py:21 msgid "" @@ -6484,6 +6404,9 @@ msgid "" "requires that the Shadowsocks server is in a location where it can freely " "access the Internet, without filtering." msgstr "" +"Shadowsocks можно использовать для обхода интернет-фильтрации и цензуры. Для " +"этого необходимо, чтобы сервер Shadowsocks находился в месте, где он может " +"свободно выходить в Интернет без фильтрации." #: modules/shadowsocks/__init__.py:26 #, python-brace-format @@ -6508,14 +6431,12 @@ msgstr "" "freedombox_address:1080/" #: modules/shadowsocks/__init__.py:50 -#, fuzzy -#| msgid "Shadowsocks" msgid "Shadowsocks Client" -msgstr "Shadowsocks" +msgstr "Клиент Shadowsocks" #: modules/shadowsocks/__init__.py:52 msgid "Bypass Censorship" -msgstr "" +msgstr "Обход цензуры" #: modules/shadowsocks/forms.py:24 msgid "Server" @@ -6540,49 +6461,37 @@ msgid "Encryption method. Must match setting on server." msgstr "Метод шифрования. Должен соответствовать параметру на сервере." #: modules/shadowsocksserver/__init__.py:26 -#, fuzzy, python-brace-format -#| msgid "" -#| "Your {box_name} can run a Shadowsocks client, that can connect to a " -#| "Shadowsocks server. It will also run a SOCKS5 proxy. Local devices can " -#| "connect to this proxy, and their data will be encrypted and proxied " -#| "through the Shadowsocks server." +#, python-brace-format msgid "" "Your {box_name} can run a Shadowsocks server, that allows Shadowsocks " "clients to connect to it. Clients' data will be encrypted and proxied " "through this server." msgstr "" -"Ваш {box_name} может запускать клиент Shadowsocks, который может " -"подключаться к серверу Shadowsocks. Он также будет запускать прокси-сервер " -"SOCKS5. Локальные устройства могут подключаться к этому прокси, и их данные " -"будут шифроваться и передаваться через сервер Shadowsocks." +"Ваш {box_name} может запустить сервер Shadowsocks, который позволит клиентам " +"Shadowsocks подключаться к нему. Данные клиентов будут зашифрованы и " +"проксированы через этот сервер." #: modules/shadowsocksserver/__init__.py:48 -#, fuzzy -#| msgid "Shadowsocks" msgid "Shadowsocks Server" -msgstr "Shadowsocks" +msgstr "Сервер Shadowsocks" #: modules/shadowsocksserver/__init__.py:49 msgid "Help Others Bypass Censorship" -msgstr "" +msgstr "Помогите другим обойти цензуру" #: modules/shadowsocksserver/forms.py:10 modules/shadowsocksserver/forms.py:11 msgid "Recommended" msgstr "Рекомендуется" #: modules/shadowsocksserver/forms.py:38 -#, fuzzy -#| msgid "Password used to encrypt data. Must match server password." msgid "Password used to encrypt data. Clients must use the same password." msgstr "" -"Пароль, используемый для шифрования данных. Должен совпадать с паролем " -"сервера." +"Пароль, используемый для шифрования данных. Клиенты должны использовать один " +"и тот же пароль." #: modules/shadowsocksserver/forms.py:43 -#, fuzzy -#| msgid "Encryption method. Must match setting on server." msgid "Encryption method. Clients must use the same setting." -msgstr "Метод шифрования. Должен соответствовать параметру на сервере." +msgstr "Метод шифрования. Клиенты должны использовать те же настройки." #: modules/sharing/__init__.py:17 #, python-brace-format @@ -6898,20 +6807,16 @@ msgid "Created snapshot." msgstr "Создан снимок." #: modules/snapshot/views.py:160 -#, fuzzy -#| msgid "Configuration updated." msgid "Configuration update failed." -msgstr "Конфигурация обновлена." +msgstr "Обновление конфигурации не удалось." #: modules/snapshot/views.py:184 msgid "Deleted selected snapshots" msgstr "Удалить выбранные снапшоты" #: modules/snapshot/views.py:186 -#, fuzzy -#| msgid "Deleting LDAP user failed." msgid "Deleting snapshot failed." -msgstr "Сбой при удалении LDAP пользователя." +msgstr "Удаление моментального снимка не удалось." #: modules/snapshot/views.py:189 msgid "Snapshot is currently in use. Please try again later." @@ -6947,10 +6852,8 @@ msgid "Secure Shell (SSH) Server" msgstr "Secure Shell (SSH) сервер" #: modules/ssh/__init__.py:75 -#, fuzzy -#| msgid "Secure Shell (SSH)" msgid "Remotely login using Secure Shell (SSH)" -msgstr "Sеcure Shell (SSH)" +msgstr "Удаленный вход в систему с помощью Secure Shell (SSH)" #: modules/ssh/forms.py:13 msgid "Disable password authentication" @@ -6968,7 +6871,7 @@ msgstr "" #: modules/ssh/forms.py:21 msgid "Allow all users to login remotely" -msgstr "" +msgstr "Разрешите всем пользователям удаленно входить в систему" #: modules/ssh/forms.py:22 msgid "" @@ -6976,6 +6879,9 @@ msgid "" "disabled, only users of groups root, admin and freedombox-ssh can login via " "SSH." msgstr "" +"Позволяет всем пользователям, имеющим действительную учетную запись, " +"удаленно входить в систему по SSH. Если отключено, только пользователи групп " +"root, admin и freedombox-ssh могут входить в систему по SSH." #: modules/ssh/templates/ssh.html:11 msgid "Server Fingerprints" @@ -7004,10 +6910,12 @@ msgstr "Единый вход" #: modules/sso/forms.py:28 msgid "Enter the letters in the image to proceed to the login page" msgstr "" +"Введите буквы, указанные на картинке, чтобы перейти на страницу входа в " +"систему" #: modules/sso/templates/captcha.html:20 msgid "Proceed to Login" -msgstr "" +msgstr "Перейдите к входу в систему" #: modules/sso/templates/login.html:20 msgid "Login" @@ -7142,18 +7050,17 @@ msgid "" "You cannot save configuration changes. Try rebooting the system. If the " "problem persists after a reboot, check the storage device for errors." msgstr "" +"Невозможно сохранить изменения конфигурации. Попробуйте перезагрузить " +"систему. Если проблема сохраняется после перезагрузки, проверьте устройство " +"хранения данных на наличие ошибок." #: modules/storage/__init__.py:382 -#, fuzzy -#| msgid "Root Filesystem" msgid "Read-only root filesystem" -msgstr "Корневая файловая система" +msgstr "Корневая файловая система, доступная только для чтения" #: modules/storage/__init__.py:392 -#, fuzzy -#| msgid "Go to Networks" msgid "Go to Power" -msgstr "Перейти к сетям" +msgstr "Перейти к питанию" #: modules/storage/forms.py:63 msgid "Invalid directory name." @@ -7267,10 +7174,8 @@ msgid "Device can be safely unplugged." msgstr "Устройство может быть безопасно отсоединено." #: modules/storage/views.py:93 -#, fuzzy -#| msgid "Error ejecting device: {error_message}" msgid "Error ejecting device." -msgstr "Ошибка извлечения устройства: {error_message}" +msgstr "Ошибка извлечения устройства." #: modules/syncthing/__init__.py:23 msgid "" @@ -7295,13 +7200,13 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" or " "\"syncthing-access\" group." msgstr "" -"Запуск Syncthing на {box_name} предоставляет точку дополнительной " -"синхронизации для ваших данных, который доступен большую часть времени, так " -"что ваши устройства могут синхронизироваться чаще. На {box_name} работает " -"один экземпляр Syncthing и он может быть использован многими " -"пользователями. Устройства каждого пользователя будут синхронизированы в " -"собственный набор папок. Веб-интерфейс доступен только для пользователей, " -"принадлежащих к группе «admin» или «syncthing-access»." +"Запуск Syncthing на {box_name} обеспечивает дополнительную точку " +"синхронизации для ваших данных, которая доступна большую часть времени, что " +"позволяет вашим устройствам синхронизироваться чаще. На {box_name} запущен " +"один экземпляр Syncthing, который может использоваться несколькими " +"пользователями. Устройства каждого пользователя могут синхронизироваться с " +"отдельным набором папок. Веб-интерфейс на {box_name} доступен только для " +"пользователей, входящих в группу \"admin\" или \"syncthing-access\"." #: modules/syncthing/__init__.py:55 msgid "Administer Syncthing application" @@ -7334,6 +7239,8 @@ msgid "" "This app provides relay services to contribute to Tor network and help " "others overcome censorship." msgstr "" +"Это приложение предоставляет услуги ретрансляции, чтобы внести свой вклад в " +"сеть Tor и помочь другим преодолеть цензуру." #: modules/tor/__init__.py:42 #, python-brace-format @@ -7342,6 +7249,10 @@ msgid "" "network. Using Tor browser, one can access {box_name} from the internet even " "when using an ISP that limits servers at home." msgstr "" +"Это приложение предоставляет луковый домен для предоставления услуг " +"{box_name} через сеть Tor. Используя браузер Tor, можно получить доступ к " +"{box_name} из Интернета, даже если провайдер ограничивает количество " +"серверов в доме." #: modules/tor/__init__.py:62 msgid "Tor" @@ -7368,10 +7279,8 @@ msgid "Obfs4 transport registered" msgstr "Obfs4 транспорт зарегистрирован" #: modules/tor/__init__.py:174 -#, fuzzy -#| msgid "Onion Service" msgid "Onion service is version 3" -msgstr "Onion сервис" +msgstr "Луковый сервис версии 3" #: modules/tor/forms.py:33 msgid "" @@ -7439,25 +7348,19 @@ msgstr "" "цензуру." #: modules/tor/forms.py:108 -#, fuzzy -#| msgid "Enable Tor Hidden Service" msgid "Enable Tor Onion Service" -msgstr "Включить скрытый сервис Tor" +msgstr "Включите луковую службу Tor" #: modules/tor/forms.py:110 -#, fuzzy, python-brace-format -#| msgid "" -#| "A hidden service will allow {box_name} to provide selected services (such " -#| "as wiki or chat) without revealing its location. Do not use this for " -#| "strong anonymity yet." +#, python-brace-format msgid "" "An onion service will allow {box_name} to provide selected services (such as " "wiki or chat) without revealing its location. Do not use this for strong " "anonymity yet." msgstr "" -"Скрытый сервис позволит {box_name} предоставлять выбранные службы (такие как " -"wiki или чат), не раскрывая своего местоположения. Не используйте это для " -"повышения анонимности." +"Луковый сервис позволит {box_name} предоставлять выбранные услуги (например, " +"вики или чат), не раскрывая своего местоположения. Пока не используйте его " +"для сильной анонимности." #: modules/tor/forms.py:125 msgid "Specify at least one upstream bridge to use upstream bridges." @@ -7480,16 +7383,13 @@ msgid "Ports" msgstr "Порты" #: modules/tor/views.py:53 modules/torproxy/views.py:51 -#, fuzzy -#| msgid "An error occurred during configuration." msgid "Updating configuration" -msgstr "Произошла ошибка во время настройки." +msgstr "Обновление конфигурации" #: modules/tor/views.py:70 modules/torproxy/views.py:68 -#, fuzzy, python-brace-format -#| msgid "Error installing application: {error}" +#, python-brace-format msgid "Error configuring app: {error}" -msgstr "Ошибка при установке приложения: {error}" +msgstr "Ошибка при настройке приложения: {error}" #: modules/torproxy/__init__.py:36 #, python-brace-format @@ -7499,12 +7399,14 @@ msgid "" "access the internet via the Tor network. ISP censorship can be circumvented " "using upstream bridges." msgstr "" +"Это приложение обеспечивает веб-прокси на вашем {box_name} для внутренних " +"сетей на TCP-порту 9050 с использованием протокола SOCKS. Он может " +"использоваться различными приложениями для доступа в интернет через сеть " +"Tor. Цензуру провайдера можно обойти с помощью восходящих мостов." #: modules/torproxy/__init__.py:56 -#, fuzzy -#| msgid "Tor Socks Proxy" msgid "Tor Proxy" -msgstr "Tor Socks прокси" +msgstr "Tor Прокси" #: modules/torproxy/__init__.py:81 msgid "Tor Socks Proxy" @@ -7576,6 +7478,10 @@ msgid "" "apps, use the URL /transmission-remote/" "rpc." msgstr "" +"Помимо веб-интерфейса, для удаленного управления передачей на {box_name} " +"можно использовать мобильные и настольные приложения. Для настройки " +"приложений удаленного управления используйте URL /transmission-remote/rpc." #: modules/transmission/__init__.py:44 #, python-brace-format @@ -7600,8 +7506,9 @@ msgid "Transmission" msgstr "Transmissiоn" #: modules/transmission/manifest.py:15 +#, fuzzy msgid "Tremotesf" -msgstr "" +msgstr "Tremotesf" #: modules/ttrss/__init__.py:21 msgid "" @@ -7623,18 +7530,14 @@ msgstr "" "reader." #: modules/ttrss/__init__.py:30 -#, fuzzy -#| msgid "" -#| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " -#| "/tt-rss-app for connecting." msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss or /tt-rss-app " "for connecting." msgstr "" -"При использовании мобильных устройств или настольных приложений для Tiny " -"Tiny RSS используйте URL / tt-rss-app для " -"подключения." +"При использовании мобильного или настольного приложения для Tiny Tiny RSS " +"используйте для подключения URL /tt-rss или /tt-rss-app." #: modules/ttrss/__init__.py:50 modules/ttrss/manifest.py:44 msgid "Tiny Tiny RSS" @@ -7648,17 +7551,16 @@ msgstr "Чтение ленты новостей" #, fuzzy #| msgid "Tiny Tiny RSS (Fork)" msgid "Tiny Tiny RSS (TTTRSS)" -msgstr "Tiny Tiny RSS (Fork)" +msgstr "Tiny Tiny RSS (TTTRSS)" #: modules/ttrss/manifest.py:20 -#, fuzzy -#| msgid "TT-RSS Reader" msgid "TTRSS-Reader" -msgstr "ТТ-RSS-ридер" +msgstr "TTRSS-читатель" #: modules/ttrss/manifest.py:35 +#, fuzzy msgid "Geekttrss" -msgstr "" +msgstr "Geekttrss" #: modules/upgrades/__init__.py:36 #: modules/upgrades/templates/update-firstboot.html:14 @@ -7868,28 +7770,25 @@ msgid "Show recent update logs" msgstr "Показать журналы последних обновлений" #: modules/upgrades/templates/upgrades_configure.html:138 -#, fuzzy -#| msgid "Distribution upgrade enabled" msgid "Test Distribution Upgrade" -msgstr "Обновление дистрибутива включено" +msgstr "Модернизация тестового распределения" #: modules/upgrades/templates/upgrades_configure.html:140 +#, fuzzy msgid "" "This will attempt to upgrade the system from stable to testing. It " "is meant only for development use." msgstr "" +"This will attempt to upgrade the system from stable to testing. It " +"is meant only for development use." #: modules/upgrades/templates/upgrades_configure.html:150 -#, fuzzy -#| msgid "Distribution upgrade enabled" msgid "Test distribution upgrade now" -msgstr "Обновление дистрибутива включено" +msgstr "Тестовое обновление дистрибутива уже сейчас" #: modules/upgrades/views.py:73 -#, fuzzy -#| msgid "Error when configuring unattended-upgrades: {error}" msgid "Error when configuring unattended-upgrades" -msgstr "Ошибка при настройке автоматического обновления: {error}" +msgstr "Ошибка при настройке неуправляемых обновлений" #: modules/upgrades/views.py:120 msgid "Upgrade process started." @@ -7904,10 +7803,8 @@ msgid "Frequent feature updates activated." msgstr "Активированы частые обновления функций." #: modules/upgrades/views.py:218 -#, fuzzy -#| msgid "Distribution upgrade enabled" msgid "Starting distribution upgrade test." -msgstr "Обновление дистрибутива включено" +msgstr "Запуск теста обновления дистрибутива." #: modules/users/__init__.py:33 msgid "" @@ -7949,12 +7846,12 @@ msgstr "Проверьте запись LDAP \"{search_item}\"" #: modules/users/__init__.py:144 #, python-brace-format msgid "Check nslcd config \"{key} {value}\"" -msgstr "" +msgstr "Проверьте конфигурацию nslcd \"{key} {value}\"" #: modules/users/__init__.py:174 #, python-brace-format msgid "Check nsswitch config \"{database}\"" -msgstr "" +msgstr "Проверьте конфигурацию nsswitch \"{database}\"" #: modules/users/forms.py:35 msgid "Username is taken or is reserved." @@ -7964,6 +7861,8 @@ msgstr "Имя пользователя уже занято." msgid "" "Optional. Used to send emails to reset password and important notifications." msgstr "" +"Необязательно. Используется для отправки электронных писем для сброса пароля " +"и важных уведомлений." #: modules/users/forms.py:106 msgid "" @@ -8121,13 +8020,7 @@ msgid "The following administrator accounts exist in the system." msgstr "В системе существуют следующие учетные записи администратора." #: modules/users/templates/users_firstboot.html:50 -#, fuzzy, python-format -#| msgid "" -#| "Delete these accounts from command line and refresh the page to create an " -#| "account that is usable with %(box_name)s. On the command line run the " -#| "command 'echo \"{password}\" | /usr/share/plinth/actions/users remove-" -#| "user {username}'. If an account is already usable with %(box_name)s, skip " -#| "this step." +#, python-format msgid "" "Delete these accounts from command line and refresh the page to create an " "account that is usable with %(box_name)s. On the command line run the " @@ -8137,9 +8030,10 @@ msgid "" msgstr "" "Удалите эти учетные записи из командной строки и обновите страницу, чтобы " "создать учетную запись, которую можно использовать с %(box_name)s. В " -"командной строке запустите команду 'echo \"{password}\" | /usr/share/plinth/" -"actions/users remove-user {username}'. Если учетная запись уже используется " -"с %(box_name)s, пропустите этот шаг." +"командной строке выполните команду \"echo '{\"args\": [\"USERNAME\", " +"\"PASSWORD\"], \"kwargs\": {}}' | sudo /usr/share/plinth/actions/actions " +"users remove_user\". Если учетная запись уже используется с помощью " +"%(box_name)s, пропустите этот шаг." #: modules/users/templates/users_list.html:11 modules/users/views.py:64 msgid "Users" @@ -8166,8 +8060,8 @@ msgid "" "Use the change password form to " "change the password." msgstr "" -"Используйте форму смены пароля для " -"смены пароля." +"Для смены пароля используйте форму изменить пароль ." #: modules/users/templates/users_update.html:31 #: templates/language-selection.html:17 @@ -8683,27 +8577,24 @@ msgid "Generic" msgstr "Универсальный" #: operation.py:118 -#, fuzzy, python-brace-format -#| msgid "Error setting hostname: {exception}" +#, python-brace-format msgid "Error: {name}: {exception_message}" -msgstr "Ошибка параметра hostname: {exception}" +msgstr "Ошибка: {name}: {exception_message}" #: operation.py:121 #, python-brace-format msgid "Waiting to start: {name}" -msgstr "" +msgstr "Ожидание начала: {name}" #: operation.py:127 -#, fuzzy, python-brace-format -#| msgid "Service disabled: {name}" +#, python-brace-format msgid "Finished: {name}" -msgstr "Служба выключена: {name}" +msgstr "Закончено: {name}" #: package.py:206 -#, fuzzy, python-brace-format -#| msgid "Package {expression} is not available for install" +#, python-brace-format msgid "Package {package_expression} is not available for install" -msgstr "Пакет {expression} недоступен для установки" +msgstr "Пакет {package_expression} недоступен для установки" #: package.py:226 #, python-brace-format @@ -8729,103 +8620,80 @@ msgstr "Файл настроек: {file}" #: package.py:454 package.py:479 msgid "Timeout waiting for package manager" -msgstr "" +msgstr "Таймаут ожидания менеджера пакетов" #: setup.py:42 -#, fuzzy -#| msgid "Install Apps" msgid "Installing app" -msgstr "Установка приложений" +msgstr "Установка приложения" #: setup.py:44 -#, fuzzy -#| msgid "Updating..." msgid "Updating app" -msgstr "Обновляется..." +msgstr "Обновление приложения" #: setup.py:78 -#, fuzzy, python-brace-format -#| msgid "Error installing application: {error}" +#, python-brace-format msgid "Error installing app: {error}" msgstr "Ошибка при установке приложения: {error}" #: setup.py:81 setup.py:151 -#, fuzzy, python-brace-format -#| msgid "Error installing application: {error}" +#, python-brace-format msgid "Error repairing app: {error}" -msgstr "Ошибка при установке приложения: {error}" +msgstr "Ошибка при восстановлении приложения: {error}" #: setup.py:84 -#, fuzzy, python-brace-format -#| msgid "Error installing application: {error}" +#, python-brace-format msgid "Error updating app: {error}" -msgstr "Ошибка при установке приложения: {error}" +msgstr "Ошибка обновления приложения: {error}" #: setup.py:88 -#, fuzzy -#| msgid "Application installed." msgid "App installed." -msgstr "Приложение установлено." +msgstr "Установлено приложение." #: setup.py:92 -#, fuzzy -#| msgid "Last update" msgid "App updated" -msgstr "Последнее обновление" +msgstr "Приложение обновлено" #: setup.py:110 -#, fuzzy -#| msgid "Updating..." msgid "Repairing app" -msgstr "Обновляется..." +msgstr "Приложение для ремонта" #: setup.py:130 -#, fuzzy, python-brace-format -#| msgid "Error installing application: {error}" +#, python-brace-format msgid "Error running diagnostics: {error}" -msgstr "Ошибка при установке приложения: {error}" +msgstr "Ошибка при выполнении диагностики: {error}" #: setup.py:143 msgid "Skipping repair, no failed checks" -msgstr "" +msgstr "Пропуск ремонта, отсутствие неудачных проверок" #: setup.py:157 msgid "Re-running setup to complete repairs" -msgstr "" +msgstr "Повторное выполнение установки для завершения ремонта" #: setup.py:165 -#, fuzzy -#| msgid "Last update" msgid "App repaired." -msgstr "Последнее обновление" +msgstr "Приложение отремонтировано." #: setup.py:169 msgid "App repair completed with errors:\n" -msgstr "" +msgstr "Восстановление приложения завершено с ошибками:\n" #: setup.py:189 -#, fuzzy -#| msgid "Install Apps" msgid "Uninstalling app" -msgstr "Установка приложений" +msgstr "Удаление приложения" #: setup.py:205 -#, fuzzy, python-brace-format -#| msgid "Error installing application: {error}" +#, python-brace-format msgid "Error uninstalling app: {error}" -msgstr "Ошибка при установке приложения: {error}" +msgstr "Ошибка при удалении приложения: {error}" #: setup.py:208 -#, fuzzy -#| msgid "Application installed." msgid "App uninstalled." -msgstr "Приложение установлено." +msgstr "Приложение удалено." #: setup.py:581 -#, fuzzy -#| msgid "Upgrade Packages" msgid "Updating app packages" -msgstr "Обновление пакетов" +msgstr "Обновление пакетов приложений" #: templates/403.html:10 msgid "403 Forbidden" @@ -8837,10 +8705,9 @@ msgid "You don't have permission to access %(request_path)s on this server." msgstr "У вас нет разрешения на доступ к %(request_path)s на этом сервере." #: templates/404.html:10 -#, fuzzy, python-format -#| msgid "Public key for this %(box_name)s:" +#, python-format msgid "Page not found - %(box_name)s" -msgstr "Открытый ключ для этого %(box_name)s:" +msgstr "Страница не найдена - %(box_name)s" #: templates/404.html:18 msgid "404" @@ -8894,6 +8761,10 @@ msgid "" "FreedomBox is a personal server designed for privacy and data ownership. It " "is free software that lets you install and manage server apps with ease." msgstr "" +"FreedomBox - это персональный сервер, созданный для обеспечения " +"конфиденциальности и владения данными. Это бесплатное программное " +"обеспечение, позволяющее легко устанавливать серверные приложения и " +"управлять ими." #: templates/base.html:110 msgid " Home" @@ -8996,10 +8867,8 @@ msgid "RPM:" msgstr "RPM:" #: templates/error.html:10 -#, fuzzy -#| msgid "error" msgid "Error" -msgstr "ошибка" +msgstr "Ошибка" #: templates/first_setup.html:18 #, python-format @@ -9193,35 +9062,30 @@ msgid "Update" msgstr "Обновление" #: templates/toolbar.html:39 templates/toolbar.html:40 -#, fuzzy -#| msgid "Backups" msgid "Backup" -msgstr "Резервные копии" +msgstr "Резервное копирование" #: templates/toolbar.html:53 -#, fuzzy -#| msgid "Start setup" msgid "Re-run setup" -msgstr "Запуск программы установки" +msgstr "Повторное выполнение установки" #: templates/toolbar.html:59 templates/toolbar.html:60 #: templates/uninstall.html:30 -#, fuzzy -#| msgid "Install" msgid "Uninstall" -msgstr "Установка" +msgstr "Удалить" #: templates/uninstall.html:11 -#, fuzzy, python-format -#| msgid "Edit User %(username)s" +#, python-format msgid "Uninstall App %(app_name)s?" -msgstr "Редактировать пользователя %(username)s" +msgstr "Удалить приложение %(app_name)s?" #: templates/uninstall.html:17 msgid "" "All app data and configuration will be permanently lost. App may be " "installed freshly again." msgstr "" +"Все данные и настройки приложения будут безвозвратно утеряны. Приложение " +"можно установить заново." #: views.py:268 msgid "Setting unchanged" @@ -9230,7 +9094,7 @@ msgstr "Настройки без изменений" #: views.py:502 #, python-brace-format msgid "before uninstall of {app_id}" -msgstr "" +msgstr "перед удалением {app_id}" #: web_framework.py:114 msgid "Gujarati" diff --git a/plinth/locale/sq/LC_MESSAGES/django.po b/plinth/locale/sq/LC_MESSAGES/django.po index c03b83e3c..e92103729 100644 --- a/plinth/locale/sq/LC_MESSAGES/django.po +++ b/plinth/locale/sq/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-05-06 20:18-0400\n" -"PO-Revision-Date: 2024-04-09 20:35+0000\n" +"PO-Revision-Date: 2024-05-22 06:01+0000\n" "Last-Translator: Besnik Bleta \n" "Language-Team: Albanian \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.5-dev\n" +"X-Generator: Weblate 5.6-dev\n" #: config.py:103 #, python-brace-format @@ -1602,7 +1602,7 @@ msgstr "Aplikacion: %(app_name)s" #: modules/diagnostics/templates/diagnostics_app.html:20 #: modules/diagnostics/templates/diagnostics_full.html:48 msgid "Try to repair" -msgstr "" +msgstr "Provo ta ndreqësh" #: modules/diagnostics/templates/diagnostics_app.html:32 msgid "This app does not support diagnostics" @@ -1651,7 +1651,7 @@ msgstr "Test Diagnostikimesh" #: modules/diagnostics/views.py:144 #, python-brace-format msgid "App {app_id} is not installed, cannot repair" -msgstr "" +msgstr "Aplikacioni {app_id} s’është i instaluar, s’mund të riparohet" #: modules/dynamicdns/__init__.py:28 #, python-brace-format @@ -3908,6 +3908,8 @@ msgid "" "Directory that MiniDLNA Server will read for content. All sub-directories of " "this will be also scanned for media files." msgstr "" +"Drejtori të cilën do të lexojë për lëndë Shërbyesi MiniDLNA. Do të " +"kontrollohen për kartela media dhe krejt nëndrejtoritë e kësaj." #: modules/minidlna/manifest.py:10 msgid "vlc" @@ -5225,10 +5227,10 @@ msgstr "" "furnizon një ndërfaqe web të integruar paq." #: modules/nextcloud/__init__.py:30 -#, fuzzy -#| msgid "All users of FreedomBox can use Nextcloud." msgid "All users of FreedomBox can use Nextcloud. To perform administrative " -msgstr "Nextcloud-in mund ta përdorin krejt përdoruesit e FreedomBox-it." +msgstr "" +"Nextcloud-in mund ta përdorin krejt përdoruesit e FreedomBox-it. Për të " +"kryer veprime administrative " #: modules/nextcloud/__init__.py:34 #, python-brace-format @@ -5238,12 +5240,14 @@ msgid "" "done by the upstream project and not by Debian/{box_name}. Updates are " "performed following an independent cycle." msgstr "" +"Ju lutemi, kini parasysh se Nextcloud-i instalohet dhe xhiron brenda një " +"kontejneri të dhënë nga bashkësia Nextcloud. Siguria, cilësia, privatësia " +"dhe shqyrtimet ligjore bëhen nga projekti përkatës dhe jo nga Debian/" +"{box_name}. Përditësimet kryhen duke ndjekur një cikël të pavarur." #: modules/nextcloud/__init__.py:40 -#, fuzzy -#| msgid "Uninstalling an app is an experimental feature." msgid "This app is experimental." -msgstr "Çinstalimi i një aplikacioni është një veçori eksperimentale." +msgstr "Ky aplikacion është eksperimental." #: modules/nextcloud/__init__.py:58 modules/nextcloud/manifest.py:11 #: modules/nextcloud/manifest.py:18 @@ -5255,31 +5259,19 @@ msgid "File Storage & Collaboration" msgstr "Depozitim Kartelash & Bashkëpunim" #: modules/nextcloud/forms.py:19 -#, fuzzy -#| msgid "Hostname set" msgid "Not set" -msgstr "Strehëemri u caktua" +msgstr "I paujdisur" #: modules/nextcloud/forms.py:26 -#, fuzzy -#| msgid "Server domain" msgid "Override domain" -msgstr "Përkatësi shërbyesi" +msgstr "Anashkaloje përkatësinë" #: modules/nextcloud/forms.py:27 -#, fuzzy -#| msgid "" -#| "Used by MediaWiki to generate URLs that point to the wiki such as in " -#| "footer, feeds and emails. Examples: \"myfreedombox.example.org\" or " -#| "\"example.onion\"." msgid "" "Set to the domain or IP address that Nextcloud should be forced to generate " "URLs with. Should not be needed if a valid domain is used to access " "Nextcloud. Examples: \"myfreedombox.example.org\" or \"example.onion\"." msgstr "" -"E përdorur nga MediaWiki për të prodhuar URL-ra që shpien te wiki, p.sh., te " -"fundfaqja, prurjet ose email-e. Shembuj: “myfreedombox.example.org”, ose " -"“example.onion”." #: modules/nextcloud/forms.py:33 msgid "Administrator password" @@ -7534,8 +7526,9 @@ msgid "Transmission" msgstr "Transmission" #: modules/transmission/manifest.py:15 +#, fuzzy msgid "Tremotesf" -msgstr "" +msgstr "Tremotesf" #: modules/ttrss/__init__.py:21 msgid "" @@ -8667,10 +8660,9 @@ msgid "Error installing app: {error}" msgstr "Gabim në instalimin e aplikacionit: {error}" #: setup.py:81 setup.py:151 -#, fuzzy, python-brace-format -#| msgid "Error updating app: {error}" +#, python-brace-format msgid "Error repairing app: {error}" -msgstr "Gabim në përditësimin e aplikacionit: {error}" +msgstr "Gabim në riparimin e aplikacionit: {error}" #: setup.py:84 #, python-brace-format @@ -8686,34 +8678,29 @@ msgid "App updated" msgstr "Aplikacioni u përditësua" #: setup.py:110 -#, fuzzy -#| msgid "Updating app" msgid "Repairing app" -msgstr "Po përditësohet aplikacioni" +msgstr "Po riparohet aplikacioni" #: setup.py:130 -#, fuzzy, python-brace-format -#| msgid "Error uninstalling app: {error}" +#, python-brace-format msgid "Error running diagnostics: {error}" -msgstr "Gabim në çinstalimin e aplikacionit: {error}" +msgstr "Gabim në xhirim diagnostikimesh: {error}" #: setup.py:143 msgid "Skipping repair, no failed checks" -msgstr "" +msgstr "Po anashkalohet riparimi, s’ka kontrolle të dështuar" #: setup.py:157 msgid "Re-running setup to complete repairs" -msgstr "" +msgstr "Po rixhirohet ujdisje, për të plotësuar riparimet" #: setup.py:165 -#, fuzzy -#| msgid "App updated" msgid "App repaired." -msgstr "Aplikacioni u përditësua" +msgstr "Aplikacioni u riparua." #: setup.py:169 msgid "App repair completed with errors:\n" -msgstr "" +msgstr "Riparimi i aplikacionit u plotësua me gabime:\n" #: setup.py:189 msgid "Uninstalling app" diff --git a/plinth/locale/zh_Hant/LC_MESSAGES/django.po b/plinth/locale/zh_Hant/LC_MESSAGES/django.po index 3bb97931f..d828cac9a 100644 --- a/plinth/locale/zh_Hant/LC_MESSAGES/django.po +++ b/plinth/locale/zh_Hant/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-05-06 20:18-0400\n" -"PO-Revision-Date: 2024-05-21 00:04+0000\n" +"PO-Revision-Date: 2024-06-03 11:47+0000\n" "Last-Translator: Ray Kuo \n" "Language-Team: Chinese (Traditional) \n" @@ -1717,23 +1717,23 @@ msgstr "" #: modules/dynamicdns/forms.py:88 modules/networks/forms.py:207 #: modules/users/forms.py:129 msgid "Username" -msgstr "" +msgstr "使用者名稱" #: modules/dynamicdns/forms.py:95 modules/networks/forms.py:210 msgid "Show password" -msgstr "" +msgstr "顯示密碼" #: modules/dynamicdns/forms.py:99 msgid "URL to look up public IP" -msgstr "" +msgstr "用於查找公共IP的URL" #: modules/dynamicdns/forms.py:104 msgid "Use IPv6 instead of IPv4" -msgstr "" +msgstr "使用 IPv6 而不是 IPv4" #: modules/dynamicdns/forms.py:123 msgid "This field is required." -msgstr "" +msgstr "此欄位為必填項。" #: modules/dynamicdns/templates/dynamicdns.html:11 #: modules/ejabberd/templates/ejabberd.html:13 @@ -1747,18 +1747,18 @@ msgstr "" #: modules/wireguard/templates/wireguard_show_client.html:48 #: modules/wireguard/templates/wireguard_show_server.html:47 msgid "Status" -msgstr "" +msgstr "狀態" #: modules/dynamicdns/templates/dynamicdns.html:18 #: modules/email/templates/email.html:35 #: modules/letsencrypt/templates/letsencrypt.html:24 #: modules/mediawiki/forms.py:64 msgid "Domain" -msgstr "" +msgstr "域" #: modules/dynamicdns/templates/dynamicdns.html:19 msgid "Last update" -msgstr "" +msgstr "最後更新" #: modules/dynamicdns/templates/dynamicdns.html:21 #, fuzzy @@ -1774,7 +1774,7 @@ msgstr "存取" #: modules/dynamicdns/templates/dynamicdns.html:36 msgid "Failed" -msgstr "" +msgstr "失敗" #: modules/dynamicdns/templates/dynamicdns.html:52 #, fuzzy @@ -1790,21 +1790,22 @@ msgstr "連線被拒絕" #: modules/dynamicdns/views.py:25 msgid "Could not find server" -msgstr "" +msgstr "找不到伺服器" #: modules/dynamicdns/views.py:27 msgid "Server refused connection" -msgstr "" +msgstr "伺服器拒絕連接" #: modules/dynamicdns/views.py:28 msgid "Already up-to-date" -msgstr "" +msgstr "已經是最新的" #: modules/ejabberd/__init__.py:29 msgid "" "XMPP is an open and standardized communication protocol. Here you can run " "and configure your XMPP server, called ejabberd." -msgstr "" +msgstr "XMPP是一種開放和標準化的通信協定。在這裡,您可以運行和配置名為 ejabberd 的 " +"XMPP 伺服器。" #: modules/ejabberd/__init__.py:32 #, python-brace-format @@ -1814,6 +1815,10 @@ msgid "" "target='_blank'>XMPP client. When enabled, ejabberd can be accessed by " "any user with a {box_name} login." msgstr "" +"要進行實際通信,您可以使用 Web 用戶端或任何其他 " +"XMPP " +"用戶端。啟用後,任何具有 {box_name} 登錄名的 " +"使用者都可以訪問 ejabberd。" #: modules/ejabberd/__init__.py:40 #, python-brace-format @@ -1821,14 +1826,16 @@ msgid "" "ejabberd needs a STUN/TURN server for audio/video calls. Install the Coturn app or configure an external server." msgstr "" +"ejabberd 需要一個用於音訊/視頻通話的 STUN/TURN 伺服器。安裝 Coturn 應用程式或配置外部伺服器。" #: modules/ejabberd/__init__.py:61 msgid "ejabberd" -msgstr "" +msgstr "ejabberd" #: modules/ejabberd/__init__.py:62 modules/matrixsynapse/__init__.py:56 msgid "Chat Server" -msgstr "" +msgstr "聊天伺服器" #: modules/ejabberd/forms.py:19 #, fuzzy @@ -1840,11 +1847,12 @@ msgstr "網域名稱" msgid "" "Domains to be used by ejabberd. Note that user accounts are unique for each " "domain, and migrating users to a new domain name is not yet implemented." -msgstr "" +msgstr "ejabberd 要使用的域。請注意,每個域的用戶帳戶都是唯一的,尚未實現將使用者遷移" +"到新功能變數名稱。" #: modules/ejabberd/forms.py:26 msgid "Enable Message Archive Management" -msgstr "" +msgstr "啟用郵件存檔管理" #: modules/ejabberd/forms.py:28 #, python-brace-format @@ -1955,120 +1963,108 @@ msgid "" "Roundcube app provides web interface " "for users to access email." msgstr "" +"Roundcube 應用程式 " +"提供使用者存取電子郵件的 Web 介面。" #: modules/email/__init__.py:44 msgid "" "During installation, any other email servers in the system will be " "uninstalled." -msgstr "" +msgstr "在安裝過程中,系統中的任何其他電子郵件伺服器都將被卸載。" #: modules/email/__init__.py:63 msgid "Postfix/Dovecot" msgstr "" #: modules/email/__init__.py:65 -#, fuzzy -#| msgid "Domain Name Server" msgid "Email Server" -msgstr "域名服務器 DNS" +msgstr "郵件伺服器" #: modules/email/__init__.py:85 -#, fuzzy -#| msgid "Manage Libraries" msgid "My Email Aliases" -msgstr "管理圖書館" +msgstr "電子郵件別名" #: modules/email/__init__.py:86 -#, fuzzy -#| msgid "Manage Libraries" msgid "Manage Aliases for Mailbox" -msgstr "管理圖書館" +msgstr "管理信箱別名" #: modules/email/forms.py:25 msgid "Primary domain" -msgstr "" +msgstr "主域" #: modules/email/forms.py:27 msgid "" "Mails are received for all domains configured in the system. Among these, " "select the most important one." -msgstr "" +msgstr "系統中配置的所有網域都會收到郵件。其中,選擇最重要的一項。" #: modules/email/forms.py:35 msgid "New alias (without @domain)" -msgstr "" +msgstr "新別名(不含@domain)" #: modules/email/forms.py:42 msgid "Contains illegal characters" -msgstr "" +msgstr "包含非法字符" #: modules/email/forms.py:45 msgid "Must start and end with a-z or 0-9" -msgstr "" +msgstr "必須以 a-z 或 0-9 開頭和結尾" #: modules/email/forms.py:49 msgid "Cannot be a number" -msgstr "" +msgstr "不能是數字" #: modules/email/forms.py:59 -#, fuzzy -#| msgid "Manage Libraries" msgid "Aliases" -msgstr "管理圖書館" +msgstr "別名" #: modules/email/manifest.py:12 modules/roundcube/__init__.py:50 #: modules/roundcube/manifest.py:6 msgid "Roundcube" -msgstr "" +msgstr "圓立方體" #: modules/email/manifest.py:20 modules/radicale/manifest.py:36 msgid "Thunderbird" -msgstr "" +msgstr "雷鳥" #: modules/email/manifest.py:37 msgid "K-9 Mail" -msgstr "" +msgstr "K-9 郵件" #: modules/email/manifest.py:52 msgid "FairEmail" -msgstr "" +msgstr "公平電子郵件" #: modules/email/templates/email-aliases.html:13 #: modules/email/templates/email.html:15 -#, fuzzy -#| msgid "Manage Libraries" msgid "Manage Aliases" -msgstr "管理圖書館" +msgstr "別名" #: modules/email/templates/email-aliases.html:16 msgid "You have no email aliases." -msgstr "" +msgstr "您沒有電子郵件別名。" #: modules/email/templates/email-aliases.html:28 -#, fuzzy -#| msgid "Create a new backup" msgid "Create a new email alias" -msgstr "建立一個新的備份檔" +msgstr "建立一個新的電子郵件別名" #: modules/email/templates/email-aliases.html:34 msgid "Add" -msgstr "" +msgstr "增加" #: modules/email/templates/email.html:10 -#, fuzzy -#| msgid "Manage Libraries" msgid "Manage Spam" -msgstr "管理圖書館" +msgstr "管理垃圾郵件" #: modules/email/templates/email.html:22 msgid "DNS Records" -msgstr "" +msgstr "DNS 記錄" #: modules/email/templates/email.html:25 msgid "" "The following DNS records must be added manually on your primary domain for " "the mail server to work properly." -msgstr "" +msgstr "必須在您的主網域上手動新增下列 DNS 記錄,郵件伺服器才能正常運作。" #: modules/email/templates/email.html:36 msgid "TTL" @@ -2076,24 +2072,24 @@ msgstr "" #: modules/email/templates/email.html:37 msgid "Class" -msgstr "" +msgstr "類別" #: modules/email/templates/email.html:39 msgid "Priority" -msgstr "" +msgstr "優先" #: modules/email/templates/email.html:40 msgid "Weight" -msgstr "" +msgstr "權重" #: modules/email/templates/email.html:41 #: modules/minetest/templates/minetest.html:18 msgid "Port" -msgstr "" +msgstr "埠" #: modules/email/templates/email.html:42 msgid "Host/Target/Value" -msgstr "" +msgstr "主機/目標/值" #: modules/firewall/__init__.py:25 #, python-brace-format @@ -2102,32 +2098,34 @@ msgid "" "network traffic on your {box_name}. Keeping a firewall enabled and properly " "configured reduces risk of security threat from the Internet." msgstr "" +"防火牆是一個安全系統,用於控制您的 {box_name} 上傳入和傳出的網路流量。" +"保持防火牆啟用並正確配置可降低來自 Internet 的安全性威脅的風險。" #: modules/firewall/__init__.py:61 msgid "Firewall" -msgstr "" +msgstr "防火牆" #: modules/firewall/__init__.py:273 msgid "Default zone is external" -msgstr "" +msgstr "預設區域是外部" #: modules/firewall/__init__.py:283 msgid "Firewall backend is nftables" -msgstr "" +msgstr "防火牆後端是 nftables" #: modules/firewall/__init__.py:297 msgid "Direct passthrough rules exist" -msgstr "" +msgstr "存在直接傳遞規則" #: modules/firewall/components.py:139 #, python-brace-format msgid "Port {name} ({details}) available for internal networks" -msgstr "" +msgstr "連接埠 {name} ({details}) 可用於內部網絡" #: modules/firewall/components.py:154 #, python-brace-format msgid "Port {name} ({details}) available for external networks" -msgstr "" +msgstr "連接埠 {name} ({details}) 可用於外部網絡" #: modules/firewall/components.py:160 #, python-brace-format