diff --git a/Platform/iOS/Settings.bundle/zh-HK.lproj/Root.strings b/Platform/iOS/Settings.bundle/zh-HK.lproj/Root.strings index efedfdf34..9272e39b9 100644 --- a/Platform/iOS/Settings.bundle/zh-HK.lproj/Root.strings +++ b/Platform/iOS/Settings.bundle/zh-HK.lproj/Root.strings @@ -104,7 +104,7 @@ "Right" = "右"; /* (No Comment) */ -"Right Click" = "右鍵單擊"; +"Right Click" = "點按右按鈕"; /* (No Comment) */ "Space" = "空格"; diff --git a/Platform/iOS/zh-HK.lproj/Info-Remote-InfoPlist.strings b/Platform/iOS/zh-HK.lproj/Info-Remote-InfoPlist.strings new file mode 100644 index 000000000..6387088a3 --- /dev/null +++ b/Platform/iOS/zh-HK.lproj/Info-Remote-InfoPlist.strings @@ -0,0 +1,9 @@ +/* Bundle name */ +"CFBundleName" = "UTM 遠端"; + +/* Privacy - Local Network Usage Description */ +"NSLocalNetworkUsageDescription" = "UTM 使用本地網絡尋找並連接至 UTM 遠端伺服器。"; + +/* Privacy - Microphone Usage Description */ +"NSMicrophoneUsageDescription" = "任何虛擬電腦都需要許可才能由咪高風進行錄製。"; + diff --git a/Platform/iOS/zh-Hans.lproj/Info-Remote-InfoPlist.strings b/Platform/iOS/zh-Hans.lproj/Info-Remote-InfoPlist.strings new file mode 100644 index 000000000..47c3753f6 --- /dev/null +++ b/Platform/iOS/zh-Hans.lproj/Info-Remote-InfoPlist.strings @@ -0,0 +1,9 @@ +/* Bundle name */ +"CFBundleName" = "UTM 远程服务"; + +/* Privacy - Local Network Usage Description */ +"NSLocalNetworkUsageDescription" = "UTM 使用本地网络查找并连接到 UTM 远程服务器。"; + +/* Privacy - Microphone Usage Description */ +"NSMicrophoneUsageDescription" = "任何虚拟机都需要获得许可才能从麦克风录音。"; + diff --git a/Platform/iOS/zh-Hans.lproj/InfoPlist.strings b/Platform/iOS/zh-Hans.lproj/InfoPlist.strings index ade2692ab..5a88d0dca 100644 --- a/Platform/iOS/zh-Hans.lproj/InfoPlist.strings +++ b/Platform/iOS/zh-Hans.lproj/InfoPlist.strings @@ -14,7 +14,7 @@ "NSLocationWhenInUseUsageDescription" = "UTM 定期请求位置数据,以确保系统保持后台进程处于活动状态。位置数据永远不会离开设备。"; /* Privacy - Microphone Usage Description */ -"NSMicrophoneUsageDescription" = "任何虚拟机都需要获得许可才能从麦克风进行录音。"; +"NSMicrophoneUsageDescription" = "任何虚拟机都需要获得许可才能从麦克风录音。"; /* (No Comment) */ "UTM virtual machine" = "UTM 虚拟机"; diff --git a/Platform/zh-HK.lproj/Localizable.strings b/Platform/zh-HK.lproj/Localizable.strings index f2bd35fc3..a0d99fa64 100644 --- a/Platform/zh-HK.lproj/Localizable.strings +++ b/Platform/zh-HK.lproj/Localizable.strings @@ -8,7 +8,7 @@ "(new)" = "(新)"; /* VMData */ -"(Unavailable)" = "(不可用)"; +"(Unavailable)" = "(無法使用)"; /* QEMUConstant */ "%@ (%@)" = "%1$@ (%2$@)"; @@ -48,7 +48,7 @@ "A valid backend must be specified." = "必須指定有效的後端。"; /* UTMScriptingAppDelegate */ -"A valid configuration must be specified." = "必須指定有效的配置。"; +"A valid configuration must be specified." = "必須指定有效的設定。"; /* UTMAppleConfiguration */ "A valid kernel image must be specified." = "必須指定有效的內核映像檔。"; @@ -80,6 +80,9 @@ /* UTMConfiguration */ "An invalid value of '%@' is used in the configuration file." = "設定檔內使用了無效值「%@」。"; +/* UTMRemoteSpiceVirtualMachine */ +"An operation is already in progress." = "一項操作已經在進行中。"; + /* UTMQemuImage */ "An unknown QEMU error has occurred." = "發生未知的 QEMU 錯誤。"; @@ -92,6 +95,9 @@ /* VMConfigSystemView */ "Any unsaved changes will be lost." = "任何未儲存的變更都將遺失。"; +/* No comment provided by engineer. */ +"Approve" = "批准"; + /* No comment provided by engineer. */ "Architecture" = "體系結構"; @@ -107,6 +113,9 @@ /* No comment provided by engineer. */ "Are you sure you want to stop this VM and exit? Any unsaved changes will be lost." = "確定要停止此虛擬電腦並結束嗎?任何未儲存的變更都將遺失。"; +/* No comment provided by engineer. */ +"Authentication" = "認證"; + /* No comment provided by engineer. */ "Automatic" = "自動"; @@ -117,6 +126,12 @@ UTMQemuConstants */ "BIOS" = "BIOS"; +/* No comment provided by engineer. */ +"Block" = "封鎖"; + +/* No comment provided by engineer. */ +"Blocked" = "已經封鎖"; + /* UTMQemuConstants */ "Bold" = "粗體"; @@ -175,9 +190,15 @@ /* UTMData */ "Cannot find AltServer for JIT enable. You cannot run VMs until JIT is enabled." = "無法找到 JIT 啟用的 AltServer。在啟用 JIT 之前,你無法執行虛擬電腦。"; +/* UTMRemoteServer */ +"Cannot find VM with ID: %@" = "無法由此 ID 尋找虛擬電腦:"; + /* UTMData */ "Cannot import this VM. Either the configuration is invalid, created in a newer version of UTM, or on a platform that is incompatible with this version of UTM." = "無法輸入此虛擬電腦。可能設定無效,或是在較新版本的 UTM 上製作,或是在與此版本的 UTM 不相容的平台上製作。"; +/* UTMRemoteServer */ +"Cannot reserve port '%@' for external access from NAT. Make sure no other device on the network has reserved it." = "無法為 NAT 外部取用保留埠「%@」。請確保網絡上未有其他裝置保留它。"; + /* No comment provided by engineer. */ "Caps Lock (⇪) is treated as a key" = "將 Caps Lock (⇪) 視為按鍵"; @@ -206,6 +227,9 @@ /* No comment provided by engineer. */ "Clear" = "清除"; +/* No comment provided by engineer. */ +"Close" = "關閉"; + /* VMQemuDisplayMetalWindowController */ "Closing this window will kill the VM." = "關閉此視窗會結束虛擬電腦。"; @@ -219,9 +243,18 @@ VMDisplayWindowController */ "Confirmation" = "確認"; +/* No comment provided by engineer. */ +"Connect" = "連接"; + +/* No comment provided by engineer. */ +"Connected" = "已經連接"; + /* No comment provided by engineer. */ "Connection" = "連線"; +/* VMSessionState */ +"Connection to the server was lost." = "與伺服器的連線已經遺失。"; + /* No comment provided by engineer. */ "Console" = "主控台"; @@ -274,6 +307,12 @@ /* UTMQemuConstants */ "Disabled" = "停用"; +/* No comment provided by engineer. */ +"Disconnect" = "中斷連接"; + +/* No comment provided by engineer. */ +"Discovered" = "已經中斷連接"; + /* UTMLegacyQemuConfiguration UTMQemuConstants */ "Disk Image" = "磁碟映像檔"; @@ -302,21 +341,36 @@ /* No comment provided by engineer. */ "Do you want to delete this VM and all its data?" = "你要刪除此虛擬電腦及其所有資料嗎?"; +/* No comment provided by engineer. */ +"Do you want to download '%@'?" = "你要下載「%@」嗎?"; + /* No comment provided by engineer. */ "Do you want to duplicate this VM and all its data?" = "你要製作此虛擬電腦及其所有資料的副本嗎?"; /* No comment provided by engineer. */ "Do you want to force stop this VM and lose all unsaved data?" = "你要強行停止此虛擬電腦並遺失所有未儲存的資料嗎?"; +/* No comment provided by engineer. */ +"Do you want to forget all clients and generate a new server identity? Any clients that previously paired with this server will be instructed to manually unpair with this server before they can connect again." = "你要忘記所有客戶端並生成新的伺服器身分嗎?之前與此伺服器配對的任何客戶端將被指示於再次連接之前手動取消與此伺服器的配對。"; + +/* No comment provided by engineer. */ +"Do you want to forget the selected client(s)?" = "你要忘記已經選擇的客戶端嗎?"; + /* No comment provided by engineer. */ "Do you want to move this VM to another location? This will copy the data to the new location, delete the data from the original location, and then create a shortcut." = "你要將此虛擬電腦移動至其他位置嗎?這將會複製資料至新位置,刪除原先位置資料,並製作捷徑。"; /* No comment provided by engineer. */ "Do you want to remove this shortcut? The data will not be deleted." = "你要刪除此捷徑嗎?資料不會被刪除。"; +/* No comment provided by engineer. */ +"Download" = "下載"; + /* No comment provided by engineer. */ "Download prebuilt from UTM Gallery…" = "從 UTM 虛擬電腦庫下載預構建⋯"; +/* No comment provided by engineer. */ +"Download VM" = "下載虛擬電腦"; + /* No comment provided by engineer. */ "Drag and drop IPSW file here" = "拖放 IPSW 檔至此"; @@ -359,6 +413,9 @@ /* UTMQemuVirtualMachine */ "Failed to access drive image path." = "無法取用磁碟映像檔路徑。"; +/* UTMRemoteServer */ +"Failed to access file." = "無法取用檔案。"; + /* UTMQemuVirtualMachine */ "Failed to access shared directory." = "無法取用分享目錄。"; @@ -374,24 +431,51 @@ /* UTMData */ "Failed to clone VM." = "無法複製虛擬電腦。"; +/* UTMRemoteSpiceVirtualMachine */ +"Failed to connect to SPICE: %@" = "無法連接至 SPICE:%@"; + +/* UTMPipeInterface */ +"Failed to create pipe for communications." = "無法為通訊建立管道。"; + /* UTMData */ "Failed to decode JitStreamer response." = "無法解碼 JitStreamer 回應。"; +/* UTMRemoteClient */ +"Failed to determine host name." = "無法確定主機名。"; + +/* UTMRemoteKeyManager */ +"Failed to generate a key pair." = "無法生成密鑰對。"; + +/* UTMQemuVirtualMachine */ +"Failed to generate TLS key for server." = "無法為伺服器生成 TLS 密鑰。"; + +/* UTMRemoteClient */ +"Failed to get host fingerprint." = "無法取得主機指紋。"; + /* VMWizardState */ "Failed to get latest macOS version from Apple." = "無法由 Apple 取得最新的 macOS 版本。"; +/* UTMRemoteKeyManager */ +"Failed to import generated key." = "無法輸入已經生成的密鑰。"; + /* UTMQemuConfigurationError */ "Failed to migrate configuration from a previous UTM version." = "無法由之前版本的 UTM 轉移設定。"; /* UTMData */ "Failed to parse download URL." = "無法解析已經下載的 URL。"; +/* UTMRemoteKeyManager */ +"Failed to parse generated key pair." = "無法解析生成的密鑰對。"; + /* UTMData */ "Failed to parse imported VM." = "無法解析已經輸入的虛擬電腦。"; /* UTMDownloadVMTask */ "Failed to parse the downloaded VM." = "無法解析已經下載的虛擬電腦。"; +/* UTMData */ +"Failed to reconnect to the server." = "無法重新連接至伺服器。"; + /* AppDelegate VMDisplayWindowController */ "Failed to save suspend state" = "無法儲存暫停狀態。"; @@ -405,6 +489,9 @@ /* No comment provided by engineer. */ "Faster, but can only run the native CPU architecture." = "較快,但只能執行原生 CPU 體系結構。"; +/* No comment provided by engineer. */ +"Fingerprint" = "指紋"; + /* Configuration boot device UTMQemuConstants */ "Floppy" = "軟碟"; @@ -460,9 +547,15 @@ /* No comment provided by engineer. */ "Hold Control (⌃) for right click" = "按住 Control (⌃) 來右鍵點按"; +/* No comment provided by engineer. */ +"Host" = "主機"; + /* UTMQemuConstants */ "Host Only" = "僅主機"; +/* No comment provided by engineer. */ +"Hostname or IP address" = "主機或 IP 位址"; + /* No comment provided by engineer. */ "Icon" = "圖示"; @@ -505,12 +598,21 @@ /* VMDisplayMetalWindowController */ "Internal error." = "內部錯誤。"; +/* UTMRemoteServer */ +"Invalid backend." = "無效的後端。"; + +/* VMWizardState */ +"Invalid drive size specified." = "指定的磁碟大小無效。"; + /* UTMData */ "Invalid JitStreamer attach URL:\n%@" = "無效的 JitStreamer 附加 URL:%@"; /* VMConfigAppleNetworkingView */ "Invalid MAC address." = "無效的 MAC 位址。"; +/* VMWizardState */ +"Invalid RAM size specified." = "指定的記憶體大小無效。"; + /* No comment provided by engineer. */ "Invert scrolling" = "反轉捲動"; @@ -583,6 +685,9 @@ /* No comment provided by engineer. */ "macOS Settings" = "macOS 設定"; +/* No comment provided by engineer. */ +"Make sure the latest version of UTM is running on your Mac and UTM Server is enabled. You can download UTM from the Mac App Store." = "確保最新版本的 UTM 在你的 Mac 上執行,並且已經啟用 UTM 伺服器。你可以透過 Mac App Store下載 UTM。"; + /* UTMQemuConstants */ "Manual Serial Device (advanced)" = "手動序列裝置 (進階)"; @@ -616,9 +721,15 @@ /* No comment provided by engineer. */ "Name" = "名稱"; +/* No comment provided by engineer. */ +"Name (optional)" = "名稱 (可選)"; + /* UTMQemuConstants */ "Nearest Neighbor" = "近鄰取樣"; +/* No comment provided by engineer. */ +"Network" = "網絡"; + /* No comment provided by engineer. */ "New" = "新增"; @@ -662,8 +773,11 @@ /* UTMQemuConstants */ "None (Advanced)" = "無 (進階)"; +/* UTMRemoteServer */ +"Not authenticated." = "未有認證。"; + /* UTMVirtualMachine */ -"Not implemented." = "此功能未實現。"; +"Not implemented." = "未實現。"; /* No comment provided by engineer. */ "Notes" = "備註"; @@ -689,7 +803,7 @@ /* UTMScriptingVirtualMachineImpl */ "Operation not available." = "操作不可用。"; -/* UTMScriptingVirtualMachineImpl */ +/* UTMData */ "Operation not supported by the backend." = "操作不受後端支援。"; /* No comment provided by engineer. */ @@ -698,6 +812,15 @@ /* No comment provided by engineer. */ "Other" = "其他"; +/* No comment provided by engineer. */ +"Password" = "密碼"; + +/* UTMRemoteClient */ +"Password is incorrect." = "密碼不正確。"; + +/* UTMRemoteClient */ +"Password is required." = "需要密碼。"; + /* VMDisplayWindowController */ "Pause" = "暫停"; @@ -728,6 +851,9 @@ /* No comment provided by engineer. */ "Please select an uncompressed Linux kernel image." = "請選取未壓縮的 Linux 核心映像檔。"; +/* No comment provided by engineer. */ +"Port" = "埠"; + /* No comment provided by engineer. */ "Port Forward" = "連線埠轉送"; @@ -806,6 +932,9 @@ /* No comment provided by engineer. */ "Reset" = "重設"; +/* No comment provided by engineer. */ +"Reset Identity" = "重設身分"; + /* No comment provided by engineer. */ "Resize" = "調整大小"; @@ -830,12 +959,18 @@ /* UTMAppleConfiguration */ "Rosetta is not supported on the current host machine." = "當前主機不支援 Rosetta。"; +/* No comment provided by engineer. */ +"Running" = "正在執行"; + /* No comment provided by engineer. */ "Running low on memory! UTM might soon be killed by iOS. You can prevent this by decreasing the amount of memory and/or JIT cache assigned to this VM" = "記憶體不足!UTM 可能很快會被 iOS 結束。你可以透過減少分配給此虛擬電腦的記憶體和/或 JIT 快取來防止這種情況。"; /* No comment provided by engineer. */ "Save" = "儲存"; +/* No comment provided by engineer. */ +"Saved" = "已經存儲"; + /* VMData */ "Saving" = "正在儲存"; @@ -851,6 +986,9 @@ /* No comment provided by engineer. */ "Select a file." = "選取一個檔案。"; +/* No comment provided by engineer. */ +"Select a UTM Server" = "選取一個 UTM 伺服器"; + /* VMDisplayWindowController */ "Select Drive Image" = "選取磁碟映像檔"; @@ -877,6 +1015,12 @@ VMDisplayQemuDisplayController */ "Serial %lld" = "序列裝置 %lld"; +/* Server view */ +"Server" = "伺服器"; + +/* No comment provided by engineer. */ +"Server IP: %@, Port: %@" = "伺服器 IP 位址:%1$@,埠:%2$@"; + /* No comment provided by engineer. */ "Share USB devices from host" = "從主機分享 USB 裝置"; @@ -931,6 +1075,9 @@ /* VMData */ "Starting" = "正在啟動"; +/* No comment provided by engineer. */ +"Startup" = "啟動"; + /* No comment provided by engineer. */ "Stop" = "停止"; @@ -965,7 +1112,7 @@ "Suspended" = "暫停"; /* UTMSWTPM */ -"SW TPM failed to start. %@" = "SW TPM 啟動失敗。%@"; +"SW TPM failed to start. %@" = "SW TPM 無法啟動。%@"; /* No comment provided by engineer. */ "System" = "系統"; @@ -994,6 +1141,9 @@ /* UTMConfiguration */ "The backend for this configuration is not supported." = "不支援此設定的後端。"; +/* UTMRemoteServer */ +"The client interface version does not match the server." = "客戶端介面版本與伺服器不匹配。"; + /* UTMScriptingUSBDeviceImpl */ "The device cannot be found." = "無法找到此裝置。"; @@ -1006,6 +1156,9 @@ /* UTMDownloadSupportToolsTaskError */ "The guest support tools have already been mounted." = "此客戶端支援工具已經被裝載。"; +/* UTMRemoteClient */ +"The host fingerprint does not match the saved value. This means that UTM Server was reset, a different host is using the same name, or an attacker is pretending to be the host. For your protection, you need to delete this saved host to continue." = "主機指紋與儲存值不匹配。這意味著 UTM 伺服器已經被重設,或者不同的主機使用相同的名稱,或者黑客正在扮作主機。為保護起見,你需要刪除此儲存的主機才可以繼續。"; + /* UTMAppleConfiguration */ "The host operating system needs to be updated to support one or more features requested by the guest." = "需要更新主機的作業系統以支援客戶端請求的一個或多個功能。"; @@ -1022,7 +1175,10 @@ "The selected architecture is unsupported in this version of UTM." = "此版本的 UTM 不支援所選取的體系結構。"; /* VMWizardState */ -"The selected boot image contains the word '%@' but the guest architecture is '%@'. Please ensure you have selected an image that is compatible with '%@'." = "選取的啟動映像檔包含單字「%1$@」,但客戶端體系結構為「%2$@」。請確保你選取了與「%3$@」體系結構相容的映像檔。"; +"The selected boot image contains the word '%@' but the guest architecture is '%@'. Please ensure you have selected an image that is compatible with '%@'." = "選取的啟動映像檔包含單字「%1$@」,但客戶端體系結構為「%2$@」。確保你選取了與「%3$@」體系結構相容的映像檔。"; + +/* UTMRemoteClient */ +"The server interface version does not match the client." = "伺服器介面版本與客戶端不匹配。"; /* No comment provided by engineer. */ "The target does not support hardware emulated serial connections." = "目標平台不支援硬件仿真序列連線。"; @@ -1066,6 +1222,15 @@ /* VMConfigAppleSharingView */ "This directory is already being shared." = "此目錄已被分享。"; +/* VMData */ +"This function is not implemented." = "此功能未實現。"; + +/* UTMData */ +"This functionality is not yet implemented." = "此功能未實現。"; + +/* UTMRemoteClient */ +"This host is not yet trusted. You should verify that the fingerprints match what is displayed on the host and then select Trust to continue." = "此主機未得到信任。你應該驗證指紋是否與主機上顯示的內容匹配,然後選擇「信任」以繼續。"; + /* UTMAppleConfiguration */ "This is not a valid Apple Virtualization configuration." = "並非有效的 Apple 虛擬化設定。"; @@ -1087,9 +1252,24 @@ /* No comment provided by engineer. */ "This virtual machine has been removed." = "此虛擬電腦已經被刪除。"; +/* UTMDataExtension */ +"This virtual machine is already running. In order to run it from this device, you must stop it first." = "此虛擬電腦已經在執行。為了由此裝置執行,你必須先停止它。"; + +/* UTMData */ +"This virtual machine is currently unavailable, make sure it is not open in another session." = "現時無法使用此虛擬電腦,確保它沒有於另一個會話當中開啟。."; + +/* VMData */ +"This VM is configured for a backend that does not support remote clients." = "此虛擬電腦設定為不支援遠端客戶端的後端。"; + +/* No comment provided by engineer. */ +"This VM is unavailable." = "此虛擬電腦無法使用。"; + /* VMDisplayWindowController */ "This will reset the VM and any unsaved state will be lost." = "這將重設虛擬電腦,任何未儲存的狀態都將遺失。"; +/* UTMRemoteConnectView */ +"Timed out trying to connect." = "嘗試連接超時。"; + /* VMDisplayAppleWindowController */ "To access the shared directory, the guest OS must have Virtiofs drivers installed. You can then run `sudo mount -t virtiofs share /path/to/share` to mount to the share path." = "要取用分享目錄,客戶端作業系統必須安裝 VirtioFS 驅動程式。然後,你可以執行「sudo mount -t virtiofs share /path/to/share」來裝載至分享路徑。"; @@ -1102,6 +1282,9 @@ /* VMDisplayQemuMetalWindowController */ "To release the mouse cursor, press %@ at the same time." = "如要放開滑鼠指標,請同時按下 %@。"; +/* No comment provided by engineer. */ +"Trust" = "信任"; + /* No comment provided by engineer. */ "u{2022} " = "u{2022}"; @@ -1225,7 +1408,7 @@ /* ContentView */ "Your version of iOS does not support running VMs while unmodified. You must either run UTM while jailbroken or with a remote debugger attached. See https://getutm.app/install/ for more details." = "你的 iOS 版本不支援在未作更動的情況下執行虛擬電腦,必須在越獄 (jailbreak) 時執行 UTM,或是在附加遠程除錯器的情況下執行 UTM。有關更多詳細訊息,請見 https://getutm.app/install/。"; -// Additonal Strings (Unable to be exported by Xcode) +// Additional Strings (These strings are unable to be extracted by Xcode) /* No comment provided by engineer. */ "(Delete)" = "(刪除)"; @@ -1291,7 +1474,7 @@ "Boot Image" = "啟動映像檔"; /* No comment provided by engineer. */ -"Boot Image Type" = "啟動映像檔類型"; +"Boot Image Type" = "啟動映像檔種類"; /* No comment provided by engineer. */ "Boot into recovery mode." = "啟動至還原模式。"; @@ -1594,7 +1777,7 @@ "If set, boot directly from a raw kernel image and initrd. Otherwise, boot from a supported ISO." = "如設定,直接由 Raw 核心映像檔與 initrd 啟動。否則由受支援的 ISO 啟動。"; /* No comment provided by engineer. */ -"Image Type" = "映像檔類型"; +"Image Type" = "映像檔種類"; /* No comment provided by engineer. */ "Import Drive" = "輸入磁碟機"; @@ -2015,4 +2198,3 @@ /* No comment provided by engineer. */ "Zoom" = "縮放"; - diff --git a/Platform/zh-Hans.lproj/Localizable.strings b/Platform/zh-Hans.lproj/Localizable.strings index 875129212..d089238a8 100644 --- a/Platform/zh-Hans.lproj/Localizable.strings +++ b/Platform/zh-Hans.lproj/Localizable.strings @@ -80,6 +80,9 @@ /* UTMConfiguration */ "An invalid value of '%@' is used in the configuration file." = "配置文件中使用了无效值 '%@'。"; +/* UTMRemoteSpiceVirtualMachine */ +"An operation is already in progress." = "一项操作已在进行中。"; + /* UTMQemuImage */ "An unknown QEMU error has occurred." = "发生了未知的 QEMU 错误。"; @@ -92,6 +95,9 @@ /* VMConfigSystemView */ "Any unsaved changes will be lost." = "任何未保存的更改都将丢失。"; +/* No comment provided by engineer. */ +"Approve" = "批准"; + /* No comment provided by engineer. */ "Architecture" = "架构"; @@ -107,6 +113,9 @@ /* No comment provided by engineer. */ "Are you sure you want to stop this VM and exit? Any unsaved changes will be lost." = "确定要停止此虚拟机并退出吗?任何未保存的更改都将丢失。"; +/* No comment provided by engineer. */ +"Authentication" = "鉴定"; + /* No comment provided by engineer. */ "Automatic" = "自动"; @@ -117,6 +126,12 @@ UTMQemuConstants */ "BIOS" = "BIOS"; +/* No comment provided by engineer. */ +"Block" = "屏蔽"; + +/* No comment provided by engineer. */ +"Blocked" = "已屏蔽"; + /* UTMQemuConstants */ "Bold" = "粗体"; @@ -127,7 +142,7 @@ "Boot Arguments" = "启动参数"; /* No comment provided by engineer. */ -"Boot Image Type" = "启动映像类别"; +"Boot Image Type" = "启动映像类型"; /* No comment provided by engineer. */ "Boot ISO Image" = "启动 ISO 映像"; @@ -175,9 +190,15 @@ /* UTMData */ "Cannot find AltServer for JIT enable. You cannot run VMs until JIT is enabled." = "找不到用于 JIT 启用的 AltServer。在启用 JIT 之前,你将无法运行虚拟机。"; +/* UTMRemoteServer */ +"Cannot find VM with ID: %@" = "无法通过 ID 找到虚拟机:%@"; + /* UTMData */ "Cannot import this VM. Either the configuration is invalid, created in a newer version of UTM, or on a platform that is incompatible with this version of UTM." = "无法导入此虚拟机。此虚拟机可能配置无效,或者可能是在较新版本的 UTM 中创建的,也可能是在与此版本的 UTM 不兼容的平台上创建的。"; +/* UTMRemoteServer */ +"Cannot reserve port '%@' for external access from NAT. Make sure no other device on the network has reserved it." = "无法保留端口“%@”用作从 NAT 的外部访问。请确保网络上没有其他设备保留该端口。"; + /* No comment provided by engineer. */ "Caps Lock (⇪) is treated as a key" = "将 Caps Lock (⇪) 视为按键"; @@ -206,6 +227,9 @@ /* No comment provided by engineer. */ "Clear" = "清除"; +/* No comment provided by engineer. */ +"Close" = "关闭"; + /* VMQemuDisplayMetalWindowController */ "Closing this window will kill the VM." = "关闭此窗口将终止此虚拟机。"; @@ -219,9 +243,18 @@ VMDisplayWindowController */ "Confirmation" = "确认"; +/* No comment provided by engineer. */ +"Connect" = "连接"; + +/* No comment provided by engineer. */ +"Connected" = "已连接"; + /* No comment provided by engineer. */ "Connection" = "连接"; +/* VMSessionState */ +"Connection to the server was lost." = "与服务器的连接丢失。"; + /* No comment provided by engineer. */ "Console" = "控制台"; @@ -274,6 +307,12 @@ /* UTMQemuConstants */ "Disabled" = "已禁用"; +/* No comment provided by engineer. */ +"Disconnect" = "断开连接"; + +/* No comment provided by engineer. */ +"Discovered" = "已发现"; + /* UTMLegacyQemuConfiguration UTMQemuConstants */ "Disk Image" = "磁盘映像"; @@ -302,21 +341,36 @@ /* No comment provided by engineer. */ "Do you want to delete this VM and all its data?" = "要删除此虚拟机及其所有数据吗?"; +/* No comment provided by engineer. */ +"Do you want to download '%@'?" = "要下载 '%@' 吗?"; + /* No comment provided by engineer. */ "Do you want to duplicate this VM and all its data?" = "要复制此虚拟机及其所有数据吗?"; /* No comment provided by engineer. */ "Do you want to force stop this VM and lose all unsaved data?" = "要强制停止此虚拟机并丢失所有未保存的数据吗?"; +/* No comment provided by engineer. */ +"Do you want to forget all clients and generate a new server identity? Any clients that previously paired with this server will be instructed to manually unpair with this server before they can connect again." = "要忘记所有客户端并生成新的服务器身份吗?之前与此服务器配对的任何客户端将被指示手动取消与此服务器的配对,之后才能再次连接。"; + +/* No comment provided by engineer. */ +"Do you want to forget the selected client(s)?" = "要忘记所选的客户端吗?"; + /* No comment provided by engineer. */ "Do you want to move this VM to another location? This will copy the data to the new location, delete the data from the original location, and then create a shortcut." = "要将此虚拟机移动到别处吗?这将会复制数据到新位置,删除原始位置的数据,然后创建一个快捷方式。"; /* No comment provided by engineer. */ "Do you want to remove this shortcut? The data will not be deleted." = "要删除此快捷方式吗?数据不会被删除。"; +/* No comment provided by engineer. */ +"Download" = "下载"; + /* No comment provided by engineer. */ "Download prebuilt from UTM Gallery…" = "从 UTM 库中下载预构建虚拟机…"; +/* No comment provided by engineer. */ +"Download VM" = "下载虚拟机"; + /* No comment provided by engineer. */ "Drag and drop IPSW file here" = "拖放 IPSW 文件到此处"; @@ -359,6 +413,9 @@ /* UTMQemuVirtualMachine */ "Failed to access drive image path." = "无法访问驱动器映像路径。"; +/* UTMRemoteServer */ +"Failed to access file." = "无法访问文件。"; + /* UTMQemuVirtualMachine */ "Failed to access shared directory." = "无法访问共享目录。"; @@ -374,24 +431,51 @@ /* UTMData */ "Failed to clone VM." = "复制虚拟机失败。"; +/* UTMRemoteSpiceVirtualMachine */ +"Failed to connect to SPICE: %@" = "无法连接到SPICE:%@"; + +/* UTMPipeInterface */ +"Failed to create pipe for communications." = "无法为通信创建管道。"; + /* UTMData */ "Failed to decode JitStreamer response." = "未能解码 JitStreamer 响应。"; +/* UTMRemoteClient */ +"Failed to determine host name." = "无法确定主机名。"; + +/* UTMRemoteKeyManager */ +"Failed to generate a key pair." = "无法生成密钥对。"; + +/* UTMQemuVirtualMachine */ +"Failed to generate TLS key for server." = "无法为服务器生成 TLS 密钥。"; + +/* UTMRemoteClient */ +"Failed to get host fingerprint." = "无法获取主机指纹。"; + /* VMWizardState */ "Failed to get latest macOS version from Apple." = "无法从 Apple 获得最新的 macOS 版本。"; +/* UTMRemoteKeyManager */ +"Failed to import generated key." = "无法导入生成的密钥。"; + /* UTMQemuConfigurationError */ "Failed to migrate configuration from a previous UTM version." = "无法从以前的 UTM 版本迁移配置。"; /* UTMData */ "Failed to parse download URL." = "无法解析下载 URL。"; +/* UTMRemoteKeyManager */ +"Failed to parse generated key pair." = "无法解析生成的密钥对。"; + /* UTMData */ "Failed to parse imported VM." = "无法解析导入的虚拟机。"; /* UTMDownloadVMTask */ "Failed to parse the downloaded VM." = "无法解析下载的虚拟机。"; +/* UTMData */ +"Failed to reconnect to the server." = "无法重新连接到服务器。"; + /* AppDelegate VMDisplayWindowController */ "Failed to save suspend state" = "无法保存挂起状态。"; @@ -405,6 +489,9 @@ /* No comment provided by engineer. */ "Faster, but can only run the native CPU architecture." = "速度更快,但只能运行本机 CPU 架构。"; +/* No comment provided by engineer. */ +"Fingerprint" = "指纹"; + /* Configuration boot device UTMQemuConstants */ "Floppy" = "软盘"; @@ -460,9 +547,15 @@ /* No comment provided by engineer. */ "Hold Control (⌃) for right click" = "按住 Control (⌃) 键以右键单击"; +/* No comment provided by engineer. */ +"Host" = "主机"; + /* UTMQemuConstants */ "Host Only" = "仅主机"; +/* No comment provided by engineer. */ +"Hostname or IP address" = "主机名或 IP 地址"; + /* No comment provided by engineer. */ "Icon" = "图标"; @@ -505,12 +598,21 @@ /* VMDisplayMetalWindowController */ "Internal error." = "内部错误。"; +/* UTMRemoteServer */ +"Invalid backend." = "无效的后端。"; + +/* VMWizardState */ +"Invalid drive size specified." = "指定的驱动器大小无效。"; + /* UTMData */ "Invalid JitStreamer attach URL:\n%@" = "无效的 JitStreamer 附加 URL:%@"; /* VMConfigAppleNetworkingView */ "Invalid MAC address." = "MAC 地址无效。"; +/* VMWizardState */ +"Invalid RAM size specified." = "指定的内存大小无效。"; + /* No comment provided by engineer. */ "Invert scrolling" = "反转滚动"; @@ -583,6 +685,9 @@ /* No comment provided by engineer. */ "macOS Settings" = "macOS 设置"; +/* No comment provided by engineer. */ +"Make sure the latest version of UTM is running on your Mac and UTM Server is enabled. You can download UTM from the Mac App Store." = "确保你的 Mac 上运行最新版本的 UTM,且 UTM 服务器已启用。你可以从 Mac App Store 下载 UTM。"; + /* UTMQemuConstants */ "Manual Serial Device (advanced)" = "手动串行设备 (高级)"; @@ -616,9 +721,15 @@ /* No comment provided by engineer. */ "Name" = "名称"; +/* No comment provided by engineer. */ +"Name (optional)" = "名称 (可选)"; + /* UTMQemuConstants */ "Nearest Neighbor" = "近邻取样"; +/* No comment provided by engineer. */ +"Network" = "网络"; + /* No comment provided by engineer. */ "New" = "新建"; @@ -662,8 +773,11 @@ /* UTMQemuConstants */ "None (Advanced)" = "无 (高级)"; +/* UTMRemoteServer */ +"Not authenticated." = "未"; + /* UTMVirtualMachine */ -"Not implemented." = "此功能未实现。"; +"Not implemented." = "未实现。"; /* No comment provided by engineer. */ "Notes" = "注意"; @@ -689,7 +803,7 @@ /* UTMScriptingVirtualMachineImpl */ "Operation not available." = "操作不可用。"; -/* UTMScriptingVirtualMachineImpl */ +/* UTMData */ "Operation not supported by the backend." = "操作不受后端支持。"; /* No comment provided by engineer. */ @@ -698,6 +812,15 @@ /* No comment provided by engineer. */ "Other" = "其他"; +/* No comment provided by engineer. */ +"Password" = "密码"; + +/* UTMRemoteClient */ +"Password is incorrect." = "密码不正确。"; + +/* UTMRemoteClient */ +"Password is required." = "需要密码。"; + /* VMDisplayWindowController */ "Pause" = "暂停"; @@ -728,6 +851,9 @@ /* No comment provided by engineer. */ "Please select an uncompressed Linux kernel image." = "请选择一个未压缩的 Linux 内核映像。"; +/* No comment provided by engineer. */ +"Port" = "端口"; + /* No comment provided by engineer. */ "Port Forward" = "端口转发"; @@ -806,6 +932,9 @@ /* No comment provided by engineer. */ "Reset" = "重置"; +/* No comment provided by engineer. */ +"Reset Identity" = "重置身份"; + /* No comment provided by engineer. */ "Resize" = "重新调整"; @@ -830,12 +959,18 @@ /* UTMAppleConfiguration */ "Rosetta is not supported on the current host machine." = "当前主机不支持 Rosetta。"; +/* No comment provided by engineer. */ +"Running" = "正在运行"; + /* No comment provided by engineer. */ "Running low on memory! UTM might soon be killed by iOS. You can prevent this by decreasing the amount of memory and/or JIT cache assigned to this VM" = "运行内存不足!UTM 可能很快就会被 iOS 终止。你可以通过减少分配给此虚拟机的内存和 (或) JIT 缓存来防止这种情况。"; /* No comment provided by engineer. */ "Save" = "保存"; +/* No comment provided by engineer. */ +"Saved" = "已保存"; + /* VMData */ "Saving" = "正在保存"; @@ -851,6 +986,9 @@ /* No comment provided by engineer. */ "Select a file." = "选择一个文件。"; +/* No comment provided by engineer. */ +"Select a UTM Server" = "选择一个 UTM 服务器"; + /* VMDisplayWindowController */ "Select Drive Image" = "选择驱动器映像"; @@ -871,12 +1009,18 @@ "Selected:" = "已选择:"; /* VMDisplayWindowController */ -"Sends power down request to the guest. This simulates pressing the power button on a PC." = "向客户机发送关闭电源请求。此操作模拟了按住 PC 上的电源按钮。"; +"Sends power down request to the guest. This simulates pressing the power button on a PC." = "向客户机发送关闭电源请求。此操作模拟了按下 PC 上的电源按钮。"; /* VMDisplayAppleWindowController VMDisplayQemuDisplayController */ "Serial %lld" = "串行端口 %lld"; +/* Server view */ +"Server" = "服务器"; + +/* No comment provided by engineer. */ +"Server IP: %@, Port: %@" = "服务器 IP:%1$@,端口:%2$@"; + /* No comment provided by engineer. */ "Share USB devices from host" = "从主机共享 USB 设备"; @@ -931,6 +1075,9 @@ /* VMData */ "Starting" = "正在启动"; +/* No comment provided by engineer. */ +"Startup" = "启动"; + /* No comment provided by engineer. */ "Stop" = "停止"; @@ -994,6 +1141,9 @@ /* UTMConfiguration */ "The backend for this configuration is not supported." = "不支持此配置的后端。"; +/* UTMRemoteServer */ +"The client interface version does not match the server." = "客户端接口版本与服务器不匹配。"; + /* UTMScriptingUSBDeviceImpl */ "The device cannot be found." = "找不到该设备。"; @@ -1006,6 +1156,9 @@ /* UTMDownloadSupportToolsTaskError */ "The guest support tools have already been mounted." = "客户机支持工具已挂载。"; +/* UTMRemoteClient */ +"The host fingerprint does not match the saved value. This means that UTM Server was reset, a different host is using the same name, or an attacker is pretending to be the host. For your protection, you need to delete this saved host to continue." = "主机指纹与保存的值不匹配。这意味着 UTM 服务器被重置、不同的主机使用相同的名称,或者攻击者正在冒充主机。为了保护你的安全,你需要删除已保存的主机才能继续。"; + /* UTMAppleConfiguration */ "The host operating system needs to be updated to support one or more features requested by the guest." = "需要更新主机的操作系统,以支持客户机请求的一个或多个功能。"; @@ -1024,6 +1177,9 @@ /* VMWizardState */ "The selected boot image contains the word '%@' but the guest architecture is '%@'. Please ensure you have selected an image that is compatible with '%@'." = "所选的引导映像名称包含 '%@',但客户机的架构为 '%@'。请确保你选择了与 '%@' 兼容的映像。"; +/* UTMRemoteClient */ +"The server interface version does not match the client." = "服务器接口版本与客户端不匹配。"; + /* No comment provided by engineer. */ "The target does not support hardware emulated serial connections." = "此目标系统不支持硬件模拟串行连接。"; @@ -1066,6 +1222,15 @@ /* VMConfigAppleSharingView */ "This directory is already being shared." = "此目录已被共享。"; +/* VMData */ +"This function is not implemented." = "此功能未实现。"; + +/* UTMData */ +"This functionality is not yet implemented." = "此功能尚未实现。"; + +/* UTMRemoteClient */ +"This host is not yet trusted. You should verify that the fingerprints match what is displayed on the host and then select Trust to continue." = "此主机尚未被信任。你应该验证指纹是否与主机上所显示的匹配,然后选择“信任”以继续。"; + /* UTMAppleConfiguration */ "This is not a valid Apple Virtualization configuration." = "并非有效的 Apple 虚拟化配置。"; @@ -1087,9 +1252,24 @@ /* No comment provided by engineer. */ "This virtual machine has been removed." = "此虚拟机已被移除。"; +/* UTMDataExtension */ +"This virtual machine is already running. In order to run it from this device, you must stop it first." = "此虚拟机已在运行。要从该设备运行此虚拟机,你必须先停止它。"; + +/* UTMData */ +"This virtual machine is currently unavailable, make sure it is not open in another session." = "此虚拟机当前不可用,请确保它没有在另一个会话中打开。"; + +/* VMData */ +"This VM is configured for a backend that does not support remote clients." = "此虚拟机配置为不支持远程客户端的后端。"; + +/* No comment provided by engineer. */ +"This VM is unavailable." = "此虚拟机不可用。"; + /* VMDisplayWindowController */ "This will reset the VM and any unsaved state will be lost." = "这将重置虚拟机,任何未保存的状态都将丢失。"; +/* UTMRemoteConnectView */ +"Timed out trying to connect." = "尝试连接超时。"; + /* VMDisplayAppleWindowController */ "To access the shared directory, the guest OS must have Virtiofs drivers installed. You can then run `sudo mount -t virtiofs share /path/to/share` to mount to the share path." = "要访问共享目录,客户机操作系统必须安装 VirtioFS 驱动程序。然后,你可以运行命令 `sudo mount -t virtiofs share [要共享的目录]` 来挂载到共享路径。"; @@ -1102,6 +1282,9 @@ /* VMDisplayQemuMetalWindowController */ "To release the mouse cursor, press %@ at the same time." = "要释放鼠标光标,请同时按 %@。"; +/* No comment provided by engineer. */ +"Trust" = "信任"; + /* No comment provided by engineer. */ "u{2022} " = "u{2022}"; @@ -1225,7 +1408,7 @@ /* ContentView */ "Your version of iOS does not support running VMs while unmodified. You must either run UTM while jailbroken or with a remote debugger attached. See https://getutm.app/install/ for more details." = "你的 iOS 版本不支持在未经修改的情况下运行虚拟机,必须在越狱时运行 UTM,或者连接远程调试器。有关更多详细信息,请参阅 https://getutm.app/install/。"; -// Additonal Strings (Unable to be extracted by Xcode) +// Additional Strings (These strings are unable to be extracted by Xcode) /* No comment provided by engineer. */ "(Delete)" = "(删除)"; @@ -1576,7 +1759,7 @@ "If enabled, num lock will always be on to the guest. Note this may make your keyboard's num lock indicator out of sync." = "若启用,Num Lock 将始终对客户机开启。注意,这可能会使键盘的 Num Lock 指示灯不同步。"; /* No comment provided by engineer. */ -"If enabled, Option will be mapped to the Meta key which can be useful for emacs. Otherwise, option will work as the system intended (such as for entering international text)." = "若启用,Option 键将映射到 Meta 键,这对 Emacs 很有用。否则,Option 键将按照系统默认方式工作(例如输入国际文本)。"; +"If enabled, Option will be mapped to the Meta key which can be useful for emacs. Otherwise, option will work as the system intended (such as for entering international text)." = "若启用,Option 键将映射到 Meta 键,这对 Emacs 很有用。否则,Option 键将按照系统默认方式工作 (例如输入国际文本)。"; /* No comment provided by engineer. */ "If enabled, resizing of the VM window will not be allowed." = "若启用,将不允许调整虚拟机窗口的大小。"; @@ -2015,4 +2198,3 @@ /* No comment provided by engineer. */ "Zoom" = "缩放"; - diff --git a/README.zh-HK.md b/README.zh-HK.md index e13e251ae..bebba9d9b 100644 --- a/README.zh-HK.md +++ b/README.zh-HK.md @@ -20,21 +20,21 @@ UTM 是一個功能完备的系統模擬工具與虛擬电脑主機,適用於 * 文本終端機模式 * USB 裝置 * 使用 QEMU TCG 進行基於 JIT 的加速 -* 採用了最新最靚的 API,從零開始設計前端,支援 macOS 11+ 與 iOS 11+ -* 從你的裝置上直接製作、管理和執行虛擬機 +* 採用了最新最靚的 API,由頭開始設計前端,支援 macOS 11+ 與 iOS 11+ +* 於你的裝置上直接製作、管理與執行虛擬機 ## 於 macOS 的附加功能 * 使用 Hypervisor.framework 與 QEMU 實現硬件加速虛擬化 -* 在 macOS 12+ 上使用 Virtualization.framework 來啓動 macOS 客戶端 +* 在 macOS 12+ 上使用 Virtualization.framework 來啟動 macOS 客戶端 ## UTM SE -UTM/QEMU 需要動態程式碼生成(JIT)以得到最大性能。iOS 上的 JIT 需要已經越獄(Jailbreak)的裝置(iOS 11.0~14.3 毋需越獄,iOS 14.4+ 需要),或者為特定版本的 iOS 找到其他變通方法之一(有關更多詳細訊息,請見「安裝」)。 +UTM/QEMU 需要動態程式碼生成(JIT)以得到最大性能。iOS 上的 JIT 需要已經越獄(Jailbreak)的裝置(iOS 11.0~14.3 無需越獄,iOS 14.4+ 需要),或者為特定版本的 iOS 找到其他變通方法之一(有關更多詳細訊息,請見「安裝」)。 -UTM SE(「較慢版」)使用了「[執行緒解釋器][3]」,其性能優於傳統解釋器,但仍然比 JIT 要慢。此種技術類似於 [iSH][4] 的動態執行。因此,UTM SE 無需越獄或任何 JIT 的變通方法,可以作為常規應用程式側載(Sideload)。 +UTM SE(「較慢版」)使用了「[執行緒解釋器][3]」,其性能優於傳統解釋器,但仍然比 JIT 要慢。此種技術類似 [iSH][4] 的動態執行。因此,UTM SE 無需越獄或任何 JIT 的變通方法,可以作為常規應用程式側載(Sideload)。 -為了最佳化大小與構建時間,UTM SE 中只包含以下的體系結構:ARM、PPC、RISC-V 和 x86(均包含 32 位元和 64 位元)。 +為了最佳化大小與構建時間,UTM SE 當中只包含以下的體系結構:ARM、PPC、RISC-V 和 x86(均包含 32 位元和 64 位元)。 ## 安裝 @@ -55,11 +55,11 @@ UTM 同時支援 macOS:https://mac.getutm.app/ ## 許可證 -UTM 於 Apache 2.0 許可證下發佈,但它採用了若干 GPL 與 LGPL 元件。這其中,大多數元件為動態連接,但 gstreamer 元件為靜態連接,部分程式碼來自 QEMU。如你打算重新分發此應用程式,請務必緊記這一點。 +UTM 於 Apache 2.0 許可證下發佈,但它採用了若干 GPL 與 LGPL 元件,當中大多數元件為動態連接,但 gstreamer 元件為靜態連接,部分程式碼來自 QEMU。如你打算重新分發此應用程式,請務必緊記這一點。 某些图示由 [Freepik](https://www.freepik.com) 從 [www.flaticon.com](https://www.flaticon.com/) 製作。 -此外,UTM 前端依賴於以下 MIT/BSD 許可證的元件: +此外,UTM 前端依賴以下 MIT/BSD 許可證的元件: * [IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager) * [SwiftTerm](https://github.com/migueldeicaza/SwiftTerm) diff --git a/UTM.xcodeproj/project.pbxproj b/UTM.xcodeproj/project.pbxproj index b28e0edf5..6b5d0f7ca 100644 --- a/UTM.xcodeproj/project.pbxproj +++ b/UTM.xcodeproj/project.pbxproj @@ -1205,6 +1205,7 @@ CEFE96772B69A7CC000F00C9 /* VMRemoteSessionState.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEFE96762B69A7CC000F00C9 /* VMRemoteSessionState.swift */; }; CEFE98DF29485237007CB7A8 /* UTM.sdef in Resources */ = {isa = PBXBuildFile; fileRef = CEFE98DE29485237007CB7A8 /* UTM.sdef */; }; CEFE98E129485776007CB7A8 /* UTMScriptingVirtualMachineImpl.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEFE98E029485776007CB7A8 /* UTMScriptingVirtualMachineImpl.swift */; }; + F69A20402BB7E59100BB13DD /* Info-Remote-InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F69A203E2BB7E59100BB13DD /* Info-Remote-InfoPlist.strings */; }; FF0307552A84E3B70049979B /* QEMULauncher-InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = FF0307532A84E3B70049979B /* QEMULauncher-InfoPlist.strings */; }; FFB02A8C266CB09C006CD71A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = FFB02A8A266CB09C006CD71A /* InfoPlist.strings */; }; FFB02A8D266CB09C006CD71A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = FFB02A8A266CB09C006CD71A /* InfoPlist.strings */; }; @@ -2052,6 +2053,8 @@ E68D492228AC018E00D34C54 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; E68D492328AC018E00D34C54 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/InfoPlist.strings"; sourceTree = ""; }; E6F791192903EEC6000BAAC9 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/InfoPlist.strings"; sourceTree = ""; }; + F617FC532BB92ACA007674D8 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Info-Remote-InfoPlist.strings"; sourceTree = ""; }; + F69A203F2BB7E59100BB13DD /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Info-Remote-InfoPlist.strings"; sourceTree = ""; }; F6DA2DA52AAFED5F0070DCD1 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/VMDisplayMetalViewInputAccessory.strings"; sourceTree = ""; }; F6DA2DA62AAFED5F0070DCD1 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/VMDisplayWindow.strings"; sourceTree = ""; }; F6DA2DA72AAFED5F0070DCD1 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/InfoPlist.strings"; sourceTree = ""; }; @@ -2684,6 +2687,7 @@ CE95877426D74C2A0086BDE8 /* iOS.entitlements */, CE2D954F24AD4F980059923A /* Info.plist */, CECF02572B70909900409FC0 /* Info-Remote.plist */, + F69A203E2BB7E59100BB13DD /* Info-Remote-InfoPlist.strings */, FFB02A8A266CB09C006CD71A /* InfoPlist.strings */, CEB5C1192B8C4CD4008AAE5C /* Info-RemotePlist.strings */, 5286EC91243748AC007E6CBC /* Settings.bundle */, @@ -3357,6 +3361,7 @@ CEB5C1172B8C4CD4008AAE5C /* Info-RemotePlist.strings in Resources */, CEF7F67B2AEEDCC400E34952 /* Localizable.strings in Resources */, CEF7F67C2AEEDCC400E34952 /* qemu in Resources */, + F69A20402BB7E59100BB13DD /* Info-Remote-InfoPlist.strings in Resources */, CEF7F67D2AEEDCC400E34952 /* VMDisplayMetalViewInputAccessory.xib in Resources */, CEF7F67E2AEEDCC400E34952 /* Localizable.stringsdict in Resources */, CEF7F67F2AEEDCC400E34952 /* Settings.bundle in Resources */, @@ -4260,6 +4265,15 @@ name = Localizable.stringsdict; sourceTree = ""; }; + F69A203E2BB7E59100BB13DD /* Info-Remote-InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + F69A203F2BB7E59100BB13DD /* zh-Hans */, + F617FC532BB92ACA007674D8 /* zh-HK */, + ); + name = "Info-Remote-InfoPlist.strings"; + sourceTree = ""; + }; FF0307532A84E3B70049979B /* QEMULauncher-InfoPlist.strings */ = { isa = PBXVariantGroup; children = (