From 75b42d74eb924c362d3f2a6572409563ea6674e2 Mon Sep 17 00:00:00 2001 From: akuker <34318535+akuker@users.noreply.github.com> Date: Sun, 18 Dec 2022 21:38:30 -0600 Subject: [PATCH] Chinese (zh) translation (#1035) Co-authored-by: Tony Kuker Co-authored-by: iml6 <72815764+iml6@users.noreply.github.com> --- cpp/piscsi/localizer.cpp | 63 + python/web/src/settings.py | 2 +- .../translations/zh/LC_MESSAGES/messages.po | 1212 +++++++++++++++++ 3 files changed, 1276 insertions(+), 1 deletion(-) create mode 100644 python/web/src/translations/zh/LC_MESSAGES/messages.po diff --git a/cpp/piscsi/localizer.cpp b/cpp/piscsi/localizer.cpp index eb1fd982..55a6a044 100644 --- a/cpp/piscsi/localizer.cpp +++ b/cpp/piscsi/localizer.cpp @@ -22,149 +22,212 @@ Localizer::Localizer() Add(LocalizationKey::ERROR_AUTHENTICATION, "sv", "Autentiseringen misslyckades"); Add(LocalizationKey::ERROR_AUTHENTICATION, "fr", "Authentification éronnée"); Add(LocalizationKey::ERROR_AUTHENTICATION, "es", "Fallo de autentificación"); + Add(LocalizationKey::ERROR_AUTHENTICATION, "zh", "认证失败"); + Add(LocalizationKey::ERROR_OPERATION, "en", "Unknown operation"); Add(LocalizationKey::ERROR_OPERATION, "de", "Unbekannte Operation"); Add(LocalizationKey::ERROR_OPERATION, "sv", "Okänd operation"); Add(LocalizationKey::ERROR_OPERATION, "fr", "Opération inconnue"); Add(LocalizationKey::ERROR_OPERATION, "es", "Operación desconocida"); + Add(LocalizationKey::ERROR_OPERATION, "zh", "未知操作"); + Add(LocalizationKey::ERROR_LOG_LEVEL, "en", "Invalid log level %1"); Add(LocalizationKey::ERROR_LOG_LEVEL, "de", "Ungültiger Log-Level %1"); Add(LocalizationKey::ERROR_LOG_LEVEL, "sv", "Ogiltig loggnivå %1"); Add(LocalizationKey::ERROR_LOG_LEVEL, "fr", "Niveau de journalisation invalide %1"); Add(LocalizationKey::ERROR_LOG_LEVEL, "es", "Nivel de registro %1 no válido"); + Add(LocalizationKey::ERROR_LOG_LEVEL, "zh", "无效的日志级别 %1"); + Add(LocalizationKey::ERROR_MISSING_DEVICE_ID, "en", "Missing device ID"); Add(LocalizationKey::ERROR_MISSING_DEVICE_ID, "de", "Fehlende Geräte-ID"); Add(LocalizationKey::ERROR_MISSING_DEVICE_ID, "sv", "Enhetens id saknas"); Add(LocalizationKey::ERROR_MISSING_DEVICE_ID, "fr", "ID de périphérique manquante"); Add(LocalizationKey::ERROR_MISSING_DEVICE_ID, "es", "Falta el ID del dispositivo"); + Add(LocalizationKey::ERROR_MISSING_DEVICE_ID, "zh", "缺少设备 ID"); + Add(LocalizationKey::ERROR_MISSING_FILENAME, "en", "Missing filename"); Add(LocalizationKey::ERROR_MISSING_FILENAME, "de", "Fehlender Dateiname"); Add(LocalizationKey::ERROR_MISSING_FILENAME, "sv", "Filnamn saknas"); Add(LocalizationKey::ERROR_MISSING_FILENAME, "fr", "Nom de fichier manquant"); Add(LocalizationKey::ERROR_MISSING_FILENAME, "es", "Falta el nombre del archivo"); + Add(LocalizationKey::ERROR_MISSING_FILENAME, "zh", "缺少文件名"); + Add(LocalizationKey::ERROR_DEVICE_MISSING_FILENAME, "en", "Device type %1 requires a filename"); Add(LocalizationKey::ERROR_DEVICE_MISSING_FILENAME, "de", "Gerätetyp %1 erfordert einen Dateinamen"); Add(LocalizationKey::ERROR_DEVICE_MISSING_FILENAME, "sv", "Enhetstypen %1 kräver ett filnamn"); Add(LocalizationKey::ERROR_DEVICE_MISSING_FILENAME, "es", "El tipo de dispositivo %1 requiere un nombre de archivo"); + Add(LocalizationKey::ERROR_DEVICE_MISSING_FILENAME, "zh", "设备类型 %1 需要一个文件名"); + Add(LocalizationKey::ERROR_IMAGE_IN_USE, "en", "Image file '%1' is already being used by ID %2, unit %3"); Add(LocalizationKey::ERROR_IMAGE_IN_USE, "de", "Image-Datei '%1' wird bereits von ID %2, Einheit %3 benutzt"); Add(LocalizationKey::ERROR_IMAGE_IN_USE, "sv", "Skivbildsfilen '%1' används redan av id %2, enhetsnummer %3"); Add(LocalizationKey::ERROR_IMAGE_IN_USE, "fr", "Le fichier d'image '%1' est déjà utilisé par l'ID %2, unité %3"); Add(LocalizationKey::ERROR_IMAGE_IN_USE, "es", "El archivo de imagen '%1' ya está siendo utilizado por el ID %2, unidad %3"); + Add(LocalizationKey::ERROR_IMAGE_IN_USE, "zh", "图像文件%1已被 ID %2、单元 %3 使用"); + Add(LocalizationKey::ERROR_IMAGE_FILE_INFO, "en", "Can't create image file info for '%1'"); Add(LocalizationKey::ERROR_IMAGE_FILE_INFO, "de", "Image-Datei-Information für '%1' kann nicht erzeugt werden"); Add(LocalizationKey::ERROR_IMAGE_FILE_INFO, "sv", "Kunde ej skapa skivbildsfilsinfo för '%1'"); Add(LocalizationKey::ERROR_IMAGE_FILE_INFO, "es", "No se puede crear información de archivo de imagen para '%1'"); + Add(LocalizationKey::ERROR_IMAGE_FILE_INFO, "zh", "无法为'%1'创建图像文件信息"); + Add(LocalizationKey::ERROR_RESERVED_ID, "en", "Device ID %1 is reserved"); Add(LocalizationKey::ERROR_RESERVED_ID, "de", "Geräte-ID %1 ist reserviert"); Add(LocalizationKey::ERROR_RESERVED_ID, "sv", "Enhets-id %1 är reserverat"); Add(LocalizationKey::ERROR_RESERVED_ID, "fr", "ID de périphérique %1 réservée"); Add(LocalizationKey::ERROR_RESERVED_ID, "es", "El ID de dispositivo %1 está reservado"); + Add(LocalizationKey::ERROR_RESERVED_ID, "zh", "设备 ID %1 已保留"); + Add(LocalizationKey::ERROR_NON_EXISTING_DEVICE, "en", "Command for non-existing ID %1"); Add(LocalizationKey::ERROR_NON_EXISTING_DEVICE, "de", "Kommando für nicht existente ID %1"); Add(LocalizationKey::ERROR_NON_EXISTING_DEVICE, "sv", "Kommando för id %1 som ej existerar"); Add(LocalizationKey::ERROR_NON_EXISTING_DEVICE, "fr", "Commande pour ID %1 non-existant"); Add(LocalizationKey::ERROR_NON_EXISTING_DEVICE, "es", "Comando para ID %1 no existente"); + Add(LocalizationKey::ERROR_NON_EXISTING_DEVICE, "zh", "不存在的 ID %1 的命令"); + Add(LocalizationKey::ERROR_NON_EXISTING_UNIT, "en", "Command for non-existing ID %1, unit %2"); Add(LocalizationKey::ERROR_NON_EXISTING_UNIT, "de", "Kommando für nicht existente ID %1, Einheit %2"); Add(LocalizationKey::ERROR_NON_EXISTING_UNIT, "sv", "Kommando för id %1, enhetsnummer %2 som ej existerar"); Add(LocalizationKey::ERROR_NON_EXISTING_UNIT, "fr", "Command pour ID %1, unité %2 non-existant"); Add(LocalizationKey::ERROR_NON_EXISTING_UNIT, "es", "Comando para ID %1 inexistente, unidad %2"); + Add(LocalizationKey::ERROR_NON_EXISTING_UNIT, "zh", "不存在的 ID %1, 单元 %2 的命令"); + Add(LocalizationKey::ERROR_UNKNOWN_DEVICE_TYPE, "en", "Unknown device type %1"); Add(LocalizationKey::ERROR_UNKNOWN_DEVICE_TYPE, "de", "Unbekannter Gerätetyp %1"); Add(LocalizationKey::ERROR_UNKNOWN_DEVICE_TYPE, "sv", "Obekant enhetstyp: %1"); Add(LocalizationKey::ERROR_UNKNOWN_DEVICE_TYPE, "fr", "Type de périphérique inconnu %1"); Add(LocalizationKey::ERROR_UNKNOWN_DEVICE_TYPE, "es", "Tipo de dispositivo desconocido %1"); + Add(LocalizationKey::ERROR_UNKNOWN_DEVICE_TYPE, "zh", "未知设备类型 %1"); + Add(LocalizationKey::ERROR_MISSING_DEVICE_TYPE, "en", "Device type required for unknown extension of file '%1'"); Add(LocalizationKey::ERROR_MISSING_DEVICE_TYPE, "de", "Gerätetyp erforderlich für unbekannte Extension der Datei '%1'"); Add(LocalizationKey::ERROR_MISSING_DEVICE_TYPE, "sv", "Man måste ange enhetstyp för obekant filändelse '%1'"); Add(LocalizationKey::ERROR_MISSING_DEVICE_TYPE, "fr", "Type de périphérique requis pour extension inconnue du fichier '%1'"); Add(LocalizationKey::ERROR_MISSING_DEVICE_TYPE, "es", "Tipo de dispositivo requerido para la extensión desconocida del archivo '%1'"); + Add(LocalizationKey::ERROR_MISSING_DEVICE_TYPE, "zh", "文件'%1'的未知扩展名所需的设备类型"); + Add(LocalizationKey::ERROR_DUPLICATE_ID, "en", "Duplicate ID %1, unit %2"); Add(LocalizationKey::ERROR_DUPLICATE_ID, "de", "Doppelte ID %1, Einheit %2"); Add(LocalizationKey::ERROR_DUPLICATE_ID, "sv", "Duplikat id %1, enhetsnummer %2"); Add(LocalizationKey::ERROR_DUPLICATE_ID, "fr", "ID %1, unité %2 dupliquée"); Add(LocalizationKey::ERROR_DUPLICATE_ID, "es", "ID duplicado %1, unidad %2"); + Add(LocalizationKey::ERROR_DUPLICATE_ID, "zh", "重复 ID %1,单元 %2"); + Add(LocalizationKey::ERROR_DETACH, "en", "Couldn't detach device"); Add(LocalizationKey::ERROR_DETACH, "de", "Geräte konnte nicht entfernt werden"); Add(LocalizationKey::ERROR_DETACH, "sv", "Kunde ej koppla ifrån enheten"); Add(LocalizationKey::ERROR_DETACH, "es", "No se ha podido desconectar el dispositivo"); + Add(LocalizationKey::ERROR_DETACH, "zh", "无法分离设备"); + Add(LocalizationKey::ERROR_EJECT_REQUIRED, "en", "Existing medium must first be ejected"); Add(LocalizationKey::ERROR_EJECT_REQUIRED, "de", "Das vorhandene Medium muss erst ausgeworfen werden"); Add(LocalizationKey::ERROR_EJECT_REQUIRED, "sv", "Nuvarande skiva måste utmatas först"); Add(LocalizationKey::ERROR_EJECT_REQUIRED, "fr", "Media déjà existant doit d'abord être éjecté"); Add(LocalizationKey::ERROR_EJECT_REQUIRED, "es", "El medio existente debe ser expulsado primero"); + Add(LocalizationKey::ERROR_EJECT_REQUIRED, "zh", "必须先弹出现有介质"); + Add(LocalizationKey::ERROR_DEVICE_NAME_UPDATE, "en", "Once set the device name cannot be changed anymore"); Add(LocalizationKey::ERROR_DEVICE_NAME_UPDATE, "de", "Ein bereits gesetzter Gerätename kann nicht mehr geändert werden"); Add(LocalizationKey::ERROR_DEVICE_NAME_UPDATE, "sv", "Enhetsnamn kan ej ändras efter att ha fastställts en gång"); Add(LocalizationKey::ERROR_DEVICE_NAME_UPDATE, "fr", "Une fois défini, le nom de périphérique ne peut plus être changé"); Add(LocalizationKey::ERROR_DEVICE_NAME_UPDATE, "es", "Una vez establecido el nombre del dispositivo ya no se puede cambiar"); + Add(LocalizationKey::ERROR_DEVICE_NAME_UPDATE, "zh", "一旦设置设备名称不能再更改"); + Add(LocalizationKey::ERROR_SHUTDOWN_MODE_MISSING, "en", "Missing shutdown mode"); Add(LocalizationKey::ERROR_SHUTDOWN_MODE_MISSING, "de", "Fehlender Shutdown-Modus"); Add(LocalizationKey::ERROR_SHUTDOWN_MODE_MISSING, "sv", "Avstängningsläge saknas"); Add(LocalizationKey::ERROR_SHUTDOWN_MODE_MISSING, "fr", "Mode d'extinction manquant"); Add(LocalizationKey::ERROR_SHUTDOWN_MODE_MISSING, "es", "Falta el modo de apagado"); + Add(LocalizationKey::ERROR_SHUTDOWN_MODE_MISSING, "zh", "缺少关机模式"); + Add(LocalizationKey::ERROR_SHUTDOWN_MODE_INVALID, "en", "Invalid shutdown mode '%1'"); Add(LocalizationKey::ERROR_SHUTDOWN_MODE_INVALID, "de", "Ungültiger Shutdown-Modus '%1'"); Add(LocalizationKey::ERROR_SHUTDOWN_MODE_INVALID, "sv", "Ogiltigt avstängsningsläge: '%1'"); Add(LocalizationKey::ERROR_SHUTDOWN_MODE_INVALID, "fr", "Mode d'extinction invalide '%1'"); Add(LocalizationKey::ERROR_SHUTDOWN_MODE_INVALID, "es", "Modo de apagado inválido '%1'"); + Add(LocalizationKey::ERROR_SHUTDOWN_MODE_INVALID, "zh", "无效的关机模式 '%1'"); + Add(LocalizationKey::ERROR_SHUTDOWN_PERMISSION, "en", "Missing root permission for shutdown or reboot"); Add(LocalizationKey::ERROR_SHUTDOWN_PERMISSION, "de", "Fehlende Root-Berechtigung für Shutdown oder Neustart"); Add(LocalizationKey::ERROR_SHUTDOWN_PERMISSION, "sv", "Saknar root-rättigheter för att kunna stänga av eller starta om systemet"); Add(LocalizationKey::ERROR_SHUTDOWN_PERMISSION, "fr", "Permissions root manquantes pour extinction ou redémarrage"); Add(LocalizationKey::ERROR_SHUTDOWN_PERMISSION, "es", "Falta el permiso de root para el apagado o el reinicio"); + Add(LocalizationKey::ERROR_SHUTDOWN_PERMISSION, "zh", "缺少关机或重启的 root 权限"); + Add(LocalizationKey::ERROR_FILE_OPEN, "en", "Invalid or non-existing file '%1'"); Add(LocalizationKey::ERROR_FILE_OPEN, "de", "Ungültige oder fehlende Datei '%1'"); Add(LocalizationKey::ERROR_FILE_OPEN, "sv", "Ogiltig eller saknad fil '%1'"); Add(LocalizationKey::ERROR_FILE_OPEN, "fr", "Fichier invalide ou non-existant '%1'"); Add(LocalizationKey::ERROR_FILE_OPEN, "es", "Archivo inválido o inexistente '%1'"); + Add(LocalizationKey::ERROR_FILE_OPEN, "zh", "文件'%1'无效或不存在"); + Add(LocalizationKey::ERROR_BLOCK_SIZE, "en", "Invalid block size %1 bytes"); Add(LocalizationKey::ERROR_BLOCK_SIZE, "de", "Ungültige Blockgröße %1 Bytes"); Add(LocalizationKey::ERROR_BLOCK_SIZE, "sv", "Ogiltig blockstorlek: %1 byte"); Add(LocalizationKey::ERROR_BLOCK_SIZE, "fr", "Taille de bloc invalide %1 octets"); Add(LocalizationKey::ERROR_BLOCK_SIZE, "es", "Tamaño de bloque inválido %1 bytes"); + Add(LocalizationKey::ERROR_BLOCK_SIZE, "zh", "无效的块大小 %1 字节"); + Add(LocalizationKey::ERROR_BLOCK_SIZE_NOT_CONFIGURABLE, "en", "Block size for device type %1 is not configurable"); Add(LocalizationKey::ERROR_BLOCK_SIZE_NOT_CONFIGURABLE, "de", "Blockgröße für Gerätetyp %1 ist nicht konfigurierbar"); Add(LocalizationKey::ERROR_BLOCK_SIZE_NOT_CONFIGURABLE, "sv", "Enhetstypen %1 kan inte använda andra blockstorlekar"); Add(LocalizationKey::ERROR_BLOCK_SIZE_NOT_CONFIGURABLE, "fr", "Taille de block pour le type de périphérique %1 non configurable"); Add(LocalizationKey::ERROR_BLOCK_SIZE_NOT_CONFIGURABLE, "es", "El tamaño del bloque para el tipo de dispositivo %1 no es configurable"); + Add(LocalizationKey::ERROR_BLOCK_SIZE_NOT_CONFIGURABLE, "zh", "设备类型 %1 的块大小不可配置"); + Add(LocalizationKey::ERROR_SCSI_CONTROLLER, "en", "Couldn't create SCSI controller"); Add(LocalizationKey::ERROR_SCSI_CONTROLLER, "de", "SCSI-Controller konnte nicht erzeugt werden"); Add(LocalizationKey::ERROR_SCSI_CONTROLLER, "sv", "Kunde ej skapa SCSI-gränssnitt"); Add(LocalizationKey::ERROR_SCSI_CONTROLLER, "es", "No se ha podido crear el controlador SCSI"); + Add(LocalizationKey::ERROR_SCSI_CONTROLLER, "zh", "无法创建 SCSI 控制器"); + Add(LocalizationKey::ERROR_INVALID_ID, "en", "Invalid device ID %1 (0-%2)"); Add(LocalizationKey::ERROR_INVALID_ID, "de", "Ungültige Geräte-ID %1 (0-%2)"); Add(LocalizationKey::ERROR_INVALID_ID, "sv", "Ogiltigt enhets-id %1 (0-%2)"); Add(LocalizationKey::ERROR_INVALID_ID, "es", "ID de dispositivo inválido %1 (0-%2)"); + Add(LocalizationKey::ERROR_INVALID_ID, "zh", "无效的设备 ID %1 (0-%2)"); + Add(LocalizationKey::ERROR_INVALID_LUN, "en", "Invalid LUN %1 (0-%2)"); Add(LocalizationKey::ERROR_INVALID_LUN, "de", "Ungültige LUN %1 (0-%2)"); Add(LocalizationKey::ERROR_INVALID_LUN, "sv", "Ogiltigt enhetsnummer %1 (0-%2)"); Add(LocalizationKey::ERROR_INVALID_LUN, "es", "LUN invalido %1 (0-%2)"); + Add(LocalizationKey::ERROR_INVALID_LUN, "zh", "无效的 LUN %1 (0-%2)"); + Add(LocalizationKey::ERROR_LUN0, "en", "LUN 0 cannot be detached as long as there is still another LUN"); Add(LocalizationKey::ERROR_LUN0, "de", "LUN 0 kann nicht entfernt werden, solange noch eine andere LUN existiert"); Add(LocalizationKey::ERROR_LUN0, "sv", "Enhetsnummer 0 kan ej bli frånkopplat så länge som andra enhetsnummer är anslutna"); Add(LocalizationKey::ERROR_LUN0, "es", "El LUN 0 no se puede desconectar mientras haya otro LUN"); + Add(LocalizationKey::ERROR_LUN0, "zh", "只要还有另一个 LUN,LUN 0 就无法分离"); + Add(LocalizationKey::ERROR_INITIALIZATION, "en", "Initialization of %1 device, ID %2, LUN %3 failed"); Add(LocalizationKey::ERROR_INITIALIZATION, "de", "Initialisierung von %1-Gerät, ID %2, LUN %3 fehlgeschlagen"); Add(LocalizationKey::ERROR_INITIALIZATION, "sv", "Kunde ej initialisera enheten %1 med id %2 och enhetsnummer %3"); Add(LocalizationKey::ERROR_INITIALIZATION, "es", "La inicialización del dispositivo %1, ID %2, LUN %3 falló"); + Add(LocalizationKey::ERROR_INITIALIZATION, "zh", "%1 设备、ID %2、LUN %3 的初始化失败"); + Add(LocalizationKey::ERROR_OPERATION_DENIED_STOPPABLE, "en", "%1 operation denied, %2 isn't stoppable"); Add(LocalizationKey::ERROR_OPERATION_DENIED_STOPPABLE, "de", "%1-Operation verweigert, %2 ist nicht stopbar"); Add(LocalizationKey::ERROR_OPERATION_DENIED_STOPPABLE, "sv", "Operationen %1 nekades för att %2 inte kan stoppas"); Add(LocalizationKey::ERROR_OPERATION_DENIED_STOPPABLE, "es", "%1 operación denegada, %2 no se puede parar"); + Add(LocalizationKey::ERROR_OPERATION_DENIED_STOPPABLE, "zh", "%1 操作被拒绝,%2 不可停止"); + Add(LocalizationKey::ERROR_OPERATION_DENIED_REMOVABLE, "en", "%1 operation denied, %2 isn't removable"); Add(LocalizationKey::ERROR_OPERATION_DENIED_REMOVABLE, "de", "%1-Operation verweigert, %2 ist nicht wechselbar"); Add(LocalizationKey::ERROR_OPERATION_DENIED_REMOVABLE, "sv", "Operationen %1 nekades för att %2 inte är uttagbar(t)"); Add(LocalizationKey::ERROR_OPERATION_DENIED_REMOVABLE, "es", "%1 operación denegada, %2 no es removible"); + Add(LocalizationKey::ERROR_OPERATION_DENIED_REMOVABLE, "zh", "%1 操作被拒绝,%2 不可移除"); + Add(LocalizationKey::ERROR_OPERATION_DENIED_PROTECTABLE, "en", "%1 operation denied, %2 isn't protectable"); Add(LocalizationKey::ERROR_OPERATION_DENIED_PROTECTABLE, "de", "%1-Operation verweigert, %2 ist nicht schützbar"); Add(LocalizationKey::ERROR_OPERATION_DENIED_PROTECTABLE, "sv", "Operationen %1 nekades för att %2 inte är skyddbar(t)"); Add(LocalizationKey::ERROR_OPERATION_DENIED_PROTECTABLE, "es", "%1 operación denegada, %2 no es protegible"); + Add(LocalizationKey::ERROR_OPERATION_DENIED_PROTECTABLE, "zh", "%1 操作被拒绝,%2 不可保护"); + Add(LocalizationKey::ERROR_OPERATION_DENIED_READY, "en", "%1 operation denied, %2 isn't ready"); Add(LocalizationKey::ERROR_OPERATION_DENIED_READY, "de", "%1-Operation verweigert, %2 ist nicht bereit"); Add(LocalizationKey::ERROR_OPERATION_DENIED_READY, "sv", "Operationen %1 nekades för att %2 inte är redo"); Add(LocalizationKey::ERROR_OPERATION_DENIED_READY, "es", "%1 operación denegada, %2 no está listo"); + Add(LocalizationKey::ERROR_OPERATION_DENIED_READY, "zh", "%1 操作被拒绝,%2 还没有准备好"); } void Localizer::Add(LocalizationKey key, const string& locale, string_view value) diff --git a/python/web/src/settings.py b/python/web/src/settings.py index 474ec102..3a2c4d73 100644 --- a/python/web/src/settings.py +++ b/python/web/src/settings.py @@ -21,7 +21,7 @@ DRIVE_PROPERTIES_FILE = WEB_DIR + "/drive_properties.json" AUTH_GROUP = "piscsi" # The language locales supported by PiSCSI -LANGUAGES = ["en", "de", "sv", "fr", "es"] +LANGUAGES = ["en", "de", "sv", "fr", "es", "zh"] # Available themes TEMPLATE_THEMES = ["classic", "modern"] diff --git a/python/web/src/translations/zh/LC_MESSAGES/messages.po b/python/web/src/translations/zh/LC_MESSAGES/messages.po new file mode 100644 index 00000000..167fe2f2 --- /dev/null +++ b/python/web/src/translations/zh/LC_MESSAGES/messages.po @@ -0,0 +1,1212 @@ +# Chinese translations for PiSCSI. +# Copyright (C) 2021-2022 akuker +# This file is distributed under the same license as the PiSCSI project. +# Tony Kuker , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: PiSCSI\n" +"Report-Msgid-Bugs-To: https://github.com/PiSCSI/piscsi/issues\n" +"POT-Creation-Date: 2022-12-12 23:47+0000\n" +"PO-Revision-Date: 2021-12-24 16:16-0800\n" +"Last-Translator: Tony Kuker \n" +"Language: sv\n" +"Language-Team: N/A\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.10.3\n" + +#: src/return_code_mapper.py:14 +#, python-format +msgid "File deleted: %(file_path)s" +msgstr "文件已删除:%(file_path)s" + +#: src/return_code_mapper.py:16 +#, python-format +msgid "File to delete not found: %(file_path)s" +msgstr "未找到要删除的文件:%(file_path)s" + +#: src/return_code_mapper.py:18 +#, python-format +msgid "File moved to: %(target_path)s" +msgstr "文件移动到:%(target_path)s" + +#: src/return_code_mapper.py:20 +#, python-format +msgid "Unable to move file to: %(target_path)s" +msgstr "无法将文件移动到:%(target_path)s" + +#: src/return_code_mapper.py:22 +#, python-format +msgid "Created CD-ROM ISO image with arguments \"%(value)s\"" +msgstr "用参数 \"%(value)s\" 创建了 CD-ROM ISO 映像" + +#: src/return_code_mapper.py:24 +#, python-format +msgid "%(file_name)s downloaded to %(save_dir)s" +msgstr "%(file_name)s 下载到 %(save_dir)s" + +#: src/return_code_mapper.py:26 +#, fuzzy, python-format +msgid "File created: %(target_path)s" +msgstr "文件创建到:%(target_path)s" + +#: src/return_code_mapper.py:28 +#, fuzzy, python-format +msgid "Could not create file: %(target_path)s" +msgstr "无法创建文件:%(file_name)s" + +#: src/return_code_mapper.py:30 +#, python-format +msgid "Loaded configurations from: %(file_name)s" +msgstr "从 %(file_name)s 加载配置" + +#: src/return_code_mapper.py:32 +#, python-format +msgid "Could not read configuration file: %(file_name)s" +msgstr "无法读取配置文件:%(file_name)s" + +#: src/return_code_mapper.py:34 +msgid "Invalid configuration file format" +msgstr "无效的配置文件格式" + +#: src/return_code_mapper.py:36 +#, python-format +msgid "Read properties from file: %(file_path)s" +msgstr "从文件中读取属性:%(file_path)s" + +#: src/return_code_mapper.py:38 +#, python-format +msgid "Could not read properties from file: %(file_path)s" +msgstr "无法从文件读取属性:%(file_path)s" + +#: src/return_code_mapper.py:40 +#, python-format +msgid "" +"Cannot insert an image for %(device_type)s into a %(current_device_type)s" +" device" +msgstr "无法将%(device_type)s类型的映像文件载入到 %(current_device_type)s 类型的设备。" + +#: src/return_code_mapper.py:42 +#, python-format +msgid "Extracted %(count)s file(s)" +msgstr "提取了%(count)s个文件" + +#: src/return_code_mapper.py:44 +msgid "Unable to extract archive: No files were specified" +msgstr "无法提取存档:未指定文件" + +#: src/return_code_mapper.py:46 +msgid "No files were extracted (existing files are skipped)" +msgstr "未提取任何文件(跳过现有文件)" + +#: src/return_code_mapper.py:48 +#, python-format +msgid "Unable to extract archive: %(error)s" +msgstr "无法提取档案:%(error)s" + +#: src/socket_cmds_flask.py:42 +#, python-format +msgid "" +"The PiSCSI Web Interface failed to connect to PiSCSI at %(host)s:%(port)s" +" with error: %(error_msg)s. The PiSCSI process is not running or may have" +" crashed." +msgstr "" +"PiSCSI Web 界面无法连接到 %(host)s:%(port)s 处的 PiSCSI。 错误信息:%(error_msg)s。 " +"PiSCSI 进程未运行或可能已崩溃。 " + +#: src/socket_cmds_flask.py:54 +msgid "" +"The PiSCSI Web Interface lost connection to PiSCSI. Please go back and " +"try again. If the issue persists, please report a bug." +msgstr "PiSCSI Web 界面与 PiSCSI 失去连接,请返回重试。 如果问题仍然存在,请报告错误。" + +#: src/socket_cmds_flask.py:64 +msgid "" +"The PiSCSI Web Interface did not get a valid response from PiSCSI. Please" +" go back and try again. If the issue persists, please report a bug." +msgstr "PiSCSI Web 界面未从 PiSCSI 获得有效响应,请返回重试。 如果问题仍然存在,请报告错误。" + +#: src/web.py:214 +msgid "" +"PiSCSI is password protected. Start the Web Interface with the --password" +" parameter." +msgstr "PiSCSI 受密码保护。 请使用 --password 参数启动 Web 界面。" + +#: src/web.py:330 +#, fuzzy, python-format +msgid "You must log in with valid credentials for a user in the '%(group)s' group" +msgstr "您必须使用 '%(group)s' 组中用户的凭据登录。" + +#: src/web.py:383 src/web.py:427 +#, fuzzy, python-format +msgid "No properties data for drive %(drive_name)s" +msgstr "驱动器 %(drive_name)s 中没有属性数据。" + +#: src/web.py:404 +#, fuzzy, python-format +msgid "Image file with properties created: %(file_name)s" +msgstr "创建映像文件:%(file_name)s" + +#: src/web.py:502 +#, fuzzy, python-format +msgid "An error occurred when getting disk info: %(error)s" +msgstr "获取磁盘信息时出错。" + +#: src/web.py:516 +#, python-format +msgid "%(app)s is not a recognized PiSCSI app" +msgstr "%(app)s不是可识别的 PiSCSI 应用程序" + +#: src/web.py:549 +#, fuzzy, python-format +msgid "An error occurred when accessing man page: %(error)s" +msgstr "获取帮助页面时出错。" + +#: src/web.py:572 +#, fuzzy, python-format +msgid "An error occurred when fetching logs: %(error)s" +msgstr "获取日志时出错。" + +#: src/web.py:586 +#, python-format +msgid "Log level set to %(value)s" +msgstr "日志级别设置为 %(value)s" + +#: src/web.py:603 src/web.py:666 +msgid "No SCSI ID specified" +msgstr "未指定 SCSI ID" + +#: src/web.py:644 +#, fuzzy, python-format +msgid "Attached %(device_type)s to SCSI ID %(id_number)s LUN %(unit_number)s" +msgstr "将 %(file_name)s 加载到 SCSI ID %(id_number)s LUN %(unit_number)s" + +#: src/web.py:668 +msgid "No image file to insert" +msgstr "没有要插入的图像文件" + +#: src/web.py:708 +#, fuzzy, python-format +msgid "" +"Attached %(file_name)s as %(device_type)s to SCSI ID %(id_number)s LUN " +"%(unit_number)s" +msgstr "将 %(file_name)s 加载到 SCSI ID %(id_number)s LUN %(unit_number)s" + +#: src/web.py:725 +msgid "Detached all SCSI devices" +msgstr "已断开所有 SCSI 设备" + +#: src/web.py:741 +#, python-format +msgid "Detached SCSI ID %(id_number)s LUN %(unit_number)s" +msgstr "断开 SCSI ID %(id_number)s LUN %(unit_number)s" + +#: src/web.py:763 +#, python-format +msgid "Ejected SCSI ID %(id_number)s LUN %(unit_number)s" +msgstr "已弹出 SCSI ID %(id_number)s LUN %(unit_number)s" + +#: src/web.py:785 +msgid "No devices attached" +msgstr "没有连接任何设备" + +#: src/web.py:801 +#, python-format +msgid "Reserved SCSI ID %(id_number)s" +msgstr "保留的 SCSI ID %(id_number)s" + +#: src/web.py:819 +#, python-format +msgid "Released the reservation for SCSI ID %(id_number)s" +msgstr "释放了对 SCSI ID %(id_number)s 的预留" + +#: src/web.py:838 +#, python-format +msgid "System name changed to '%(name)s'." +msgstr "系统名称更改为 %(name)s" + +#: src/web.py:839 +msgid "System name reset to default." +msgstr "系统名称重置为默认值" + +#: src/web.py:841 +msgid "Failed to change system name." +msgstr "更改系统名称失败" + +#: src/web.py:895 +#, python-format +msgid "%(iso_type)s is not a valid CD-ROM format." +msgstr "%(iso_type)s 不是有效的 CD-ROM 格式" + +#: src/web.py:903 +#, python-format +msgid "The following error occurred when creating the CD-ROM image: %(error)s" +msgstr "创建光盘镜像时出现如下错误:%(error)s" + +#: src/web.py:917 +#, python-format +msgid "" +"CD-ROM image %(file_name)s with type %(iso_type)s was created and " +"attached to SCSI ID %(id_number)s" +msgstr "已创建类型为 %(iso_type)s 的 CD-ROM 映像 %(file_name)s 并且 " +"加载到 SCSI ID %(id_number)s" + +#: src/web.py:928 +#, python-format +msgid "" +"CD-ROM image %(file_name)s with type %(iso_type)s was created but could " +"not be attached: %(error)s" +msgstr "类型为 %(iso_type)s 的 CD-ROM 映像 %(file_name)s 已创建,但无法“ +“加载:%(error)s" + +#: src/web.py:958 +#, fuzzy, python-format +msgid "The following error occurred when downloading: %(error)s" +msgstr "下载时出错:%(error)s" + +#: src/web.py:1021 src/web.py:1034 +#, python-format +msgid "%(drive_format)s is not a valid hard disk format." +msgstr "%(drive_format)s 不是有效的硬盘格式。" + +#: src/web.py:1079 +#, fuzzy, python-format +msgid "Image file with properties created: %(file_name)s%(drive_format)s" +msgstr "创建带属性的映像文件:%(file_name)s" + +#: src/web.py:1089 +#, fuzzy, python-format +msgid "Image file created: %(file_name)s%(drive_format)s" +msgstr "创建映像文件:%(file_name)s" + +#: src/web.py:1135 +#, fuzzy, python-format +msgid "Image file with properties deleted: %(file_name)s" +msgstr "带属性的映像文件已删除:%(file_name)s" + +#: src/web.py:1144 +#, python-format +msgid "Image file deleted: %(file_name)s" +msgstr "映像文件已删除:%(file_name)s" + +#: src/web.py:1177 +#, fuzzy, python-format +msgid "Image file with properties renamed to: %(file_name)s" +msgstr "带属性的映像文件重命名为:%(file_name)s" + +#: src/web.py:1186 +#, python-format +msgid "Image file renamed to: %(file_name)s" +msgstr "映像文件重命名为:%(file_name)s" + +#: src/web.py:1219 +#, fuzzy, python-format +msgid "Copy of image file with properties saved as: %(file_name)s" +msgstr "带属性的映像文件的拷贝已保存为:%(file_name)s" + +#: src/web.py:1228 +#, fuzzy, python-format +msgid "Copy of image file saved as: %(file_name)s" +msgstr "映像文件的拷贝已保存为:%(file_name)s" + +#: src/web.py:1281 +#, python-format +msgid "Changed Web Interface language to %(locale)s" +msgstr "Web 界面语言已更改为 %(locale)s" + +#: src/web.py:1292 +msgid "The requested theme does not exist." +msgstr "请求的主题不存在" + +#: src/web.py:1295 +#, python-format +msgid "Theme changed to '%(theme)s'." +msgstr "主题更改为 '%(theme)s'." + +#: src/web_utils.py:98 +#, fuzzy +msgid "Hard Disk Drive" +msgstr "硬盘" + +#: src/web_utils.py:100 +#, fuzzy +msgid "Removable Disk Drive" +msgstr "可移动驱动器" + +#: src/web_utils.py:102 +msgid "Magneto-Optical Drive" +msgstr "磁光驱" + +#: src/web_utils.py:104 +msgid "CD/DVD Drive" +msgstr "光驱" + +#: src/web_utils.py:106 +msgid "Host Bridge" +msgstr "主机桥" + +#: src/web_utils.py:108 +#, fuzzy +msgid "Ethernet Adapter" +msgstr "以太网适配器" + +#: src/web_utils.py:110 +msgid "Printer" +msgstr "打印机" + +#: src/web_utils.py:112 +msgid "Host Services" +msgstr "主机服务" + +#: src/web_utils.py:135 +#, fuzzy +msgid "Hard Disk Image (Generic)" +msgstr "SCSI 硬盘映像(通用)[.hds]" + +#: src/web_utils.py:137 +msgid "Hard Disk Image (Apple)" +msgstr "硬盘映像(Apple)" + +#: src/web_utils.py:139 +#, fuzzy +msgid "Hard Disk Image (NEC)" +msgstr "硬盘映像(NEC)" + +#: src/web_utils.py:141 +msgid "Hard Disk Image (SCSI-1)" +msgstr "硬盘映像 (SCSI-1)" + +#: src/web_utils.py:143 +#, fuzzy +msgid "Removable Disk Image" +msgstr "可移动驱动器" + +#: src/web_utils.py:145 +msgid "Magneto-Optical Disk Image" +msgstr "磁光盘图像" + +#: src/web_utils.py:219 +msgid "You must log in to use this function" +msgstr "您必须登录才能使用此功能" + +#: src/web_utils.py:233 +#, fuzzy, python-format +msgid "Configure the network bridge for %(interface)s first: " +msgstr "请首先为界面 %(interface)s 配置网桥。" + +#: src/web_utils.py:262 +#, python-format +msgid "%(file_name)s is not a valid path" +msgstr "%(file_name)s 不是有效路径" + +#: src/web_utils.py:283 +msgid "The file already exists!" +msgstr "文件已经存在!" + +#: src/web_utils.py:291 +msgid "Unable to write the file to disk!" +msgstr "无法将文件写入磁盘!" + +#: src/web_utils.py:299 +msgid "Transferred file corrupted!" +msgstr "传输的文件已损坏!" + +#: src/web_utils.py:301 +msgid "File upload successful!" +msgstr "文件上传成功!" + +#: src/templates/base.html:4 +msgid "PiSCSI Control Page" +msgstr "PiSCSI 控制页面" + +#: src/templates/base.html:29 +msgid "" +" This process may take a while, and will continue in the background if " +"you navigate away from this page." +msgstr "该操作需时稍久,将在后台自动进行。您现在可以转向其他页面。" + +#: src/templates/base.html:34 +msgid "" +" The Web Interface will become unresponsive momentarily. Reload this page" +" after the Pi has started up again." +msgstr "Web界面将暂时停止响应。 请在树莓派启动后重新加载此页面。" + +#: src/templates/base.html:47 +#, python-format +msgid "Logged in as %(username)s" +msgstr "以%(username)s的身份登录" + +#: src/templates/base.html:49 +msgid "Log Out" +msgstr "注销" + +#: src/templates/base.html:54 +#, fuzzy +msgid "Log in to use Web Interface" +msgstr "登录以使用 Web 界面" + +#: src/templates/base.html:56 +#, fuzzy +msgid "Username:" +msgstr "用户名" + +#: src/templates/base.html:60 +#, fuzzy +msgid "Password:" +msgstr "密码" + +#: src/templates/base.html:69 +msgid "Web Interface Authentication Disabled" +msgstr "Web 界面身份验证已禁用" + +#: src/templates/base.html:71 +#, fuzzy, python-format +msgid "See Wiki for more information" +msgstr "查看wiki了解更多信息" + +#: src/templates/base.html:78 +msgid "PiSCSI" +msgstr "PiSCSI" + +#: src/templates/base.html:79 +msgid "Control Page" +msgstr "控制页面" + +#: src/templates/base.html:85 src/templates/index.html:740 +#, fuzzy +msgid "System Name:" +msgstr "系统名" + +#: src/templates/base.html:112 src/templates/base.html:114 +#, python-format +msgid "Switch to the %(theme)s theme" +msgstr "切换到 %(theme)s 主题" + +#: src/templates/base.html:120 +msgid "The AppleShare server is running. No active connections." +msgstr "AppleShare 服务器正在运行。没有活动连接。" + +#: src/templates/base.html:123 +#, python-format +msgid "%(value)d active AFP connection" +msgstr "%(value)d 个活动的 AFP 连接" + +#: src/templates/base.html:125 +#, fuzzy, python-format +msgid "%(value)d active AFP connections" +msgstr "%(value)d 个活动的 AFP 连接" + +#: src/templates/base.html:130 +#, python-format +msgid "Macproxy is running at %(ip_addr)s (default port 5000)" +msgstr "Macproxy 正在 %(ip_addr)s(默认端口 5000)上运行" + +#: src/templates/base.html:134 +#, fuzzy +msgid "PiSCSI version:" +msgstr "PiSCSI 版本:" + +#: src/templates/base.html:137 +msgid "Hardware and OS:" +msgstr "硬件和操作系统:" + +#: src/templates/base.html:140 +msgid "Network Address:" +msgstr "网络地址:" + +#: src/templates/deviceinfo.html:4 +msgid "Detailed Info for Attached Devices" +msgstr "已加载设备的详细信息" + +#: src/templates/deviceinfo.html:9 +msgid "SCSI ID" +msgstr "SCSI ID" + +#: src/templates/deviceinfo.html:13 src/templates/index.html:50 +#: src/templates/index.html:302 src/templates/index.html:444 +msgid "LUN" +msgstr "LUN" + +#: src/templates/deviceinfo.html:17 src/templates/index.html:308 +msgid "Type" +msgstr "类型" + +#: src/templates/deviceinfo.html:21 +msgid "Status" +msgstr "状态" + +#: src/templates/deviceinfo.html:25 src/templates/index.html:202 +msgid "File" +msgstr "文件" + +#: src/templates/deviceinfo.html:29 src/templates/index.html:53 +msgid "Parameters" +msgstr "参数" + +#: src/templates/deviceinfo.html:33 +msgid "Vendor" +msgstr "供应商" + +#: src/templates/deviceinfo.html:37 src/templates/index.html:54 +msgid "Product" +msgstr "产品" + +#: src/templates/deviceinfo.html:41 +msgid "Revision" +msgstr "修订" + +#: src/templates/deviceinfo.html:45 +msgid "Block Size" +msgstr "块大小" + +#: src/templates/deviceinfo.html:49 +msgid "Image Size" +msgstr "磁盘映像大小" + +#: src/templates/deviceinfo.html:55 src/templates/diskinfo.html:6 +#: src/templates/drives.html:115 src/templates/logs.html:6 +#: src/templates/manpage.html:10 +msgid "Go to Home" +msgstr "回到主页" + +#: src/templates/diskinfo.html:4 +#, fuzzy, python-format +msgid "Disk Image Details: %(file_name)s" +msgstr "映像文件:%(file_name)s" + +#: src/templates/drives.html:4 +msgid "Disclaimer" +msgstr "声明" + +#: src/templates/drives.html:5 +#, python-format +msgid "" +"These device profiles are provided as-is with no guarantee to work " +"equally to the actual physical device they are named after. You may need " +"to provide appropirate device drivers and/or configuration parameters for" +" them to function properly. If you would like to see data modified, or " +"have additional devices to add to the list, please raise an issue ticket " +"at GitHub." +msgstr "" +"这些设备的配置文件按原样提供,不保证与它们命名的实际物理设备完全一致地工作。 您可能需要提供适当的设备驱动程序和/或配置参数才能使它们正常运行。 " +"如果您想看到已修改的数据,或有其他设备要添加到列表中,请在 GitHub 上提问。 " + +#: src/templates/drives.html:6 +#, fuzzy +msgid "Hard Disk Drives" +msgstr "硬盘驱动器" + +#: src/templates/drives.html:11 src/templates/drives.html:47 +#: src/templates/drives.html:86 +msgid "Name" +msgstr "名称" + +#: src/templates/drives.html:12 src/templates/drives.html:87 +#, fuzzy +msgid "Size (MiB)" +msgstr "大小 (MB)" + +#: src/templates/drives.html:13 src/templates/drives.html:48 +#: src/templates/drives.html:88 +msgid "Description" +msgstr "描述" + +#: src/templates/drives.html:14 src/templates/drives.html:49 +#: src/templates/drives.html:89 +msgid "Action" +msgstr "操作" + +#: src/templates/drives.html:30 src/templates/drives.html:105 +msgid "Save as:" +msgstr "另存为:" + +#: src/templates/drives.html:32 src/templates/drives.html:72 +#: src/templates/drives.html:107 src/templates/index.html:637 +msgid "Create" +msgstr "创建" + +#: src/templates/drives.html:42 +msgid "CD/DVD Drives" +msgstr "CD/DVD 驱动器" + +#: src/templates/drives.html:43 +#, fuzzy +msgid "" +"This will create a properties file for the given CD-ROM or DVD image. No " +"new image file will be created." +msgstr "这将为给定的CD-ROM映像创建一个属性文件,不会创建新的映像文件。" + +#: src/templates/drives.html:64 +msgid "Create for:" +msgstr "创建对象:" + +#: src/templates/drives.html:82 +#, fuzzy +msgid "Removable Disk Drives" +msgstr "可移动驱动器" + +#: src/templates/drives.html:114 +#, fuzzy, python-format +msgid "%(disk_space)s MiB disk space remaining on the Pi" +msgstr "在 Pi 上剩余%(disk_space)s MB 磁盘空间" + +#: src/templates/index.html:7 +msgid "Current PiSCSI Configuration" +msgstr "当前的 PiSCSI 配置" + +#: src/templates/index.html:10 +#, python-format +msgid "" +"Save and load device configurations, stored as json files in " +"%(config_dir)s" +msgstr "保存和加载设备配置,在 %(config_dir)s 目录下存储为 json 文件" + +#: src/templates/index.html:11 +msgid "" +"To have a particular device configuration load when PiSCSI starts, save " +"it as default." +msgstr "若需在 PiSCSI 启动时加载特定的设备配置,请将其保存为default" + +#: src/templates/index.html:17 src/templates/index.html:38 +#: src/templates/index.html:596 +msgid "File Name:" +msgstr "文件名:" + +#: src/templates/index.html:27 +msgid "No saved configurations" +msgstr "没有保存的配置" + +#: src/templates/index.html:31 +msgid "Load" +msgstr "加载" + +#: src/templates/index.html:31 +msgid "Detach all current device and Load configuration?" +msgstr "断开所有当前设备和加载配置?" + +#: src/templates/index.html:32 src/templates/index.html:337 +msgid "Delete" +msgstr "删除" + +#: src/templates/index.html:32 +msgid "Delete configuration file?" +msgstr "删除配置文件?" + +#: src/templates/index.html:41 +msgid "Save" +msgstr "保存" + +#: src/templates/index.html:48 src/templates/index.html:294 +#: src/templates/index.html:436 src/templates/index.html:570 +msgid "ID" +msgstr "ID" + +#: src/templates/index.html:52 src/templates/index.html:376 +msgid "Device" +msgstr "设备" + +#: src/templates/index.html:55 src/templates/index.html:204 +msgid "Actions" +msgstr "操作" + +#: src/templates/index.html:78 +#, fuzzy +msgid "File name" +msgstr "文件名" + +#: src/templates/index.html:96 src/templates/index.html:322 +#: src/templates/index.html:446 +msgid "Attach" +msgstr "加载/连接" + +#: src/templates/index.html:126 +msgid "Eject Disk? WARNING: On Mac OS, eject the Disk in the Finder instead!" +msgstr "弹出磁盘? 警告:在 Mac OS 上,请在 Finder 中弹出磁盘!" + +#: src/templates/index.html:129 +msgid "Eject" +msgstr "弹出" + +#: src/templates/index.html:132 +msgid "Detach Device?" +msgstr "断开设备?" + +#: src/templates/index.html:135 +msgid "Detach" +msgstr "断开" + +#: src/templates/index.html:138 +msgid "Enter a memo for this reservation" +msgstr "为此预订输入备忘" + +#: src/templates/index.html:141 +msgid "Reserve" +msgstr "预订" + +#: src/templates/index.html:150 +msgid "Reserved ID" +msgstr "预订 ID" + +#: src/templates/index.html:156 +#, fuzzy +msgid "Release" +msgstr "释放" + +#: src/templates/index.html:166 +msgid "Detach all SCSI Devices?" +msgstr "断开所有 SCSI 设备?" + +#: src/templates/index.html:167 +msgid "Detach All Devices" +msgstr "断开所有设备" + +#: src/templates/index.html:170 +msgid "Show Device Info" +msgstr "显示设备信息" + +#: src/templates/index.html:180 +msgid "Image File Management" +msgstr "映像文件管理" + +#: src/templates/index.html:183 +#, python-format +msgid "" +"Manage image files in the active PiSCSI image directory: " +"%(directory)s with a scan depth of %(scan_depth)s." +msgstr "管理PiSCSI映像目录中的活动映像文件:%(directory)s,扫描深度为 %(scan_depth)s。" + +#: src/templates/index.html:184 +#, fuzzy, python-format +msgid "" +"Select a valid SCSI ID and LUN " +"to attach to. Unless you know what you're doing, always use LUN 0." +msgstr "选择一个有效的 SCSI ID 和要加载到的 LUN。如果不确定,则请使用 LUN 0。" + +#: src/templates/index.html:187 +msgid "Recognized image file types:" +msgstr "识别的图像文件类型:" + +#: src/templates/index.html:192 +msgid "Recognized archive file types:" +msgstr "识别到的存档文件类型:" + +#: src/templates/index.html:203 +msgid "Size" +msgstr "大小" + +#: src/templates/index.html:209 +msgid "The images directory is currently empty." +msgstr "图片目录当前为空。" + +#: src/templates/index.html:227 +msgid "Properties File" +msgstr "属性文件" + +#: src/templates/index.html:249 src/templates/index.html:261 +#: src/templates/index.html:288 +#, fuzzy +msgid "Extract" +msgstr "解压" + +#: src/templates/index.html:249 src/templates/index.html:261 +#, fuzzy +msgid "Extracting a single file..." +msgstr "解压单个文件..." + +#: src/templates/index.html:276 src/templates/index.html:500 +#: src/templates/index.html:607 +msgid "MiB" +msgstr "MiB" + +#: src/templates/index.html:281 +msgid "In use" +msgstr "正在使用" + +#: src/templates/index.html:288 +#, fuzzy +msgid "Extracting all files..." +msgstr "正在解压所有文件..." + +#: src/templates/index.html:311 +msgid "Unknown" +msgstr "未知" + +#: src/templates/index.html:325 +#, python-format +msgid "Enter new file name for: %(file_name)s" +msgstr "为 %(file_name)s 输入新文件名:" + +#: src/templates/index.html:328 src/templates/index.html:742 +msgid "Rename" +msgstr "重命名" + +#: src/templates/index.html:330 +#, fuzzy, python-format +msgid "Save copy of %(file_name)s as:" +msgstr "将文件 %(file_name)s 副本保存为:" + +#: src/templates/index.html:333 +#, fuzzy +msgid "Copy" +msgstr "拷贝" + +#: src/templates/index.html:335 +#, python-format +msgid "Delete file: %(file_name)s?" +msgstr "删除文件:%(file_name)s?" + +#: src/templates/index.html:343 +msgid "?" +msgstr "?" + +#: src/templates/index.html:343 +msgid "Info" +msgstr "信息" + +#: src/templates/index.html:351 +#, fuzzy, python-format +msgid "%(disk_space)s MiB disk space remaining on the system" +msgstr "系统剩余磁盘空间为%(disk_space)s MB " + +#: src/templates/index.html:359 +msgid "Attach Peripheral Device" +msgstr "连接外围设备" + +#: src/templates/index.html:364 +#, fuzzy +msgid "" +"The piscsi_bridge network bridge is active and ready to be used " +"by an emulated network adapter!" +msgstr "piscsi_bridge 网桥处于活动状态,可供虚拟网络适配器使用!" + +#: src/templates/index.html:366 +#, fuzzy +msgid "" +"Please configure the piscsi_bridge network bridge before " +"attaching an emulated network adapter!" +msgstr "在连接虚拟网络适配器前,请配置 piscsi_bridge 网桥。" + +#: src/templates/index.html:368 +#, python-format +msgid "" +"To browse the modern web, install a vintage web proxy such as Macproxy." +msgstr "要浏览现代网络,请安装老式网络代理,例如Macproxy。" + +#: src/templates/index.html:370 +#, fuzzy, python-format +msgid "" +"Read more about supported device " +"types on the wiki." +msgstr "请查看wiki了解更多信息。" + +#: src/templates/index.html:377 +msgid "Key" +msgstr "秘钥" + +#: src/templates/index.html:378 +msgid "Parameters and Actions" +msgstr "参数和操作" + +#: src/templates/index.html:408 src/templates/index.html:608 +msgid "Masquerade as:" +msgstr "伪装为:" + +#: src/templates/index.html:411 src/templates/index.html:611 +#: src/templates/index.html:622 +msgid "None" +msgstr "空" + +#: src/templates/index.html:459 +msgid "Upload File from Local Computer" +msgstr "从本地计算机上传文件" + +#: src/templates/index.html:462 +#, python-format +msgid "" +"The largest file size accepted in this form is %(max_file_size)s MiB. Use" +" other file transfer means for larger files." +msgstr "此表单接受的最大文件大小为 %(max_file_size)s MiB。对更大的文件请使用其他文件传输方式" + +#: src/templates/index.html:463 +msgid "" +"File uploads will progress only if you stay on this page. If you navigate" +" away before the transfer is completed, you will end up with an " +"incomplete file." +msgstr "文件上传仅当您停留在此页面上时才会进行。如果您在传输完成之前离开此页面,您将得到一个不完整的文件。" + +#: src/templates/index.html:464 src/templates/index.html:516 +msgid "" +"To access shared files remotely, you may have to install one of the file " +"servers first." +msgstr "要远程访问共享文件,您必须首先安装一个文件服务器。" + +#: src/templates/index.html:470 src/templates/index.html:521 +msgid "Target directory:" +msgstr "目标目录:" + +#: src/templates/index.html:472 src/templates/index.html:523 +msgid "Disk Images" +msgstr "磁盘映像" + +#: src/templates/index.html:473 src/templates/index.html:524 +#, fuzzy +msgid "File Server" +msgstr "文件服务器" + +#: src/templates/index.html:486 +msgid "Drop files here to upload" +msgstr "将文件拖放到此处以上传" + +#: src/templates/index.html:487 +msgid "Your browser does not support drag'n'drop file uploads." +msgstr "您的浏览器不支持拖放文件上传。" + +#: src/templates/index.html:488 +msgid "" +"Please use the fallback form below to upload your files like in the olden" +" days." +msgstr "请和老时候一样使用下面的后备表格上传您的文件。" + +#: src/templates/index.html:489 +msgid "File is too big: {{filesize}}MiB. Max filesize: {{maxFilesize}}MiB." +msgstr "文件太大:{{filesize}}MiB。最大可允许的大小为:{{maxFilesize}}MiB。" + +#: src/templates/index.html:490 +msgid "You can't upload files of this type." +msgstr "您不能上传这种类型的文件。" + +#: src/templates/index.html:491 +msgid "Server responded with code: {{statusCode}}" +msgstr "服务器响应代码:{{statusCode}}" + +#: src/templates/index.html:492 +msgid "Cancel upload" +msgstr "取消上传" + +#: src/templates/index.html:493 +msgid "Upload canceled." +msgstr "上传已取消。" + +#: src/templates/index.html:494 +msgid "Are you sure you want to cancel this upload?" +msgstr "您确定要取消此上传吗?" + +#: src/templates/index.html:495 +msgid "Remove file" +msgstr "删除文件" + +#: src/templates/index.html:496 +msgid "You can not upload any more files." +msgstr "您不能再上传任何文件。" + +#: src/templates/index.html:498 +msgid "TiB" +msgstr "TiB" + +#: src/templates/index.html:499 +msgid "GiB" +msgstr "GiB" + +#: src/templates/index.html:501 +msgid "KiB" +msgstr "KiB" + +#: src/templates/index.html:502 +msgid "B" +msgstr "B" + +#: src/templates/index.html:513 +#, fuzzy, python-format +msgid "Download File from the Web" +msgstr "无法从 %(url)s 下载文件" + +#: src/templates/index.html:526 src/templates/index.html:547 +msgid "URL:" +msgstr "URL:" + +#: src/templates/index.html:528 +msgid "Download" +msgstr "下载" + +#: src/templates/index.html:528 +#, fuzzy +msgid "Downloading File..." +msgstr "正在下载文件..." + +#: src/templates/index.html:537 +#, fuzzy +msgid "Download File and Create CD-ROM Image" +msgstr "下载文件并创建 CD-ROM 映像" + +#: src/templates/index.html:540 +msgid "" +"Create an ISO file system CD-ROM image with the downloaded file, and " +"mount it on the given SCSI ID." +msgstr "使用下载的文件创建 ISO 文件系统 CD-ROM 映像,并将其加载到给定的 SCSI ID 上。" + +#: src/templates/index.html:541 +msgid "HFS is for Mac OS, Joliet for Windows, and Rock Ridge for POSIX." +msgstr "HFS 适用于 Mac OS,Joliet 适用于 Windows,Rock Ridge 适用于 POSIX。" + +#: src/templates/index.html:542 +msgid "" +"If the downloaded file is a zip archive, we will attempt to unzip it and " +"store the resulting files." +msgstr "如果下载的文件是 zip 存档,我们将尝试解压缩它并存储生成的文件。" + +#: src/templates/index.html:549 src/templates/index.html:598 +msgid "Type:" +msgstr "类型:" + +#: src/templates/index.html:578 +msgid "Download and Mount CD-ROM image" +msgstr "下载并加载 CD-ROM 映像" + +#: src/templates/index.html:578 +msgid "Downloading File and generating CD-ROM image..." +msgstr "正在下载文件并生成 CD-ROM 映像..." + +#: src/templates/index.html:587 +msgid "Create Empty Disk Image File" +msgstr "创建空磁盘映像文件" + +#: src/templates/index.html:590 +#, fuzzy, python-format +msgid "" +"Please refer to wiki " +"documentation to learn more about the supported image file types." +msgstr "请查看wiki了解更多支持的映像文件类型。" + +#: src/templates/index.html:591 +msgid "" +"It is not recommended to use the Lido hard disk driver with the Macintosh" +" Plus." +msgstr "不建议在Macintosh Plus上使用Lido硬盘驱动。" + +#: src/templates/index.html:606 +msgid "Size:" +msgstr "大小:" + +#: src/templates/index.html:619 +msgid "Format as:" +msgstr "格式为:" + +#: src/templates/index.html:640 +msgid "Create a named disk image that mimics real-life drives" +msgstr "创建一个模拟真实驱动器的命名磁盘映像" + +#: src/templates/index.html:648 +msgid "Logging" +msgstr "日志记录" + +#: src/templates/index.html:651 +msgid "The current dropdown selection indicates the active log level." +msgstr "当前的下拉选择表示活动日志级别。" + +#: src/templates/index.html:657 +msgid "Log Lines:" +msgstr "日志行:" + +#: src/templates/index.html:659 +msgid "Scope:" +msgstr "范围:" + +#: src/templates/index.html:662 +msgid "All logs" +msgstr "所有日志" + +#: src/templates/index.html:677 +msgid "Show Logs" +msgstr "显示日志" + +#: src/templates/index.html:683 +msgid "Log Level:" +msgstr "日志级别:" + +#: src/templates/index.html:691 +msgid "Set Log Level" +msgstr "设置日志级别" + +#: src/templates/index.html:701 +msgid "Language" +msgstr "语言" + +#: src/templates/index.html:704 +msgid "Change the Web Interface language." +msgstr "更改 Web 界面语言" + +#: src/templates/index.html:709 +msgid "Language:" +msgstr "语言:" + +#: src/templates/index.html:721 +msgid "Change Language" +msgstr "改变语言" + +#: src/templates/index.html:730 +#, fuzzy +msgid "System Operations" +msgstr "系统操作" + +#: src/templates/index.html:733 +msgid "" +"The System Name is the \"pretty\" hostname if set, with a fallback to the" +" regular hostname." +msgstr "如果您没有设置一个“好听”的主机名,则系统会自动返回到其“常规”的主机名。" + +#: src/templates/index.html:734 +#, fuzzy +msgid "" +"IMPORTANT: Always shut down the system before turning off the power. " +"Failing to do so may lead to data loss." +msgstr "重要提示:务必在切断电源之前关闭系统,否则可能会导致数据丢失。" + +#: src/templates/index.html:746 +msgid "Reset" +msgstr "重置" + +#: src/templates/index.html:750 +#, fuzzy +msgid "Reboot the System?" +msgstr "重启系统?" + +#: src/templates/index.html:750 +#, fuzzy +msgid "Rebooting the system..." +msgstr "正在重启系统..." + +#: src/templates/index.html:751 +msgid "Reboot System" +msgstr "重启系统" + +#: src/templates/index.html:753 +#, fuzzy +msgid "Shut Down the System?" +msgstr "关闭系统?" + +#: src/templates/index.html:753 +#, fuzzy +msgid "Shutting down the system..." +msgstr "正在关闭系统..." + +#: src/templates/index.html:754 +msgid "Shut Down System" +msgstr "关闭系统" + +#: src/templates/index.html:762 +msgid "Read the PiSCSI Manual" +msgstr "阅读 PiSCSI 手册" + +#: src/templates/logs.html:4 +#, python-format +msgid "System Logs: %(scope)s %(lines)s lines" +msgstr "系统日志:%(scope)s %(lines)s 行" + +#: src/templates/manpage.html:4 +#, python-format +msgid "Manual for %(app)s" +msgstr "%(app)s 手册"