James Valleroy 6147558793
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-10-24 20:16:23 -04:00

7930 lines
236 KiB
Plaintext

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-24 20:15-0400\n"
"PO-Revision-Date: 2021-07-28 08:34+0000\n"
"Last-Translator: bruh <quangtrung02hn16@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/freedombox/"
"freedombox/vi/>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.7.2-dev\n"
#: doc/dev/_templates/layout.html:11
msgid "Page source"
msgstr "Nguồn của trang"
#: plinth/context_processors.py:23 plinth/views.py:83
msgid "FreedomBox"
msgstr "FreedomBox"
#: plinth/daemon.py:104
#, python-brace-format
msgid "Service {service_name} is running"
msgstr "Dịch vụ {service_name} đang chạy"
#: plinth/daemon.py:158
#, python-brace-format
msgid "Listening on {kind} port {listen_address}:{port}"
msgstr "Đang lắng nghe ở cổng {kind} {listen_address}:{port}"
#: plinth/daemon.py:162
#, python-brace-format
msgid "Listening on {kind} port {port}"
msgstr "Đang lắng nghe ở cổng {kind} {port}"
#: plinth/daemon.py:230
#, python-brace-format
msgid "Connect to {host}:{port}"
msgstr "Kết nối đến {host}:{port}"
#: plinth/daemon.py:232
#, python-brace-format
msgid "Cannot connect to {host}:{port}"
msgstr "Không thể kết nối đến {host}:{port}"
#: plinth/forms.py:36
msgid "Backup app before uninstall"
msgstr ""
#: plinth/forms.py:37
msgid "Restoring from the backup will restore app data."
msgstr ""
#: plinth/forms.py:39
#, fuzzy
#| msgid "Repository not found"
msgid "Repository to backup to"
msgstr "Không tìm thấy kho"
#: plinth/forms.py:56
msgid "Select a domain name to be used with this application"
msgstr "Chọn một tên miền để được sử dụng với ứng dụng này"
#: plinth/forms.py:58
msgid ""
"Warning! The application may not work properly if domain name is changed "
"later."
msgstr ""
"Cảnh báo! Ứng dụng có thể sẽ không hoạt động đúng nếu tên miền bị thay đổi "
"vào lúc sau."
#: plinth/forms.py:72 plinth/modules/coturn/forms.py:30
#: plinth/modules/mumble/forms.py:21
msgid "TLS domain"
msgstr "Miền TLS"
#: plinth/forms.py:74 plinth/modules/coturn/forms.py:32
#: plinth/modules/mumble/forms.py:23
msgid ""
"Select a domain to use TLS with. If the list is empty, please configure at "
"least one domain with certificates."
msgstr ""
"Chọn một miền để sử dụng TLS với nó. Nếu danh sách này trống, vui lòng thiết "
"lập ít nhất một miền với các chứng chỉ."
#: plinth/forms.py:84
msgid "Language"
msgstr "Ngôn ngữ"
#: plinth/forms.py:85
msgid "Language to use for presenting this web interface"
msgstr "Ngôn ngữ để sử dụng cho giao diện web"
#: plinth/forms.py:92
msgid "Use the language preference set in the browser"
msgstr "Sử dụng cài đặt ngôn ngữ của trình duyệt"
#: plinth/modules/apache/__init__.py:31
msgid "Apache HTTP Server"
msgstr "Máy chủ HTTP Apache"
#: plinth/modules/apache/__init__.py:39
msgid "Web Server"
msgstr "Máy chủ web"
#: plinth/modules/apache/__init__.py:45
#, python-brace-format
msgid "{box_name} Web Interface (Plinth)"
msgstr "Giao diện web của {box_name} (Plinth)"
#: plinth/modules/apache/components.py:121
#, python-brace-format
msgid "Access URL {url} on tcp{kind}"
msgstr "Truy cập URL {url} qua tcp{kind}"
#: plinth/modules/apache/components.py:124
#, python-brace-format
msgid "Access URL {url}"
msgstr "Truy cập URL {url}"
#: plinth/modules/avahi/__init__.py:24
#, python-brace-format
msgid ""
"Service discovery allows other devices on the network to discover your "
"{box_name} and services running on it. It also allows {box_name} to "
"discover other devices and services running on your local network. Service "
"discovery is not essential and works only on internal networks. It may be "
"disabled to improve security especially when connecting to a hostile local "
"network."
msgstr ""
"Khám phá dịch vụ cho phép các thiết bị khác trên mạng khám phá {box_name} "
"của bạn và các dịch vụ đang chạy trên đó. Việc này cũng cho phép {box_name} "
"khám phá các thiết bị và dịch vụ khác đang chạy trên mạng cục bộ của bạn. "
"Khám phá dịch vụ không phải là cần thiết và chỉ hoạt động trên các mạng nội "
"bộ. Nó có thể được tắt để cải thiện sự bảo mật, đặc biệt là khi kết nối đến "
"một mạng cục bộ thù địch."
#: plinth/modules/avahi/__init__.py:47
msgid "Service Discovery"
msgstr "Khám phá dịch vụ"
#: plinth/modules/avahi/__init__.py:60
msgid "Local Network Domain"
msgstr "Miền mạng cục bộ"
#: plinth/modules/backups/__init__.py:24
msgid "Backups allows creating and managing backup archives."
msgstr "Sao lưu cho phép bạn tạo và quản lý các tệp sao lưu."
#: plinth/modules/backups/__init__.py:44 plinth/modules/backups/__init__.py:169
#: plinth/modules/backups/__init__.py:214
msgid "Backups"
msgstr "Sao lưu"
#: plinth/modules/backups/__init__.py:166
msgid ""
"Enable an automatic backup schedule for data safety. Prefer an encrypted "
"remote backup location or an extra attached disk."
msgstr ""
"Bật một lịch trình sao lưu tự động để dữ liệu được an toàn. Ưu tiên một vị "
"trí sao lưu trên mạng được mã hoá hoặc một ổ đĩa bổ sung được gắn vào."
#: plinth/modules/backups/__init__.py:172
msgid "Enable a Backup Schedule"
msgstr "Bật một lịch trình sao lưu"
#: plinth/modules/backups/__init__.py:176
#: plinth/modules/backups/__init__.py:223 plinth/modules/privacy/__init__.py:70
#: plinth/modules/storage/__init__.py:313
#, python-brace-format
msgid "Go to {app_name}"
msgstr "Đi đến {app_name}"
#: plinth/modules/backups/__init__.py:211
#, python-brace-format
msgid ""
"A scheduled backup failed. Past {error_count} attempts for backup did not "
"succeed. The latest error is: {error_message}"
msgstr ""
"Sao lưu được lên lịch thất bại. {error_count} lần thử sao lưu trước đó không "
"thành công. Lỗi mới nhất là: {error_message}"
#: plinth/modules/backups/__init__.py:219
msgid "Error During Backup"
msgstr "Lỗi trong khi sao lưu"
#: plinth/modules/backups/forms.py:33
#, python-brace-format
msgid "{app} (No data to backup)"
msgstr "{app} (Không có dữ liệu để sao lưu)"
#: plinth/modules/backups/forms.py:53
msgid "Enable scheduled backups"
msgstr "Bật sao lưu được lên lịch"
#: plinth/modules/backups/forms.py:54
msgid ""
"If enabled, a backup is taken every day, every week and every month. Older "
"backups are removed."
msgstr ""
"Nếu được bật, một bản sao lưu sẽ được tạo mỗi ngày, mỗi tuần và mỗi tháng. "
"Các bản sao lưu cũ hơn sẽ bị xoá."
#: plinth/modules/backups/forms.py:58
msgid "Number of daily backups to keep"
msgstr "Số bản sao lưu hàng ngày để giữ"
#: plinth/modules/backups/forms.py:59
msgid ""
"This many latest backups are kept and the rest are removed. A value of \"0\" "
"disables backups of this type. Triggered at specified hour every day."
msgstr ""
"Số bản sao lưu mới nhất này sẽ được giữ và số còn lại sẽ bị xoá. Giá trị "
"\"0\" sẽ tắt loại sao lưu này. Được kích hoạt vào giờ được chỉ định mỗi ngày."
#: plinth/modules/backups/forms.py:64
msgid "Number of weekly backups to keep"
msgstr "Số bản sao lưu hàng tuần để giữ"
#: plinth/modules/backups/forms.py:66
msgid ""
"This many latest backups are kept and the rest are removed. A value of \"0\" "
"disables backups of this type. Triggered at specified hour every Sunday."
msgstr ""
"Số bản sao lưu mới nhất này sẽ được giữ và số còn lại sẽ bị xoá. Giá trị "
"\"0\" sẽ tắt loại sao lưu này. Được kích hoạt vào giờ được chỉ định vào mỗi "
"Chủ Nhật."
#: plinth/modules/backups/forms.py:71
msgid "Number of monthly backups to keep"
msgstr "Số bản sao lưu hàng tháng để giữ"
#: plinth/modules/backups/forms.py:73
msgid ""
"This many latest backups are kept and the rest are removed. A value of \"0\" "
"disables backups of this type. Triggered at specified hour first day of "
"every month."
msgstr ""
"Số bản sao lưu mới nhất này sẽ được giữ và số còn lại sẽ bị xoá. Giá trị "
"\"0\" sẽ tắt loại sao lưu này. Được kích hoạt vào giờ được chỉ định vào ngày "
"đầu của mỗi tháng."
#: plinth/modules/backups/forms.py:78
msgid "Hour of the day to trigger backup operation"
msgstr "Giờ trong ngày để kích hoạt hoạt động sao lưu"
#: plinth/modules/backups/forms.py:79
msgid "In 24 hour format."
msgstr "Ở định dạng 24 giờ."
#: plinth/modules/backups/forms.py:82 plinth/modules/backups/forms.py:104
msgid "Included apps"
msgstr "Ứng dụng được bao gồm"
#: plinth/modules/backups/forms.py:82 plinth/modules/backups/forms.py:104
msgid "Apps to include in the backup"
msgstr "Các ứng dụng được bao gồm trong bản sao lưu"
#: plinth/modules/backups/forms.py:98
msgid "Repository"
msgstr "Kho"
#: plinth/modules/backups/forms.py:100
#: plinth/modules/backups/templates/backups_delete.html:17
#: plinth/modules/ikiwiki/forms.py:15
#: plinth/modules/networks/templates/connection_show.html:71
#: plinth/modules/samba/templates/samba.html:66
#: plinth/modules/sharing/templates/sharing.html:32
msgid "Name"
msgstr "Tên"
#: plinth/modules/backups/forms.py:101
msgid "(Optional) Set a name for this backup archive"
msgstr "(Không bắt buộc) Đặt tên cho tệp sao lưu này"
#: plinth/modules/backups/forms.py:121
msgid "Select the apps you want to restore"
msgstr "Chọn các ứng dụng bạn muốn khôi phục"
#: plinth/modules/backups/forms.py:137
msgid "Upload File"
msgstr "Tải tệp lên"
#: plinth/modules/backups/forms.py:139
msgid "Backup files have to be in .tar.gz format"
msgstr "Các tệp sao lưu phải ở định dạng .tar.gz"
#: plinth/modules/backups/forms.py:140
msgid "Select the backup file you want to upload"
msgstr "Chọn tệp sao lưu bạn muốn tải lên"
#: plinth/modules/backups/forms.py:146
msgid "Repository path format incorrect."
msgstr "Định dạng đường dẫn kho không chính xác."
#: plinth/modules/backups/forms.py:153
#, python-brace-format
msgid "Invalid username: {username}"
msgstr "Tên người dùng không hợp lệ: {username}"
#: plinth/modules/backups/forms.py:163
#, python-brace-format
msgid "Invalid hostname: {hostname}"
msgstr "Tên máy chủ không hợp lệ: {hostname}"
#: plinth/modules/backups/forms.py:167
#, python-brace-format
msgid "Invalid directory path: {dir_path}"
msgstr "Đường dẫn thư mục không hợp lệ: {dir_path}"
#: plinth/modules/backups/forms.py:173
msgid "Encryption"
msgstr "Mã hoá"
#: plinth/modules/backups/forms.py:174
msgid ""
"\"Key in Repository\" means that a password-protected key is stored with the "
"backup."
msgstr ""
"\"Mã khoá trong kho\" có nghĩa là một mã khoá được mật khẩu bảo vệ được lưu "
"trữ cùng với bản sao lưu."
#: plinth/modules/backups/forms.py:176
msgid "Key in Repository"
msgstr "Mã khoá trong kho"
#: plinth/modules/backups/forms.py:176 plinth/modules/searx/forms.py:14
msgid "None"
msgstr "Không có"
#: plinth/modules/backups/forms.py:178 plinth/modules/networks/forms.py:275
msgid "Passphrase"
msgstr "Mật khẩu"
#: plinth/modules/backups/forms.py:179
msgid "Passphrase; Only needed when using encryption."
msgstr "Mật khẩu; Chỉ được cần đến khi sử dụng mã hoá."
#: plinth/modules/backups/forms.py:182
msgid "Confirm Passphrase"
msgstr "Xác nhận mật khẩu"
#: plinth/modules/backups/forms.py:182
msgid "Repeat the passphrase."
msgstr "Lặp lại mật khẩu."
#: plinth/modules/backups/forms.py:193
msgid "The entered encryption passphrases do not match"
msgstr "Các mật khẩu mã hoá được nhập vào không trùng khớp"
#: plinth/modules/backups/forms.py:197
msgid "Passphrase is needed for encryption."
msgstr "Mật khẩu được cần đến để mã hoá."
#: plinth/modules/backups/forms.py:232
msgid "Select Disk or Partition"
msgstr "Chọn ổ đĩa hoặc phân vùng"
#: plinth/modules/backups/forms.py:233
msgid "Backups will be stored in the directory FreedomBoxBackups"
msgstr "Các bản sao lưu sẽ được lưu trữ trong thư mục FreedomBoxBackups"
#: plinth/modules/backups/forms.py:242
msgid "SSH Repository Path"
msgstr "Đường dẫn kho SSH"
#: plinth/modules/backups/forms.py:243
msgid ""
"Path of a new or existing repository. Example: <i>user@host:~/path/to/repo/</"
"i>"
msgstr ""
"Đường dẫn của một kho mới hoặc đang có. Ví dụ: <i>user@host:~/path/to/repo/</"
"i>"
#: plinth/modules/backups/forms.py:247
msgid "SSH server password"
msgstr "Mật khẩu máy chủ SSH"
#: plinth/modules/backups/forms.py:248
msgid ""
"Password of the SSH Server.<br />SSH key-based authentication is not yet "
"possible."
msgstr ""
"Mật khẩu của máy chủ SSH.<br>Việc xác thực SSH dựa trên mã khoá là chưa thể "
"làm được."
#: plinth/modules/backups/forms.py:267
msgid "Remote backup repository already exists."
msgstr "Kho sao lưu trên mạng đã tồn tại."
#: plinth/modules/backups/forms.py:273
msgid "Select verified SSH public key"
msgstr "Chọn mã khoá SSH công khai đã xác minh"
#: plinth/modules/backups/repository.py:30
msgid ""
"Connection refused - make sure you provided correct credentials and the "
"server is running."
msgstr ""
"Kết nối bị từ chối - hãy chắc chắn là bạn đã cung cấp thông tin chính xác và "
"máy chủ đó đang chạy."
#: plinth/modules/backups/repository.py:37
msgid "Connection refused"
msgstr "Kết nối bị từ chối"
#: plinth/modules/backups/repository.py:44
msgid "Repository not found"
msgstr "Không tìm thấy kho"
#: plinth/modules/backups/repository.py:49
msgid "Incorrect encryption passphrase"
msgstr "Mật khẩu mã hoá không chính xác"
#: plinth/modules/backups/repository.py:54
msgid "SSH access denied"
msgstr "Truy cập SSH bị từ chối"
#: plinth/modules/backups/repository.py:60
msgid "Repository path is neither empty nor is an existing backups repository."
msgstr ""
"Đường dẫn kho không phải là trống và cũng không phải một kho sao lưu đang "
"tồn tại."
#: plinth/modules/backups/repository.py:145
msgid "Existing repository is not encrypted."
msgstr "Kho đang tồn tại không được mã hoá."
#: plinth/modules/backups/repository.py:335
#, python-brace-format
msgid "{box_name} storage"
msgstr "Kho lưu trữ {box_name}"
#: plinth/modules/backups/templates/backups.html:17
#: plinth/modules/backups/views.py:116
msgid "Create a new backup"
msgstr "Tạo một bản sao lưu mới"
#: plinth/modules/backups/templates/backups.html:21
msgid "Create Backup"
msgstr "Tạo bản sao lưu"
#: plinth/modules/backups/templates/backups.html:24
msgid "Upload and restore a backup archive"
msgstr "Tải lên và khôi phục một tệp sao lưu"
#: plinth/modules/backups/templates/backups.html:28
msgid "Upload and Restore"
msgstr "Tải lên và khôi phục"
#: plinth/modules/backups/templates/backups.html:31
msgid "Add a backup location"
msgstr "Thêm một vị trí sao lưu"
#: plinth/modules/backups/templates/backups.html:35
msgid "Add Backup Location"
msgstr "Thêm vị trí sao lưu"
#: plinth/modules/backups/templates/backups.html:38
msgid "Add a remote backup location"
msgstr "Thêm một vị trí sao lưu trên mạng"
#: plinth/modules/backups/templates/backups.html:42
msgid "Add Remote Backup Location"
msgstr "Thêm vị trí sao lưu trên mạng"
#: plinth/modules/backups/templates/backups.html:46
msgid "Existing Backups"
msgstr "Bản sao lưu đang tồn tại"
#: plinth/modules/backups/templates/backups_add_remote_repository.html:19
#, fuzzy, python-format
#| msgid ""
#| "The credentials for this repository are stored on your %(box_name)s. <br /"
#| "> To restore a backup on a new %(box_name)s you need the ssh credentials "
#| "and, if chosen, the encryption passphrase."
msgid ""
"The credentials for this repository are stored on your %(box_name)s. <br /> "
"To restore a backup on a new %(box_name)s you need the SSH credentials and, "
"if chosen, the encryption passphrase."
msgstr ""
"Thông tin cho kho này được lưu trữ trên %(box_name)s của bạn. <br> Để khôi "
"phục một bản sao lưu trên một %(box_name)s mới, bạn cần thông tin SSH và mật "
"khẩu mã hoá nếu được chọn."
#: plinth/modules/backups/templates/backups_add_remote_repository.html:28
msgid "Create Location"
msgstr "Tạo vị trí"
#: plinth/modules/backups/templates/backups_add_repository.html:19
#: plinth/modules/gitweb/views.py:51
msgid "Create Repository"
msgstr "Tạo kho"
#: plinth/modules/backups/templates/backups_delete.html:12
msgid "Delete this archive permanently?"
msgstr "Xoá tệp này vĩnh viễn?"
#: plinth/modules/backups/templates/backups_delete.html:18
msgid "Time"
msgstr "Thời gian"
#: plinth/modules/backups/templates/backups_delete.html:34
#, python-format
msgid "Delete Archive %(name)s"
msgstr "Xoá tệp %(name)s"
#: plinth/modules/backups/templates/backups_repository.html:19
msgid "This repository is encrypted"
msgstr "Kho này được mã hoá"
#: plinth/modules/backups/templates/backups_repository.html:29
msgid "Schedule"
msgstr "Lịnh trình"
#: plinth/modules/backups/templates/backups_repository.html:40
msgid "Unmount Location"
msgstr "Bỏ gắn vị trí"
#: plinth/modules/backups/templates/backups_repository.html:51
msgid "Mount Location"
msgstr "Gắn vị trí"
#: plinth/modules/backups/templates/backups_repository.html:62
msgid "Remove Backup Location. This will not delete the remote backup."
msgstr "Xoá vị trí sao lưu. Việc này sẽ không xoá bản sao lưu trên mạng."
#: plinth/modules/backups/templates/backups_repository.html:83
msgid "Download"
msgstr "Tải xuống"
#: plinth/modules/backups/templates/backups_repository.html:87
#: plinth/modules/backups/templates/backups_restore.html:27
#: plinth/modules/backups/views.py:211
msgid "Restore"
msgstr "Khôi phục"
#: plinth/modules/backups/templates/backups_repository.html:109
msgid "No archives currently exist."
msgstr "Không có tệp nào hiện đang tồn tại."
#: plinth/modules/backups/templates/backups_repository_remove.html:13
msgid "Are you sure that you want to remove this repository?"
msgstr "Bạn có chắc rằng bạn muốn xoá kho này không?"
#: plinth/modules/backups/templates/backups_repository_remove.html:19
msgid ""
"The remote repository will not be deleted. This just removes the repository "
"from the listing on the backup page, you can add it again later on."
msgstr ""
"Kho trên mạng sẽ không bị xoá. Việc này chỉ xoá kho đó khỏi danh sách trên "
"trang sao lưu, bạn có thể thêm nó lại vào lúc sau."
#: plinth/modules/backups/templates/backups_repository_remove.html:31
msgid "Remove Location"
msgstr "Xoá vị trí"
#: plinth/modules/backups/templates/backups_restore.html:15
msgid "Restore data from"
msgstr "Khôi phục dữ liệu từ"
#: plinth/modules/backups/templates/backups_upload.html:17
#, python-format
msgid ""
"\n"
" Upload a backup file downloaded from another %(box_name)s to restore "
"its\n"
" contents. You can choose the apps you wish to restore after uploading "
"a\n"
" backup file.\n"
" "
msgstr ""
"\n"
" Tải lên một tệp sao lưu đã được tải xuống từ một %(box_name)s khác để "
"khôi phục\n"
" nội dung của nó. Bạn có thể chọn các ứng dụng bạn muốn khôi phục sau "
"khi tải lên một\n"
" tệp sao lưu.\n"
" "
#: plinth/modules/backups/templates/backups_upload.html:27
#: plinth/modules/help/templates/statuslog.html:23
#: plinth/modules/networks/templates/connection_show.html:23
msgid "Caution:"
msgstr "Chú ý:"
#: plinth/modules/backups/templates/backups_upload.html:28
#, python-format
msgid ""
"You have %(max_filesize)s available to restore a backup. Exceeding this "
"limit can leave your %(box_name)s unusable."
msgstr ""
"Bạn có %(max_filesize)s có sẵn để khôi phục một bản sao lưu. Việc vượt quá "
"giới hạn này có thể làm cho %(box_name)s của bạn không thể sử dụng được."
#: plinth/modules/backups/templates/backups_upload.html:41
msgid "Upload file"
msgstr "Tải tệp lên"
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:18
#, python-format
msgid ""
"Could not reach SSH host %(hostname)s. Please verify that the host is up and "
"accepting connections."
msgstr ""
"Không thể kết nối đến máy chủ SSH %(hostname)s. Vui lòng xác minh rằng máy "
"chủ đang chạy và đang chấp nhận các kết nối."
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:28
#, python-format
msgid ""
"The authenticity of SSH host %(hostname)s could not be established. The host "
"advertises the following SSH public keys. Please verify any one of them."
msgstr ""
"Tính xác thực của máy chủ SSH %(hostname)s không thể được lập. Máy chủ công "
"bố các mã khoá SSH công khai sau. Vui lòng xác minh bất kỳ một mã nào trong "
"số chúng."
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:40
msgid "How to verify?"
msgstr "Xác minh như thế nào?"
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:45
#, fuzzy
#| msgid ""
#| "Run the following command on the SSH host machine. The output should "
#| "match one of the provided options. You can also use dsa, ecdsa, ed25519 "
#| "etc. instead of rsa, by choosing the corresponding file."
msgid ""
"Run the following command on the SSH host machine. The output should match "
"one of the provided options. You can also use DSA, ECDSA, Ed25519 etc. "
"instead of RSA, by choosing the corresponding file."
msgstr ""
"Hãy chạy lệnh sau trên máy chủ SSH. Đầu ra có thể sẽ khớp với một trong số "
"những tuỳ chọn được cung cấp. Bạn cũng có thể sử dụng dsa, ecdsa, ed25519, v."
"v. thay vì rsa, bằng cách chọn tệp tương ứng."
#: plinth/modules/backups/templates/verify_ssh_hostkey.html:60
msgid "Verify Host"
msgstr "Xác minh máy chủ"
#: plinth/modules/backups/views.py:59
msgid "Backup schedule updated."
msgstr "Đã cập nhật lịch trình sao lưu."
#: plinth/modules/backups/views.py:78
msgid "Schedule Backups"
msgstr "Lên lịch sao lưu"
#: plinth/modules/backups/views.py:111
msgid "Archive created."
msgstr "Đã tạo tệp."
#: plinth/modules/backups/views.py:139
msgid "Delete Archive"
msgstr "Xoá tệp"
#: plinth/modules/backups/views.py:151
msgid "Archive deleted."
msgstr "Đã xoá tệp."
#: plinth/modules/backups/views.py:164
msgid "Upload and restore a backup"
msgstr "Tải lên và khôi phục một bản sao lưu"
#: plinth/modules/backups/views.py:199
msgid "Restored files from backup."
msgstr "Đã khôi phục các tệp từ bản sao lưu."
#: plinth/modules/backups/views.py:227
msgid "No backup file found."
msgstr "Không tìm thấy tệp sao lưu nào."
#: plinth/modules/backups/views.py:235
msgid "Restore from uploaded file"
msgstr "Khôi phục từ tệp đã tải lên"
#: plinth/modules/backups/views.py:294
msgid "No additional disks available to add a repository."
msgstr "Không có ổ đĩa bổ sung nào có sẵn để thêm một kho."
#: plinth/modules/backups/views.py:302
msgid "Create backup repository"
msgstr "Tạo kho sao lưu"
#: plinth/modules/backups/views.py:329
msgid "Create remote backup repository"
msgstr "Tạo kho sao lưu trên mạng"
#: plinth/modules/backups/views.py:349
msgid "Added new remote SSH repository."
msgstr "Đã thêm kho SSH trên mạng mới."
#: plinth/modules/backups/views.py:371
msgid "Verify SSH hostkey"
msgstr "Xác minh mã khoá máy chủ SSH"
#: plinth/modules/backups/views.py:397
msgid "SSH host already verified."
msgstr "Máy chủ SSH đã được xác minh rồi."
#: plinth/modules/backups/views.py:407
msgid "SSH host verified."
msgstr "Đã xác minh máy chủ SSH."
#: plinth/modules/backups/views.py:422
msgid "SSH host public key could not be verified."
msgstr "Mã khoá công khai của máy chủ SSH không thể được xác minh."
#: plinth/modules/backups/views.py:424
msgid "Authentication to remote server failed."
msgstr "Xác thực đến máy chủ trên mạng thất bại."
#: plinth/modules/backups/views.py:426
msgid "Error establishing connection to server: {}"
msgstr "Lỗi khi lập kết nối đến máy chủ: {}"
#: plinth/modules/backups/views.py:437
msgid "Repository removed."
msgstr "Đã xoá kho."
#: plinth/modules/backups/views.py:451
msgid "Remove Repository"
msgstr "Xoá kho"
#: plinth/modules/backups/views.py:460
msgid "Repository removed. Backups were not deleted."
msgstr "Đã xoá kho. Các bản sao lưu đã không bị xoá."
#: plinth/modules/backups/views.py:470
msgid "Unmounting failed!"
msgstr "Bỏ gắn thất bại!"
#: plinth/modules/backups/views.py:485 plinth/modules/backups/views.py:489
msgid "Mounting failed"
msgstr "Gắn thất bại"
#: plinth/modules/bepasty/__init__.py:16
msgid ""
"bepasty is a web application that allows large files to be uploaded and "
"shared. Text and code snippets can also be pasted and shared. Text, image, "
"audio, video and PDF documents can be previewed in the browser. Shared files "
"can be set to expire after a time period."
msgstr ""
"bepasty là một ứng dụng web cho phép các tệp lớn được tải lên và chia sẻ. "
"Các đoạn văn bản và mã cũng có thể được dán và chia sẻ. Các văn bản, hình "
"ảnh, âm thanh, video và tài liệu PDF có thể được xem trước trong trình "
"duyệt. Các tệp được chia sẻ có thể được đặt là sẽ hết hạn sau một khoảng "
"thời gian."
#: plinth/modules/bepasty/__init__.py:20
msgid ""
"bepasty does not use usernames for login. It only uses passwords. For each "
"password, a set of permissions can be selected. Once you have created a "
"password, you can share it with the users who should have the associated "
"permissions."
msgstr ""
"bepasty không sử dụng tên người dùng để đăng nhập. Nó chỉ sử dụng mật khẩu. "
"Đối với mỗi mật khẩu, một tập hợp các quyền có thể được chọn. Khi bạn đã tạo "
"một mật khẩu, bạn có thể chia sẻ nó với những người dùng mà họ nên có các "
"quyền được liên kết."
#: plinth/modules/bepasty/__init__.py:24
msgid ""
"You can also create multiple passwords with the same set of privileges, and "
"distribute them to different people or groups. This will allow you to later "
"revoke access for a single person or group, by removing their password from "
"the list."
msgstr ""
"Bạn cũng có thể tạo nhiều mật khẩu với cùng một tập hợp các đặc quyền, và "
"phân phối chúng đến những người hoặc những nhóm khác nhau. Việc này sẽ cho "
"phép bạn thu hồi quyền truy cập đối với một người hoặc một nhóm vào lúc sau, "
"bằng cách xoá mật khẩu của họ khỏi danh sách."
#: plinth/modules/bepasty/__init__.py:31 plinth/modules/bepasty/__init__.py:40
msgid "Read a file, if a web link to the file is available"
msgstr "Đọc một tệp, nếu có một liên kết web đến tệp đó"
#: plinth/modules/bepasty/__init__.py:32
msgid "Create or upload files"
msgstr "Tạo hoặc tải tệp lên"
#: plinth/modules/bepasty/__init__.py:33
msgid "List all files and their web links"
msgstr "Liệt kê tất cả tệp và các liên kết web của chúng"
#: plinth/modules/bepasty/__init__.py:34
msgid "Delete files"
msgstr "Xoá tệp"
#: plinth/modules/bepasty/__init__.py:35
msgid "Administer files: lock/unlock files"
msgstr "Quản trị tệp: khoá/mở khoá tệp"
#: plinth/modules/bepasty/__init__.py:39
msgid "None, password is always required"
msgstr "Không có, mật khẩu luôn được yêu cầu"
#: plinth/modules/bepasty/__init__.py:41
msgid "List and read all files"
msgstr "Liệt kê và đọc tất cả tệp"
#: plinth/modules/bepasty/__init__.py:56 plinth/modules/bepasty/manifest.py:6
msgid "bepasty"
msgstr "bepasty"
#: plinth/modules/bepasty/__init__.py:58
msgid "File & Snippet Sharing"
msgstr "Chia sẻ tệp &amp; đoạn ngắn"
#: plinth/modules/bepasty/forms.py:17
msgid "Public Access (default permissions)"
msgstr "Truy cập công khai (quyền mặc định)"
#: plinth/modules/bepasty/forms.py:18
msgid "Permissions for anonymous users, who have not provided a password."
msgstr "Quyền cho những người dùng nặc danh chưa cung cấp mật khẩu."
#: plinth/modules/bepasty/forms.py:27
#: plinth/modules/bepasty/templates/bepasty.html:30
#: plinth/modules/users/forms.py:111 plinth/modules/users/forms.py:235
msgid "Permissions"
msgstr "Quyền"
#: plinth/modules/bepasty/forms.py:29
msgid ""
"Users that log in with this password will have the selected permissions."
msgstr ""
"Những người dùng đăng nhập bằng mật khẩu này sẽ có các quyền được chọn."
#: plinth/modules/bepasty/forms.py:33
#: plinth/modules/bepasty/templates/bepasty.html:31
msgid "Comment"
msgstr "Bình luận"
#: plinth/modules/bepasty/forms.py:34
msgid "Any comment to help you remember the purpose of this password."
msgstr "Bất kỳ bình luận nào để giúp bạn ghi nhớ mục đích của mật khẩu này."
#: plinth/modules/bepasty/templates/bepasty.html:12
msgid "Manage Passwords"
msgstr "Quản lý mật khẩu"
#: plinth/modules/bepasty/templates/bepasty.html:16
#: plinth/modules/bepasty/templates/bepasty.html:18
msgid "Add password"
msgstr "Thêm mật khẩu"
#: plinth/modules/bepasty/templates/bepasty.html:23
msgid "No passwords currently configured."
msgstr "Không có mật khẩu nào hiện được thiết lập."
#: plinth/modules/bepasty/templates/bepasty.html:29
#: plinth/modules/dynamicdns/forms.py:91 plinth/modules/networks/forms.py:213
#: plinth/modules/shadowsocks/forms.py:44
msgid "Password"
msgstr "Mật khẩu"
#: plinth/modules/bepasty/views.py:19
msgid "admin"
msgstr "quản trị viên"
#: plinth/modules/bepasty/views.py:20
msgid "editor"
msgstr "người chỉnh sửa"
#: plinth/modules/bepasty/views.py:21
msgid "viewer"
msgstr "người xem"
#: plinth/modules/bepasty/views.py:47
msgid "Read"
msgstr "Đọc"
#: plinth/modules/bepasty/views.py:48
msgid "Create"
msgstr "Tạo"
#: plinth/modules/bepasty/views.py:49
msgid "List"
msgstr "Liệt kê"
#: plinth/modules/bepasty/views.py:50
#: plinth/modules/email/templates/email-aliases.html:24
#: plinth/modules/letsencrypt/templates/letsencrypt.html:86
#: plinth/modules/networks/templates/connection_show.html:56
#: plinth/modules/samba/templates/samba.html:154
#: plinth/modules/wireguard/templates/wireguard_delete_client.html:24
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:35
#: plinth/modules/wireguard/templates/wireguard_show_client.html:77
#: plinth/modules/wireguard/templates/wireguard_show_server.html:78
msgid "Delete"
msgstr "Xoá"
#: plinth/modules/bepasty/views.py:51
msgid "Admin"
msgstr "Quản trị viên"
#: plinth/modules/bepasty/views.py:88 plinth/modules/searx/views.py:35
#: plinth/modules/searx/views.py:46 plinth/modules/tor/views.py:73
#: plinth/modules/zoph/views.py:71
msgid "Configuration updated."
msgstr "Đã cập nhật thiết lập."
#: plinth/modules/bepasty/views.py:91 plinth/modules/email/views.py:48
#: plinth/modules/gitweb/views.py:117 plinth/modules/searx/views.py:38
#: plinth/modules/searx/views.py:49 plinth/modules/zoph/views.py:74
msgid "An error occurred during configuration."
msgstr "Đã xảy ra lỗi trong khi thiết lập."
#: plinth/modules/bepasty/views.py:103
msgid "Password added."
msgstr "Đã thêm mật khẩu."
#: plinth/modules/bepasty/views.py:108
msgid "Add Password"
msgstr "Thêm mật khẩu"
#: plinth/modules/bepasty/views.py:122
msgid "Password deleted."
msgstr "Đã xoá mật khẩu."
#: plinth/modules/bind/__init__.py:17
msgid ""
"BIND enables you to publish your Domain Name System (DNS) information on the "
"Internet, and to resolve DNS queries for your user devices on your network."
msgstr ""
"BIND cho phép bạn xuất bản thông tin Hệ thống tên miền (DNS) của bạn trên "
"Internet, và giải quyết các truy vấn DNS cho các thiết bị người dùng trên "
"mạng của bạn."
#: plinth/modules/bind/__init__.py:21
#, python-brace-format
msgid ""
"Currently, on {box_name}, BIND is only used to resolve DNS queries for other "
"machines on local network. It is also incompatible with sharing Internet "
"connection from {box_name}."
msgstr ""
"Hiện tại, trên {box_name}, BIND chỉ được sử dụng để giải quyết các truy vấn "
"DNS cho các thiết bị khác trên mạng cục bộ. Nó cũng không tương thích với "
"việc chia sẻ kết nối Internet từ {box_name}."
#: plinth/modules/bind/__init__.py:40
msgid "BIND"
msgstr "BIND"
#: plinth/modules/bind/__init__.py:41
msgid "Domain Name Server"
msgstr "Máy chủ tên miền"
#: plinth/modules/bind/forms.py:19
msgid "Forwarders"
msgstr "Trình chuyển tiếp"
#: plinth/modules/bind/forms.py:20
msgid ""
"A list DNS servers, separated by space, to which requests will be forwarded"
msgstr ""
"Một danh sách các máy chủ DNS, được chia bởi dấu cách, mà các yêu cầu đến "
"chúng sẽ được chuyển tiếp"
#: plinth/modules/bind/templates/bind.html:11
msgid "Serving Domains"
msgstr "Miền phục vụ"
#: plinth/modules/bind/templates/bind.html:17
#: plinth/modules/email/templates/email.html:38
#: plinth/modules/ikiwiki/forms.py:12
#: plinth/modules/names/templates/names.html:15
#: plinth/modules/networks/templates/connection_show.html:91
#: plinth/modules/samba/templates/samba.html:65
#: plinth/modules/storage/templates/storage.html:26
msgid "Type"
msgstr "Loại"
#: plinth/modules/bind/templates/bind.html:18
msgid "Domain Names"
msgstr "Tên miền"
#: plinth/modules/bind/templates/bind.html:19
msgid "Serving"
msgstr "Đang phục vụ"
#: plinth/modules/bind/templates/bind.html:20
msgid "IP addresses"
msgstr "Địa chỉ IP"
#: plinth/modules/bind/templates/bind.html:37
#: plinth/modules/bind/templates/bind.html:39
msgid "Refresh IP address and domains"
msgstr "Làm mới địa chỉ IP và các miền"
#: plinth/modules/bind/views.py:61 plinth/modules/config/views.py:98
#: plinth/modules/coturn/views.py:40 plinth/modules/deluge/views.py:35
#: plinth/modules/dynamicdns/views.py:78 plinth/modules/ejabberd/views.py:95
#: plinth/modules/email/views.py:45 plinth/modules/matrixsynapse/views.py:128
#: plinth/modules/minetest/views.py:55 plinth/modules/mumble/views.py:37
#: plinth/modules/pagekite/forms.py:74 plinth/modules/privacy/views.py:36
#: plinth/modules/quassel/views.py:29 plinth/modules/roundcube/views.py:32
#: plinth/modules/rssbridge/views.py:31 plinth/modules/shadowsocks/views.py:53
#: plinth/modules/ssh/views.py:52 plinth/modules/transmission/views.py:43
#: plinth/modules/ttrss/views.py:31 plinth/modules/wordpress/views.py:31
msgid "Configuration updated"
msgstr "Đã cập nhật thiết lập"
#: plinth/modules/calibre/__init__.py:22
#, python-brace-format
msgid ""
"calibre server provides online access to your e-book collection. You can "
"store your e-books on your {box_name}, read them online or from any of your "
"devices."
msgstr ""
"Máy chủ calibre cung cấp quyền truy cập trực tuyến vào bộ sưu tập sách điện "
"tử của bạn. Bạn có thể lưu trữ những quyển sách điện tử trên {box_name} của "
"bạn, đọc chúng trực tuyến hoặc từ bất kỳ thiết bị nào của bạn."
#: plinth/modules/calibre/__init__.py:25
msgid ""
"You can organize your e-books, extract and edit their metadata, and perform "
"advanced search. calibre can import, export, or convert across a wide range "
"of formats to make e-books ready for reading on any device. It also provides "
"an online web reader. It remembers your last read location, bookmarks, and "
"highlighted text. Content distribution using OPDS is currently not supported."
msgstr ""
"Bạn có thể sắp xếp những quyển sách điện tử của bạn, trích xuất và chỉnh sửa "
"siêu dữ liệu của chúng, và thực hiện tìm kiếm nâng cao. calibre có thể nhập, "
"xuất, hoặc chuyển đổi trong một phạm vi lớn các định dạng để làm cho các "
"quyển sách điện tử sẵn sàng để đọc trên bất kỳ thiết bị nào. Nó cũng cung "
"cấp một trình đọc trên web trực tuyến. Nó ghi nhớ vị trí đã đọc lần cuối của "
"bạn, dấu trang, và văn bản được đánh dấu. Việc phân phối nội dung bằng OPDS "
"hiện chưa được hỗ trợ."
#: plinth/modules/calibre/__init__.py:31
msgid ""
"Only users belonging to <em>calibre</em> group will be able to access the "
"app. All users with access can use all the libraries."
msgstr ""
"Chỉ có những người dùng thuộc về nhóm <em>calibre</em> mới có thể truy cập "
"ứng dụng. Tất cả người dùng có quyền truy cập đều có thể sử dụng tất cả các "
"thư viện."
#: plinth/modules/calibre/__init__.py:51
msgid "Use calibre e-book libraries"
msgstr "Sử dụng thư viện sách điện tử của calibre"
#: plinth/modules/calibre/__init__.py:54 plinth/modules/calibre/manifest.py:6
msgid "calibre"
msgstr "calibre"
#: plinth/modules/calibre/__init__.py:55
msgid "E-book Library"
msgstr "Thư viện sách điện tử"
#: plinth/modules/calibre/forms.py:16
msgid "Name of the new library"
msgstr "Tên của thư viện mới"
#: plinth/modules/calibre/forms.py:17
msgid ""
"Only letters of the English alphabet, numbers and the characters _ . and - "
"without spaces or special characters. Example: My_Library_2000"
msgstr ""
#: plinth/modules/calibre/forms.py:28
msgid "A library with this name already exists."
msgstr "Một thư viện có tên này đã tồn tại."
#: plinth/modules/calibre/templates/calibre-delete-library.html:11
#, python-format
msgid "Delete calibre Library <em>%(name)s</em>"
msgstr "Xoá thư viện calibre <em>%(name)s</em>"
#: plinth/modules/calibre/templates/calibre-delete-library.html:17
msgid ""
"Delete this library permanently? All stored e-books and saved data will be "
"lost."
msgstr ""
"Xoá thư viện này vĩnh viễn? Tất cả sách điện tử đã lưu trữ và dữ liệu đã lưu "
"sẽ bị mất."
#: plinth/modules/calibre/templates/calibre-delete-library.html:27
#: plinth/modules/gitweb/templates/gitweb_delete.html:27
#: plinth/modules/ikiwiki/templates/ikiwiki_delete.html:29
#: plinth/modules/networks/templates/connections_delete.html:23
#, python-format
msgid "Delete %(name)s"
msgstr "Xoá %(name)s"
#: plinth/modules/calibre/templates/calibre.html:11
msgid "Manage Libraries"
msgstr "Quản lý thư viện"
#: plinth/modules/calibre/templates/calibre.html:15
#: plinth/modules/calibre/templates/calibre.html:17
msgid "Create Library"
msgstr "Tạo thư viện"
#: plinth/modules/calibre/templates/calibre.html:24
msgid "No libraries available."
msgstr "Không có thư viện nào có sẵn."
#: plinth/modules/calibre/templates/calibre.html:31
#, python-format
msgid "Go to library %(library)s"
msgstr "Đi đến thư viện %(library)s"
#: plinth/modules/calibre/templates/calibre.html:37
#, python-format
msgid "Delete library %(library)s"
msgstr "Xoá thư viện %(library)s"
#: plinth/modules/calibre/views.py:39
msgid "Library created."
msgstr "Đã tạo thư viện."
#: plinth/modules/calibre/views.py:49
msgid "An error occurred while creating the library."
msgstr "Đã xảy ra lỗi trong khi tạo thư viện."
#: plinth/modules/calibre/views.py:63 plinth/modules/gitweb/views.py:139
#, python-brace-format
msgid "{name} deleted."
msgstr "Đã xoá {name}."
#: plinth/modules/calibre/views.py:67 plinth/modules/gitweb/views.py:143
#, python-brace-format
msgid "Could not delete {name}: {error}"
msgstr "Không thể xoá {name}: {error}"
#: plinth/modules/cockpit/__init__.py:22
#, python-brace-format
msgid ""
"Cockpit is a server manager that makes it easy to administer GNU/Linux "
"servers via a web browser. On a {box_name}, controls are available for many "
"advanced functions that are not usually required. A web based terminal for "
"console operations is also available."
msgstr ""
"Cockpit là một trình quản lý máy chủ giúp việc quản trị các máy chủ GNU/"
"Linux qua một trình duyệt web được dễ dàng. Trên một {box_name}, nhiều chức "
"năng nâng cao thường không bắt buộc phải có đều có thể được điều khiển. Cũng "
"có một ứng dụng dòng lệnh dựa trên web cho các hoạt động dòng lệnh."
#: plinth/modules/cockpit/__init__.py:28
msgid ""
"Cockpit can be used to perform advanced storage operations such as disk "
"partitioning and RAID management. It can also be used for opening custom "
"firewall ports and advanced networking such as bonding, bridging and VLAN "
"management."
msgstr ""
"Cockpit có thể được sử dụng để thực hiện các hoạt động nâng cao về kho lưu "
"trữ như là phân vùng ổ đĩa và quản lý RAID. Nó cũng có thể được sử dụng để "
"mở các cổng tường lửa tùy chỉnh và các hoạt động mạng nâng cao như là gắn "
"kết, bắc cầu và quản lý VLAN."
#: plinth/modules/cockpit/__init__.py:33
#, python-brace-format
msgid ""
"It can be accessed by <a href=\"{users_url}\">any user</a> on {box_name} "
"belonging to the admin group."
msgstr ""
"Nó có thể được truy cập bởi <a href=\"{users_url}\">bất kỳ người dùng nào</"
"a> trên {box_name} thuộc về nhóm admin."
#: plinth/modules/cockpit/__init__.py:52 plinth/modules/cockpit/manifest.py:9
#: plinth/modules/performance/manifest.py:9
msgid "Cockpit"
msgstr "Cockpit"
#: plinth/modules/cockpit/__init__.py:54
msgid "Server Administration"
msgstr "Quản trị máy chủ"
#: plinth/modules/config/__init__.py:22
msgid ""
"Here you can set some general configuration options like hostname, domain "
"name, webserver home page etc."
msgstr ""
"Ở đây bạn có thể đặt một số tùy chọn thiết lập chung như tên máy chủ, tên "
"miền, trang chủ của máy chủ web, v.v."
#: plinth/modules/config/__init__.py:44
msgid "General Configuration"
msgstr "Thiết lập chung"
#: plinth/modules/config/__init__.py:49
#: plinth/modules/names/templates/names.html:30
#: plinth/modules/names/templates/names.html:44
#: plinth/modules/snapshot/views.py:32 plinth/templates/index.html:38
msgid "Configure"
msgstr "Thiết lập"
#: plinth/modules/config/__init__.py:62 plinth/modules/config/forms.py:68
#: plinth/modules/dynamicdns/forms.py:82
#: plinth/modules/names/templates/names.html:16
msgid "Domain Name"
msgstr "Tên miền"
#: plinth/modules/config/forms.py:30 plinth/modules/config/forms.py:80
#: plinth/modules/dynamicdns/forms.py:85
msgid "Invalid domain name"
msgstr "Tên miền không hợp lệ"
#: plinth/modules/config/forms.py:40
#, python-brace-format
msgid "{user}'s website"
msgstr "Trang web của {user}"
#: plinth/modules/config/forms.py:42
msgid "Apache Default"
msgstr "Mặc định của Apache"
#: plinth/modules/config/forms.py:43
msgid "FreedomBox Service (Plinth)"
msgstr "Dịch vụ FreedomBox (Plinth)"
#: plinth/modules/config/forms.py:55
msgid "Hostname"
msgstr "Tên máy chủ"
#: plinth/modules/config/forms.py:57
#, python-brace-format
msgid ""
"Hostname is the local name by which other devices on the local network can "
"reach your {box_name}. It must start and end with an alphabet or a digit "
"and have as interior characters only alphabets, digits and hyphens. Total "
"length must be 63 characters or less."
msgstr ""
"Tên máy chủ là tên cục bộ mà các thiết bị khác trên mạng cục bộ có thể kết "
"nối đến {box_name} của bạn qua đó. Nó phải bắt đầu và kết thúc bằng một chữ "
"cái hoặc chữ số và các ký tự chỉ có chữ cái, chữ số và dấu gạch ngang. Tổng "
"độ dài phải là 63 ký tự hoặc ít hơn."
#: plinth/modules/config/forms.py:64
msgid "Invalid hostname"
msgstr "Tên máy chủ không hợp lệ"
#: plinth/modules/config/forms.py:70
#, python-brace-format
msgid ""
"Domain name is the global name by which other devices on the Internet can "
"reach your {box_name}. It must consist of labels separated by dots. Each "
"label must start and end with an alphabet or a digit and have as interior "
"characters only alphabets, digits and hyphens. Length of each label must be "
"63 characters or less. Total length of domain name must be 253 characters "
"or less."
msgstr ""
"Tên miền là tên toàn cầu mà các thiết bị khác trên mạng Internet có thể kết "
"nối đến {box_name} của bạn qua đó. Nó phải chứa các nhãn được ngăn cách bởi "
"dấu chấm. Mỗi nhãn phải bắt đầu và kết thúc bằng một chữ cái hoặc chữ số và "
"các ký tự chỉ có chữ cái, chữ số và dấu gạch ngang. Độ dài mỗi nhãn phải là "
"63 ký tự hoặc ít hơn. Tổng độ dài của tên miền phải là 253 ký tự hoặc ít "
"hơn."
#: plinth/modules/config/forms.py:85
msgid "Webserver Home Page"
msgstr "Trang chủ của máy chủ web"
#: plinth/modules/config/forms.py:87
#, python-brace-format
msgid ""
"Choose the default page that must be served when someone visits your "
"{box_name} on the web. A typical use case is to set your blog or wiki as the "
"home page when someone visits the domain name. Note that once the home page "
"is set to something other than {box_name} Service (Plinth), your users must "
"explicitly type /plinth or /freedombox to reach {box_name} Service (Plinth)."
msgstr ""
"Chọn trang mặc định mà phải xuất hiện khi có ai đó đi đến {box_name} của bạn "
"trên web. Một trường hợp sử dụng điển hình là đặt blog hoặc wiki của bạn làm "
"trang chủ khi có ai đó đi đến tên miền. Lưu ý rằng một khi trang chủ được "
"đặt là gì đó ngoài Dịch vụ {box_name} (Plinth), những người dùng của bạn "
"phải nhập /plinth hoặc /freedombox để kết nối đến Dịch vụ {box_name} "
"(Plinth)."
#: plinth/modules/config/forms.py:98
msgid "Show advanced apps and features"
msgstr "Hiện các ứng dụng và tính năng nâng cao"
#: plinth/modules/config/forms.py:100
msgid "Show apps and features that require more technical knowledge."
msgstr "Hiện các ứng dụng và tính năng yêu cầu nhiều kiến thức kĩ thuật hơn."
#: plinth/modules/config/forms.py:104
msgid "System-wide logging"
msgstr ""
#: plinth/modules/config/forms.py:105
msgid "Disable logging, for privacy"
msgstr ""
#: plinth/modules/config/forms.py:107
msgid "Keep some in memory until a restart, for performance"
msgstr ""
#: plinth/modules/config/forms.py:110
msgid "Write to disk, useful for debugging"
msgstr ""
#: plinth/modules/config/forms.py:112
msgid ""
"Logs contain information about who accessed the system and debug information "
"from various services"
msgstr ""
#: plinth/modules/config/views.py:49
#, python-brace-format
msgid "Error setting hostname: {exception}"
msgstr "Lỗi khi đặt tên máy chủ: {exception}"
#: plinth/modules/config/views.py:52
msgid "Hostname set"
msgstr "Đã đặt tên máy chủ"
#: plinth/modules/config/views.py:61
#, python-brace-format
msgid "Error setting domain name: {exception}"
msgstr "Lỗi khi đặt tên miền: {exception}"
#: plinth/modules/config/views.py:64
msgid "Domain name set"
msgstr "Đã đặt tên miền"
#: plinth/modules/config/views.py:72
#, python-brace-format
msgid "Error setting webserver home page: {exception}"
msgstr "Lỗi khi đặt trang chủ của máy chủ web: {exception}"
#: plinth/modules/config/views.py:75
msgid "Webserver home page set"
msgstr "Đã đặt trang chủ của máy chủ web"
#: plinth/modules/config/views.py:83
#, python-brace-format
msgid "Error changing advanced mode: {exception}"
msgstr "Lỗi khi thay đổi chế độ nâng cao: {exception}"
#: plinth/modules/config/views.py:88
msgid "Showing advanced apps and features"
msgstr "Đang hiện các ứng dụng và tính năng nâng cao"
#: plinth/modules/config/views.py:91
msgid "Hiding advanced apps and features"
msgstr "Đang ẩn các ứng dụng và tính năng nâng cao"
#: plinth/modules/coturn/__init__.py:25
msgid ""
"Coturn is a server to facilitate audio/video calls and conferences by "
"providing an implementation of TURN and STUN protocols. WebRTC, SIP and "
"other communication servers can use it to establish a call between parties "
"who are otherwise unable connect to each other."
msgstr ""
"Coturn là một máy chủ để thực hiện các cuộc gọi và cuộc hội thảo âm thanh/"
"video bằng cách cung cấp việc sử dụng giao thức TURN và STUN. WebRTC, SIP và "
"các máy chủ giao tiếp khác có thể sử dụng nó để thiết lập một cuộc gọi giữa "
"các bên mà không thể kết nối với nhau nếu không có nó."
#: plinth/modules/coturn/__init__.py:30
#, python-brace-format
msgid ""
"It is not meant to be used directly by users. Servers such as <a href="
"\"{ms_url}\">Matrix Synapse</a> or <a href=\"{e_url}\">ejabberd</a> need to "
"be configured with the details provided here."
msgstr ""
"Mục đích của nó không phải để những người dùng sử dụng trực tiếp. Các máy "
"chủ như là <a href=\"{ms_url}\">Matrix Synapse</a> hoặc <a href="
"\"{e_url}\">ejabberd</a> cần phải được thiết lập với các chi tiết được cung "
"cấp ở đây."
#: plinth/modules/coturn/__init__.py:52
msgid "Coturn"
msgstr "Coturn"
#: plinth/modules/coturn/__init__.py:53
msgid "VoIP Helper"
msgstr "Trợ giúp cho VoIP"
#: plinth/modules/coturn/forms.py:22
msgid "Invalid list of STUN/TURN Server URIs"
msgstr "Danh sách các URI máy chủ STUN/TURN không hợp lệ"
#: plinth/modules/coturn/templates/coturn.html:15
msgid "Use the following URLs to configure your communication server:"
msgstr "Sử dụng các URL sau để thiết lập máy chủ giao tiếp của bạn:"
#: plinth/modules/coturn/templates/coturn.html:24
msgid "Use the following shared authentication secret:"
msgstr "Sử dụng bí mật xác thực được chia sẻ sau đây:"
#: plinth/modules/datetime/__init__.py:19
msgid ""
"Network time server is a program that maintains the system time in "
"synchronization with servers on the Internet."
msgstr ""
"Máy chủ thời gian mạng là một chương trình giữ cho thời gian hệ thống được "
"đồng bộ với các máy chủ trên Internet."
#: plinth/modules/datetime/__init__.py:66
msgid "Date & Time"
msgstr "Ngày &amp; Giờ"
#: plinth/modules/datetime/__init__.py:115
msgid "Time synchronized to NTP server"
msgstr "Đã đồng bộ thời gian đến máy chủ NTP"
#: plinth/modules/datetime/forms.py:18
msgid "Time Zone"
msgstr "Múi giờ"
#: plinth/modules/datetime/forms.py:19
msgid ""
"Set your time zone to get accurate timestamps. This will set the system-wide "
"time zone."
msgstr ""
"Đặt múi giờ của bạn để nhận các dấu thời gian chính xác. Việc này sẽ đặt múi "
"giờ của hệ thống."
#: plinth/modules/datetime/forms.py:30
msgid "-- no time zone set --"
msgstr "-- không có múi giờ nào được đặt --"
#: plinth/modules/datetime/views.py:49
#, python-brace-format
msgid "Error setting time zone: {exception}"
msgstr "Lỗi khi đặt múi giờ: {exception}"
#: plinth/modules/datetime/views.py:52
msgid "Time zone set"
msgstr "Đã đặt múi giờ"
#: plinth/modules/deluge/__init__.py:19
msgid "Deluge is a BitTorrent client that features a Web UI."
msgstr "Deluge là một ứng dụng khách cho BitTorrent, nó có một Giao diện Web."
#: plinth/modules/deluge/__init__.py:20
msgid ""
"The default password is 'deluge', but you should log in and change it "
"immediately after enabling this service."
msgstr ""
"Mật khẩu mặc định là 'deluge', nhưng bạn nên đăng nhập và đổi nó ngay lập "
"tức sau khi bật dịch vụ này."
#: plinth/modules/deluge/__init__.py:39
#: plinth/modules/transmission/__init__.py:62
msgid "Download files using BitTorrent applications"
msgstr "Tải các tệp xuống bằng các ứng dụng BitTorrent"
#: plinth/modules/deluge/__init__.py:43 plinth/modules/deluge/manifest.py:6
msgid "Deluge"
msgstr "Deluge"
#: plinth/modules/deluge/__init__.py:45
#: plinth/modules/transmission/__init__.py:68
msgid "BitTorrent Web Client"
msgstr "Ứng dụng khách trên web cho BitTorrent"
#: plinth/modules/deluge/forms.py:20 plinth/modules/transmission/forms.py:20
msgid "Download directory"
msgstr "Thư mục tải xuống"
#: plinth/modules/deluge/manifest.py:7
msgid "Bittorrent client written in Python/PyGTK"
msgstr "Ứng dụng khách cho Bittorrent được viết bằng ngôn ngữ Python/PyGTK"
#: plinth/modules/diagnostics/__init__.py:23
msgid ""
"The system diagnostic test will run a number of checks on your system to "
"confirm that applications and services are working as expected."
msgstr ""
"Kiểm tra chẩn đoán hệ thống sẽ chạy một số phép thử trên hệ thống của bạn để "
"xác nhận rằng các ứng dụng và dịch vụ đang hoạt động như mong đợi."
#: plinth/modules/diagnostics/__init__.py:50
#: plinth/modules/diagnostics/__init__.py:241
msgid "Diagnostics"
msgstr "Chẩn đoán"
#: plinth/modules/diagnostics/__init__.py:102
msgid "passed"
msgstr "đã qua"
#: plinth/modules/diagnostics/__init__.py:103
#: plinth/modules/networks/views.py:50
msgid "failed"
msgstr "đã trượt"
#: plinth/modules/diagnostics/__init__.py:104
msgid "error"
msgstr "lỗi"
#: plinth/modules/diagnostics/__init__.py:105
msgid "warning"
msgstr "cảnh báo"
#. Translators: This is the unit of computer storage Mebibyte similar to
#. Megabyte.
#: plinth/modules/diagnostics/__init__.py:207
msgid "MiB"
msgstr "MiB"
#. Translators: This is the unit of computer storage Gibibyte similar to
#. Gigabyte.
#: plinth/modules/diagnostics/__init__.py:212
msgid "GiB"
msgstr "GiB"
#: plinth/modules/diagnostics/__init__.py:219
msgid "You should disable some apps to reduce memory usage."
msgstr "Bạn nên tắt một số ứng dụng để sử dụng ít bộ nhớ hơn."
#: plinth/modules/diagnostics/__init__.py:224
msgid "You should not install any new apps on this system."
msgstr "Bạn không nên cài đặt bất kỳ ứng dụng mới nào trên hệ thống này."
#: plinth/modules/diagnostics/__init__.py:236
#, no-python-format, python-brace-format
msgid ""
"System is low on memory: {percent_used}% used, {memory_available} "
"{memory_available_unit} free. {advice_message}"
msgstr ""
"Hệ thống còn ít bộ nhớ: đã sử dụng {percent_used}%, còn trống "
"{memory_available} {memory_available_unit}. {advice_message}"
#: plinth/modules/diagnostics/__init__.py:238
msgid "Low Memory"
msgstr "Ít bộ nhớ"
#: plinth/modules/diagnostics/templates/diagnostics.html:17
#: plinth/modules/diagnostics/templates/diagnostics_button.html:11
msgid "Run Diagnostics"
msgstr "Chạy chẩn đoán"
#: plinth/modules/diagnostics/templates/diagnostics.html:20
msgid "Diagnostics test is currently running"
msgstr "Kiểm tra chẩn đoán hiện đang chạy"
#: plinth/modules/diagnostics/templates/diagnostics.html:33
msgid "Results"
msgstr "Kết quả"
#: plinth/modules/diagnostics/templates/diagnostics.html:36
#, python-format
msgid ""
"\n"
" App: %(app_name)s\n"
" "
msgstr ""
"\n"
" Ứng dụng: %(app_name)s\n"
" "
#: plinth/modules/diagnostics/templates/diagnostics_app.html:10
msgid "Diagnostic Results"
msgstr "Kết quả chẩn đoán"
#: plinth/modules/diagnostics/templates/diagnostics_app.html:12
#, python-format
msgid "App: %(app_name)s"
msgstr "Ứng dụng: %(app_name)s"
#: plinth/modules/diagnostics/templates/diagnostics_app.html:21
msgid "This app does not support diagnostics"
msgstr "Ứng dụng này không hỗ trợ chẩn đoán"
#: plinth/modules/diagnostics/templates/diagnostics_results.html:11
msgid "Test"
msgstr "Kiểm tra"
#: plinth/modules/diagnostics/templates/diagnostics_results.html:12
#: plinth/modules/dynamicdns/templates/dynamicdns.html:20
msgid "Result"
msgstr "Kết quả"
#: plinth/modules/diagnostics/views.py:68
msgid "Diagnostic Test"
msgstr "Kiểm tra chẩn đoán"
#: plinth/modules/dynamicdns/__init__.py:28
#, python-brace-format
msgid ""
"If your Internet provider changes your IP address periodically (i.e. every "
"24h), it may be hard for others to find you on the Internet. This will "
"prevent others from finding services which are provided by this {box_name}."
msgstr ""
"Nếu nhà cung cấp Internet của bạn đổi địa chỉ IP của bạn định kỳ (vd: mỗi "
"24h), những người khác có thể khó tìm bạn trên Internet. Việc này sẽ ngăn "
"những người khác tìm các dịch vụ được {box_name} này cung cấp."
#: plinth/modules/dynamicdns/__init__.py:32
msgid ""
"The solution is to assign a DNS name to your IP address and update the DNS "
"name every time your IP is changed by your Internet provider. Dynamic DNS "
"allows you to push your current public IP address to a <a href='http://"
"gnudip2.sourceforge.net/' target='_blank'> GnuDIP</a> server. Afterwards, "
"the server will assign your DNS name to the new IP, and if someone from the "
"Internet asks for your DNS name, they will get a response with your current "
"IP address."
msgstr ""
"Giải pháp là phân một tên DNS cho địa chỉ IP của bạn và cập nhật tên DNS mỗi "
"lần IP của bạn bị nhà cung cấp Internet thay đổi. DNS động cho phép bạn đẩy "
"địa chỉ IP công khai hiện tại của bạn đến một máy chủ <a href=\"http://"
"gnudip2.sourceforge.net/\" target=\"_blank\">GnuDIP</a>. Sau đó, máy chủ sẽ "
"phân tên DNS của bạn cho IP mới, và nếu ai đó từ Internet hỏi tên DNS của "
"bạn, họ sẽ nhận một phản hồi với địa chỉ IP hiện tại của bạn."
#: plinth/modules/dynamicdns/__init__.py:40
#, fuzzy
#| msgid ""
#| "If you are looking for a free dynamic DNS account, you may find a free "
#| "GnuDIP service at <a href='http://gnudip.datasystems24.net' "
#| "target='_blank'>gnudip.datasystems24.net</a> or you may find free update "
#| "URL based services at <a href='http://freedns.afraid.org/' "
#| "target='_blank'> freedns.afraid.org</a>."
msgid ""
"If you are looking for a free dynamic DNS account, you may find a free "
"GnuDIP service at <a href='https://ddns.freedombox.org' target='_blank'>ddns."
"freedombox.org</a> or you may find free update URL based services at <a "
"href='http://freedns.afraid.org/' target='_blank'>freedns.afraid.org</a>."
msgstr ""
"Nếu bạn đang tìm một tài khoản DNS động miễn phí, bạn có thể tìm một dịch vụ "
"GnuDIP miễn phí tại <a href=\"http://gnudip.datasystems24.net\" target="
"\"_blank\">gnudip.datasystems24.net</a> hoặc bạn có thể tìm các dịch vụ miễn "
"phí dựa trên URL cập nhật tại <a href=\"http://freedns.afraid.org/\" target="
"\"_blank\">freedns.afraid.org</a>."
#: plinth/modules/dynamicdns/__init__.py:61
msgid "Dynamic DNS Client"
msgstr "Ứng dụng khách DNS động"
#: plinth/modules/dynamicdns/__init__.py:74
msgid "Dynamic Domain Name"
msgstr "Tên miền động"
#: plinth/modules/dynamicdns/forms.py:18
msgid ""
"The Variables &lt;User&gt;, &lt;Pass&gt;, &lt;Ip&gt;, &lt;Domain&gt; may be "
"used within the URL. For details see the update URL templates of the example "
"providers."
msgstr ""
"Các biến số &lt;User&gt;, &lt;Pass&gt;, &lt;Ip&gt;, &lt;Domain&gt; có thể "
"được sử dụng trong URL. Để biết thêm chi tiết, hãy xem các mẫu URL cập nhật "
"của những nhà cung cấp trong ví dụ."
#: plinth/modules/dynamicdns/forms.py:22
msgid ""
"Please choose an update protocol according to your provider. If your "
"provider does not support the GnuDIP protocol or your provider is not listed "
"you may use the update URL of your provider."
msgstr ""
"Vui lòng chọn một giao thức cập nhật theo như nhà cung cấp của bạn. Nếu nhà "
"cung cấp không hỗ trợ giao thức GnuDIP hoặc nhà cung cấp không được liệt kê, "
"bạn có thể sử dụng URL cập nhật của nhà cung cấp."
#: plinth/modules/dynamicdns/forms.py:27
msgid ""
"Please do not enter a URL here (like \"https://example.com/\") but only the "
"hostname of the GnuDIP server (like \"example.com\")."
msgstr ""
"Vui lòng đừng nhập một URL ở đây (như \"https://example.com/\") mà chỉ nhập "
"tên miền của máy chủ GnuDIP (như \"example.com\")."
#: plinth/modules/dynamicdns/forms.py:31
#, python-brace-format
msgid "The public domain name you want to use to reach your {box_name}."
msgstr "Tên miền công khai bạn muốn sử dụng để kết nối đến {box_name} của bạn."
#: plinth/modules/dynamicdns/forms.py:34
msgid "Use this option if your provider uses self signed certificates."
msgstr ""
"Sử dụng tuỳ chọn này nếu nhà cung cấp của bạn sử dụng các chứng chỉ tự ký."
#: plinth/modules/dynamicdns/forms.py:37
msgid ""
"If this option is selected, your username and password will be used for HTTP "
"basic authentication."
msgstr ""
"Nếu tuỳ chọn này được chọn, tên người dùng và mật khẩu của bạn sẽ được sử "
"dụng để xác thực HTTP cơ bản."
#: plinth/modules/dynamicdns/forms.py:40
msgid "Leave this field empty if you want to keep your current password."
msgstr "Bỏ trống ô này nếu bạn muốn giữ mật khẩu hiện tại."
#: plinth/modules/dynamicdns/forms.py:43
#, fuzzy, python-brace-format
#| msgid ""
#| "Optional Value. If your {box_name} is not connected directly to the "
#| "Internet (i.e. connected to a NAT router) this URL is used to determine "
#| "the real IP address. The URL should simply return the IP where the client "
#| "comes from (example: http://myip.datasystems24.de)."
msgid ""
"Optional Value. If your {box_name} is not connected directly to the Internet "
"(i.e. connected to a NAT router) this URL is used to determine the real IP "
"address. The URL should simply return the IP where the client comes from "
"(example: https://ddns.freedombox.org/ip/)."
msgstr ""
"Giá trị không bắt buộc. Nếu {box_name} của bạn không được kết nối trực tiếp "
"đến Internet (vd: được kết nối đến một router NAT) URL này được sử dụng để "
"xác định địa chỉ IP thật. URL này nên chỉ đơn giản là trả về địa chỉ IP nơi "
"mà máy khách đến từ đó (vd: http://myip.datasystems24.de)."
#: plinth/modules/dynamicdns/forms.py:51
msgid "The username that was used when the account was created."
msgstr "Tên người dùng được sử dụng khi tài khoản được tạo."
#: plinth/modules/dynamicdns/forms.py:54
msgid "GnuDIP"
msgstr "GnuDIP"
#: plinth/modules/dynamicdns/forms.py:57
#, fuzzy
#| msgid "other update URL"
msgid "Other update URL"
msgstr "URL cập nhật khác"
#: plinth/modules/dynamicdns/forms.py:59
msgid "Service Type"
msgstr "Loại dịch vụ"
#: plinth/modules/dynamicdns/forms.py:64
msgid "GnuDIP Server Address"
msgstr "Địa chỉ máy chủ GnuDIP"
#: plinth/modules/dynamicdns/forms.py:67
msgid "Invalid server name"
msgstr "Tên máy chủ không hợp lệ"
#: plinth/modules/dynamicdns/forms.py:70
msgid "Update URL"
msgstr "URL cập nhật"
#: plinth/modules/dynamicdns/forms.py:74
msgid "Accept all SSL certificates"
msgstr "Chấp nhận tất cả chứng chỉ SSL"
#: plinth/modules/dynamicdns/forms.py:78
msgid "Use HTTP basic authentication"
msgstr "Sử dụng xác thực HTTP cơ bản"
#: plinth/modules/dynamicdns/forms.py:88 plinth/modules/networks/forms.py:212
#: plinth/modules/users/forms.py:68
msgid "Username"
msgstr "Tên người dùng"
#: plinth/modules/dynamicdns/forms.py:95 plinth/modules/networks/forms.py:215
msgid "Show password"
msgstr "Hiện mật khẩu"
#: plinth/modules/dynamicdns/forms.py:99
msgid "URL to look up public IP"
msgstr "URL để tra cứu IP công khai"
#: plinth/modules/dynamicdns/forms.py:104
msgid "Use IPv6 instead of IPv4"
msgstr "Sử dụng IPv6 thay vì IPv4"
#: plinth/modules/dynamicdns/forms.py:123
msgid "This field is required."
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:11
#: plinth/modules/ejabberd/templates/ejabberd.html:13
#: plinth/modules/firewall/templates/firewall.html:16
#: plinth/modules/firewall/templates/firewall.html:22
#: plinth/modules/letsencrypt/templates/letsencrypt.html:17
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:12
#: plinth/modules/networks/templates/connection_show.html:254
#: plinth/modules/samba/templates/samba.html:67
#: plinth/modules/tor/templates/tor.html:19
#: plinth/modules/upgrades/templates/upgrades_configure.html:14
#: plinth/modules/wireguard/templates/wireguard_show_client.html:48
#: plinth/modules/wireguard/templates/wireguard_show_server.html:47
msgid "Status"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:18
#: plinth/modules/email/templates/email.html:35
#: plinth/modules/letsencrypt/templates/letsencrypt.html:24
#: plinth/modules/mediawiki/forms.py:34
msgid "Domain"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:19
msgid "Last update"
msgstr ""
#: plinth/modules/dynamicdns/templates/dynamicdns.html:21
#, fuzzy
#| msgid "IP addresses"
msgid "IP Address"
msgstr "Địa chỉ IP"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:32
#, fuzzy
#| msgid "Access"
msgid "Success"
msgstr "Truy cập"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:36
#, fuzzy
#| msgid "failed"
msgid "Failed"
msgstr "đã trượt"
#: plinth/modules/dynamicdns/templates/dynamicdns.html:52
#, fuzzy
#| msgid "No libraries available."
msgid "No status available."
msgstr "Không có thư viện nào có sẵn."
#: plinth/modules/dynamicdns/views.py:24 plinth/modules/dynamicdns/views.py:26
#, fuzzy
#| msgid "Connection refused"
msgid "Connection timed out"
msgstr "Kết nối bị từ chối"
#: plinth/modules/dynamicdns/views.py:25
msgid "Could not find server"
msgstr ""
#: plinth/modules/dynamicdns/views.py:27
msgid "Server refused connection"
msgstr ""
#: plinth/modules/dynamicdns/views.py:28
msgid "Already up-to-date"
msgstr ""
#: plinth/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 ""
#: plinth/modules/ejabberd/__init__.py:32
#, python-brace-format
msgid ""
"To actually communicate, you can use the <a href=\"{jsxc_url}\">web client</"
"a> or any other <a href='https://xmpp.org/software/clients' "
"target='_blank'>XMPP client</a>. When enabled, ejabberd can be accessed by "
"any <a href=\"{users_url}\"> user with a {box_name} login</a>."
msgstr ""
#: plinth/modules/ejabberd/__init__.py:40
#, python-brace-format
msgid ""
"ejabberd needs a STUN/TURN server for audio/video calls. Install the <a "
"href={coturn_url}>Coturn</a> app or configure an external server."
msgstr ""
#: plinth/modules/ejabberd/__init__.py:61
msgid "ejabberd"
msgstr ""
#: plinth/modules/ejabberd/__init__.py:62
#: plinth/modules/matrixsynapse/__init__.py:56
msgid "Chat Server"
msgstr ""
#: plinth/modules/ejabberd/forms.py:19
#, fuzzy
#| msgid "Domain Names"
msgid "Domain names"
msgstr "Tên miền"
#: plinth/modules/ejabberd/forms.py:21
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 ""
#: plinth/modules/ejabberd/forms.py:26
msgid "Enable Message Archive Management"
msgstr ""
#: plinth/modules/ejabberd/forms.py:28
#, python-brace-format
msgid ""
"If enabled, your {box_name} will store chat message histories. This allows "
"synchronization of conversations between multiple clients, and reading the "
"history of a multi-user chat room. It depends on the client settings whether "
"the histories are stored as plain text or encrypted."
msgstr ""
#: plinth/modules/ejabberd/forms.py:35 plinth/modules/matrixsynapse/forms.py:22
msgid "Automatically manage audio/video call setup"
msgstr ""
#: plinth/modules/ejabberd/forms.py:37
#, python-brace-format
msgid ""
"Configures the local <a href={coturn_url}>coturn</a> app as the STUN/TURN "
"server for ejabberd. Disable this if you want to use a different STUN/TURN "
"server."
msgstr ""
#: plinth/modules/ejabberd/forms.py:44 plinth/modules/matrixsynapse/forms.py:31
msgid "STUN/TURN Server URIs"
msgstr ""
#: plinth/modules/ejabberd/forms.py:46 plinth/modules/matrixsynapse/forms.py:33
msgid "List of public URIs of the STUN/TURN server, one on each line."
msgstr ""
#: plinth/modules/ejabberd/forms.py:50 plinth/modules/matrixsynapse/forms.py:37
msgid "Shared Authentication Secret"
msgstr ""
#: plinth/modules/ejabberd/forms.py:51 plinth/modules/matrixsynapse/forms.py:38
msgid "Shared secret used to compute passwords for the TURN server."
msgstr ""
#: plinth/modules/ejabberd/manifest.py:10
msgid "Conversations"
msgstr ""
#: plinth/modules/ejabberd/manifest.py:24
msgid "Xabber"
msgstr ""
#: plinth/modules/ejabberd/manifest.py:26
msgid ""
"Open source Jabber (XMPP) client with multi-account support and clean and "
"simple interface. "
msgstr ""
#: plinth/modules/ejabberd/manifest.py:41
msgid "Yaxim"
msgstr ""
#: plinth/modules/ejabberd/manifest.py:55
msgid "ChatSecure"
msgstr ""
#: plinth/modules/ejabberd/manifest.py:57
msgid ""
"ChatSecure is a free and open source messaging app that features OTR "
"encryption over XMPP. You can connect to an existing Google account, create "
"new accounts on public XMPP servers (including via Tor), or even connect to "
"your own server for extra security."
msgstr ""
#: plinth/modules/ejabberd/manifest.py:72
msgid "Dino"
msgstr ""
#: plinth/modules/ejabberd/manifest.py:84
msgid "Gajim"
msgstr ""
#: plinth/modules/ejabberd/templates/ejabberd.html:18
#, python-format
msgid ""
"Your XMPP server domain is set to <b>%(domainname)s</b>. User IDs will look "
"like <i>username@%(domainname)s</i>. You can setup your domain on the system "
"<a href=\"%(index_url)s\">Configure</a> page."
msgstr ""
#: plinth/modules/email/__init__.py:25
msgid ""
"This is a complete email server solution using Postfix, Dovecot, and Rspamd. "
"Postfix sends and receives emails. Dovecot allows email clients to access "
"your mailbox using IMAP and POP3. Rspamd deals with spam."
msgstr ""
#: plinth/modules/email/__init__.py:29
msgid ""
"Email server currently does not work with many free domain services "
"including those provided by the FreedomBox Foundation. Many ISPs also "
"restrict outgoing email. Some lift the restriction after an explicit "
"request. See manual page for more information."
msgstr ""
#: plinth/modules/email/__init__.py:34
#, python-brace-format
msgid ""
"Each user on {box_name} gets an email address like user@mydomain.example. "
"They will also receive mail from all addresses that look like user"
"+foo@mydomain.example. Further, they can add aliases to their email address. "
"Necessary aliases such as \"postmaster\" are automatically created pointing "
"to the first admin user."
msgstr ""
#: plinth/modules/email/__init__.py:40
msgid ""
"<a href=\"/plinth/apps/roundcube/\">Roundcube app</a> provides web interface "
"for users to access email."
msgstr ""
#: plinth/modules/email/__init__.py:42
msgid ""
"During installation, any other email servers in the system will be "
"uninstalled."
msgstr ""
#: plinth/modules/email/__init__.py:61
msgid "Postfix/Dovecot"
msgstr ""
#: plinth/modules/email/__init__.py:63
#, fuzzy
#| msgid "Domain Name Server"
msgid "Email Server"
msgstr "Máy chủ tên miền"
#: plinth/modules/email/__init__.py:83
#, fuzzy
#| msgid "Manage Libraries"
msgid "My Email Aliases"
msgstr "Quản lý thư viện"
#: plinth/modules/email/__init__.py:84
#, fuzzy
#| msgid "Manage Libraries"
msgid "Manage Aliases for Mailbox"
msgstr "Quản lý thư viện"
#: plinth/modules/email/forms.py:25
#, fuzzy
#| msgid "TLS domain"
msgid "Primary domain"
msgstr "Miền TLS"
#: plinth/modules/email/forms.py:27
msgid ""
"Mails are received for all domains configured in the system. Among these, "
"select the most important one."
msgstr ""
#: plinth/modules/email/forms.py:35
msgid "New alias (without @domain)"
msgstr ""
#: plinth/modules/email/forms.py:42
msgid "Contains illegal characters"
msgstr ""
#: plinth/modules/email/forms.py:45
msgid "Must start and end with a-z or 0-9"
msgstr ""
#: plinth/modules/email/forms.py:49
msgid "Cannot be a number"
msgstr ""
#: plinth/modules/email/forms.py:59
#, fuzzy
#| msgid "Manage Libraries"
msgid "Aliases"
msgstr "Quản lý thư viện"
#: plinth/modules/email/manifest.py:12 plinth/modules/roundcube/__init__.py:49
#: plinth/modules/roundcube/manifest.py:6
msgid "Roundcube"
msgstr ""
#: plinth/modules/email/manifest.py:20 plinth/modules/radicale/manifest.py:36
msgid "Thunderbird"
msgstr ""
#: plinth/modules/email/manifest.py:37
msgid "K-9 Mail"
msgstr ""
#: plinth/modules/email/manifest.py:52
msgid "FairEmail"
msgstr ""
#: plinth/modules/email/templates/email-aliases.html:13
#: plinth/modules/email/templates/email.html:15
#, fuzzy
#| msgid "Manage Libraries"
msgid "Manage Aliases"
msgstr "Quản lý thư viện"
#: plinth/modules/email/templates/email-aliases.html:16
msgid "You have no email aliases."
msgstr ""
#: plinth/modules/email/templates/email-aliases.html:28
#, fuzzy
#| msgid "Create a new backup"
msgid "Create a new email alias"
msgstr "Tạo một bản sao lưu mới"
#: plinth/modules/email/templates/email-aliases.html:34
msgid "Add"
msgstr ""
#: plinth/modules/email/templates/email.html:10
#, fuzzy
#| msgid "Manage Libraries"
msgid "Manage Spam"
msgstr "Quản lý thư viện"
#: plinth/modules/email/templates/email.html:22
msgid "DNS Records"
msgstr ""
#: plinth/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 ""
#: plinth/modules/email/templates/email.html:36
msgid "TTL"
msgstr ""
#: plinth/modules/email/templates/email.html:37
msgid "Class"
msgstr ""
#: plinth/modules/email/templates/email.html:39
msgid "Priority"
msgstr ""
#: plinth/modules/email/templates/email.html:40
msgid "Weight"
msgstr ""
#: plinth/modules/email/templates/email.html:41
#: plinth/modules/minetest/templates/minetest.html:18
msgid "Port"
msgstr ""
#: plinth/modules/email/templates/email.html:42
msgid "Host/Target/Value"
msgstr ""
#: plinth/modules/firewall/__init__.py:23
#, python-brace-format
msgid ""
"Firewall is a security system that controls the incoming and outgoing "
"network traffic on your {box_name}. Keeping a firewall enabled and properly "
"configured reduces risk of security threat from the Internet."
msgstr ""
#: plinth/modules/firewall/__init__.py:57
msgid "Firewall"
msgstr ""
#: plinth/modules/firewall/components.py:134
#, python-brace-format
msgid "Port {name} ({details}) available for internal networks"
msgstr ""
#: plinth/modules/firewall/components.py:142
#, python-brace-format
msgid "Port {name} ({details}) available for external networks"
msgstr ""
#: plinth/modules/firewall/components.py:147
#, python-brace-format
msgid "Port {name} ({details}) unavailable for external networks"
msgstr ""
#: plinth/modules/firewall/templates/firewall.html:21
msgid "Service/Port"
msgstr ""
#: plinth/modules/firewall/templates/firewall.html:40
#: plinth/modules/letsencrypt/templates/letsencrypt.html:69
#: plinth/modules/snapshot/forms.py:23 plinth/modules/snapshot/forms.py:29
msgid "Enabled"
msgstr ""
#: plinth/modules/firewall/templates/firewall.html:43
#: plinth/modules/letsencrypt/templates/letsencrypt.html:71
#: plinth/modules/snapshot/forms.py:23 plinth/modules/snapshot/forms.py:29
#: plinth/templates/cards.html:34
msgid "Disabled"
msgstr ""
#: plinth/modules/firewall/templates/firewall.html:58
msgid "Permitted"
msgstr ""
#: plinth/modules/firewall/templates/firewall.html:61
msgid "Permitted (internal only)"
msgstr ""
#: plinth/modules/firewall/templates/firewall.html:64
msgid "Permitted (external only)"
msgstr ""
#: plinth/modules/firewall/templates/firewall.html:67
msgid "Blocked"
msgstr ""
#: plinth/modules/firewall/templates/firewall.html:80
msgid ""
"The operation of the firewall is automatic. When you enable a service it is "
"also permitted in the firewall and when you disable a service it is also "
"disabled in the firewall."
msgstr ""
#: plinth/modules/firewall/templates/firewall.html:88
#: plinth/modules/networks/templates/networks_configuration.html:22
#: plinth/modules/storage/templates/storage.html:93
msgid "Advanced"
msgstr ""
#: plinth/modules/firewall/templates/firewall.html:90
msgid ""
"Advanced firewall operations such as opening custom ports are provided by "
"the <a href=\"/_cockpit/network/firewall\">Cockpit</a> app."
msgstr ""
#: plinth/modules/first_boot/forms.py:14
#, 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}"
msgstr ""
#: plinth/modules/first_boot/forms.py:19
msgid "Firstboot Wizard Secret"
msgstr ""
#: plinth/modules/first_boot/templates/firstboot_complete.html:11
msgid "Setup Complete!"
msgstr ""
#: plinth/modules/first_boot/templates/firstboot_complete.html:14
#, python-format
msgid "Without any apps, your %(box_name)s cannot do very much."
msgstr ""
#: plinth/modules/first_boot/templates/firstboot_complete.html:21
msgid "Install Apps"
msgstr ""
#: plinth/modules/first_boot/templates/firstboot_complete.html:27
#, python-format
msgid ""
"You may want to check the <a href=\"%(networks_url)s\">network setup</a> and "
"modify it if necessary."
msgstr ""
#: plinth/modules/first_boot/templates/firstboot_welcome.html:29
msgid "Start Setup"
msgstr ""
#: plinth/modules/first_boot/views.py:50
msgid "Setup Complete"
msgstr ""
#: plinth/modules/gitweb/__init__.py:21
msgid ""
"Git is a distributed version-control system for tracking changes in source "
"code during software development. Gitweb provides a web interface to Git "
"repositories. You can browse history and content of source code, use search "
"to find relevant commits and code. You can also clone repositories and "
"upload code changes with a command-line Git client or with multiple "
"available graphical clients. And you can share your code with people around "
"the world."
msgstr ""
#: plinth/modules/gitweb/__init__.py:28
msgid ""
"To learn more on how to use Git visit <a href=\"https://git-scm.com/docs/"
"gittutorial\">Git tutorial</a>."
msgstr ""
#: plinth/modules/gitweb/__init__.py:44
msgid "Read-write access to Git repositories"
msgstr ""
#: plinth/modules/gitweb/__init__.py:49 plinth/modules/gitweb/manifest.py:10
msgid "Gitweb"
msgstr ""
#: plinth/modules/gitweb/__init__.py:50
msgid "Simple Git Hosting"
msgstr ""
#: plinth/modules/gitweb/forms.py:58
msgid "Invalid repository URL."
msgstr ""
#: plinth/modules/gitweb/forms.py:68
msgid "Invalid repository name."
msgstr ""
#: plinth/modules/gitweb/forms.py:76
msgid "Name of a new repository or URL to import an existing repository."
msgstr ""
#: plinth/modules/gitweb/forms.py:82
msgid "Description of the repository"
msgstr ""
#: plinth/modules/gitweb/forms.py:83 plinth/modules/gitweb/forms.py:87
msgid "Optional, for displaying on Gitweb."
msgstr ""
#: plinth/modules/gitweb/forms.py:85
msgid "Repository's owner name"
msgstr ""
#: plinth/modules/gitweb/forms.py:90
msgid "Private repository"
msgstr ""
#: plinth/modules/gitweb/forms.py:91
msgid "Allow only authorized users to access this repository."
msgstr ""
#: plinth/modules/gitweb/forms.py:112 plinth/modules/gitweb/forms.py:154
msgid "A repository with this name already exists."
msgstr ""
#: plinth/modules/gitweb/forms.py:125
msgid "Name of the repository"
msgstr ""
#: plinth/modules/gitweb/forms.py:129
msgid "An alpha-numeric string that uniquely identifies a repository."
msgstr ""
#: plinth/modules/gitweb/forms.py:133
msgid "Default branch"
msgstr ""
#: plinth/modules/gitweb/forms.py:134
msgid "Gitweb displays this as a default branch."
msgstr ""
#: plinth/modules/gitweb/manifest.py:18
msgid "Git"
msgstr ""
#: plinth/modules/gitweb/templates/gitweb_configure.html:13
msgid "Manage Repositories"
msgstr ""
#: plinth/modules/gitweb/templates/gitweb_configure.html:17
#: plinth/modules/gitweb/templates/gitweb_configure.html:19
msgid "Create repository"
msgstr ""
#: plinth/modules/gitweb/templates/gitweb_configure.html:26
msgid "No repositories available."
msgstr ""
#: plinth/modules/gitweb/templates/gitweb_configure.html:35
#, python-format
msgid "Go to repository %(repo.name)s"
msgstr ""
#: plinth/modules/gitweb/templates/gitweb_configure.html:42
msgid "Cloning…"
msgstr ""
#: plinth/modules/gitweb/templates/gitweb_configure.html:59
#, python-format
msgid "Delete repository %(repo.name)s"
msgstr ""
#: plinth/modules/gitweb/templates/gitweb_delete.html:12
#, python-format
msgid "Delete Git Repository <em>%(name)s</em>"
msgstr ""
#: plinth/modules/gitweb/templates/gitweb_delete.html:18
msgid "Delete this repository permanently?"
msgstr ""
#: plinth/modules/gitweb/views.py:46
msgid "Repository created."
msgstr ""
#: plinth/modules/gitweb/views.py:69
msgid "An error occurred while creating the repository."
msgstr ""
#: plinth/modules/gitweb/views.py:84
msgid "Repository edited."
msgstr ""
#: plinth/modules/gitweb/views.py:89
msgid "Edit repository"
msgstr ""
#: plinth/modules/help/__init__.py:33
msgid "Documentation"
msgstr ""
#: plinth/modules/help/__init__.py:37 plinth/templates/help-menu.html:20
#: plinth/templates/help-menu.html:21 plinth/templates/index.html:120
msgctxt "User guide"
msgid "Manual"
msgstr ""
#: plinth/modules/help/__init__.py:41
#: plinth/modules/help/templates/help_support.html:9
#: plinth/modules/help/views.py:90 plinth/templates/help-menu.html:27
#: plinth/templates/help-menu.html:28
msgid "Get Support"
msgstr ""
#: plinth/modules/help/__init__.py:45
#: plinth/modules/help/templates/help_feedback.html:9
#: plinth/modules/help/views.py:84 plinth/templates/help-menu.html:33
#: plinth/templates/help-menu.html:34
msgid "Submit Feedback"
msgstr ""
#: plinth/modules/help/__init__.py:49
#: plinth/modules/help/templates/help_contribute.html:9
#: plinth/modules/help/views.py:73 plinth/templates/help-menu.html:39
#: plinth/templates/help-menu.html:40
msgid "Contribute"
msgstr ""
#: plinth/modules/help/__init__.py:53 plinth/templates/help-menu.html:46
#: plinth/templates/help-menu.html:47
msgid "About"
msgstr ""
#: plinth/modules/help/templates/help_about.html:17
#: plinth/modules/upgrades/templates/upgrades_configure.html:26
#, python-format
msgid "You are running %(os_release)s and %(box_name)s version %(version)s."
msgstr ""
#: plinth/modules/help/templates/help_about.html:23
#, python-format
msgid ""
"There is a new %(box_name)s version <a href=\"%(upgrades_url)s\">available</"
"a>."
msgstr ""
#: plinth/modules/help/templates/help_about.html:28
#: plinth/modules/upgrades/templates/upgrades_configure.html:37
#, python-format
msgid "%(box_name)s is up to date."
msgstr ""
#: plinth/modules/help/templates/help_about.html:35
#, python-format
msgid ""
"%(box_name)s is a community project to develop, design and promote personal "
"servers running free software for private, personal communications. It is a "
"networking appliance designed to allow interfacing with the rest of the "
"Internet under conditions of protected privacy and data security. It hosts "
"applications such as blog, wiki, website, social network, email, web proxy "
"and a Tor relay, on a device that can replace your Wi-Fi router, so that "
"your data stays with you."
msgstr ""
#: plinth/modules/help/templates/help_about.html:48
msgid ""
"We live in a world where our use of the network is mediated by those who "
"often do not have our best interests at heart. By building software that "
"does not rely on a central service, we can regain control and privacy. By "
"keeping our data in our homes, we gain useful legal protections over it. By "
"giving back power to the users over their networks and machines, we are "
"returning the Internet to its intended peer-to-peer architecture."
msgstr ""
#: plinth/modules/help/templates/help_about.html:61
#, python-format
msgid ""
"There are a number of projects working to realize a future of distributed "
"services; %(box_name)s aims to bring them all together in a convenient "
"package."
msgstr ""
#: plinth/modules/help/templates/help_about.html:69
#, python-format
msgid ""
"For more information about the %(box_name)s project, see the <a href="
"\"https://wiki.debian.org/FreedomBox\">%(box_name)s Wiki</a>."
msgstr ""
#: plinth/modules/help/templates/help_about.html:78
msgid "Learn more"
msgstr ""
#: plinth/modules/help/templates/help_base.html:21
#: plinth/modules/help/templates/help_index.html:61
#, python-format
msgid "%(box_name)s Setup"
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:12
msgid "The FreedomBox project welcomes contributions of all kinds."
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:18
msgid ""
"You can contribute by writing code, testing and reporting bugs, discussing "
"new use cases and applications, designing logos and artwork, providing "
"support to your fellow users, translating FreedomBox and its applications "
"into your language, hosting hackathons or install fests, and by spreading "
"the word."
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:28
msgid ""
"You can also help the project financially by <a href=\"https://"
"freedomboxfoundation.org/donate/\">donating</a> to the non-profit FreedomBox "
"Foundation. Founded in 2011, the FreedomBox Foundation is a non-profit "
"organization with 501(c)(3) status based in New York City that exists to "
"support FreedomBox. It provides technical infrastructure and legal services "
"for the project, pursues partnerships, and advocates for FreedomBox "
"throughout the world. The FreedomBox Foundation would not exist without its "
"supporters."
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:42
#: plinth/modules/power/templates/power_restart.html:27
#: plinth/modules/power/templates/power_shutdown.html:26
#: plinth/templates/app-header.html:53
msgid "Learn more..."
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:46
msgid "How can I help?"
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:48
msgid ""
"Below is a list of opportunities for contributing to Debian. It has been "
"filtered to only show packages that are installed on this system."
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:59
msgid "Show issues"
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:63
msgid "Packages that will be removed from Debian testing"
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:69
#: plinth/modules/help/templates/help_contribute.html:85
msgid "source package:"
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:80
msgid "Packages that are not in Debian testing"
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:92
msgid "Good first issues for beginners"
msgstr ""
#: plinth/modules/help/templates/help_contribute.html:104
msgid "Issues for which the package maintainer has requested help"
msgstr ""
#: plinth/modules/help/templates/help_feedback.html:12
#, python-format
msgid "Your feedback will help us improve %(box_name)s!"
msgstr ""
#: plinth/modules/help/templates/help_feedback.html:18
msgid ""
"Let us know about missing features, your favourite apps and how we can "
"improve them on our <a href=\"https://discuss.freedombox.org\" target="
"\"_blank\"> discussion forum</a>."
msgstr ""
#: plinth/modules/help/templates/help_feedback.html:26
msgid ""
"If you find any bugs or issues, please use the <a href=\"https://salsa."
"debian.org/freedombox-team/freedombox/issues\" target=\"_blank\">issue "
"tracker</a> to let our developers know. To report, first check if the issue "
"is already reported and then use the \"New issue\" button."
msgstr ""
#: plinth/modules/help/templates/help_feedback.html:36
msgid "Thank you!"
msgstr ""
#: plinth/modules/help/templates/help_index.html:12
#: plinth/templates/help-menu.html:8 plinth/templates/help-menu.html:14
msgid "Help"
msgstr ""
#: plinth/modules/help/templates/help_index.html:16
#, python-format
msgid ""
"The <a href=\"%(manual_url)s\">%(box_name)s Manual</a> is the best place to "
"start for information regarding %(box_name)s."
msgstr ""
#: plinth/modules/help/templates/help_index.html:23
#, python-format
msgid ""
"<a href=\"http://wiki.debian.org/FreedomBox\" target=\"_blank\"> "
"%(box_name)s project wiki </a> contains further information."
msgstr ""
#: plinth/modules/help/templates/help_index.html:30
#, python-format
msgid ""
"To seek help from %(box_name)s community, queries may be posted on the <a "
"href=\"https://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss"
"\"> mailing list</a>. The list archives also contain information about "
"problems faced by other users and possible solutions."
msgstr ""
#: plinth/modules/help/templates/help_index.html:40
#, python-format
msgid ""
"Many %(box_name)s contributors and users are also available on the irc.oftc."
"net IRC network. Join and request help on the <a href=\"https://webchat."
"oftc.net/?randomnick=1&channels=freedombox&prompt=1\"> #freedombox</a> "
"channel using the IRC web interface."
msgstr ""
#: plinth/modules/help/templates/help_manual.html:18
msgid "Download as PDF"
msgstr ""
#: plinth/modules/help/templates/help_support.html:12
#, python-format
msgid ""
"If you need help in getting something done or if you are facing problems "
"using %(box_name)s, you can ask for help from our community of users and "
"contributors."
msgstr ""
#: plinth/modules/help/templates/help_support.html:20
msgid ""
"Search for past discussions or post a new query on our <a href=\"https://"
"discuss.freedombox.org\" target=\"_blank\">discussion forum</a>."
msgstr ""
#: plinth/modules/help/templates/help_support.html:27
msgid ""
"You can also chat with us on our IRC and Matrix channels (bridged): <ul> "
"<li>#freedombox on irc.oftc.net</li> <li>#freedombox:matrix.org</li> </ul> "
"Or send an email to our <a href=\"mailto:freedombox-discuss@alioth-lists."
"debian.net\">mailing list</a>."
msgstr ""
#: plinth/modules/help/templates/statuslog.html:10
msgid "Status Log"
msgstr ""
#: plinth/modules/help/templates/statuslog.html:13
#, python-format
msgid ""
"These are the last %(num_lines)s lines of the status log for this web "
"interface. If you want to report a bug, please use the <a href=\"https://"
"salsa.debian.org/freedombox-team/freedombox/issues\">bug tracker</a> and "
"attach this status log to the bug report."
msgstr ""
#: plinth/modules/help/templates/statuslog.html:24
msgid ""
"Please remove any passwords or other personal information from the log "
"before submitting the bug report."
msgstr ""
#: plinth/modules/help/views.py:28
msgid "Documentation and FAQ"
msgstr ""
#: plinth/modules/help/views.py:96
#, python-brace-format
msgid "About {box_name}"
msgstr ""
#: plinth/modules/help/views.py:130
#, python-brace-format
msgid "{box_name} Manual"
msgstr ""
#: plinth/modules/i2p/__init__.py:19
msgid ""
"The Invisible Internet Project is an anonymous network layer intended to "
"protect communication from censorship and surveillance. I2P provides "
"anonymity by sending encrypted traffic through a volunteer-run network "
"distributed around the world."
msgstr ""
#: plinth/modules/i2p/__init__.py:23
msgid ""
"Find more information about I2P on their project <a href=\"https://geti2p.net"
"\" target=\"_blank\">homepage</a>."
msgstr ""
#: plinth/modules/i2p/__init__.py:25
msgid ""
"The first visit to the provided web interface will initiate the "
"configuration process."
msgstr ""
#: plinth/modules/i2p/__init__.py:47
msgid "Manage I2P application"
msgstr ""
#: plinth/modules/i2p/__init__.py:50 plinth/modules/i2p/manifest.py:13
msgid "I2P"
msgstr ""
#: plinth/modules/i2p/__init__.py:51 plinth/modules/tor/__init__.py:49
msgid "Anonymity Network"
msgstr ""
#: plinth/modules/i2p/__init__.py:77
msgid "I2P Proxy"
msgstr ""
#: plinth/modules/i2p/templates/i2p.html:12
msgid "I2P Proxies and Tunnels"
msgstr ""
#: plinth/modules/i2p/templates/i2p.html:21
#: plinth/modules/i2p/templates/i2p.html:34 plinth/templates/clients.html:28
msgid "Launch"
msgstr ""
#: plinth/modules/i2p/templates/i2p.html:25
msgid "Anonymous Torrents"
msgstr ""
#: plinth/modules/i2p/views.py:16
msgid ""
"I2P lets you browse the Internet and hidden services (eepsites) anonymously. "
"For this, your browser, preferably the Tor Browser, needs to be configured "
"with a proxy."
msgstr ""
#: plinth/modules/i2p/views.py:19
msgid ""
"By default HTTP, HTTPS and IRC proxies are available. Additional proxies and "
"tunnels may be configured using the tunnel configuration interface."
msgstr ""
#: plinth/modules/i2p/views.py:24
msgid ""
"I2P provides an application to download files anonymously in a peer-to-peer "
"network. Download files by adding torrents or create a new torrent to share "
"a file."
msgstr ""
#: plinth/modules/ikiwiki/__init__.py:19
msgid ""
"ikiwiki is a simple wiki and blog application. It supports several "
"lightweight markup languages, including Markdown, and common blogging "
"functionality such as comments and RSS feeds."
msgstr ""
#: plinth/modules/ikiwiki/__init__.py:23
#, python-brace-format
msgid ""
"Only {box_name} users in the <b>admin</b> group can <i>create</i> and "
"<i>manage</i> blogs and wikis, but any user in the <b>wiki</b> group can "
"<i>edit</i> existing ones. In the <a href=\"{users_url}\">User "
"Configuration</a> you can change these permissions or add new users."
msgstr ""
#: plinth/modules/ikiwiki/__init__.py:44 plinth/modules/ikiwiki/manifest.py:6
msgid "ikiwiki"
msgstr ""
#: plinth/modules/ikiwiki/__init__.py:45
msgid "Wiki and Blog"
msgstr ""
#: plinth/modules/ikiwiki/__init__.py:72
msgid "View and edit wiki applications"
msgstr ""
#: plinth/modules/ikiwiki/forms.py:17
msgid "Admin Account Name"
msgstr ""
#: plinth/modules/ikiwiki/forms.py:19
msgid "Admin Account Password"
msgstr ""
#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:12
msgid "Manage Wikis and Blogs"
msgstr ""
#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:16
#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:18
#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:10
msgid "Create Wiki or Blog"
msgstr ""
#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:25
msgid "No wikis or blogs available."
msgstr ""
#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31
#, python-format
msgid "Go to site %(site)s"
msgstr ""
#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:38
#, python-format
msgid "Delete site %(site)s"
msgstr ""
#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:18
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:47
#: plinth/modules/snapshot/templates/snapshot.html:16
#: plinth/templates/app.html:55
msgid "Update setup"
msgstr "Cập nhật thiết lập"
#: plinth/modules/ikiwiki/templates/ikiwiki_delete.html:12
#, python-format
msgid "Delete Wiki or Blog <em>%(name)s</em>"
msgstr ""
#: plinth/modules/ikiwiki/templates/ikiwiki_delete.html:18
msgid ""
"This action will remove all the posts, pages and comments including revision "
"history. Delete this wiki or blog permanently?"
msgstr ""
#: plinth/modules/ikiwiki/views.py:69
#, python-brace-format
msgid "Created wiki {name}."
msgstr ""
#: plinth/modules/ikiwiki/views.py:72
#, python-brace-format
msgid "Could not create wiki: {error}"
msgstr ""
#: plinth/modules/ikiwiki/views.py:79
#, python-brace-format
msgid "Created blog {name}."
msgstr ""
#: plinth/modules/ikiwiki/views.py:82
#, python-brace-format
msgid "Could not create blog: {error}"
msgstr ""
#: plinth/modules/ikiwiki/views.py:98
#, python-brace-format
msgid "{title} deleted."
msgstr ""
#: plinth/modules/ikiwiki/views.py:102
#, python-brace-format
msgid "Could not delete {title}: {error}"
msgstr ""
#: plinth/modules/infinoted/__init__.py:20
msgid "infinoted is a server for Gobby, a collaborative text editor."
msgstr ""
#: plinth/modules/infinoted/__init__.py:22
#, python-brace-format
msgid ""
"To use it, <a href=\"https://gobby.github.io/\">download Gobby</a>, desktop "
"client and install it. Then start Gobby and select \"Connect to Server\" and "
"enter your {box_name}'s domain name."
msgstr ""
#: plinth/modules/infinoted/__init__.py:41
msgid "infinoted"
msgstr ""
#: plinth/modules/infinoted/__init__.py:42
msgid "Gobby Server"
msgstr ""
#: plinth/modules/infinoted/manifest.py:10
msgid "Gobby"
msgstr ""
#: plinth/modules/infinoted/manifest.py:12
msgid "Gobby is a collaborative text editor"
msgstr ""
#: plinth/modules/infinoted/manifest.py:15
#, python-brace-format
msgid ""
"Start Gobby and select \"Connect to Server\" and enter your {box_name}'s "
"domain name."
msgstr ""
#: plinth/modules/janus/__init__.py:22
msgid "Janus is a lightweight WebRTC server."
msgstr ""
#: plinth/modules/janus/__init__.py:23
msgid "A simple video conference room is included."
msgstr ""
#: plinth/modules/janus/__init__.py:25
#, python-brace-format
msgid "<a href=\"{coturn_url}\">Coturn</a> is required to use Janus."
msgstr ""
#: plinth/modules/janus/__init__.py:41
msgid "Janus"
msgstr ""
#: plinth/modules/janus/__init__.py:43
msgid "Video Room"
msgstr ""
#: plinth/modules/janus/manifest.py:7
msgid "Janus Video Room"
msgstr ""
#: plinth/modules/janus/templates/janus_video_room.html:205
#: plinth/modules/jsxc/templates/jsxc_launch.html:117
#: plinth/templates/base.html:250
msgid "JavaScript license information"
msgstr ""
#: plinth/modules/jsxc/__init__.py:19
msgid ""
"JSXC is a web client for XMPP. Typically it is used with an XMPP server "
"running locally."
msgstr ""
#: plinth/modules/jsxc/__init__.py:38 plinth/modules/jsxc/manifest.py:7
msgid "JSXC"
msgstr ""
#: plinth/modules/jsxc/__init__.py:39
msgid "Chat Client"
msgstr ""
#: plinth/modules/letsencrypt/__init__.py:24
#, python-brace-format
msgid ""
"A digital certificate allows users of a web service to verify the identity "
"of the service and to securely communicate with it. {box_name} can "
"automatically obtain and setup digital certificates for each available "
"domain. It does so by proving itself to be the owner of a domain to Let's "
"Encrypt, a certificate authority (CA)."
msgstr ""
#: plinth/modules/letsencrypt/__init__.py:30
msgid ""
"Let's Encrypt is a free, automated, and open certificate authority, run for "
"the public's benefit by the Internet Security Research Group (ISRG). Please "
"read and agree with the <a href=\"https://letsencrypt.org/repository/"
"\">Let's Encrypt Subscriber Agreement</a> before using this service."
msgstr ""
#: plinth/modules/letsencrypt/__init__.py:57
msgid "Let's Encrypt"
msgstr ""
#: plinth/modules/letsencrypt/__init__.py:58
msgid "Certificates"
msgstr ""
#: plinth/modules/letsencrypt/__init__.py:94
msgid "Cannot test: No domains are configured."
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:25
msgid "Certificate Status"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:26
msgid "Website Security"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:27
#: plinth/modules/storage/templates/storage.html:28
msgid "Actions"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:37
#, python-format
msgid "Valid, expires on %(expiry_date)s"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:44
msgid "Revoked"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:48
#, python-format
msgid "Expired on %(expiry_date)s"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:52
msgid "Invalid test certificate"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:56
#, python-format
msgid "Invalid (%(reason)s)"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:63
msgid "No certificate"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:80
msgid "Re-obtain"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:93
msgid "Revoke"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:101
msgid "Obtain"
msgstr ""
#: plinth/modules/letsencrypt/templates/letsencrypt.html:112
#, python-format
msgid ""
"No domains have been configured. <a href=\"%(config_url)s\">Configure "
"domains</a> to be able to obtain certificates for them."
msgstr ""
#: plinth/modules/letsencrypt/views.py:40
#, python-brace-format
msgid ""
"Certificate successfully revoked for domain {domain}.This may take a few "
"moments to take effect."
msgstr ""
#: plinth/modules/letsencrypt/views.py:46
#, python-brace-format
msgid "Failed to revoke certificate for domain {domain}: {error}"
msgstr ""
#: plinth/modules/letsencrypt/views.py:59
#: plinth/modules/letsencrypt/views.py:76
#, python-brace-format
msgid "Certificate successfully obtained for domain {domain}"
msgstr ""
#: plinth/modules/letsencrypt/views.py:64
#: plinth/modules/letsencrypt/views.py:81
#, python-brace-format
msgid "Failed to obtain certificate for domain {domain}: {error}"
msgstr ""
#: plinth/modules/letsencrypt/views.py:93
#, python-brace-format
msgid "Certificate successfully deleted for domain {domain}"
msgstr ""
#: plinth/modules/letsencrypt/views.py:98
#, python-brace-format
msgid "Failed to delete certificate for domain {domain}: {error}"
msgstr ""
#: plinth/modules/matrixsynapse/__init__.py:26
msgid ""
"<a href=\"https://matrix.org/docs/guides/faq.html\">Matrix</a> is an new "
"ecosystem for open, federated instant messaging and VoIP. Synapse is a "
"server implementing the Matrix protocol. It provides chat groups, audio/"
"video calls, end-to-end encryption, multiple device synchronization and does "
"not require phone numbers to work. Users on a given Matrix server can "
"converse with users on all other Matrix servers via federation."
msgstr ""
#: plinth/modules/matrixsynapse/__init__.py:34
#, python-brace-format
msgid ""
"Matrix Synapse needs a STUN/TURN server for audio/video calls. Install the "
"<a href={coturn_url}>Coturn</a> app or configure an external server."
msgstr ""
#: plinth/modules/matrixsynapse/__init__.py:55
msgid "Matrix Synapse"
msgstr ""
#: plinth/modules/matrixsynapse/forms.py:16
msgid "Enable Public Registration"
msgstr ""
#: plinth/modules/matrixsynapse/forms.py:17
msgid ""
"Enabling public registration means that anyone on the Internet can register "
"a new account on your Matrix server. Disable this if you only want existing "
"users to be able to use it."
msgstr ""
#: plinth/modules/matrixsynapse/forms.py:24
#, python-brace-format
msgid ""
"Configures the local <a href={coturn_url}>coturn</a> app as the STUN/TURN "
"server for Matrix Synapse. Disable this if you want to use a different STUN/"
"TURN server."
msgstr ""
#: plinth/modules/matrixsynapse/manifest.py:14
msgid "Element"
msgstr ""
#: plinth/modules/matrixsynapse/manifest.py:48
msgid "FluffyChat"
msgstr ""
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:15
#: plinth/modules/snapshot/templates/snapshot.html:13
#: plinth/templates/app.html:47
msgid "Configuration"
msgstr "Thiết lập"
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:18
msgid ""
"Matrix service needs to be configured for a domain. Users on other Matrix "
"servers will be able to reach users on this server using this domain name. "
"Matrix user IDs will look like <em>@username:domainname</em>."
msgstr ""
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:26
msgid ""
"\n"
" <strong>Warning!</strong> Changing the domain name after the initial\n"
" setup is currently not supported.\n"
" "
msgstr ""
#: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:35
#, python-format
msgid ""
"No domain(s) are available. <a href=\"%(config_url)s\">Configure</a> at "
"least one domain to be able to use Matrix Synapse."
msgstr ""
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:15
#, python-format
msgid ""
"The Matrix server domain is set to <em>%(domain_name)s</em>. User IDs will "
"look like <em>@username:%(domain_name)s</em>. Changing the domain name after "
"the initial setup is currently not supported."
msgstr ""
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:22
msgid ""
"New users can be registered from any client if public registration is "
"enabled."
msgstr ""
#: plinth/modules/matrixsynapse/templates/matrix-synapse.html:31
#, python-format
msgid ""
"The configured domain name is using a self-signed certificate. Federation "
"with other Matrix Synapse instances requires a valid TLS certificate. Please "
"go to <a href=\"%(letsencrypt_url)s\">Let's Encrypt</a> to obtain one."
msgstr ""
#: plinth/modules/mediawiki/__init__.py:20
msgid ""
"MediaWiki is the wiki engine that powers Wikipedia and other WikiMedia "
"projects. A wiki engine is a program for creating a collaboratively edited "
"website. You can use MediaWiki to host a wiki-like website, take notes or "
"collaborate with friends on projects."
msgstr ""
#: plinth/modules/mediawiki/__init__.py:24
msgid ""
"This MediaWiki instance comes with a randomly generated administrator "
"password. You can set a new password in the \"Configuration\" section and "
"log in using the \"admin\" account. You can then create more user accounts "
"from MediaWiki itself by going to the <a href=\"/mediawiki/index.php/Special:"
"CreateAccount\">Special:CreateAccount</a> page."
msgstr ""
#: plinth/modules/mediawiki/__init__.py:30
msgid ""
"Anyone with a link to this wiki can read it. Only users that are logged in "
"can make changes to the content."
msgstr ""
#: plinth/modules/mediawiki/__init__.py:51
#: plinth/modules/mediawiki/manifest.py:6
msgid "MediaWiki"
msgstr ""
#: plinth/modules/mediawiki/__init__.py:52 plinth/templates/index.html:124
msgid "Wiki"
msgstr ""
#: plinth/modules/mediawiki/forms.py:26
msgid "Administrator Password"
msgstr ""
#: plinth/modules/mediawiki/forms.py:27
msgid ""
"Set a new password for MediaWiki's administrator account (admin). The "
"password cannot be a common one and the minimum required length is "
"<strong>10 characters</strong>. Leave this field blank to keep the current "
"password."
msgstr ""
#: plinth/modules/mediawiki/forms.py:35
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"
"\"."
msgstr ""
#: plinth/modules/mediawiki/forms.py:41
#, fuzzy
#| msgid "Service Type"
msgid "Site Name"
msgstr "Loại dịch vụ"
#: plinth/modules/mediawiki/forms.py:42
msgid "Name of the site as displayed throughout the wiki."
msgstr ""
#: plinth/modules/mediawiki/forms.py:46
msgid "Enable public registrations"
msgstr ""
#: plinth/modules/mediawiki/forms.py:47
msgid ""
"If enabled, anyone on the internet will be able to create an account on your "
"MediaWiki instance."
msgstr ""
#: plinth/modules/mediawiki/forms.py:51
msgid "Enable private mode"
msgstr ""
#: plinth/modules/mediawiki/forms.py:52
msgid ""
"If enabled, access will be restricted. Only people who have accounts can "
"read/write to the wiki. Public registrations will also be disabled."
msgstr ""
#: plinth/modules/mediawiki/forms.py:57
msgid "Default Skin"
msgstr ""
#: plinth/modules/mediawiki/forms.py:58
msgid ""
"Choose a default skin for your MediaWiki installation. Users have the option "
"to select their preferred skin."
msgstr ""
#: plinth/modules/mediawiki/views.py:54
msgid "Password updated"
msgstr ""
#: plinth/modules/mediawiki/views.py:59
msgid "Password update failed. Please choose a stronger password"
msgstr ""
#: plinth/modules/mediawiki/views.py:68
msgid "Public registrations enabled"
msgstr ""
#: plinth/modules/mediawiki/views.py:76
msgid "Public registrations disabled"
msgstr ""
#: plinth/modules/mediawiki/views.py:81
msgid "Private mode enabled"
msgstr ""
#: plinth/modules/mediawiki/views.py:87
msgid "Private mode disabled"
msgstr ""
#: plinth/modules/mediawiki/views.py:95
msgid "Default skin changed"
msgstr ""
#: plinth/modules/mediawiki/views.py:99
#, fuzzy
#| msgid "Domain name set"
msgid "Domain name updated"
msgstr "Đã đặt tên miền"
#: plinth/modules/mediawiki/views.py:103
#, fuzzy
#| msgid "Domain name set"
msgid "Site name updated"
msgstr "Đã đặt tên miền"
#: plinth/modules/minetest/__init__.py:33
#, python-brace-format
msgid ""
"Minetest is a multiplayer infinite-world block sandbox. This module enables "
"the Minetest server to be run on this {box_name}, on the default port "
"(30000). To connect to the server, a <a href=\"http://www.minetest.net/"
"downloads/\">Minetest client</a> is needed."
msgstr ""
#: plinth/modules/minetest/__init__.py:56 plinth/modules/minetest/manifest.py:9
msgid "Minetest"
msgstr ""
#: plinth/modules/minetest/__init__.py:57
msgid "Block Sandbox"
msgstr ""
#: plinth/modules/minetest/forms.py:13
msgid "Maximum number of players"
msgstr ""
#: plinth/modules/minetest/forms.py:15
msgid ""
"You can change the maximum number of players playing minetest at a single "
"instance of time."
msgstr ""
#: plinth/modules/minetest/forms.py:19
msgid "Enable creative mode"
msgstr ""
#: plinth/modules/minetest/forms.py:20
msgid ""
"Creative mode changes the rules of the game to make it more suitable for "
"creative gameplay, rather than challenging \"survival\" gameplay."
msgstr ""
#: plinth/modules/minetest/forms.py:25
msgid "Enable PVP"
msgstr ""
#: plinth/modules/minetest/forms.py:26
msgid "Enabling Player Vs Player will allow players to damage other players."
msgstr ""
#: plinth/modules/minetest/forms.py:30
msgid "Enable damage"
msgstr ""
#: plinth/modules/minetest/forms.py:31
msgid "When disabled, players cannot die or receive damage of any kind."
msgstr ""
#: plinth/modules/minetest/templates/minetest.html:17
#: plinth/modules/networks/forms.py:54 plinth/modules/networks/forms.py:90
msgid "Address"
msgstr ""
#: plinth/modules/minidlna/__init__.py:20
msgid ""
"MiniDLNA is a simple media server software, with the aim of being fully "
"compliant with DLNA/UPnP-AV clients. The MiniDLNA daemon serves media files "
"(music, pictures, and video) to clients on a network. DLNA/UPnP is zero "
"configuration protocol and is compliant with any device passing the DLNA "
"Certification like portable media players, Smartphones, Televisions, and "
"gaming systems (such as PS3 and Xbox 360) or applications such as totem and "
"Kodi."
msgstr ""
#: plinth/modules/minidlna/__init__.py:42
msgid "Media streaming server"
msgstr ""
#: plinth/modules/minidlna/__init__.py:45
msgid "MiniDLNA"
msgstr ""
#: plinth/modules/minidlna/__init__.py:46
msgid "Simple Media Server"
msgstr ""
#: plinth/modules/minidlna/forms.py:13
msgid "Media Files Directory"
msgstr ""
#: plinth/modules/minidlna/forms.py:14
msgid ""
"Directory that MiniDLNA Server will read for content. All sub-directories of "
"this will be also scanned for media files. If you change the default ensure "
"that the new directory exists and that is readable from the \"minidlna\" "
"user. Any user media directories (\"/home/username/\") will usually work."
msgstr ""
#: plinth/modules/minidlna/manifest.py:10
msgid "vlc"
msgstr ""
#: plinth/modules/minidlna/manifest.py:48
msgid "kodi"
msgstr ""
#: plinth/modules/minidlna/manifest.py:81
msgid "yaacc"
msgstr ""
#: plinth/modules/minidlna/manifest.py:91
msgid "totem"
msgstr ""
#: plinth/modules/minidlna/views.py:35
msgid "Specified directory does not exist."
msgstr ""
#: plinth/modules/minidlna/views.py:38
msgid "Updated media directory"
msgstr ""
#: plinth/modules/mumble/__init__.py:25
msgid ""
"Mumble is an open source, low-latency, encrypted, high quality voice chat "
"software."
msgstr ""
#: plinth/modules/mumble/__init__.py:27
msgid ""
"You can connect to your Mumble server on the regular Mumble port 64738. <a "
"href=\"http://mumble.info\">Clients</a> to connect to Mumble from your "
"desktop and mobile devices are available."
msgstr ""
#: plinth/modules/mumble/__init__.py:45 plinth/modules/mumble/manifest.py:9
msgid "Mumble"
msgstr ""
#: plinth/modules/mumble/__init__.py:46
msgid "Voice Chat"
msgstr ""
#: plinth/modules/mumble/forms.py:30
msgid "Set SuperUser Password"
msgstr ""
#: plinth/modules/mumble/forms.py:33
msgid ""
"Optional. Leave this field blank to keep the current password. SuperUser "
"password can be used to manage permissions in Mumble."
msgstr ""
#: plinth/modules/mumble/forms.py:40
msgid "Set a password to join the server"
msgstr ""
#: plinth/modules/mumble/forms.py:42
msgid ""
"Set a password that is required to join the server. Leave empty to use the "
"current password."
msgstr ""
#: plinth/modules/mumble/forms.py:48
msgid "Set the name for the root channel"
msgstr ""
#: plinth/modules/mumble/forms.py:52
msgid ""
"Set the name of the main channel of your mumble server. If the name was "
"never changed, the channel is named Root."
msgstr ""
#: plinth/modules/mumble/manifest.py:34
msgid "Mumblefly"
msgstr ""
#: plinth/modules/mumble/manifest.py:43
msgid "Mumla"
msgstr ""
#: plinth/modules/mumble/views.py:43
msgid "SuperUser password successfully updated."
msgstr ""
#: plinth/modules/mumble/views.py:48
#, fuzzy
#| msgid "Password added."
msgid "Join password changed"
msgstr "Đã thêm mật khẩu."
#: plinth/modules/mumble/views.py:53
msgid "Root channel name changed."
msgstr ""
#: plinth/modules/names/__init__.py:22
#, python-brace-format
msgid ""
"Name Services provides an overview of the ways {box_name} can be reached "
"from the public Internet: domain name, Tor onion service, and Pagekite. For "
"each type of name, it is shown whether the HTTP, HTTPS, and SSH services are "
"enabled or disabled for incoming connections through the given name."
msgstr ""
#: plinth/modules/names/__init__.py:43
msgid "Name Services"
msgstr ""
#: plinth/modules/names/components.py:12
msgid "All"
msgstr ""
#: plinth/modules/names/components.py:16 plinth/modules/names/components.py:20
msgid "All web apps"
msgstr ""
#: plinth/modules/names/components.py:24
msgid "Secure Shell"
msgstr ""
#: plinth/modules/names/templates/names.html:17
msgid "Services"
msgstr ""
#: plinth/modules/networks/__init__.py:34
msgid ""
"Configure network devices. Connect to the Internet via Ethernet, Wi-Fi or "
"PPPoE. Share that connection with other devices on the network."
msgstr ""
#: plinth/modules/networks/__init__.py:36
msgid ""
"Devices administered through other methods may not be available for "
"configuration here."
msgstr ""
#: plinth/modules/networks/__init__.py:57
msgid "Networks"
msgstr ""
#: plinth/modules/networks/forms.py:16
msgid "Connection Type"
msgstr ""
#: plinth/modules/networks/forms.py:28
msgid "Connection Name"
msgstr ""
#: plinth/modules/networks/forms.py:30
msgid "Network Interface"
msgstr ""
#: plinth/modules/networks/forms.py:31
msgid "The network device that this connection should be bound to."
msgstr ""
#: plinth/modules/networks/forms.py:34
msgid "Firewall Zone"
msgstr ""
#: plinth/modules/networks/forms.py:35
msgid ""
"The firewall zone will control which services are available over this "
"interfaces. Select Internal only for trusted networks."
msgstr ""
#: plinth/modules/networks/forms.py:39
msgid "IPv4 Addressing Method"
msgstr ""
#: plinth/modules/networks/forms.py:41
msgid ""
"Automatic (DHCP): Configure automatically, use Internet connection from this "
"network"
msgstr ""
#: plinth/modules/networks/forms.py:44
msgid ""
"Shared: Act as a router, provide Internet connection to other devices on "
"this network"
msgstr ""
#: plinth/modules/networks/forms.py:47 plinth/modules/networks/forms.py:85
msgid ""
"Manual: Use manually specified parameters, use Internet connection from this "
"network"
msgstr ""
#: plinth/modules/networks/forms.py:50
msgid "Disabled: Do not configure this addressing method"
msgstr ""
#: plinth/modules/networks/forms.py:57
msgid "Netmask"
msgstr ""
#: plinth/modules/networks/forms.py:58
msgid ""
"Optional value. If left blank, a default netmask based on the address will "
"be used."
msgstr ""
#: plinth/modules/networks/forms.py:62 plinth/modules/networks/forms.py:97
#: plinth/modules/networks/templates/connection_show.html:193
#: plinth/modules/networks/templates/connection_show.html:234
msgid "Gateway"
msgstr ""
#: plinth/modules/networks/forms.py:62 plinth/modules/networks/forms.py:97
msgid "Optional value."
msgstr ""
#: plinth/modules/networks/forms.py:65 plinth/modules/networks/forms.py:100
msgid "DNS Server"
msgstr ""
#: plinth/modules/networks/forms.py:66
msgid ""
"Optional value. If this value is given and IPv4 addressing method is "
"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored."
msgstr ""
#: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:106
msgid "Second DNS Server"
msgstr ""
#: plinth/modules/networks/forms.py:72
msgid ""
"Optional value. If this value is given and IPv4 Addressing Method is "
"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored."
msgstr ""
#: plinth/modules/networks/forms.py:77
msgid "IPv6 Addressing Method"
msgstr ""
#: plinth/modules/networks/forms.py:79
msgid ""
"Automatic: Configure automatically, use Internet connection from this network"
msgstr ""
#: plinth/modules/networks/forms.py:82
msgid ""
"Automatic (DHCP only): Configure automatically, use Internet connection from "
"this network"
msgstr ""
#: plinth/modules/networks/forms.py:87
msgid "Ignore: Ignore this addressing method"
msgstr ""
#: plinth/modules/networks/forms.py:92
msgid "Prefix"
msgstr ""
#: plinth/modules/networks/forms.py:93
msgid "Value between 1 and 128."
msgstr ""
#: plinth/modules/networks/forms.py:101
msgid ""
"Optional value. If this value is given and IPv6 addressing method is "
"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored."
msgstr ""
#: plinth/modules/networks/forms.py:107
msgid ""
"Optional value. If this value is given and IPv6 Addressing Method is "
"\"Automatic\", the DNS Servers provided by a DHCP server will be ignored."
msgstr ""
#: plinth/modules/networks/forms.py:120
msgid "-- select --"
msgstr ""
#: plinth/modules/networks/forms.py:247
#: plinth/modules/networks/templates/connection_show.html:135
msgid "SSID"
msgstr ""
#: plinth/modules/networks/forms.py:248
msgid "The visible name of the network."
msgstr ""
#: plinth/modules/networks/forms.py:250
#: plinth/modules/networks/templates/connection_show.html:148
msgid "Mode"
msgstr ""
#: plinth/modules/networks/forms.py:250
msgid "Infrastructure"
msgstr ""
#: plinth/modules/networks/forms.py:251
msgid "Access Point"
msgstr ""
#: plinth/modules/networks/forms.py:252
msgid "Ad-hoc"
msgstr ""
#: plinth/modules/networks/forms.py:254
msgid "Frequency Band"
msgstr ""
#: plinth/modules/networks/forms.py:254
msgid "Automatic"
msgstr ""
#: plinth/modules/networks/forms.py:255
msgid "A (5 GHz)"
msgstr ""
#: plinth/modules/networks/forms.py:256
msgid "B/G (2.4 GHz)"
msgstr ""
#: plinth/modules/networks/forms.py:258
#: plinth/modules/networks/templates/connection_show.html:162
msgid "Channel"
msgstr ""
#: plinth/modules/networks/forms.py:259
msgid ""
"Optional value. Wireless channel in the selected frequency band to restrict "
"to. Blank or 0 value means automatic selection."
msgstr ""
#: plinth/modules/networks/forms.py:264
msgid "BSSID"
msgstr ""
#: plinth/modules/networks/forms.py:265
msgid ""
"Optional value. Unique identifier for the access point. When connecting to "
"an access point, connect only if the BSSID of the access point matches the "
"one provided. Example: 00:11:22:aa:bb:cc."
msgstr ""
#: plinth/modules/networks/forms.py:271
msgid "Authentication Mode"
msgstr ""
#: plinth/modules/networks/forms.py:272
msgid ""
"Select WPA if the wireless network is secured and requires clients to have "
"the password to connect."
msgstr ""
#: plinth/modules/networks/forms.py:274
msgid "WPA"
msgstr ""
#: plinth/modules/networks/forms.py:274
msgid "Open"
msgstr ""
#: plinth/modules/networks/forms.py:310
#, python-brace-format
msgid "Specify how your {box_name} is connected to your network"
msgstr ""
#: plinth/modules/networks/forms.py:317
#, python-brace-format
msgid ""
"Connected to a router <p class=\"help-block\">Your {box_name} gets its "
"Internet connection from your router via Wi-Fi or Ethernet cable. This is a "
"typical home setup.</p>"
msgstr ""
#: plinth/modules/networks/forms.py:324
#, python-brace-format
msgid ""
"{box_name} is your router <p class=\"help-block\">Your {box_name} has "
"multiple network interfaces such as multiple Ethernet ports or a Wi-Fi "
"adapter. {box_name} is directly connected to the Internet and all your "
"devices connect to {box_name} for their Internet connectivity.</p>"
msgstr ""
#: plinth/modules/networks/forms.py:333
#, python-brace-format
msgid ""
"Directly connected to the Internet <p class=\"help-block\">Your Internet "
"connection is directly attached to your {box_name} and there are no other "
"devices on the network. This can happen on community or cloud setups.</p>"
msgstr ""
#: plinth/modules/networks/forms.py:352
msgid "Choose your internet connection type"
msgstr ""
#: plinth/modules/networks/forms.py:356
msgid ""
"I have a public IP address that may change over time<p class=\"help-block"
"\">This means that devices on the Internet can reach you when you are "
"connected to the Internet. Every time you connect to the Internet with your "
"Internet Service Provider (ISP), you may get a different IP address, "
"especially after some offline time. Many ISPs offer this type of "
"connectivity. If you have a public IP address but are unsure if it changes "
"over time or not, it is safer to choose this option.</p>"
msgstr ""
#: plinth/modules/networks/forms.py:368
#, python-brace-format
msgid ""
"I have a public IP address that does not change over time (recommended)<p "
"class=\"help-block\">This means that devices on the Internet can reach you "
"when you are connected to the Internet. Every time you connect to the "
"Internet with your Internet Service Provider (ISP), you always get the same "
"IP address. This is the most trouble-free setup for many {box_name} services "
"but very few ISPs offer this. You may be able to get this service from your "
"ISP by making an additional payment.</p>"
msgstr ""
#: plinth/modules/networks/forms.py:381
#, python-brace-format
msgid ""
"I dont have a public IP address<p class=\"help-block\">This means that "
"devices on the Internet <b>can not</b> reach you when you are connected to "
"the Internet. Every time you connect to the Internet with your Internet "
"Service Provider (ISP), you get an IP address that is only relevant for "
"local networks. Many ISPs offer this type of connectivity. This is the most "
"troublesome situation for hosting services at home. {box_name} provides many "
"workaround solutions but each solution has some limitations.</p>"
msgstr ""
#: plinth/modules/networks/forms.py:394
msgid ""
"I do not know the type of connection my ISP provides <p class=\"help-block"
"\">You will be suggested the most conservative actions.</p>"
msgstr ""
#: plinth/modules/networks/forms.py:411
msgid "Preferred router configuration"
msgstr ""
#: plinth/modules/networks/forms.py:416
#, python-brace-format
msgid ""
"Use DMZ feature to forward all traffic (recommended) <p class=\"help-block"
"\">Most routers provide a configuration setting called DMZ. This will allow "
"the router to forward all incoming traffic from the Internet to a single IP "
"address such as the {box_name}'s IP address. First remember to configure a "
"static local IP address for your {box_name} in your router's configuration.</"
"p>"
msgstr ""
#: plinth/modules/networks/forms.py:428
#, python-brace-format
msgid ""
"Forward specific traffic as needed by each application <p class=\"help-block"
"\">You may alternatively choose to forward only specific traffic to your "
"{box_name}. This is ideal if you have other servers like {box_name} in your "
"network or if your router does not support DMZ feature. All applications "
"that provide a web interface need you to forward traffic from ports 80 and "
"443 to work. Each of the other applications will suggest which port(s) need "
"to be forwarded for that application to work.</p>"
msgstr ""
#: plinth/modules/networks/forms.py:442
msgid ""
"Router is currently unconfigured <p class=\"help-block\">Choose this if you "
"have not configured or are unable to configure the router currently and wish "
"to be reminded later. Some of the other configuration steps may fail.</p>"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:24
#, python-format
msgid ""
"This is the primary connection that %(box_name)s relies on for Internet "
"connectivity. Altering it may render your %(box_name)s unreachable. Ensure "
"that you have other means to access %(box_name)s before altering this "
"connection."
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:36
msgid "Edit connection"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:36
#: plinth/modules/wireguard/templates/wireguard_show_client.html:72
#: plinth/modules/wireguard/templates/wireguard_show_server.html:73
#: plinth/templates/base.html:159 plinth/templates/base.html:160
msgid "Edit"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:43
#: plinth/modules/networks/templates/connections_list.html:61
msgid "Deactivate"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:50
#: plinth/modules/networks/templates/connections_list.html:69
msgid "Activate"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:56
msgid "Delete connection"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:59
#: plinth/modules/networks/templates/connections_diagram.html:19
#: plinth/modules/networks/templates/connections_diagram.html:22
#: plinth/modules/networks/templates/connections_diagram.html:51
#: plinth/modules/networks/templates/connections_diagram.html:73
msgid "Connection"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:64
msgid "Primary connection"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:66
#: plinth/modules/networks/templates/connection_show.html:208
#: plinth/modules/networks/templates/connection_show.html:249
msgid "yes"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:77
#: plinth/modules/storage/templates/storage.html:23
msgid "Device"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:81
msgid "State"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:86
msgid "State reason"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:95
msgid "MAC address"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:99
msgid "Interface"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:103
#: plinth/modules/snapshot/templates/snapshot_delete_selected.html:19
#: plinth/modules/snapshot/templates/snapshot_manage.html:29
#: plinth/modules/snapshot/templates/snapshot_rollback.html:27
msgid "Description"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:109
msgid "Physical Link"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:114
msgid "Link state"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:117
msgid "cable is connected"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:120
msgid "please check cable"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:124
#: plinth/modules/networks/templates/connection_show.html:140
msgid "Speed"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:126
#, python-format
msgid "%(ethernet_speed)s Mbit/s"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:142
#, python-format
msgid "%(wireless_bitrate)s Mbit/s"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:154
msgid "Signal strength"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:170
msgid "IPv4"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:175
#: plinth/modules/networks/templates/connection_show.html:218
#: plinth/modules/shadowsocks/forms.py:48
msgid "Method"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:184
#: plinth/modules/networks/templates/connection_show.html:225
msgid "IP address"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:200
#: plinth/modules/networks/templates/connection_show.html:241
msgid "DNS server"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:207
#: plinth/modules/networks/templates/connection_show.html:248
#: plinth/modules/storage/forms.py:132
msgid "Default"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:213
msgid "IPv6"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:256
msgid "This connection is not active."
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:259
#: plinth/modules/security/__init__.py:34
msgid "Security"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:264
#: plinth/modules/networks/templates/connection_show.html:284
#: plinth/modules/networks/templates/connection_show.html:303
msgid "Firewall zone"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:273
msgid ""
"This interface should be connected to a local network/machine. If you "
"connect this interface to a public network, services meant to be available "
"only internally will become available externally. This is a security risk."
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:293
#: plinth/modules/networks/templates/connection_show.html:316
msgid ""
"This interface should receive your Internet connection. If you connect it to "
"a local network/machine, many services meant to available only internally "
"will not be available."
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:305
#: plinth/modules/networks/templates/connections_diagram.html:24
#: plinth/network.py:24
msgid "External"
msgstr ""
#: plinth/modules/networks/templates/connection_show.html:312
#, python-format
msgid ""
"This interface is not maintained by %(box_name)s. For security, it is "
"automatically assigned to the external zone."
msgstr ""
#: plinth/modules/networks/templates/connections_create.html:19
msgid "Create Connection"
msgstr ""
#: plinth/modules/networks/templates/connections_delete.html:11
#: plinth/modules/networks/views.py:519
msgid "Delete Connection"
msgstr ""
#: plinth/modules/networks/templates/connections_delete.html:14
#, python-format
msgid "Delete connection <strong>%(name)s</strong> permanently?"
msgstr ""
#: plinth/modules/networks/templates/connections_diagram.html:11
msgid "Internet"
msgstr ""
#: plinth/modules/networks/templates/connections_diagram.html:16
#: plinth/modules/networks/templates/connections_diagram.html:48
msgid "Spacing"
msgstr ""
#: plinth/modules/networks/templates/connections_diagram.html:29
#: plinth/modules/networks/templates/connections_diagram.html:59
#: plinth/modules/networks/views.py:100 plinth/network.py:27
msgid "Ethernet"
msgstr ""
#: plinth/modules/networks/templates/connections_diagram.html:32
#: plinth/modules/networks/templates/connections_diagram.html:62
#: plinth/modules/networks/views.py:101 plinth/network.py:28
msgid "Wi-Fi"
msgstr ""
#: plinth/modules/networks/templates/connections_diagram.html:35
#: plinth/modules/networks/templates/connections_diagram.html:65
#: plinth/modules/networks/templates/connections_list.html:43
#, python-format
msgid "Show connection %(name)s"
msgstr ""
#: plinth/modules/networks/templates/connections_diagram.html:53
#: plinth/network.py:24
msgid "Internal"
msgstr ""
#: plinth/modules/networks/templates/connections_diagram.html:77
msgid "Computer"
msgstr ""
#: plinth/modules/networks/templates/connections_edit.html:20
#: plinth/modules/networks/views.py:239 plinth/modules/networks/views.py:323
msgid "Edit Connection"
msgstr ""
#: plinth/modules/networks/templates/connections_list.html:8
msgid "Connections"
msgstr ""
#: plinth/modules/networks/templates/connections_list.html:12
#: plinth/modules/networks/templates/connections_list.html:14
#: plinth/modules/networks/views.py:372
msgid "Nearby Wi-Fi Networks"
msgstr ""
#: plinth/modules/networks/templates/connections_list.html:17
#: plinth/modules/networks/templates/connections_list.html:19
#: plinth/modules/networks/views.py:396
#: plinth/modules/wireguard/templates/wireguard_add_server.html:19
msgid "Add Connection"
msgstr ""
#: plinth/modules/networks/templates/connections_list.html:31
msgid "Active"
msgstr ""
#: plinth/modules/networks/templates/connections_list.html:35
msgid "Inactive"
msgstr ""
#: plinth/modules/networks/templates/connections_list.html:77
#, python-format
msgid "Delete connection %(name)s"
msgstr ""
#: plinth/modules/networks/templates/connections_type_select.html:19
msgid "Create..."
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_content.html:10
msgid "What Type Of Internet Connection Do You Have?"
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_content.html:16
msgid ""
"Select an option that best describes the type of Internet connection. This "
"information is used only to guide you with further setup."
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_firstboot.html:19
#: plinth/modules/networks/templates/network_topology_firstboot.html:19
#: plinth/modules/networks/templates/router_configuration_firstboot.html:19
#: plinth/modules/users/templates/users_firstboot.html:63
msgid "Skip this step"
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_firstboot.html:21
#: plinth/modules/networks/templates/network_topology_firstboot.html:21
#: plinth/modules/networks/templates/router_configuration_firstboot.html:21
#: plinth/modules/upgrades/templates/backports-firstboot.html:45
#: plinth/modules/upgrades/templates/update-firstboot-progress.html:35
#: plinth/modules/upgrades/templates/update-firstboot-progress.html:38
#: plinth/modules/upgrades/templates/update-firstboot.html:33
msgid "Next"
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_main.html:9
msgid "Your Internet Connection Type"
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_main.html:14
msgid ""
"The following best describes the type of Internet connection provided by "
"your ISP. This information is only used to suggest you necessary "
"configuration actions."
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_main.html:23
msgid "My ISP provides a public IP address that does not change over time."
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_main.html:27
msgid "My ISP provides a public IP address that may change over time."
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_main.html:31
msgid "My ISP does not provide a public IP address."
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_main.html:35
msgid "I do not know the type of connection my ISP provides."
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_main.html:41
#: plinth/modules/networks/templates/network_topology_main.html:41
msgid "Update..."
msgstr ""
#: plinth/modules/networks/templates/internet_connectivity_type.html:18
#: plinth/modules/networks/templates/network_topology_update.html:18
#: plinth/modules/networks/templates/router_configuration_update.html:19
#: plinth/modules/pagekite/templates/pagekite_custom_services.html:28
#: plinth/modules/sharing/templates/sharing_add_edit.html:20
#: plinth/templates/form.html:19
msgid "Submit"
msgstr "Gửi đi"
#: plinth/modules/networks/templates/network_topology_content.html:10
#, python-format
msgid "How is Your %(box_name)s Connected to the Internet?"
msgstr ""
#: plinth/modules/networks/templates/network_topology_content.html:16
#, python-format
msgid ""
"Select an option that best describes how your %(box_name)s is connected in "
"your network. This information is used to guide you with further setup. It "
"can be changed later."
msgstr ""
#: plinth/modules/networks/templates/network_topology_main.html:9
#, python-format
msgid "%(box_name)s Internet Connectivity"
msgstr ""
#: plinth/modules/networks/templates/network_topology_main.html:15
#, python-format
msgid ""
"The following best describes how your %(box_name)s is connected in your "
"network. This information is used only to suggest necessary configuration "
"actions."
msgstr ""
#: plinth/modules/networks/templates/network_topology_main.html:24
#, python-format
msgid ""
"Your %(box_name)s gets its Internet connection from your router via Wi-Fi or "
"Ethernet cable. This is a typical home setup."
msgstr ""
#: plinth/modules/networks/templates/network_topology_main.html:29
#, python-format
msgid ""
"Your %(box_name)s is directly connected to the Internet and all your devices "
"connect to %(box_name)s for their Internet connectivity."
msgstr ""
#: plinth/modules/networks/templates/network_topology_main.html:34
#, python-format
msgid ""
"Your Internet connection is directly attached to your %(box_name)s and there "
"are no other devices on the network."
msgstr ""
#: plinth/modules/networks/templates/networks_configuration.html:24
msgid ""
"Advanced networking operations such as bonding, bridging and VLAN management "
"are provided by the <a href=\"/_cockpit/network\">Cockpit</a> app."
msgstr ""
#: plinth/modules/networks/templates/router_configuration_content.html:10
#, python-format
msgid "Setup %(box_name)s Behind a Router"
msgstr ""
#: plinth/modules/networks/templates/router_configuration_content.html:16
#, python-format
msgid ""
"Your %(box_name)s gets its internet connection from your router via Wi-Fi or "
"Ethernet cable. This is a typical home setup."
msgstr ""
#: plinth/modules/networks/templates/router_configuration_content.html:23
#, python-format
msgid ""
"With this setup, any device on the internet trying to reach your "
"%(box_name)s will have to go through your router. The router will need to be "
"configured to forward all traffic it receives so that %(box_name)s provides "
"the services."
msgstr ""
#: plinth/modules/networks/templates/router_configuration_content.html:32
msgid ""
"If you don't have control over your router, choose not to configure it. To "
"see options to overcome this limitation, choose 'I dont have a public IP "
"address' option in <a href=\"/plinth/sys/networks/internet-connection-type/"
"\">Internet connection type selection</a>."
msgstr ""
#: plinth/modules/networks/templates/router_configuration_content.html:39
msgid "Choose How You Wish to Configure Your Router"
msgstr ""
#: plinth/modules/networks/templates/router_configuration_content.html:42
msgid ""
"You will need to login to your router's administration console provided by "
"the router. This may look like one of the following:"
msgstr ""
#: plinth/modules/networks/templates/router_configuration_content.html:54
msgid ""
"The username and password is configured by you when you first setup the "
"router. For many routers, this information is printed at the back of the "
"router. If you don't remember the credentials or the IP address of the "
"router, you may decide to reset it and set it up freshly. Lookup your router "
"model number and search online for the router's manual. This will provide "
"full instructions on how to perform this task."
msgstr ""
#: plinth/modules/networks/views.py:28
msgid "disabled"
msgstr ""
#: plinth/modules/networks/views.py:29
msgid "automatic"
msgstr ""
#: plinth/modules/networks/views.py:30
msgid "manual"
msgstr ""
#: plinth/modules/networks/views.py:31
msgid "shared"
msgstr ""
#: plinth/modules/networks/views.py:32
msgid "link-local"
msgstr ""
#: plinth/modules/networks/views.py:38 plinth/modules/networks/views.py:99
#: plinth/modules/networks/views.py:110
msgid "unknown"
msgstr ""
#: plinth/modules/networks/views.py:39
msgid "unmanaged"
msgstr ""
#: plinth/modules/networks/views.py:40
msgid "unavailable"
msgstr ""
#: plinth/modules/networks/views.py:41
msgid "disconnected"
msgstr ""
#: plinth/modules/networks/views.py:42
msgid "preparing"
msgstr ""
#: plinth/modules/networks/views.py:43
msgid "connecting"
msgstr ""
#: plinth/modules/networks/views.py:44
msgid "needs authentication"
msgstr ""
#: plinth/modules/networks/views.py:45
msgid "requesting address"
msgstr ""
#: plinth/modules/networks/views.py:46
msgid "checking"
msgstr ""
#: plinth/modules/networks/views.py:47
msgid "waiting for secondary"
msgstr ""
#: plinth/modules/networks/views.py:48
msgid "activated"
msgstr ""
#: plinth/modules/networks/views.py:49
msgid "deactivating"
msgstr ""
#: plinth/modules/networks/views.py:57
msgid "no reason"
msgstr ""
#: plinth/modules/networks/views.py:59
msgid "unknown error"
msgstr ""
#: plinth/modules/networks/views.py:61
msgid "device is now managed"
msgstr ""
#: plinth/modules/networks/views.py:63
msgid "device is now unmanaged"
msgstr ""
#: plinth/modules/networks/views.py:65
msgid "configuration failed"
msgstr ""
#: plinth/modules/networks/views.py:67
msgid "secrets required"
msgstr ""
#: plinth/modules/networks/views.py:69
msgid "DHCP client failed to start"
msgstr ""
#: plinth/modules/networks/views.py:71
msgid "DHCP client error"
msgstr ""
#: plinth/modules/networks/views.py:73
msgid "DHCP client failed"
msgstr ""
#: plinth/modules/networks/views.py:75
msgid "shared connection service failed to start"
msgstr ""
#: plinth/modules/networks/views.py:77
msgid "shared connection service failed"
msgstr ""
#: plinth/modules/networks/views.py:79
msgid "device was removed"
msgstr ""
#: plinth/modules/networks/views.py:81
msgid "device disconnected by user"
msgstr ""
#: plinth/modules/networks/views.py:83
msgid "a dependency of the connection failed"
msgstr ""
#: plinth/modules/networks/views.py:85
msgid "Wi-Fi network not found"
msgstr ""
#: plinth/modules/networks/views.py:87
msgid "a secondary connection failed"
msgstr ""
#: plinth/modules/networks/views.py:89
msgid "new connection activation was enqueued"
msgstr ""
#: plinth/modules/networks/views.py:91
msgid "a duplicate IP address was detected"
msgstr ""
#: plinth/modules/networks/views.py:93
msgid "selected IP method is not supported"
msgstr ""
#: plinth/modules/networks/views.py:102
msgid "generic"
msgstr ""
#: plinth/modules/networks/views.py:103
msgid "TUN or TAP interface"
msgstr ""
#: plinth/modules/networks/views.py:104 plinth/modules/wireguard/__init__.py:47
#: plinth/modules/wireguard/manifest.py:14
msgid "WireGuard"
msgstr ""
#: plinth/modules/networks/views.py:111
msgid "ad-hoc"
msgstr ""
#: plinth/modules/networks/views.py:112
msgid "infrastructure"
msgstr ""
#: plinth/modules/networks/views.py:113
msgid "access point"
msgstr ""
#: plinth/modules/networks/views.py:114
msgid "mesh point"
msgstr ""
#: plinth/modules/networks/views.py:144
msgid "Cannot show connection: Connection not found."
msgstr ""
#: plinth/modules/networks/views.py:197
msgid "Connection Information"
msgstr ""
#: plinth/modules/networks/views.py:211
msgid "Cannot edit connection: Connection not found."
msgstr ""
#: plinth/modules/networks/views.py:217
msgid "This type of connection is not yet understood."
msgstr ""
#: plinth/modules/networks/views.py:335
#, python-brace-format
msgid "Activated connection {name}."
msgstr ""
#: plinth/modules/networks/views.py:339
msgid "Failed to activate connection: Connection not found."
msgstr ""
#: plinth/modules/networks/views.py:345
#, python-brace-format
msgid "Failed to activate connection {name}: No suitable device is available."
msgstr ""
#: plinth/modules/networks/views.py:358
#, python-brace-format
msgid "Deactivated connection {name}."
msgstr ""
#: plinth/modules/networks/views.py:362
msgid "Failed to de-activate connection: Connection not found."
msgstr ""
#: plinth/modules/networks/views.py:414
msgid "Adding New Generic Connection"
msgstr ""
#: plinth/modules/networks/views.py:432
msgid "Adding New Ethernet Connection"
msgstr ""
#: plinth/modules/networks/views.py:450
msgid "Adding New PPPoE Connection"
msgstr ""
#: plinth/modules/networks/views.py:485
msgid "Adding New Wi-Fi Connection"
msgstr ""
#: plinth/modules/networks/views.py:500
#, python-brace-format
msgid "Connection {name} deleted."
msgstr ""
#: plinth/modules/networks/views.py:504 plinth/modules/networks/views.py:514
msgid "Failed to delete connection: Connection not found."
msgstr ""
#: plinth/modules/openvpn/__init__.py:20
#, python-brace-format
msgid ""
"Virtual Private Network (VPN) is a technique for securely connecting two "
"devices in order to access resources of a private network. While you are "
"away from home, you can connect to your {box_name} in order to join your "
"home network and access private/internal services provided by {box_name}. "
"You can also access the rest of the Internet via {box_name} for added "
"security and anonymity."
msgstr ""
#: plinth/modules/openvpn/__init__.py:43
msgid "Connect to VPN services"
msgstr ""
#: plinth/modules/openvpn/__init__.py:46 plinth/modules/openvpn/manifest.py:17
msgid "OpenVPN"
msgstr ""
#: plinth/modules/openvpn/__init__.py:47
#: plinth/modules/wireguard/__init__.py:49
msgid "Virtual Private Network"
msgstr ""
#: plinth/modules/openvpn/__init__.py:58
#, python-brace-format
msgid ""
"<a class=\"btn btn-primary btn-sm\" href=\"{link}\">Download Profile</a>"
msgstr ""
#: plinth/modules/openvpn/manifest.py:52
msgid "Tunnelblick"
msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:12
msgid "Profile"
msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:15
#, 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 ""
#: plinth/modules/openvpn/templates/openvpn.html:24
#, python-format
msgid "Profile is specific to each user of %(box_name)s. Keep it a secret."
msgstr ""
#: plinth/modules/openvpn/templates/openvpn.html:34
msgid "Download my profile"
msgstr ""
#: plinth/modules/pagekite/__init__.py:19
#, python-brace-format
msgid ""
"PageKite is a system for exposing {box_name} services when you don't have a "
"direct connection to the Internet. You only need this if your {box_name} "
"services are unreachable from the rest of the Internet. This includes the "
"following situations:"
msgstr ""
#: plinth/modules/pagekite/__init__.py:24
#, python-brace-format
msgid "{box_name} is behind a restricted firewall."
msgstr ""
#: plinth/modules/pagekite/__init__.py:27
#, python-brace-format
msgid "{box_name} is connected to a (wireless) router which you don't control."
msgstr ""
#: plinth/modules/pagekite/__init__.py:29
msgid ""
"Your ISP does not provide you an external IP address and instead provides "
"Internet connection through NAT."
msgstr ""
#: plinth/modules/pagekite/__init__.py:31
msgid ""
"Your ISP does not provide you a static IP address and your IP address "
"changes every time you connect to Internet."
msgstr ""
#: plinth/modules/pagekite/__init__.py:33
msgid "Your ISP limits incoming connections."
msgstr ""
#: plinth/modules/pagekite/__init__.py:35
#, python-brace-format
msgid ""
"PageKite works around NAT, firewalls and IP address limitations by using a "
"combination of tunnels and reverse proxies. You can use any pagekite service "
"provider, for example <a href=\"https://pagekite.net\">pagekite.net</a>. In "
"the future it might be possible to use your buddy's {box_name} for this."
msgstr ""
#: plinth/modules/pagekite/__init__.py:59
msgid "PageKite"
msgstr ""
#: plinth/modules/pagekite/__init__.py:60
msgid "Public Visibility"
msgstr ""
#: plinth/modules/pagekite/__init__.py:73
msgid "PageKite Domain"
msgstr ""
#: plinth/modules/pagekite/forms.py:30
msgid "Server domain"
msgstr ""
#: plinth/modules/pagekite/forms.py:32
msgid ""
"Select your pagekite server. Set \"pagekite.net\" to use the default "
"pagekite.net server."
msgstr ""
#: plinth/modules/pagekite/forms.py:35 plinth/modules/shadowsocks/forms.py:39
msgid "Server port"
msgstr ""
#: plinth/modules/pagekite/forms.py:36
msgid "Port of your pagekite server (default: 80)"
msgstr ""
#: plinth/modules/pagekite/forms.py:38
msgid "Kite name"
msgstr ""
#: plinth/modules/pagekite/forms.py:39
msgid "Example: mybox.pagekite.me"
msgstr ""
#: plinth/modules/pagekite/forms.py:41
msgid "Invalid kite name"
msgstr ""
#: plinth/modules/pagekite/forms.py:45
msgid "Kite secret"
msgstr ""
#: plinth/modules/pagekite/forms.py:46
msgid ""
"A secret associated with the kite or the default secret for your account if "
"no secret is set on the kite."
msgstr ""
#: plinth/modules/pagekite/forms.py:85
msgid "protocol"
msgstr ""
#: plinth/modules/pagekite/forms.py:88
msgid "external (frontend) port"
msgstr ""
#: plinth/modules/pagekite/forms.py:91
msgid "internal (freedombox) port"
msgstr ""
#: plinth/modules/pagekite/forms.py:92
msgid "Enable Subdomains"
msgstr ""
#: plinth/modules/pagekite/forms.py:127
msgid "Deleted custom service"
msgstr ""
#: plinth/modules/pagekite/forms.py:161
msgid "This service is already available as a standard service."
msgstr ""
#: plinth/modules/pagekite/forms.py:169
msgid "Added custom service"
msgstr ""
#: plinth/modules/pagekite/forms.py:172
msgid "This service already exists"
msgstr ""
#: plinth/modules/pagekite/templates/pagekite_configure.html:13
msgid "Custom Services"
msgstr ""
#: plinth/modules/pagekite/templates/pagekite_configure.html:17
#: plinth/modules/pagekite/templates/pagekite_configure.html:19
msgid "Add Custom Service"
msgstr ""
#: plinth/modules/pagekite/templates/pagekite_configure.html:35
#, python-format
msgid "connected to %(backend_host)s:%(backend_port)s"
msgstr ""
#: plinth/modules/pagekite/templates/pagekite_configure.html:47
msgid "Delete this service"
msgstr ""
#: plinth/modules/pagekite/templates/pagekite_custom_services.html:11
#: plinth/modules/pagekite/views.py:34
msgid "Add custom PageKite service"
msgstr ""
#: plinth/modules/pagekite/templates/pagekite_custom_services.html:14
msgid ""
"<b>Warning:</b><br>Your PageKite frontend server may not support all the "
"protocol/port combinations that you are able to define here. For example, "
"HTTPS on ports other than 443 is known to cause problems."
msgstr ""
#: plinth/modules/pagekite/utils.py:45
msgid "Web Server (HTTP)"
msgstr ""
#: plinth/modules/pagekite/utils.py:47
#, python-brace-format
msgid "Site will be available at <a href=\"http://{0}\">http://{0}</a>"
msgstr ""
#: plinth/modules/pagekite/utils.py:59
msgid "Web Server (HTTPS)"
msgstr ""
#: plinth/modules/pagekite/utils.py:61
#, python-brace-format
msgid "Site will be available at <a href=\"https://{0}\">https://{0}</a>"
msgstr ""
#: plinth/modules/pagekite/utils.py:73
msgid "Secure Shell (SSH)"
msgstr ""
#: plinth/modules/pagekite/utils.py:75
msgid ""
"See SSH client setup <a href=\"https://pagekite.net/wiki/Howto/"
"SshOverPageKite/\">instructions</a>"
msgstr ""
#: plinth/modules/performance/__init__.py:16
#: plinth/modules/performance/__init__.py:40
msgid "Performance"
msgstr ""
#: plinth/modules/performance/__init__.py:19
msgid ""
"Performance app allows you to collect, store and view information about "
"utilization of the hardware. This can give you basic insights into usage "
"patterns and whether the hardware is overloaded by users and services."
msgstr ""
#: plinth/modules/performance/__init__.py:23
msgid ""
"Performance metrics are collected by Performance Co-Pilot and can be viewed "
"using the Cockpit app."
msgstr ""
#: plinth/modules/performance/__init__.py:41
msgid "System Monitoring"
msgstr ""
#: plinth/modules/power/__init__.py:14
msgid "Restart or shut down the system."
msgstr ""
#: plinth/modules/power/__init__.py:31
msgid "Power"
msgstr ""
#: plinth/modules/power/templates/power.html:13
msgid ""
"Currently an installation or upgrade is running. Consider waiting until it's "
"finished before shutting down or restarting."
msgstr ""
#: plinth/modules/power/templates/power.html:22 plinth/templates/base.html:174
#: plinth/templates/base.html:175
msgid "Restart"
msgstr ""
#: plinth/modules/power/templates/power.html:25
msgid "Shut Down"
msgstr ""
#: plinth/modules/power/templates/power_restart.html:17
msgid ""
"Are you sure you want to restart? You will not be able to access this web "
"interface for a few minutes until the system is restarted."
msgstr ""
#: plinth/modules/power/templates/power_restart.html:34
msgid ""
"Currently an installation or upgrade is running. Consider waiting until it's "
"finished before restarting."
msgstr ""
#: plinth/modules/power/templates/power_restart.html:48
#: plinth/modules/power/templates/power_restart.html:51
msgid "Restart Now"
msgstr ""
#: plinth/modules/power/templates/power_shutdown.html:17
msgid ""
"Are you sure you want to shut down? You will not be able to access this web "
"interface after shut down."
msgstr ""
#: plinth/modules/power/templates/power_shutdown.html:33
msgid ""
"Currently an installation or upgrade is running. Consider waiting until it's "
"finished before shutting down."
msgstr ""
#: plinth/modules/power/templates/power_shutdown.html:47
#: plinth/modules/power/templates/power_shutdown.html:50
msgid "Shut Down Now"
msgstr ""
#: plinth/modules/privacy/__init__.py:14
msgid "Manage system-wide privacy settings."
msgstr ""
#: plinth/modules/privacy/__init__.py:31 plinth/modules/privacy/__init__.py:63
msgid "Privacy"
msgstr ""
#: plinth/modules/privacy/__init__.py:61
msgid "Please update privacy settings to match your preferences."
msgstr ""
#: plinth/modules/privacy/__init__.py:66
msgid "Review privacy setting"
msgstr ""
#: plinth/modules/privacy/forms.py:15
msgid "Periodically submit a list of apps used (suggested)"
msgstr ""
#: plinth/modules/privacy/forms.py:17
#, python-brace-format
msgid ""
"Help Debian/{box_name} developers by participating in the Popularity Contest "
"package survey program. When enabled, a list of apps used on this system "
"will be anonymously submitted to Debian every week. Statistics for the data "
"collected are publicly available at <a href=\"https://popcon.debian.org/\" "
"target=\"_blank\">popcon.debian.org</a>. Submission happens over the Tor "
"network for additional anonymity if Tor app is enabled."
msgstr ""
#: plinth/modules/privoxy/__init__.py:23
msgid ""
"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
"enhancing privacy, modifying web page data and HTTP headers, controlling "
"access, and removing ads and other obnoxious Internet junk. "
msgstr ""
#: plinth/modules/privoxy/__init__.py:28
#, python-brace-format
msgid ""
"You can use Privoxy by modifying your browser proxy settings to your "
"{box_name} hostname (or IP address) with port 8118. Only connections from "
"local network IP addresses are permitted. While using Privoxy, you can see "
"its configuration details and documentation at <a href=\"http://config."
"privoxy.org\">http://config.privoxy.org/</a> or <a href=\"http://p.p"
"\">http://p.p</a>."
msgstr ""
#: plinth/modules/privoxy/__init__.py:51
msgid "Privoxy"
msgstr ""
#: plinth/modules/privoxy/__init__.py:52
msgid "Web Proxy"
msgstr ""
#: plinth/modules/privoxy/__init__.py:113
#, python-brace-format
msgid "Access {url} with proxy {proxy} on tcp{kind}"
msgstr ""
#: plinth/modules/quassel/__init__.py:24
#, python-brace-format
msgid ""
"Quassel is an IRC application that is split into two parts, a \"core\" and a "
"\"client\". This allows the core to remain connected to IRC servers, and to "
"continue receiving messages, even when the client is disconnected. "
"{box_name} can run the Quassel core service keeping you always online and "
"one or more Quassel clients from a desktop or a mobile can be used to "
"connect and disconnect from it."
msgstr ""
#: plinth/modules/quassel/__init__.py:31
msgid ""
"You can connect to your Quassel core on the default Quassel port 4242. "
"Clients to connect to Quassel from your <a href=\"http://quassel-irc.org/"
"downloads\">desktop</a> and <a href=\"http://quasseldroid.iskrembilen.com/"
"\">mobile</a> devices are available."
msgstr ""
#: plinth/modules/quassel/__init__.py:51 plinth/modules/quassel/manifest.py:9
msgid "Quassel"
msgstr ""
#: plinth/modules/quassel/__init__.py:52
msgid "IRC Client"
msgstr ""
#: plinth/modules/quassel/manifest.py:33
msgid "Quasseldroid"
msgstr ""
#: plinth/modules/radicale/__init__.py:24
#, python-brace-format
msgid ""
"Radicale is a CalDAV and CardDAV server. It allows synchronization and "
"sharing of scheduling and contact data. To use Radicale, a <a href=\"https://"
"radicale.org/master.html#documentation/supported-clients\">supported client "
"application</a> is needed. Radicale can be accessed by any user with a "
"{box_name} login."
msgstr ""
#: plinth/modules/radicale/__init__.py:30
msgid ""
"Radicale provides a basic web interface, which only supports creating new "
"calendars and addressbooks. It does not support adding events or contacts, "
"which must be done using a separate client."
msgstr ""
#: plinth/modules/radicale/__init__.py:52
#: plinth/modules/radicale/manifest.py:74
msgid "Radicale"
msgstr ""
#: plinth/modules/radicale/__init__.py:53
msgid "Calendar and Addressbook"
msgstr ""
#: plinth/modules/radicale/forms.py:14
msgid "Only the owner of a calendar/addressbook can view or make changes."
msgstr ""
#: plinth/modules/radicale/forms.py:18
#, python-brace-format
msgid ""
"Any user with a {box_name} login can view any calendar/addressbook, but only "
"the owner can make changes."
msgstr ""
#: plinth/modules/radicale/forms.py:23
#, python-brace-format
msgid ""
"Any user with a {box_name} login can view or make changes to any calendar/"
"addressbook."
msgstr ""
#: plinth/modules/radicale/forms.py:30
msgid "Access rights"
msgstr ""
#: plinth/modules/radicale/manifest.py:9
msgid "DAVx5"
msgstr ""
#: plinth/modules/radicale/manifest.py:11
msgid ""
"Enter the URL of the Radicale server (e.g. https://<your.freedombox."
"address>) and your user name. DAVx5 will show all existing calendars and "
"address books and you can create new."
msgstr ""
#: plinth/modules/radicale/manifest.py:28
msgid "GNOME Calendar"
msgstr ""
#: plinth/modules/radicale/manifest.py:56
msgid "Evolution"
msgstr ""
#: plinth/modules/radicale/manifest.py:58
msgid ""
"Evolution is a personal information management application that provides "
"integrated mail, calendaring and address book functionality."
msgstr ""
#: plinth/modules/radicale/manifest.py:62
msgid ""
"In Evolution add a new calendar and address book respectively with WebDAV. "
"Enter the URL of the Radicale server (e.g. https://<your.freedombox."
"address>) and your user name. Clicking on the search button will list the "
"existing calendars and address books."
msgstr ""
#: plinth/modules/radicale/views.py:32
msgid "Access rights configuration updated"
msgstr ""
#: plinth/modules/roundcube/__init__.py:18
msgid ""
"Roundcube webmail is a browser-based multilingual IMAP client with an "
"application-like user interface. It provides full functionality you expect "
"from an email client, including MIME support, address book, folder "
"manipulation, message searching and spell checking."
msgstr ""
#: plinth/modules/roundcube/__init__.py:23
msgid ""
"You can use it by providing the username and password of the email account "
"you wish to access followed by the domain name of the IMAP server for your "
"email provider, like <code>imap.example.com</code>. For IMAP over SSL "
"(recommended), fill the server field like <code>imaps://imap.example.com</"
"code>."
msgstr ""
#: plinth/modules/roundcube/__init__.py:28
msgid ""
"For Gmail, username will be your Gmail address, password will be your Google "
"account password and server will be <code>imaps://imap.gmail.com</code>. "
"Note that you will also need to enable \"Less secure apps\" in your Google "
"account settings (<a href=\"https://www.google.com/settings/security/"
"lesssecureapps\">https://www.google.com/settings/security/lesssecureapps</"
"a>)."
msgstr ""
#: plinth/modules/roundcube/__init__.py:50
msgid "Email Client"
msgstr ""
#: plinth/modules/roundcube/forms.py:16
msgid "Use only the local mail server"
msgstr ""
#: plinth/modules/roundcube/forms.py:17
#, python-brace-format
msgid ""
"When enabled, text box for server input is removed from login page and users "
"can only read and send mails from this {box_name}."
msgstr ""
#: plinth/modules/rssbridge/__init__.py:20
msgid ""
"RSS-Bridge generates RSS and Atom feeds for websites that do not have one. "
"Generated feeds can be consumed by any feed reader."
msgstr ""
#: plinth/modules/rssbridge/__init__.py:23
#, fuzzy, python-brace-format
#| msgid ""
#| "It can be accessed by <a href=\"{users_url}\">any user</a> on {box_name} "
#| "belonging to the admin group."
msgid ""
"When enabled, RSS-Bridge can be accessed by <a href=\"{users_url}\">any "
"user</a> belonging to the feed-reader group."
msgstr ""
"Nó có thể được truy cập bởi <a href=\"{users_url}\">bất kỳ người dùng nào</"
"a> trên {box_name} thuộc về nhóm admin."
#: plinth/modules/rssbridge/__init__.py:27
#, python-brace-format
msgid ""
"You can use RSS-Bridge with <a href=\"{ttrss_url}\">Tiny Tiny RSS</a> to "
"follow various websites. When adding a feed, enable authentication and use "
"your {box_name} credentials."
msgstr ""
#: plinth/modules/rssbridge/__init__.py:45 plinth/modules/ttrss/__init__.py:45
msgid "Read and subscribe to news feeds"
msgstr ""
#: plinth/modules/rssbridge/__init__.py:48
#: plinth/modules/rssbridge/manifest.py:10
msgid "RSS-Bridge"
msgstr ""
#: plinth/modules/rssbridge/__init__.py:49
msgid "RSS Feed Generator"
msgstr ""
#: plinth/modules/rssbridge/forms.py:12 plinth/modules/searx/forms.py:17
msgid "Allow Public Access"
msgstr ""
#: plinth/modules/rssbridge/forms.py:13 plinth/modules/searx/forms.py:18
msgid "Allow this application to be used by anyone who can reach it."
msgstr ""
#: plinth/modules/samba/__init__.py:23
msgid ""
"Samba allows to share files and folders between FreedomBox and other "
"computers in your local network."
msgstr ""
#: plinth/modules/samba/__init__.py:26
#, python-brace-format
msgid ""
"After installation, you can choose which disks to use for sharing. Enabled "
"shares are accessible in the file manager on your computer at location \\"
"\\{hostname} (on Windows) or smb://{hostname}.local (on Linux and Mac). "
"There are three types of shares you can choose from: "
msgstr ""
#: plinth/modules/samba/__init__.py:31
msgid "Open share - accessible to everyone in your local network."
msgstr ""
#: plinth/modules/samba/__init__.py:32
msgid ""
"Group share - accessible only to FreedomBox users who are in the freedombox-"
"share group."
msgstr ""
#: plinth/modules/samba/__init__.py:34
msgid ""
"Home share - every user in the freedombox-share group can have their own "
"private space."
msgstr ""
#: plinth/modules/samba/__init__.py:50
msgid "Access to the private shares"
msgstr ""
#: plinth/modules/samba/__init__.py:53
msgid "Samba"
msgstr ""
#: plinth/modules/samba/__init__.py:54
msgid "Network File Storage"
msgstr ""
#: plinth/modules/samba/manifest.py:14
msgid "Android Samba Client"
msgstr ""
#: plinth/modules/samba/manifest.py:27
msgid "Ghost Commander"
msgstr ""
#: plinth/modules/samba/manifest.py:36
msgid "Ghost Commander - Samba plugin"
msgstr ""
#: plinth/modules/samba/manifest.py:45
msgid "VLC media player"
msgstr ""
#: plinth/modules/samba/manifest.py:64
msgid "GNOME Files"
msgstr ""
#: plinth/modules/samba/manifest.py:76
msgid "Dolphin"
msgstr ""
#: plinth/modules/samba/templates/samba.html:20
msgid "Shares"
msgstr ""
#: plinth/modules/samba/templates/samba.html:22
msgid ""
"Note: Only specially created directories will be shared on selected disks, "
"not the whole disk."
msgstr ""
#: plinth/modules/samba/templates/samba.html:84
msgid "VFAT partitions are not supported"
msgstr ""
#: plinth/modules/samba/templates/samba.html:112
#, python-format
msgid ""
"You can find additional information about disks on the <a href="
"\"%(storage_url)s\">storage</a> module page and configure access to the "
"shares on the <a href=\"%(users_url)s\">users</a> module page."
msgstr ""
#: plinth/modules/samba/templates/samba.html:120
msgid "Users who can currently access group and home shares"
msgstr ""
#: plinth/modules/samba/templates/samba.html:124
msgid ""
"Users needing to re-enter their password on the password change page to "
"access group and home shares"
msgstr ""
#: plinth/modules/samba/templates/samba.html:129
msgid "Unavailable Shares"
msgstr ""
#: plinth/modules/samba/templates/samba.html:131
msgid ""
"Shares that are configured but the disk is not available. If the disk is "
"plugged back in, sharing will be automatically enabled."
msgstr ""
#: plinth/modules/samba/templates/samba.html:140
msgid "Share name"
msgstr ""
#: plinth/modules/samba/templates/samba.html:141
msgid "Action"
msgstr ""
#: plinth/modules/samba/views.py:33
msgid "FreedomBox OS disk"
msgstr ""
#: plinth/modules/samba/views.py:60 plinth/modules/storage/forms.py:140
msgid "Open Share"
msgstr ""
#: plinth/modules/samba/views.py:64 plinth/modules/storage/forms.py:138
msgid "Group Share"
msgstr ""
#: plinth/modules/samba/views.py:68
msgid "Home Share"
msgstr ""
#: plinth/modules/samba/views.py:103
msgid "Share enabled."
msgstr ""
#: plinth/modules/samba/views.py:108
#, python-brace-format
msgid "Error enabling share: {error_message}"
msgstr ""
#: plinth/modules/samba/views.py:113
msgid "Share disabled."
msgstr ""
#: plinth/modules/samba/views.py:118
#, python-brace-format
msgid "Error disabling share: {error_message}"
msgstr ""
#: plinth/modules/searx/__init__.py:19
msgid ""
"Searx is a privacy-respecting Internet metasearch engine. It aggregrates and "
"displays results from multiple search engines."
msgstr ""
#: plinth/modules/searx/__init__.py:21
msgid ""
"Searx can be used to avoid tracking and profiling by search engines. It "
"stores no cookies by default."
msgstr ""
#: plinth/modules/searx/__init__.py:37
msgid "Search the web"
msgstr ""
#: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:6
msgid "Searx"
msgstr ""
#: plinth/modules/searx/__init__.py:41
msgid "Web Search"
msgstr ""
#: plinth/modules/searx/forms.py:12
msgid "Safe Search"
msgstr ""
#: plinth/modules/searx/forms.py:13
msgid "Select the default family filter to apply to your search results."
msgstr ""
#: plinth/modules/searx/forms.py:14
msgid "Moderate"
msgstr ""
#: plinth/modules/searx/forms.py:14
msgid "Strict"
msgstr ""
#: plinth/modules/security/forms.py:13
msgid "Restrict console logins (recommended)"
msgstr ""
#: plinth/modules/security/forms.py:14
msgid ""
"When this option is enabled, only users in the \"admin\" group will be able "
"to log in to console or via SSH. Console users may be able to access some "
"services without further authorization."
msgstr ""
#: plinth/modules/security/forms.py:19
msgid "Fail2Ban (recommended)"
msgstr ""
#: plinth/modules/security/forms.py:20
msgid ""
"When this option is enabled, Fail2Ban will limit brute force break-in "
"attempts to the SSH server and other enabled password protected internet-"
"services."
msgstr ""
#: plinth/modules/security/templates/security.html:12
#: plinth/modules/security/templates/security.html:14
msgid "Show security report"
msgstr ""
#: plinth/modules/security/templates/security.html:19
#: plinth/modules/upgrades/templates/backports-firstboot.html:11
#: plinth/modules/upgrades/templates/upgrades_configure.html:44
msgid "Frequent Feature Updates"
msgstr ""
#: plinth/modules/security/templates/security.html:21
#: plinth/modules/upgrades/templates/upgrades_configure.html:52
msgid "Frequent feature updates are activated."
msgstr ""
#: plinth/modules/security/templates/security.html:26
#: plinth/modules/upgrades/templates/backports-firstboot.html:14
#: plinth/modules/upgrades/templates/upgrades_configure.html:64
#, python-format
msgid ""
"Frequent feature updates allow the %(box_name)s Service, plus a very limited "
"set of software, to receive new features more frequently (from the backports "
"repository). This results in receiving some new features within weeks, "
"instead of only once every 2 years or so. Note that software with frequent "
"feature updates does not have support from the Debian Security Team. "
"Instead, they are maintained by contributors to Debian and the %(box_name)s "
"community."
msgstr ""
#: plinth/modules/security/templates/security_report.html:10
#: plinth/modules/security/views.py:78
msgid "Security Report"
msgstr ""
#: plinth/modules/security/templates/security_report.html:12
#, python-format
msgid ""
"There are %(count)s reported security vulnerabilities in the FreedomBox app, "
"which provides the core services and user interface for a FreedomBox server."
msgstr ""
#: plinth/modules/security/templates/security_report.html:19
msgid ""
"The following table lists the current reported number of security "
"vulnerabilities for each installed app. More information on the "
"vulnerabilities can be found on the <a href=\"https://security-tracker."
"debian.org/tracker/\">Debian Security Bug Tracker</a>."
msgstr ""
#: plinth/modules/security/templates/security_report.html:28
msgid ""
"For apps that provide services, the \"Sandboxed\" column shows whether "
"sandboxing features are in use. Sandboxing mitigates the impact of a "
"potentially compromised app to the rest of the system."
msgstr ""
#: plinth/modules/security/templates/security_report.html:35
msgid ""
"\"Sandbox Coverage\" is a score of how effectively the service is isolated "
"from the rest of the system. It is only displayed while the service is "
"running."
msgstr ""
#: plinth/modules/security/templates/security_report.html:45
msgid "App Name"
msgstr ""
#: plinth/modules/security/templates/security_report.html:46
msgid "Current Vulnerabilities"
msgstr ""
#: plinth/modules/security/templates/security_report.html:47
msgid "Sandboxed"
msgstr ""
#: plinth/modules/security/templates/security_report.html:48
msgid "Sandbox Coverage"
msgstr ""
#: plinth/modules/security/templates/security_report.html:58
msgid "N/A"
msgstr ""
#: plinth/modules/security/templates/security_report.html:60
msgid "Yes"
msgstr ""
#: plinth/modules/security/templates/security_report.html:62
msgid "No"
msgstr ""
#: plinth/modules/security/templates/security_report.html:69
msgid "Not running"
msgstr ""
#: plinth/modules/security/views.py:60
#, python-brace-format
msgid "Error setting restricted access: {exception}"
msgstr ""
#: plinth/modules/security/views.py:63
msgid "Updated security configuration"
msgstr ""
#: plinth/modules/shaarli/__init__.py:18
msgid "Shaarli allows you to save and share bookmarks."
msgstr ""
#: plinth/modules/shaarli/__init__.py:19
msgid ""
"Note that Shaarli only supports a single user account, which you will need "
"to setup on the initial visit."
msgstr ""
#: plinth/modules/shaarli/__init__.py:36 plinth/modules/shaarli/manifest.py:25
msgid "Shaarli"
msgstr ""
#: plinth/modules/shaarli/__init__.py:37
msgid "Bookmarks"
msgstr ""
#: plinth/modules/shaarli/manifest.py:12
msgid "Shaarlier"
msgstr ""
#: plinth/modules/shadowsocks/__init__.py:18
msgid ""
"Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect "
"your Internet traffic. It can be used to bypass Internet filtering and "
"censorship."
msgstr ""
#: plinth/modules/shadowsocks/__init__.py:22
#, 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."
msgstr ""
#: plinth/modules/shadowsocks/__init__.py:27
msgid ""
"To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, "
"browser or application to http://freedombox_address:1080/"
msgstr ""
#: plinth/modules/shadowsocks/__init__.py:46
msgid "Shadowsocks"
msgstr ""
#: plinth/modules/shadowsocks/__init__.py:48
msgid "Socks5 Proxy"
msgstr ""
#: plinth/modules/shadowsocks/forms.py:10
#: plinth/modules/shadowsocks/forms.py:11
msgid "Recommended"
msgstr ""
#: plinth/modules/shadowsocks/forms.py:36
msgid "Server"
msgstr ""
#: plinth/modules/shadowsocks/forms.py:37
msgid "Server hostname or IP address"
msgstr ""
#: plinth/modules/shadowsocks/forms.py:41
msgid "Server port number"
msgstr ""
#: plinth/modules/shadowsocks/forms.py:44
msgid "Password used to encrypt data. Must match server password."
msgstr ""
#: plinth/modules/shadowsocks/forms.py:49
msgid "Encryption method. Must match setting on server."
msgstr ""
#: plinth/modules/sharing/__init__.py:16
#, python-brace-format
msgid ""
"Sharing allows you to share files and folders on your {box_name} over the "
"web with chosen groups of users."
msgstr ""
#: plinth/modules/sharing/__init__.py:33
msgid "Sharing"
msgstr ""
#: plinth/modules/sharing/forms.py:17
msgid "Name of the share"
msgstr ""
#: plinth/modules/sharing/forms.py:19
msgid ""
"A lowercase alpha-numeric string that uniquely identifies a share. Example: "
"<em>media</em>."
msgstr ""
#: plinth/modules/sharing/forms.py:23
msgid "Path to share"
msgstr ""
#: plinth/modules/sharing/forms.py:24
msgid "Disk path to a folder on this server that you intend to share."
msgstr ""
#: plinth/modules/sharing/forms.py:27
msgid "Public share"
msgstr ""
#: plinth/modules/sharing/forms.py:28
msgid "Make files in this folder available to anyone with the link."
msgstr ""
#: plinth/modules/sharing/forms.py:33
msgid "User groups that can read the files in the share:"
msgstr ""
#: plinth/modules/sharing/forms.py:35
msgid ""
"Users of the selected user groups will be able to read the files in the "
"share."
msgstr ""
#: plinth/modules/sharing/forms.py:51
msgid "A share with this name already exists."
msgstr ""
#: plinth/modules/sharing/forms.py:62
msgid "Shares should be either public or shared with at least one group"
msgstr ""
#: plinth/modules/sharing/templates/sharing.html:18
#: plinth/modules/sharing/templates/sharing.html:21
msgid "Add share"
msgstr ""
#: plinth/modules/sharing/templates/sharing.html:26
msgid "No shares currently configured."
msgstr ""
#: plinth/modules/sharing/templates/sharing.html:33
msgid "Disk Path"
msgstr ""
#: plinth/modules/sharing/templates/sharing.html:34
msgid "Shared Over"
msgstr ""
#: plinth/modules/sharing/templates/sharing.html:35
msgid "With Groups"
msgstr ""
#: plinth/modules/sharing/templates/sharing.html:52
msgid "public access"
msgstr ""
#: plinth/modules/sharing/views.py:39
msgid "Share added."
msgstr ""
#: plinth/modules/sharing/views.py:44
msgid "Add Share"
msgstr ""
#: plinth/modules/sharing/views.py:60
msgid "Share edited."
msgstr ""
#: plinth/modules/sharing/views.py:65
msgid "Edit Share"
msgstr ""
#: plinth/modules/sharing/views.py:96
msgid "Share deleted."
msgstr ""
#: plinth/modules/snapshot/__init__.py:18
msgid ""
"Snapshots allows creating and managing btrfs file system snapshots. These "
"can be used to roll back the system to a previously known good state in case "
"of unwanted changes to the system."
msgstr ""
#: plinth/modules/snapshot/__init__.py:22
#, no-python-format
msgid ""
"Snapshots are taken periodically (called timeline snapshots) and also before "
"and after a software installation. Older snapshots will be automatically "
"cleaned up according to the settings below."
msgstr ""
#: plinth/modules/snapshot/__init__.py:25
msgid ""
"Snapshots currently work on btrfs file systems only and on the root "
"partition only. Snapshots are not a replacement for <a href=\"/plinth/sys/"
"backups\">backups</a> since they can only be stored on the same partition. "
msgstr ""
#: plinth/modules/snapshot/__init__.py:50
msgid "Storage Snapshots"
msgstr ""
#: plinth/modules/snapshot/forms.py:12
msgid "Free Disk Space to Maintain"
msgstr ""
#: plinth/modules/snapshot/forms.py:13
msgid ""
"Maintain this percentage of free space on the disk. If free space falls "
"below this value, older snapshots are removed until this much free space is "
"regained. The default value is 30%."
msgstr ""
#: plinth/modules/snapshot/forms.py:20
msgid "Timeline Snapshots"
msgstr ""
#: plinth/modules/snapshot/forms.py:21
msgid ""
"Enable or disable timeline snapshots (hourly, daily, monthly and yearly)."
msgstr ""
#: plinth/modules/snapshot/forms.py:26
msgid "Software Installation Snapshots"
msgstr ""
#: plinth/modules/snapshot/forms.py:27
msgid ""
"Enable or disable snapshots before and after each software installation and "
"update."
msgstr ""
#: plinth/modules/snapshot/forms.py:32
msgid "Hourly Snapshots Limit"
msgstr ""
#: plinth/modules/snapshot/forms.py:33
msgid "Keep a maximum of this many hourly snapshots."
msgstr ""
#: plinth/modules/snapshot/forms.py:36
msgid "Daily Snapshots Limit"
msgstr ""
#: plinth/modules/snapshot/forms.py:37
msgid "Keep a maximum of this many daily snapshots."
msgstr ""
#: plinth/modules/snapshot/forms.py:40
msgid "Weekly Snapshots Limit"
msgstr ""
#: plinth/modules/snapshot/forms.py:41
msgid "Keep a maximum of this many weekly snapshots."
msgstr ""
#: plinth/modules/snapshot/forms.py:44
msgid "Monthly Snapshots Limit"
msgstr ""
#: plinth/modules/snapshot/forms.py:45
msgid "Keep a maximum of this many monthly snapshots."
msgstr ""
#: plinth/modules/snapshot/forms.py:48
msgid "Yearly Snapshots Limit"
msgstr ""
#: plinth/modules/snapshot/forms.py:49
msgid ""
"Keep a maximum of this many yearly snapshots. The default value is 0 (keep "
"no yearly snapshot)."
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_delete_selected.html:12
msgid "Delete the following snapshots permanently?"
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_delete_selected.html:17
#: plinth/modules/snapshot/templates/snapshot_manage.html:27
#: plinth/modules/snapshot/templates/snapshot_rollback.html:25
msgid "Number"
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_delete_selected.html:18
#: plinth/modules/snapshot/templates/snapshot_manage.html:28
#: plinth/modules/snapshot/templates/snapshot_rollback.html:26
msgid "Date"
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_delete_selected.html:42
#: plinth/modules/snapshot/templates/snapshot_manage.html:20
#: plinth/modules/snapshot/views.py:194
msgid "Delete Snapshots"
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_manage.html:17
msgid "Create Snapshot"
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_manage.html:30
msgid "Rollback"
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_manage.html:40
msgid "will be used at next boot"
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_manage.html:45
msgid "in use"
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_manage.html:54
#, python-format
msgid "Rollback to snapshot #%(number)s"
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_not_supported.html:11
#, python-format
msgid ""
"You have a filesystem of type <strong>%(fs_type)s</strong>. Snapshots are "
"currently only available on <strong>%(types_supported)s</strong> filesystems."
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_rollback.html:12
msgid "Roll back the system to this snapshot?"
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_rollback.html:15
msgid ""
"A new snapshot with the current state of the file system will be "
"automatically created. You will be able to undo a rollback by reverting to "
"the newly created snapshot."
msgstr ""
#: plinth/modules/snapshot/templates/snapshot_rollback.html:44
#, python-format
msgid "Rollback to Snapshot #%(number)s"
msgstr ""
#: plinth/modules/snapshot/views.py:24
msgid "manually created"
msgstr ""
#: plinth/modules/snapshot/views.py:25
msgid "timeline"
msgstr ""
#: plinth/modules/snapshot/views.py:26
msgid "apt"
msgstr ""
#: plinth/modules/snapshot/views.py:36
msgid "Manage Snapshots"
msgstr ""
#: plinth/modules/snapshot/views.py:89
msgid "Created snapshot."
msgstr ""
#: plinth/modules/snapshot/views.py:151
msgid "Storage snapshots configuration updated"
msgstr ""
#: plinth/modules/snapshot/views.py:155
#, python-brace-format
msgid "Action error: {0} [{1}] [{2}]"
msgstr ""
#: plinth/modules/snapshot/views.py:181
msgid "Deleted selected snapshots"
msgstr ""
#: plinth/modules/snapshot/views.py:186
msgid "Snapshot is currently in use. Please try again later."
msgstr ""
#: plinth/modules/snapshot/views.py:205
#, python-brace-format
msgid "Rolled back to snapshot #{number}."
msgstr ""
#: plinth/modules/snapshot/views.py:208
msgid "The system must be restarted to complete the rollback."
msgstr ""
#: plinth/modules/snapshot/views.py:218
msgid "Rollback to Snapshot"
msgstr ""
#: plinth/modules/ssh/__init__.py:20
msgid ""
"A Secure Shell server uses the secure shell protocol to accept connections "
"from remote computers. An authorized remote computer can perform "
"administration tasks, copy files or run other services using such "
"connections."
msgstr ""
#: plinth/modules/ssh/__init__.py:40
msgid "Secure Shell (SSH) Server"
msgstr ""
#: plinth/modules/ssh/forms.py:13
msgid "Disable password authentication"
msgstr ""
#: plinth/modules/ssh/forms.py:14
msgid ""
"Improves security by preventing password guessing. Ensure that you have "
"setup SSH keys in your administrator user account before enabling this "
"option."
msgstr ""
#: plinth/modules/ssh/templates/ssh.html:11
msgid "Server Fingerprints"
msgstr ""
#: plinth/modules/ssh/templates/ssh.html:14
msgid ""
"When connecting to the server, ensure that the fingerprint shown by the SSH "
"client matches one of these fingerprints."
msgstr ""
#: plinth/modules/ssh/templates/ssh.html:24
msgid "Algorithm"
msgstr ""
#: plinth/modules/ssh/templates/ssh.html:25
msgid "Fingerprint"
msgstr ""
#: plinth/modules/sso/__init__.py:26
msgid "Single Sign On"
msgstr ""
#: plinth/modules/sso/templates/login.html:20
msgid "Login"
msgstr ""
#: plinth/modules/sso/views.py:100
msgid "Logged out successfully."
msgstr ""
#: plinth/modules/storage/__init__.py:22
#, python-brace-format
msgid ""
"This module allows you to manage storage media attached to your {box_name}. "
"You can view the storage media currently in use, mount and unmount removable "
"media, expand the root partition etc."
msgstr ""
"Mô-đun này cho phép bạn quản lý phương tiện lưu trữ được cắm vào {box_name} "
"của bạn. Bạn có thể xem phương tiện lưu trữ hiện đang sử dụng, gắn và bỏ gắn "
"phương tiện có thể rút ra, mở rộng phân vùng root, v.v."
#: plinth/modules/storage/__init__.py:45 plinth/modules/storage/__init__.py:306
#: plinth/modules/storage/__init__.py:337
msgid "Storage"
msgstr ""
#: plinth/modules/storage/__init__.py:214
#, python-brace-format
msgid "{disk_size:.1f} bytes"
msgstr ""
#: plinth/modules/storage/__init__.py:218
#, python-brace-format
msgid "{disk_size:.1f} KiB"
msgstr ""
#: plinth/modules/storage/__init__.py:222
#, python-brace-format
msgid "{disk_size:.1f} MiB"
msgstr ""
#: plinth/modules/storage/__init__.py:226
#, python-brace-format
msgid "{disk_size:.1f} GiB"
msgstr ""
#: plinth/modules/storage/__init__.py:229
#, python-brace-format
msgid "{disk_size:.1f} TiB"
msgstr ""
#: plinth/modules/storage/__init__.py:241
msgid "The operation failed."
msgstr ""
#: plinth/modules/storage/__init__.py:243
msgid "The operation was cancelled."
msgstr ""
#: plinth/modules/storage/__init__.py:245
msgid "The device is already unmounting."
msgstr "Thiết bị này đã đang bỏ gắn rồi."
#: plinth/modules/storage/__init__.py:247
msgid "The operation is not supported due to missing driver/tool support."
msgstr ""
#: plinth/modules/storage/__init__.py:250
msgid "The operation timed out."
msgstr ""
#: plinth/modules/storage/__init__.py:252
msgid "The operation would wake up a disk that is in a deep-sleep state."
msgstr ""
#: plinth/modules/storage/__init__.py:255
msgid "Attempting to unmount a device that is busy."
msgstr "Đang thử bỏ gắn một thiết bị đang bận."
#: plinth/modules/storage/__init__.py:257
msgid "The operation has already been cancelled."
msgstr ""
#: plinth/modules/storage/__init__.py:259
#: plinth/modules/storage/__init__.py:261
#: plinth/modules/storage/__init__.py:263
msgid "Not authorized to perform the requested operation."
msgstr ""
#: plinth/modules/storage/__init__.py:265
msgid "The device is already mounted."
msgstr "Thiết bị này đã được gắn rồi."
#: plinth/modules/storage/__init__.py:267
msgid "The device is not mounted."
msgstr "Thiết bị này chưa được gắn."
#: plinth/modules/storage/__init__.py:269
msgid "Not permitted to use the requested option."
msgstr ""
#: plinth/modules/storage/__init__.py:271
msgid "The device is mounted by another user."
msgstr "Thiết bị này được một người dùng khác gắn."
#: plinth/modules/storage/__init__.py:301
#, no-python-format, python-brace-format
msgid "Low space on system partition: {percent_used}% used, {free_space} free."
msgstr ""
#: plinth/modules/storage/__init__.py:303
msgid "Low disk space"
msgstr ""
#: plinth/modules/storage/__init__.py:331
msgid "Disk failure imminent"
msgstr ""
#: plinth/modules/storage/__init__.py:333
#, python-brace-format
msgid ""
"Disk {id} is reporting that it is likely to fail in the near future. Copy "
"any data while you still can and replace the drive."
msgstr ""
#: plinth/modules/storage/forms.py:63
msgid "Invalid directory name."
msgstr ""
#: plinth/modules/storage/forms.py:73
msgid "Directory does not exist."
msgstr ""
#: plinth/modules/storage/forms.py:75
msgid "Path is not a directory."
msgstr ""
#: plinth/modules/storage/forms.py:79
msgid "Directory is not readable by the user."
msgstr ""
#: plinth/modules/storage/forms.py:82
msgid "Directory is not writable by the user."
msgstr ""
#: plinth/modules/storage/forms.py:87
msgid "Directory"
msgstr ""
#: plinth/modules/storage/forms.py:89
msgid "Subdirectory (optional)"
msgstr ""
#: plinth/modules/storage/forms.py:136
msgid "Share"
msgstr ""
#: plinth/modules/storage/forms.py:144
msgid "Other directory (specify below)"
msgstr ""
#: plinth/modules/storage/templates/storage.html:17
msgid "The following storage devices are in use:"
msgstr ""
#: plinth/modules/storage/templates/storage.html:24
msgid "Label"
msgstr ""
#: plinth/modules/storage/templates/storage.html:25
msgid "Mount Point"
msgstr "Điểm gắn"
#: plinth/modules/storage/templates/storage.html:27
msgid "Used"
msgstr ""
#: plinth/modules/storage/templates/storage.html:77
msgid "Partition Expansion"
msgstr ""
#: plinth/modules/storage/templates/storage.html:79
#, python-format
msgid ""
"There is %(expandable_root_size)s of unallocated space available after your "
"root partition. Root partition can be expanded to use this space. This "
"will provide you additional free space to store your files."
msgstr ""
#: plinth/modules/storage/templates/storage.html:89
#: plinth/modules/storage/templates/storage_expand.html:24
#: plinth/modules/storage/views.py:55
msgid "Expand Root Partition"
msgstr ""
#: plinth/modules/storage/templates/storage.html:95
msgid ""
"Advanced storage operations such as disk partitioning and RAID management "
"are provided by the <a href=\"/_cockpit/storage\">Cockpit</a> app."
msgstr ""
#: plinth/modules/storage/templates/storage_expand.html:14
#, python-format
msgid ""
"Please backup your data before proceeding. After this operation, "
"%(expandable_root_size)s of additional free space will be available in your "
"root partition."
msgstr ""
#: plinth/modules/storage/views.py:67
#, python-brace-format
msgid "Error expanding partition: {exception}"
msgstr ""
#: plinth/modules/storage/views.py:70
msgid "Partition expanded successfully."
msgstr ""
#: plinth/modules/storage/views.py:87
#, python-brace-format
msgid "{drive_vendor} {drive_model} can be safely unplugged."
msgstr ""
#: plinth/modules/storage/views.py:91
msgid "Device can be safely unplugged."
msgstr ""
#: plinth/modules/storage/views.py:98
#, python-brace-format
msgid "Error ejecting device: {error_message}"
msgstr ""
#: plinth/modules/syncthing/__init__.py:21
msgid ""
"Syncthing is an application to synchronize files across multiple devices, e."
"g. your desktop computer and mobile phone. Creation, modification, or "
"deletion of files on one device will be automatically replicated on all "
"other devices that also run Syncthing."
msgstr ""
#: plinth/modules/syncthing/__init__.py:26
#, python-brace-format
msgid ""
"Running Syncthing on {box_name} provides an extra synchronization point for "
"your data that is available most of the time, allowing your devices to "
"synchronize more often. {box_name} runs a single instance of Syncthing that "
"may be used by multiple users. Each user's set of devices may be "
"synchronized with a distinct set of folders. The web interface on "
"{box_name} is only available for users belonging to the \"admin\" or "
"\"syncthing-access\" group."
msgstr ""
#: plinth/modules/syncthing/__init__.py:53
msgid "Administer Syncthing application"
msgstr ""
#: plinth/modules/syncthing/__init__.py:57
#: plinth/modules/syncthing/manifest.py:12
msgid "Syncthing"
msgstr ""
#: plinth/modules/syncthing/__init__.py:58
msgid "File Synchronization"
msgstr ""
#: plinth/modules/tor/__init__.py:23
msgid ""
"Tor is an anonymous communication system. You can learn more about it from "
"the <a href=\"https://www.torproject.org/\">Tor Project</a> website. For "
"best protection when web surfing, the Tor Project recommends that you use "
"the <a href=\"https://www.torproject.org/download/download-easy.html.en"
"\">Tor Browser</a>."
msgstr ""
#: plinth/modules/tor/__init__.py:30
#, python-brace-format
msgid ""
"A Tor SOCKS port is available on your {box_name} for internal networks on "
"TCP port 9050."
msgstr ""
#: plinth/modules/tor/__init__.py:48
msgid "Tor"
msgstr ""
#: plinth/modules/tor/__init__.py:65
msgid "Tor Onion Service"
msgstr ""
#: plinth/modules/tor/__init__.py:69
msgid "Tor Socks Proxy"
msgstr ""
#: plinth/modules/tor/__init__.py:73
msgid "Tor Bridge Relay"
msgstr ""
#: plinth/modules/tor/__init__.py:127
msgid "Tor relay port available"
msgstr ""
#: plinth/modules/tor/__init__.py:137
msgid "Obfs3 transport registered"
msgstr ""
#: plinth/modules/tor/__init__.py:147
msgid "Obfs4 transport registered"
msgstr ""
#: plinth/modules/tor/__init__.py:212
#, python-brace-format
msgid "Access URL {url} on tcp{kind} via Tor"
msgstr ""
#: plinth/modules/tor/__init__.py:223
#, python-brace-format
msgid "Confirm Tor usage at {url} on tcp{kind}"
msgstr ""
#: plinth/modules/tor/forms.py:33
msgid ""
"Enter a valid bridge with this format: [transport] IP:ORPort [fingerprint]"
msgstr ""
#: plinth/modules/tor/forms.py:76
msgid "Use upstream bridges to connect to Tor network"
msgstr ""
#: plinth/modules/tor/forms.py:78
msgid ""
"When enabled, the bridges configured below will be used to connect to the "
"Tor network. Use this option if your Internet Service Provider (ISP) blocks "
"or censors connections to the Tor Network. This will disable relay modes."
msgstr ""
#: plinth/modules/tor/forms.py:83
msgid "Upstream bridges"
msgstr ""
#: plinth/modules/tor/forms.py:85
msgid ""
"You can get some bridges from <a href=\"https://bridges.torproject.org/"
"\">https://bridges.torproject.org/</a> and copy/paste the bridge information "
"here. Currently supported transports are none, obfs3, obfs4 and scamblesuit."
msgstr ""
#: plinth/modules/tor/forms.py:91
msgid "Enable Tor relay"
msgstr ""
#: plinth/modules/tor/forms.py:92
#, python-brace-format
msgid ""
"When enabled, your {box_name} will run a Tor relay and donate bandwidth to "
"the Tor network. Do this if you have more than 2 megabits/s of upload and "
"download bandwidth."
msgstr ""
#: plinth/modules/tor/forms.py:97
msgid "Enable Tor bridge relay"
msgstr ""
#: plinth/modules/tor/forms.py:99
msgid ""
"When enabled, relay information is published in the Tor bridge database "
"instead of public Tor relay database making it harder to censor this node. "
"This helps others circumvent censorship."
msgstr ""
#: plinth/modules/tor/forms.py:104
msgid "Enable Tor Hidden Service"
msgstr ""
#: plinth/modules/tor/forms.py:106
#, 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."
msgstr ""
#: plinth/modules/tor/forms.py:111
msgid "Download software packages over Tor"
msgstr ""
#: plinth/modules/tor/forms.py:112
msgid ""
"When enabled, software will be downloaded over the Tor network for "
"installations and upgrades. This adds a degree of privacy and security "
"during software downloads."
msgstr ""
#: plinth/modules/tor/forms.py:127
msgid "Specify at least one upstream bridge to use upstream bridges."
msgstr ""
#: plinth/modules/tor/manifest.py:13
msgid "Tor Browser"
msgstr ""
#: plinth/modules/tor/manifest.py:29
msgid "Orbot: Proxy with Tor"
msgstr ""
#: plinth/modules/tor/templates/tor.html:18
msgid "Onion Service"
msgstr ""
#: plinth/modules/tor/templates/tor.html:20
msgid "Ports"
msgstr ""
#: plinth/modules/tor/views.py:53
#, fuzzy
#| msgid "An error occurred during configuration."
msgid "Updating configuration"
msgstr "Đã xảy ra lỗi trong khi thiết lập."
#: plinth/modules/tor/views.py:70
#, fuzzy, python-brace-format
#| msgid "Error installing application: {error}"
msgid "Error configuring app: {error}"
msgstr "Lỗi khi cài đặt ứng dụng: {error}"
#: plinth/modules/transmission/__init__.py:23
msgid "Transmission is a BitTorrent client with a web interface."
msgstr ""
#: plinth/modules/transmission/__init__.py:24
msgid ""
"BitTorrent is a peer-to-peer file sharing protocol. Note that BitTorrent is "
"not anonymous."
msgstr ""
#: plinth/modules/transmission/__init__.py:26
msgid "Please do not change the default port of the Transmission daemon."
msgstr ""
#: plinth/modules/transmission/__init__.py:28
#, python-brace-format
msgid ""
"Compared to <a href=\"{deluge_url}\">Deluge</a>, Transmission is simpler and "
"lightweight but is less customizable."
msgstr ""
#: plinth/modules/transmission/__init__.py:32
#, fuzzy, python-brace-format
#| msgid ""
#| "It can be accessed by <a href=\"{users_url}\">any user</a> on {box_name} "
#| "belonging to the admin group."
msgid ""
"It can be accessed by <a href=\"{users_url}\">any user</a> on {box_name} "
"belonging to the bit-torrent group."
msgstr ""
"Nó có thể được truy cập bởi <a href=\"{users_url}\">bất kỳ người dùng nào</"
"a> trên {box_name} thuộc về nhóm admin."
#: plinth/modules/transmission/__init__.py:36
#, python-brace-format
msgid ""
"<a href=\"{samba_url}\">Samba</a> shares can be set as the default download "
"directory from the dropdown menu below."
msgstr ""
#: plinth/modules/transmission/__init__.py:40
#, python-brace-format
msgid ""
"After a download has completed, you can also access your files using the <a "
"href=\"{sharing_url}\">Sharing</a> app."
msgstr ""
#: plinth/modules/transmission/__init__.py:66
#: plinth/modules/transmission/manifest.py:6
msgid "Transmission"
msgstr ""
#: plinth/modules/ttrss/__init__.py:20
msgid ""
"Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to "
"allow reading news from any location, while feeling as close to a real "
"desktop application as possible."
msgstr ""
#: plinth/modules/ttrss/__init__.py:24
#, fuzzy, python-brace-format
#| msgid ""
#| "It can be accessed by <a href=\"{users_url}\">any user</a> on {box_name} "
#| "belonging to the admin group."
msgid ""
"When enabled, Tiny Tiny RSS can be accessed by <a href=\"{users_url}\">any "
"user</a> belonging to the feed-reader group."
msgstr ""
"Nó có thể được truy cập bởi <a href=\"{users_url}\">bất kỳ người dùng nào</"
"a> trên {box_name} thuộc về nhóm admin."
#: plinth/modules/ttrss/__init__.py:29
msgid ""
"When using a mobile or desktop application for Tiny Tiny RSS, use the URL <a "
"href=\"/tt-rss-app/\">/tt-rss-app</a> for connecting."
msgstr ""
#: plinth/modules/ttrss/__init__.py:48 plinth/modules/ttrss/manifest.py:18
msgid "Tiny Tiny RSS"
msgstr ""
#: plinth/modules/ttrss/__init__.py:49
msgid "News Feed Reader"
msgstr ""
#: plinth/modules/ttrss/manifest.py:9
msgid "Tiny Tiny RSS (Fork)"
msgstr ""
#: plinth/modules/upgrades/__init__.py:35
#: plinth/modules/upgrades/templates/update-firstboot.html:14
msgid "Check for and apply the latest software and security updates."
msgstr ""
#: plinth/modules/upgrades/__init__.py:36
msgid ""
"Updates are run at 06:00 everyday according to local time zone. Set your "
"time zone in Date & Time app. Apps are restarted after update causing them "
"to be unavailable briefly. If system reboot is deemed necessary, it is done "
"automatically at 02:00 causing all apps to be unavailable briefly."
msgstr ""
#: plinth/modules/upgrades/__init__.py:64
#: plinth/modules/upgrades/__init__.py:119
#: plinth/modules/upgrades/templates/update-firstboot-progress.html:11
#: plinth/modules/upgrades/templates/update-firstboot.html:11
msgid "Software Update"
msgstr ""
#: plinth/modules/upgrades/__init__.py:122
msgid "FreedomBox Updated"
msgstr ""
#: plinth/modules/upgrades/__init__.py:190
msgid "Could not start distribution update"
msgstr ""
#: plinth/modules/upgrades/__init__.py:192
msgid ""
"There is not enough free space in the root partition to start the "
"distribution update. Please ensure at least 5 GB is free. Distribution "
"update will be retried after 24 hours, if enabled."
msgstr ""
#: plinth/modules/upgrades/__init__.py:203
msgid "Distribution update started"
msgstr ""
#: plinth/modules/upgrades/__init__.py:205
msgid ""
"Started update to next stable release. This may take a long time to complete."
msgstr ""
#: plinth/modules/upgrades/forms.py:15
msgid "Enable auto-update"
msgstr ""
#: plinth/modules/upgrades/forms.py:16
msgid "When enabled, FreedomBox automatically updates once a day."
msgstr ""
#: plinth/modules/upgrades/forms.py:19
msgid "Enable auto-update to next stable release"
msgstr ""
#: plinth/modules/upgrades/forms.py:20
msgid ""
"When enabled, FreedomBox will update to the next stable distribution release "
"when it is available."
msgstr ""
#: plinth/modules/upgrades/forms.py:34
#: plinth/modules/upgrades/templates/upgrades_configure.html:89
msgid "Activate frequent feature updates (recommended)"
msgstr ""
#: plinth/modules/upgrades/forms.py:40
msgid "Update now (recommended)"
msgstr ""
#: plinth/modules/upgrades/templates/backports-firstboot.html:26
msgid ""
"It is strongly recommended to activate frequent feature updates. If not "
"activated now, they can be activated later."
msgstr ""
#: plinth/modules/upgrades/templates/backports-firstboot.html:33
msgid ""
"<strong>Note:</strong> Once frequent feature updates are activated, they "
"cannot be deactivated."
msgstr ""
#: plinth/modules/upgrades/templates/update-firstboot-progress.html:19
msgid "Updating, please wait..."
msgstr ""
#: plinth/modules/upgrades/templates/update-firstboot-progress.html:22
#: plinth/modules/upgrades/templates/update-firstboot.html:20
msgid ""
"<strong>This may take a long time to complete.</strong> During an update, "
"this web interface may be temporarily unavailable and show an error. In that "
"case, refresh the page to continue."
msgstr ""
#: plinth/modules/upgrades/templates/update-firstboot-progress.html:31
#, python-format
msgid ""
"\n"
"\t%(box_name)s is up to date. Press Next to continue.\n"
" "
msgstr ""
#: plinth/modules/upgrades/templates/upgrades-new-release.html:9
#, python-format
msgid "%(box_name)s updated"
msgstr ""
#: plinth/modules/upgrades/templates/upgrades-new-release.html:13
#, python-format
msgid ""
"%(box_name)s has been updated to version %(version)s. See the <a href="
"\"%(url)s\">release announcement</a>."
msgstr ""
#: plinth/modules/upgrades/templates/upgrades-new-release.html:22
#: plinth/templates/notifications.html:44
#: plinth/templates/operation-notification.html:23
msgid "Dismiss"
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:30
#: plinth/modules/upgrades/templates/upgrades_configure.html:100
msgid "Updating..."
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:32
#, python-format
msgid "There is a new %(box_name)s version available."
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:35
msgid "Your Freedombox needs an update!"
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:47
msgid ""
"Frequent feature updates can be activated. Activating them is recommended."
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:56
msgid ""
"Frequent feature updates cannot be activated. They may not be necessary on "
"your distribution."
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:78
#, python-format
msgid ""
"<strong>Warning!</strong> Once frequent feature updates are activated, they "
"cannot be deactivated. You may wish to take a snapshot using <a href="
"\"%(snapshot_url)s\">Storage Snapshots</a> before continuing."
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:94
msgid "Manual Update"
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:108
msgid "Update now"
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:114
msgid ""
"<strong>This may take a long time to complete.</strong> During an update, "
"you cannot install apps. Also, this web interface may be temporarily "
"unavailable and show an error. In that case, refresh the page to continue."
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:128
msgid "Show recent update logs"
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:138
msgid "Test Distribution Upgrade"
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:140
msgid ""
"This will attempt to upgrade the system from stable to testing. <strong>It "
"is meant only for development use.</strong>"
msgstr ""
#: plinth/modules/upgrades/templates/upgrades_configure.html:150
msgid "Test distribution upgrade now"
msgstr ""
#: plinth/modules/upgrades/views.py:71
#, python-brace-format
msgid "Error when configuring unattended-upgrades: {error}"
msgstr ""
#: plinth/modules/upgrades/views.py:75
msgid "Automatic upgrades enabled"
msgstr ""
#: plinth/modules/upgrades/views.py:78
msgid "Automatic upgrades disabled"
msgstr ""
#: plinth/modules/upgrades/views.py:86
msgid "Distribution upgrade enabled"
msgstr ""
#: plinth/modules/upgrades/views.py:89
msgid "Distribution upgrade disabled"
msgstr ""
#: plinth/modules/upgrades/views.py:126
msgid "Upgrade process started."
msgstr ""
#: plinth/modules/upgrades/views.py:128
msgid "Starting upgrade failed."
msgstr ""
#: plinth/modules/upgrades/views.py:138
msgid "Frequent feature updates activated."
msgstr ""
#: plinth/modules/upgrades/views.py:224
msgid "Starting distribution upgrade test."
msgstr ""
#: plinth/modules/users/__init__.py:28
msgid ""
"Create and manage user accounts. These accounts serve as centralized "
"authentication mechanism for most apps. Some apps further require a user "
"account to be part of a group to authorize the user to access the app."
msgstr ""
#: plinth/modules/users/__init__.py:33
#, python-brace-format
msgid ""
"Any user may login to {box_name} web interface to see a list of apps "
"relevant to them in the home page. However, only users of the <em>admin</em> "
"group may alter apps or system settings."
msgstr ""
#: plinth/modules/users/__init__.py:54
msgid "Users and Groups"
msgstr ""
#: plinth/modules/users/__init__.py:74
msgid "Access to all services and system settings"
msgstr ""
#: plinth/modules/users/__init__.py:110
#, python-brace-format
msgid "Check LDAP entry \"{search_item}\""
msgstr ""
#: plinth/modules/users/forms.py:36
msgid "Username is taken or is reserved."
msgstr ""
#: plinth/modules/users/forms.py:63
msgid "Enter a valid username."
msgstr ""
#: plinth/modules/users/forms.py:70
msgid ""
"Required. 150 characters or fewer. English letters, digits and @/./-/_ only."
msgstr ""
#: plinth/modules/users/forms.py:79
msgid "Authorization Password"
msgstr ""
#: plinth/modules/users/forms.py:86
#, python-brace-format
msgid ""
"Enter the password for user \"{user}\" to authorize account modifications."
msgstr ""
#: plinth/modules/users/forms.py:95
msgid "Invalid password."
msgstr ""
#: plinth/modules/users/forms.py:113
msgid ""
"Select which services should be available to the new user. The user will be "
"able to log in to services that support single sign-on through LDAP, if they "
"are in the appropriate group.<br /><br />Users in the admin group will be "
"able to log in to all services. They can also log in to the system through "
"SSH and have administrative privileges (sudo)."
msgstr ""
#: plinth/modules/users/forms.py:156 plinth/modules/users/forms.py:374
#, python-brace-format
msgid "Creating LDAP user failed: {error}"
msgstr ""
#: plinth/modules/users/forms.py:167
#, python-brace-format
msgid "Failed to add new user to {group} group: {error}"
msgstr ""
#: plinth/modules/users/forms.py:182
msgid "Authorized SSH Keys"
msgstr ""
#: plinth/modules/users/forms.py:184
msgid ""
"Setting an SSH public key will allow this user to securely log in to the "
"system without using a password. You may enter multiple keys, one on each "
"line. Blank lines and lines starting with # will be ignored."
msgstr ""
#: plinth/modules/users/forms.py:265
msgid "Renaming LDAP user failed."
msgstr ""
#: plinth/modules/users/forms.py:276
msgid "Failed to remove user from group."
msgstr ""
#: plinth/modules/users/forms.py:286
msgid "Failed to add user to group."
msgstr ""
#: plinth/modules/users/forms.py:293
msgid "Unable to set SSH keys."
msgstr ""
#: plinth/modules/users/forms.py:306
msgid "Failed to change user status."
msgstr ""
#: plinth/modules/users/forms.py:347
msgid "Changing LDAP user password failed."
msgstr ""
#: plinth/modules/users/forms.py:382
#, python-brace-format
msgid "Failed to add new user to admin group: {error}"
msgstr ""
#: plinth/modules/users/forms.py:401
#, python-brace-format
msgid "Failed to restrict console access: {error}"
msgstr ""
#: plinth/modules/users/forms.py:414
msgid "User account created, you are now logged in"
msgstr ""
#: plinth/modules/users/templates/users_change_password.html:11
#, python-format
msgid "Change Password for <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_change_password.html:21
msgid "Save Password"
msgstr ""
#: plinth/modules/users/templates/users_create.html:11
#: plinth/modules/users/templates/users_create.html:19
#: plinth/modules/users/templates/users_list.html:15
#: plinth/modules/users/templates/users_list.html:17
#: plinth/modules/users/views.py:46
msgid "Create User"
msgstr ""
#: plinth/modules/users/templates/users_delete.html:11
#: plinth/modules/users/views.py:138
msgid "Delete User"
msgstr ""
#: plinth/modules/users/templates/users_delete.html:14
#, python-format
msgid "Delete user <strong>%(username)s</strong> permanently?"
msgstr ""
#: plinth/modules/users/templates/users_delete.html:23
#, python-format
msgid "Delete %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_firstboot.html:11
msgid "Administrator Account"
msgstr ""
#: plinth/modules/users/templates/users_firstboot.html:15
msgid ""
"Choose a username and password to access this web interface. The password "
"can be changed later. This user will be granted administrative privileges. "
"Other users can be added later."
msgstr ""
#: plinth/modules/users/templates/users_firstboot.html:28
msgid "Create Account"
msgstr ""
#: plinth/modules/users/templates/users_firstboot.html:32
msgid "An administrator account already exists."
msgstr ""
#: plinth/modules/users/templates/users_firstboot.html:38
msgid "The following administrator accounts exist in the system."
msgstr ""
#: plinth/modules/users/templates/users_firstboot.html:50
#, 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 '{\"args\": [\"USERNAME\", \"PASSWORD\"], \"kwargs\": {}}' | "
"sudo /usr/share/plinth/actions/actions users remove_user\". If an account is "
"already usable with %(box_name)s, skip this step."
msgstr ""
#: plinth/modules/users/templates/users_list.html:11
#: plinth/modules/users/views.py:64
msgid "Users"
msgstr ""
#: plinth/modules/users/templates/users_list.html:28
#, python-format
msgid "Edit user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_list.html:41
#, python-format
msgid "Delete user %(username)s"
msgstr ""
#: plinth/modules/users/templates/users_update.html:11
#, python-format
msgid "Edit User <em>%(username)s</em>"
msgstr ""
#: plinth/modules/users/templates/users_update.html:19
#, python-format
msgid ""
"Use the <a href='%(change_password_url)s'>change password form </a> to "
"change the password."
msgstr ""
#: plinth/modules/users/templates/users_update.html:31
#: plinth/templates/language-selection.html:17
msgid "Save Changes"
msgstr ""
#: plinth/modules/users/views.py:44
#, python-format
msgid "User %(username)s created."
msgstr ""
#: plinth/modules/users/views.py:80
#, python-format
msgid "User %(username)s updated."
msgstr ""
#: plinth/modules/users/views.py:81
msgid "Edit User"
msgstr ""
#: plinth/modules/users/views.py:151
#, python-brace-format
msgid "User {user} deleted."
msgstr ""
#: plinth/modules/users/views.py:157
msgid "Deleting LDAP user failed."
msgstr ""
#: plinth/modules/users/views.py:185
msgid "Change Password"
msgstr ""
#: plinth/modules/users/views.py:186
msgid "Password changed successfully."
msgstr ""
#: plinth/modules/wireguard/__init__.py:20
msgid "WireGuard is a fast, modern, secure VPN tunnel."
msgstr ""
#: plinth/modules/wireguard/__init__.py:22
#, python-brace-format
msgid ""
"It can be used to connect to a VPN provider which supports WireGuard, and to "
"route all outgoing traffic from {box_name} through the VPN."
msgstr ""
#: plinth/modules/wireguard/__init__.py:26
#, python-brace-format
msgid ""
"A second use case is to connect a mobile device to {box_name} while "
"travelling. While connected to a public Wi-Fi network, all traffic can be "
"securely relayed through {box_name}."
msgstr ""
#: plinth/modules/wireguard/forms.py:32
msgid "Invalid key."
msgstr ""
#: plinth/modules/wireguard/forms.py:61
#: plinth/modules/wireguard/templates/wireguard.html:17
#: plinth/modules/wireguard/templates/wireguard.html:77
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:24
msgid "Public Key"
msgstr ""
#: plinth/modules/wireguard/forms.py:62
msgid ""
"Public key of the peer. Example: "
"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ."
msgstr ""
#: plinth/modules/wireguard/forms.py:70
msgid "Endpoint of the server"
msgstr ""
#: plinth/modules/wireguard/forms.py:71
msgid ""
"Domain name and port in the form \"ip:port\". Example: demo.wireguard."
"com:12912 ."
msgstr ""
#: plinth/modules/wireguard/forms.py:76
msgid "Public key of the server"
msgstr ""
#: plinth/modules/wireguard/forms.py:77
msgid ""
"Provided by the server operator, a long string of characters. Example: "
"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ."
msgstr ""
#: plinth/modules/wireguard/forms.py:82
msgid "Client IP address provided by server"
msgstr ""
#: plinth/modules/wireguard/forms.py:83
msgid ""
"IP address assigned to this machine on the VPN after connecting to the "
"endpoint. This value is usually provided by the server operator. Example: "
"192.168.0.10."
msgstr ""
#: plinth/modules/wireguard/forms.py:89
msgid "Private key of this machine"
msgstr ""
#: plinth/modules/wireguard/forms.py:90
msgid ""
"Optional. New public/private keys are generated if left blank. Public key "
"can then be provided to the server. This is the recommended way. However, "
"some server operators insist on providing this. Example: "
"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs= ."
msgstr ""
#: plinth/modules/wireguard/forms.py:98
msgid "Pre-shared key"
msgstr ""
#: plinth/modules/wireguard/forms.py:99
msgid ""
"Optional. A shared secret key provided by the server to add an additional "
"layer of security. Fill in only if provided. Example: "
"MConEJFIg6+DFHg2J1nn9SNLOSE9KR0ysdPgmPjibEs=."
msgstr ""
#: plinth/modules/wireguard/forms.py:105
msgid "Use this connection to send all outgoing traffic"
msgstr ""
#: plinth/modules/wireguard/forms.py:107
msgid "Typically checked for a VPN service through which all traffic is sent."
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:10
msgid "As a Server"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:12
msgid "Peers allowed to connect to this server:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:18
msgid "Allowed IPs"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:19
#: plinth/modules/wireguard/templates/wireguard.html:78
msgid "Last Connected Time"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:38
#, python-format
msgid "No peers configured to connect to this %(box_name)s yet."
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:48
#, python-format
msgid "Public key for this %(box_name)s:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:54
msgid "Not configured yet."
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:59
msgid "Add a new peer"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:63
#: plinth/modules/wireguard/views.py:48
msgid "Add Allowed Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:67
msgid "As a Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:69
#, python-format
msgid "Servers that %(box_name)s will connect to:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:76
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:20
msgid "Endpoint"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:100
msgid "No connections to remote servers are configured yet."
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:110
msgid "Add a new server"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard.html:114
#: plinth/modules/wireguard/views.py:157
msgid "Add Connection to Server"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_add_client.html:19
msgid "Add Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_delete_client.html:14
msgid "Are you sure that you want to delete this client?"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_delete_server.html:14
msgid "Are you sure that you want to delete this server?"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_edit_client.html:19
msgid "Update Client"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_edit_server.html:19
msgid "Update Connection"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_client.html:12
#, python-format
msgid ""
"%(box_name)s will allow this client to connect to it. Ensure that the client "
"is configured with the following information."
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_client.html:21
msgid "Client public key:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_client.html:25
msgid "IP address to use for client:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_client.html:29
#: plinth/modules/wireguard/templates/wireguard_show_server.html:32
msgid "Pre-shared key:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_client.html:33
msgid "Server endpoints:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_client.html:41
#: plinth/modules/wireguard/templates/wireguard_show_server.html:28
msgid "Server public key:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_client.html:53
#: plinth/modules/wireguard/templates/wireguard_show_server.html:52
msgid "Data transmitted:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_client.html:57
#: plinth/modules/wireguard/templates/wireguard_show_server.html:56
msgid "Data received:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_client.html:61
#: plinth/modules/wireguard/templates/wireguard_show_server.html:60
msgid "Latest handshake:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_server.html:14
#, python-format
msgid ""
"%(box_name)s will attempt to reach a WireGuard server with the following "
"information. Ensure that the server is configured to allow %(box_name)s's "
"public key and IP address."
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_server.html:24
msgid "Server endpoint:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_server.html:36
msgid "Public key of this machine:"
msgstr ""
#: plinth/modules/wireguard/templates/wireguard_show_server.html:40
msgid "IP address of this machine:"
msgstr ""
#: plinth/modules/wireguard/views.py:43
msgid "Added new client."
msgstr ""
#: plinth/modules/wireguard/views.py:58 plinth/modules/wireguard/views.py:117
msgid "Client with public key already exists"
msgstr ""
#: plinth/modules/wireguard/views.py:71
msgid "Allowed Client"
msgstr ""
#: plinth/modules/wireguard/views.py:93
msgid "Updated client."
msgstr ""
#: plinth/modules/wireguard/views.py:98
msgid "Modify Client"
msgstr ""
#: plinth/modules/wireguard/views.py:131
msgid "Delete Allowed Client"
msgstr ""
#: plinth/modules/wireguard/views.py:140
msgid "Client deleted."
msgstr ""
#: plinth/modules/wireguard/views.py:142
msgid "Client not found"
msgstr ""
#: plinth/modules/wireguard/views.py:152
msgid "Added new server."
msgstr ""
#: plinth/modules/wireguard/views.py:173
msgid "Connection to Server"
msgstr ""
#: plinth/modules/wireguard/views.py:191
msgid "Updated server."
msgstr ""
#: plinth/modules/wireguard/views.py:196
msgid "Modify Connection to Server"
msgstr ""
#: plinth/modules/wireguard/views.py:233
msgid "Delete Connection to Server"
msgstr ""
#: plinth/modules/wireguard/views.py:253
msgid "Server deleted."
msgstr ""
#: plinth/modules/wordpress/__init__.py:19
msgid ""
"WordPress is a popular way to create and manage websites and blogs. Content "
"can be managed using a visual interface. Layout and functionality of the web "
"pages can be customized. Appearance can be chosen using themes. "
"Administration interface and produced web pages are suitable for mobile "
"devices."
msgstr ""
#: plinth/modules/wordpress/__init__.py:25
#, python-brace-format
msgid ""
"You need to run WordPress setup by visiting the app before making the site "
"publicly available below. Setup must be run when accessing {box_name} with "
"the correct domain name. Enable permalinks in administrator interface for "
"better URLs to your pages and posts."
msgstr ""
#: plinth/modules/wordpress/__init__.py:30
msgid ""
"WordPress has its own user accounts. First administrator account is created "
"during setup. Bookmark the <a href=\"/wordpress/wp-admin/\">admin page</a> "
"to reach administration interface in the future."
msgstr ""
#: plinth/modules/wordpress/__init__.py:34
msgid ""
"After a major version upgrade, you need to manually run database upgrade "
"from administrator interface. Additional plugins or themes may be installed "
"and upgraded at your own risk."
msgstr ""
#: plinth/modules/wordpress/__init__.py:52
#: plinth/modules/wordpress/manifest.py:6
msgid "WordPress"
msgstr ""
#: plinth/modules/wordpress/__init__.py:53
msgid "Website and Blog"
msgstr ""
#: plinth/modules/wordpress/forms.py:14
msgid "Public access"
msgstr ""
#: plinth/modules/wordpress/forms.py:15
msgid ""
"Allow all visitors. Disabling allows only administrators to view the "
"WordPress site or blog. Enable only after performing initial WordPress setup."
msgstr ""
#: plinth/modules/zoph/__init__.py:22
#, python-brace-format
msgid ""
"Zoph manages your photo collection. Photos are stored on your {box_name}, "
"under your control. Instead of focusing on galleries for public display, "
"Zoph focuses on managing them for your own use, organizing them by who took "
"them, where they were taken, and who is in them. Photos can be linked to "
"multiple hierarchical albums and categories. It is easy to find all photos "
"containing a person, or photos taken on a date, or photos taken at a "
"location using search, map and calendar views. Individual photos can be "
"shared with others by sending a direct link."
msgstr ""
#: plinth/modules/zoph/__init__.py:33
#, python-brace-format
msgid ""
"The {box_name} user who setup Zoph will also become the administrator in "
"Zoph. For additional users, accounts must be created both in {box_name} and "
"in Zoph with the same user name."
msgstr ""
#: plinth/modules/zoph/__init__.py:52 plinth/modules/zoph/manifest.py:6
msgid "Zoph"
msgstr ""
#: plinth/modules/zoph/__init__.py:53
msgid "Photo Organizer"
msgstr ""
#: plinth/modules/zoph/forms.py:14
msgid "Enable OpenStreetMap for maps"
msgstr ""
#: plinth/modules/zoph/forms.py:15
msgid ""
"When enabled, requests will be made to OpenStreetMap servers from user's "
"browser. This impacts privacy."
msgstr ""
#: plinth/modules/zoph/templates/zoph-pre-setup.html:15
#: plinth/modules/zoph/templates/zoph-pre-setup.html:28
msgid "Setup"
msgstr ""
#: plinth/modules/zoph/templates/zoph-pre-setup.html:18
#, python-format
msgid ""
"User account <strong>%(username)s</strong> will become the administrator "
"account for Zoph."
msgstr ""
#: plinth/network.py:29
msgid "PPPoE"
msgstr ""
#: plinth/network.py:30
msgid "Generic"
msgstr ""
#: plinth/operation.py:116
#, fuzzy, python-brace-format
#| msgid "Error setting hostname: {exception}"
msgid "Error: {name}: {exception_message}"
msgstr "Lỗi khi đặt tên máy chủ: {exception}"
#: plinth/operation.py:119
#, python-brace-format
msgid "Waiting to start: {name}"
msgstr ""
#: plinth/operation.py:125
#, python-brace-format
msgid "Finished: {name}"
msgstr ""
#: plinth/package.py:188
#, python-brace-format
msgid "Package {expression} is not available for install"
msgstr ""
#: plinth/package.py:201
#, python-brace-format
msgid "Package {package_name} is the latest version ({latest_version})"
msgstr ""
#: plinth/package.py:348
msgid "installing"
msgstr ""
#: plinth/package.py:350
msgid "downloading"
msgstr ""
#: plinth/package.py:352
msgid "media change"
msgstr ""
#: plinth/package.py:354
#, python-brace-format
msgid "configuration file: {file}"
msgstr ""
#: plinth/package.py:382 plinth/package.py:407
msgid "Timeout waiting for package manager"
msgstr ""
#: plinth/setup.py:41
msgid "Installing app"
msgstr ""
#: plinth/setup.py:43
msgid "Updating app"
msgstr ""
#: plinth/setup.py:69
#, fuzzy, python-brace-format
#| msgid "Error installing application: {string} {details}"
msgid "Error installing app: {string} {details}"
msgstr "Lỗi khi cài đặt ứng dụng: {string} {details}"
#: plinth/setup.py:73
#, fuzzy, python-brace-format
#| msgid "Error installing application: {string} {details}"
msgid "Error updating app: {string} {details}"
msgstr "Lỗi khi cài đặt ứng dụng: {string} {details}"
#: plinth/setup.py:79
#, fuzzy, python-brace-format
#| msgid "Error installing application: {error}"
msgid "Error installing app: {error}"
msgstr "Lỗi khi cài đặt ứng dụng: {error}"
#: plinth/setup.py:82
#, fuzzy, python-brace-format
#| msgid "Error installing application: {error}"
msgid "Error updating app: {error}"
msgstr "Lỗi khi cài đặt ứng dụng: {error}"
#: plinth/setup.py:86
#, fuzzy
#| msgid "Application installed."
msgid "App installed."
msgstr "Ứng dụng đã được cài đặt."
#: plinth/setup.py:88
msgid "App updated"
msgstr ""
#: plinth/setup.py:105
#, fuzzy
#| msgid "Error installing application: {error}"
msgid "Uninstalling app"
msgstr "Lỗi khi cài đặt ứng dụng: {error}"
#: plinth/setup.py:123
#, fuzzy, python-brace-format
#| msgid "Error installing application: {string} {details}"
msgid "Error uninstalling app: {string} {details}"
msgstr "Lỗi khi cài đặt ứng dụng: {string} {details}"
#: plinth/setup.py:129
#, fuzzy, python-brace-format
#| msgid "Error installing application: {error}"
msgid "Error uninstalling app: {error}"
msgstr "Lỗi khi cài đặt ứng dụng: {error}"
#: plinth/setup.py:132
#, fuzzy
#| msgid "Application installed."
msgid "App uninstalled."
msgstr "Ứng dụng đã được cài đặt."
#: plinth/setup.py:452
msgid "Updating app packages"
msgstr ""
#: plinth/templates/403.html:10
msgid "403 Forbidden"
msgstr ""
#: plinth/templates/403.html:14
#, python-format
msgid "You don't have permission to access %(request_path)s on this server."
msgstr ""
#: plinth/templates/404.html:10
msgid "404"
msgstr ""
#: plinth/templates/404.html:13
#, python-format
msgid "Requested page %(request_path)s was not found."
msgstr ""
#: plinth/templates/404.html:19
msgid ""
"If you believe this missing page should exist, please file a bug at the "
"FreedomBox Service (Plinth) project <a href=\"https://salsa.debian.org/"
"freedombox-team/freedombox/issues\">issue tracker</a>."
msgstr ""
#: plinth/templates/500.html:10
msgid "500"
msgstr ""
#: plinth/templates/500.html:14
#, python-format
msgid ""
"This is an internal error and not something you caused or can fix. Please "
"report the error on the <a href=\"https://salsa.debian.org/freedombox-team/"
"freedombox/issues\">bug tracker</a> so we can fix it. Also, please attach "
"the <a href=\"%(status_log_url)s\">status log</a> to the bug report."
msgstr ""
#: plinth/templates/app-header.html:22
msgid "Installation"
msgstr ""
#: plinth/templates/app.html:30
#, python-format
msgid "Service <em>%(service_name)s</em> is not running."
msgstr ""
#: plinth/templates/base.html:31
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 ""
#: plinth/templates/base.html:110
msgid " Home"
msgstr ""
#: plinth/templates/base.html:113
msgid "Home"
msgstr ""
#: plinth/templates/base.html:118
msgid " Apps"
msgstr ""
#: plinth/templates/base.html:122
msgid "Apps"
msgstr ""
#: plinth/templates/base.html:127
msgid " System"
msgstr ""
#: plinth/templates/base.html:131
msgid "System"
msgstr ""
#: plinth/templates/base.html:166 plinth/templates/base.html:167
msgid "Change password"
msgstr ""
#: plinth/templates/base.html:180 plinth/templates/base.html:181
msgid "Shut down"
msgstr ""
#: plinth/templates/base.html:188 plinth/templates/base.html:189
#: plinth/templates/base.html:216 plinth/templates/base.html:218
msgid "Log out"
msgstr ""
#: plinth/templates/base.html:198 plinth/templates/base.html:201
msgid "Select language"
msgstr ""
#: plinth/templates/base.html:207 plinth/templates/base.html:209
msgid "Log in"
msgstr ""
#: plinth/templates/clients-button.html:16
msgid "Launch web client"
msgstr ""
#: plinth/templates/clients-button.html:25
msgid "Client Apps"
msgstr ""
#: plinth/templates/clients.html:17
msgid "Web"
msgstr ""
#: plinth/templates/clients.html:42
msgid "Desktop"
msgstr ""
#: plinth/templates/clients.html:53
msgid "GNU/Linux"
msgstr ""
#: plinth/templates/clients.html:55
msgid "Windows"
msgstr ""
#: plinth/templates/clients.html:57
msgid "macOS"
msgstr ""
#: plinth/templates/clients.html:73
msgid "Mobile"
msgstr ""
#: plinth/templates/clients.html:84
msgid "Play Store"
msgstr ""
#: plinth/templates/clients.html:86
msgid "F-Droid"
msgstr ""
#: plinth/templates/clients.html:88
msgid "App Store"
msgstr ""
#: plinth/templates/clients.html:104
msgid "Package"
msgstr ""
#: plinth/templates/clients.html:111
msgid "Debian:"
msgstr ""
#: plinth/templates/clients.html:114
msgid "Homebrew:"
msgstr ""
#: plinth/templates/clients.html:117
msgid "RPM:"
msgstr ""
#: plinth/templates/first_setup.html:18
#, python-format
msgid ""
"Please wait for %(box_name)s to finish installation. You can start using "
"your %(box_name)s once it is done."
msgstr ""
#: plinth/templates/index.html:22
#, python-format
msgid ""
"Enable some <a href=\"%(apps_url)s\">applications</a> to add shortcuts to "
"this page."
msgstr ""
#: plinth/templates/index.html:100
#, python-format
msgid ""
"%(box_name)s, a Debian pure blend, is a 100%% free software self-hosting web "
"server to deploy social applications on small machines. It provides online "
"communication tools respecting your privacy and data ownership."
msgstr ""
#: plinth/templates/index.html:109
#, python-format
msgid ""
"This portal is a part of the %(box_name)s web interface. %(box_name)s is "
"free software, distributed under the GNU Affero General Public License, "
"Version 3 or later."
msgstr ""
#: plinth/templates/index.html:127
msgid "Source Code"
msgstr ""
#: plinth/templates/index.html:132
msgid "Homepage"
msgstr ""
#: plinth/templates/index.html:135 plinth/templates/toolbar.html:19
msgid "Donate"
msgstr ""
#: plinth/templates/index.html:139
msgid "FreedomBox Foundation"
msgstr ""
#: plinth/templates/index.html:146
msgid "Forum"
msgstr ""
#: plinth/templates/index.html:151
msgid "IRC Chatroom"
msgstr ""
#: plinth/templates/index.html:156
msgid "Mailing list"
msgstr ""
#: plinth/templates/internal-zone.html:11
#, python-format
msgid ""
"<em>%(service_name)s</em> is available only on internal networks or when the "
"client is connected to %(box_name)s through VPN."
msgstr ""
#: plinth/templates/internal-zone.html:17
msgid "Currently there are no network interfaces configured as internal."
msgstr ""
#: plinth/templates/internal-zone.html:19
#, python-format
msgid ""
"Currently the following network interfaces are configured as internal: "
"%(interface_list)s"
msgstr ""
#: plinth/templates/messages.html:11
msgid "Close"
msgstr ""
#: plinth/templates/notifications-dropdown.html:11
msgid "Notifications"
msgstr ""
#: plinth/templates/port-forwarding-info.html:8
msgid "Port Forwarding"
msgstr ""
#: plinth/templates/port-forwarding-info.html:13
#, python-format
msgid ""
"Your FreedomBox is <a href=\"%(networks_url)s\">not behind a router</a>. No "
"action is necessary."
msgstr ""
#: plinth/templates/port-forwarding-info.html:19
#, python-format
msgid ""
"Your FreedomBox is <a href=\"%(networks_url)s\"> behind a router</a> and you "
"are using the DMZ feature to forward all ports. No further router "
"configuration is necessary."
msgstr ""
#: plinth/templates/port-forwarding-info.html:26
#, python-format
msgid ""
"Your FreedomBox is <a href=\"%(networks_url)s\">behind a router</a> and you "
"are not using the DMZ feature. You will need to set up port forwarding on "
"your router. You should forward the following ports for %(service_name)s:"
msgstr ""
#: plinth/templates/port-forwarding-info.html:37
#, fuzzy
#| msgid "Service Type"
msgid "Service Name"
msgstr "Loại dịch vụ"
#: plinth/templates/port-forwarding-info.html:38
msgid "Protocol"
msgstr ""
#: plinth/templates/port-forwarding-info.html:39
msgid "From Router/WAN Ports"
msgstr ""
#: plinth/templates/port-forwarding-info.html:40
#, python-format
msgid "To %(box_name)s Ports"
msgstr ""
#: plinth/templates/setup.html:19
msgid "Application installed."
msgstr "Ứng dụng đã được cài đặt."
#: plinth/templates/setup.html:26
msgid "Install this application?"
msgstr ""
#: plinth/templates/setup.html:30
msgid "This application needs an update. Update now?"
msgstr ""
#: plinth/templates/setup.html:41
msgid "This application is currently not available in your distribution."
msgstr ""
#: plinth/templates/setup.html:45
msgid "Check again"
msgstr ""
#: plinth/templates/setup.html:50
msgid ""
"<strong>Conflicting Packages:</strong> Some packages installed on the system "
"conflict with the installation of this app. The following packages will be "
"removed if you proceed:"
msgstr ""
#: plinth/templates/setup.html:66
msgid "Install"
msgstr ""
#: plinth/templates/setup.html:68
msgid "Update"
msgstr "Cập nhật"
#: plinth/templates/toolbar.html:39 plinth/templates/toolbar.html:40
#: plinth/templates/uninstall.html:36
#, fuzzy
#| msgid "Application installed."
msgid "Uninstall"
msgstr "Ứng dụng đã được cài đặt."
#: plinth/templates/uninstall.html:11
#, fuzzy, python-format
#| msgid "App: %(app_name)s"
msgid "Uninstall App <em>%(app_name)s</em>?"
msgstr "Ứng dụng: %(app_name)s"
#: plinth/templates/uninstall.html:17
msgid "Uninstalling an app is an exprimental feature."
msgstr ""
#: plinth/templates/uninstall.html:23
msgid ""
"All app data and configuration will be permanently lost. App may be "
"installed freshly again."
msgstr ""
#: plinth/views.py:221
msgid "Setting unchanged"
msgstr ""
#: plinth/views.py:401
#, python-brace-format
msgid "before uninstall of {app_id}"
msgstr ""
#: plinth/web_framework.py:114
msgid "Gujarati"
msgstr ""
#~ msgid "Enable DNSSEC"
#~ msgstr "Bật DNSSEC"
#~ msgid "Enable Domain Name System Security Extensions"
#~ msgstr "Bật Phần mở rộng bảo mật cho Hệ thống tên miền"
#, fuzzy
#~| msgid "Error During Backup"
#~ msgid "Error running apt-get"
#~ msgstr "Lỗi trong khi sao lưu"
#~ msgid ""
#~ "Cockpit requires that you access it through a domain name. It will not "
#~ "work when accessed using an IP address as part of the URL."
#~ msgstr ""
#~ "Cockpit yêu cầu bạn truy cập nó qua một tên miền. Nó sẽ không hoạt động "
#~ "khi được truy cập vào bằng một địa chỉ IP với tư cách là một phần của URL."
#~ msgid "Access"
#~ msgstr "Truy cập"
#~ msgid "Cockpit will only work when accessed using the following URLs."
#~ msgstr "Cockpit sẽ chỉ hoạt động khi được truy cập bằng các URL sau."
#, fuzzy
#~| msgid "Web Server"
#~ msgid "WebRTC server"
#~ msgstr "Máy chủ web"
#, fuzzy
#~| msgid "Enable DNSSEC"
#~ msgid "Enable"
#~ msgstr "Bật DNSSEC"
#~ msgid "Enable Dynamic DNS"
#~ msgstr "Bật DNS động"
#~ msgid "Please provide an update URL or a GnuDIP server address"
#~ msgstr "Vui lòng cung cấp một URL cập nhật hoặc một địa chỉ máy chủ GnuDIP"
#~ msgid "Please provide a GnuDIP username"
#~ msgstr "Vui lòng cung cấp một tên người dùng GnuDIP"
#~ msgid "Please provide a GnuDIP domain name"
#~ msgstr "Vui lòng cung cấp một tên miền GnuDIP"
#~ msgid "Please provide a password"
#~ msgstr "Vui lòng cung cấp một mật khẩu"
#, python-format
#~ msgid ""
#~ "If your %(box_name)s is connected behind a NAT router, don't forget to "
#~ "add port forwarding for standard ports, including TCP port 80 (HTTP) and "
#~ "TCP port 443 (HTTPS)."
#~ msgstr ""
#~ "Nếu %(box_name)s của bạn được kết nối đằng sau một router NAT, đừng quên "
#~ "thêm chuyển tiếp cổng cho các cổng tiêu chuẩn, bao gồm cổng TCP 80 (HTTP) "
#~ "và cổng TCP 443 (HTTPS)."
#~ msgid ""
#~ "You have disabled Javascript. Dynamic form mode is disabled and some "
#~ "helper functions may not work (but the main functionality should work)."
#~ msgstr ""
#~ "Bạn đã tắt Javascript. Chế độ form động bị tắt và một số chức năng trợ "
#~ "giúp có thể không hoạt động (nhưng chức năng chính có khả năng cao là sẽ "
#~ "hoạt động)."
#~ msgid "NAT type"
#~ msgstr "Loại NAT"
#~ msgid ""
#~ "NAT type was not detected yet. If you do not provide an \"IP Check URL\", "
#~ "we will not detect a NAT type."
#~ msgstr ""
#~ "Loại NAT chưa được phát hiện. Nếu bạn không cung cấp một \"URL kiểm tra IP"
#~ "\", chúng tôi sẽ không phát hiện loại NAT."
#~ msgid "Direct connection to the Internet."
#~ msgstr "Kết nối trực tiếp đến Internet."
#, fuzzy
#~| msgid "Invalid domain name"
#~ msgid "Enter a valid domain"
#~ msgstr "Tên miền không hợp lệ"
#, fuzzy
#~| msgid "TLS domain"
#~ msgid "domain"
#~ msgstr "Miền TLS"
#, fuzzy
#~| msgid "Service Type"
#~ msgid "Service Alert"
#~ msgstr "Loại dịch vụ"
#~ msgid ""
#~ "diaspora* is a decentralized social network where you can store and "
#~ "control your own data."
#~ msgstr ""
#~ "diaspora* là một mạng xã hội phi tập trung, ở đó bạn có thể lưu trữ và "
#~ "kiểm soát dữ liệu của bạn."
#~ msgid "diaspora*"
#~ msgstr "diaspora*"
#~ msgid "Federated Social Network"
#~ msgstr "Mạng xã hội được liên kết"
#~ msgid "Enable new user registrations"
#~ msgstr "Bật đăng ký người dùng mới"
#~ msgid "dandelion*"
#~ msgstr "dandelion*"
#~ msgid ""
#~ "It is an unofficial webview based client for the community-run, "
#~ "distributed social network diaspora*"
#~ msgstr ""
#~ "Nó là một ứng dụng khách không chính thức dựa trên webview cho mạng xã "
#~ "hội được cộng đồng vận hành, được phân phối diaspora*"
#, python-format
#~ msgid ""
#~ "The diaspora* pod domain is set to <b>%(domain_name)s</b>. User IDs will "
#~ "look like <i>username@diaspora.%(domain_name)s</i><br/> If the FreedomBox "
#~ "domain name is changed, all data of the users registered with the "
#~ "previous podname wouldn't be accessible. <br/> You can access the "
#~ "diaspora* pod at <a href=\"https://diaspora.%(domain_name)s\"> diaspora."
#~ "%(domain_name)s </a>"
#~ msgstr ""
#~ "Miền pod của diaspora* được đặt thành <b>%(domain_name)s</b>. Các ID "
#~ "người dùng sẽ trông giống như <i>username@diaspora.%(domain_name)s</"
#~ "i><br> Nếu tên miền của FreedomBox bị thay đổi, tất cả dữ liệu của những "
#~ "người dùng đã đăng ký với tên pod trước đó sẽ không thể truy cập được. "
#~ "<br> Bạn có thể truy cập pod diaspora* tại <a href=\"https://diaspora."
#~ "%(domain_name)s\">diaspora.%(domain_name)s </a>"
#~ msgid "User registrations enabled"
#~ msgstr "Đăng ký người dùng đã bật"
#~ msgid "User registrations disabled"
#~ msgstr "Đăng ký người dùng đã tắt"
#, fuzzy
#~| msgid "Accept all SSL certificates"
#~ msgid "Has a TLS certificate"
#~ msgstr "Chấp nhận tất cả chứng chỉ SSL"
#, fuzzy
#~| msgid "Error setting domain name: {exception}"
#~ msgid "Postfix domain name config"
#~ msgstr "Lỗi khi đặt tên miền: {exception}"
#, fuzzy
#~| msgid "Enable scheduled backups"
#~ msgid "Enable selected"
#~ msgstr "Bật sao lưu được lên lịch"
#, fuzzy
#~| msgid "Delete files"
#~ msgid "Delete selected"
#~ msgstr "Xoá tệp"
#, fuzzy
#~| msgid "Create Repository"
#~ msgid "Create home directory"
#~ msgstr "Tạo kho"
#, fuzzy
#~| msgid "Domain name set"
#~ msgid "Common name"
#~ msgstr "Đã đặt tên miền"