Skip to content

Commit

Permalink
Merge pull request #6326 from changanmoon/main
Browse files Browse the repository at this point in the history
Update new translations for zh-Hans & zh-HK
  • Loading branch information
osy committed May 24, 2024
2 parents 202a457 + 7b72397 commit 35f6c0f
Show file tree
Hide file tree
Showing 5 changed files with 137 additions and 11 deletions.
9 changes: 9 additions & 0 deletions Platform/iOS/zh-HK.lproj/Info-Remote-InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/* Bundle name */
"CFBundleName" = "UTM 遠端";

/* Privacy - Local Network Usage Description */
"NSLocalNetworkUsageDescription" = "UTM 使用本地網絡尋找並連接至 UTM 遠端伺服器。";

/* Privacy - Microphone Usage Description */
"NSMicrophoneUsageDescription" = "任何虛擬電腦都需要許可才能由咪高風進行錄製。";

9 changes: 9 additions & 0 deletions Platform/iOS/zh-Hans.lproj/Info-Remote-InfoPlist.strings
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/* Bundle name */
"CFBundleName" = "UTM 远程";

/* Privacy - Local Network Usage Description */
"NSLocalNetworkUsageDescription" = "UTM 使用本地网络查找和连接 UTM 远程服务器。";

/* Privacy - Microphone Usage Description */
"NSMicrophoneUsageDescription" = "任何虚拟机都需要获得许可才能从麦克风录音。";

57 changes: 54 additions & 3 deletions Platform/zh-HK.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,18 @@
/* Format string for download progress and speed, e. g. 5 MB of 6 GB (200 kbit/s) */
"%1$@ of %2$@ (%3$@)" = "%1$@ / %2$@ (%3$@)";

/* UTMDonateView */
"%d days" = "%d 日";

/* UTMDonateView */
"%d months" = "%d 月";

/* UTMDonateView */
"%d weeks" = "%d 周";

/* UTMDonateView */
"%d years" = "%d 年";

/* UTMScriptingAppDelegate */
"A valid backend must be specified." = "必須指定有效的後端。";

Expand Down Expand Up @@ -119,6 +131,9 @@
/* UTMQemuConstants */
"Automatic Serial Device (max 4)" = "自動序列裝置 (最大值為 4)";

/* VMSessionState */
"Background task is about to expire" = "背景任務即將過期";

/* UTMLegacyQemuConfiguration
UTMQemuConstants */
"BIOS" = "BIOS";
Expand Down Expand Up @@ -208,6 +223,9 @@
/* No comment provided by engineer. */
"Capture input automatically when entering full screen" = "進入全螢幕時自動擷取輸入";

/* No comment provided by engineer. */
"Capture input automatically when window is focused" = "於視窗聚焦時自動擷取輸入";

/* VMDisplayQemuMetalWindowController */
"Captured mouse" = "已擷取滑鼠";

Expand All @@ -227,6 +245,9 @@
/* VMDisplayAppleController */
"Change…" = "變更⋯";

/* No comment provided by engineer. */
"Choose" = "選取";

/* No comment provided by engineer. */
"Clear" = "清除";

Expand Down Expand Up @@ -291,6 +312,9 @@
/* UTMSWTPM */
"Data not specified." = "未指定資料。";

/* UTMDonateView */
"day" = "日";

/* No comment provided by engineer. */
"Debug Logging" = "除錯記錄";

Expand Down Expand Up @@ -333,7 +357,7 @@
"Disposable Mode" = "即拋式模式";

/* No comment provided by engineer. */
"Do not save VM screenshot to disk" = "不要將虛擬電腦快照儲存至磁碟";
"Do not save VM screenshot to disk" = "不要將虛擬電腦螢幕截圖儲存至磁碟";

/* No comment provided by engineer. */
"Do not show confirmation when closing a running VM" = "關閉正在執行的虛擬電腦時不要顯示確認";
Expand Down Expand Up @@ -712,6 +736,9 @@
/* No comment provided by engineer. */
"Minimum size: %@" = "最小大小:%@";

/* UTMDonateView */
"month" = "月";

/* No comment provided by engineer. */
"Mouse/Keyboard" = "滑鼠/鍵盤";

Expand Down Expand Up @@ -848,6 +875,9 @@
/* No comment provided by engineer. */
"Pending" = "待定";

/* UTMDonateView */
"period" = "期間";

/* VMDisplayWindowController */
"Play" = "播放";

Expand Down Expand Up @@ -1126,6 +1156,9 @@
/* UTMSWTPM */
"SW TPM failed to start. %@" = "SW TPM 無法啟動。%@";

/* VMSessionState */
"Switch back to UTM to avoid termination." = "切換回至 UTM 以避免終止。";

/* No comment provided by engineer. */
"System" = "系統";

Expand Down Expand Up @@ -1381,7 +1414,10 @@
"Virtualize" = "虛擬化";

/* No comment provided by engineer. */
"Waiting for VM to connect to display..." = "正在等待虛擬電腦連接至顯示...";
"Waiting for VM to connect to display..." = "正在等待虛擬電腦連接至顯示⋯";

/* UTMDonateView */
"week" = "周";

/* No comment provided by engineer. */
"Welcome to UTM" = "歡迎使用 UTM";
Expand All @@ -1404,6 +1440,9 @@
/* No comment provided by engineer. */
"Would you like to re-convert this disk image to reclaim unused space? Note this will require enough temporary space to perform the conversion. You are strongly encouraged to back-up this VM before proceeding." = "你要重新轉換此磁碟映像檔以回收未使用的空間嗎?請緊記,這將需要足夠的臨時空間來執行轉換。強烈建議你先備份此虛擬電腦,然後再繼續操作。";

/* UTMDonateView */
"year" = "年";

/* No comment provided by engineer. */
"Yes" = "是";

Expand All @@ -1414,11 +1453,20 @@
VMWizardOSMacView */
"Your machine does not support running this IPSW." = "你的電腦不支援執行此 IPSW。";

/* UTMDonateView */
"Your purchase could not be verified by the App Store." = "App Store 無法驗證你的購買。";

/* No comment provided by engineer. */
"Your support is the driving force that helps UTM stay independent. Your contribution, no matter the size, makes a significant difference. It enables us to develop new features and maintain existing ones. Thank you for considering a donation to support us." = "你的支援是幫助 UTM 保持獨立的動力。無論你的貢獻幾多,都會帶來重大影響。這可以令我們能夠開發新功能,並維護現有的功能。多謝你考慮捐贈來支援我們。";

/* 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/。";

// Additional Strings (These strings are unable to be extracted by Xcode)

/* No comment provided by engineer. */
"" = "";

/* No comment provided by engineer. */
"(Delete)" = "(刪除)";

Expand Down Expand Up @@ -1777,14 +1825,17 @@
"If enabled, a virtiofs share tagged 'rosetta' will be available on the Linux guest for installing Rosetta for emulating x86_64 on ARM64." = "如啟用,標記為「rosetta」的 virtiofs 分享將會於 Linux 客戶端上可用,用作安裝 Rosetta,可以於 arm64 上仿真 x86_64。";

/* No comment provided by engineer. */
"If enabled, any existing screenshot will be deleted the next time the VM is started." = "如啟用,下次啟動虛擬電腦時,任何現存的快照將會被刪除。";
"If enabled, any existing screenshot will be deleted the next time the VM is started." = "如啟用,下次啟動虛擬電腦時,任何現存的螢幕截圖將會被刪除。";

/* No comment provided by engineer. */
"If enabled, caps lock will be handled like other keys. If disabled, it is treated as a toggle that is synchronized with the host." = "如啟用,Caps Lock 將會同其他鍵一樣處理。如停用,它將會被視為開關鍵,並與主機同步。";

/* No comment provided by engineer. */
"If enabled, input capture will toggle automatically when entering and exiting full screen mode." = "如啟用,於進入和離開全螢幕模式時,將會自動切換輸入擷取。";

/* No comment provided by engineer. */
"If enabled, input capture will toggle automatically when the VM's window is focused." = "如啟用,於虛擬電腦聚焦視窗時,將自動切換輸入擷取。";

/* No comment provided by engineer. */
"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 指示器不同步。";

Expand Down
61 changes: 53 additions & 8 deletions Platform/zh-Hans.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,18 @@
/* Format string for download progress and speed, e. g. 5 MB of 6 GB (200 kbit/s) */
"%1$@ of %2$@ (%3$@)" = "共 %2$@,已下载 %1$@ (%3$@)";

/* UTMDonateView */
"%d days" = "%d 天";

/* UTMDonateView */
"%d months" = "%d 月";

/* UTMDonateView */
"%d weeks" = "%d 周";

/* UTMDonateView */
"%d years" = "%d 年";

/* UTMScriptingAppDelegate */
"A valid backend must be specified." = "必须指定有效的后端。";

Expand Down Expand Up @@ -119,6 +131,9 @@
/* UTMQemuConstants */
"Automatic Serial Device (max 4)" = "自动串行设备 (最大值 4)";

/* VMSessionState */
"Background task is about to expire" = "后台任务即将终止";

/* UTMLegacyQemuConfiguration
UTMQemuConstants */
"BIOS" = "BIOS";
Expand Down Expand Up @@ -208,11 +223,8 @@
/* No comment provided by engineer. */
"Capture input automatically when entering full screen" = "进入全屏时自动捕获输入";

"If enabled, input capture will toggle automatically when entering and exiting full screen mode." = "如果启用此开关,进入和退出全屏模式时将自动切换输入捕获。";

"Capture input automatically when window is focused" = "成为活动窗口时自动捕获输入";

"If enabled, input capture will toggle automatically when the VM's window is focused." = "如果启用此开关,成为/失去当前活动窗口时自动切换输入捕获。";
/* No comment provided by engineer. */
"Capture input automatically when window is focused" = "聚焦窗口时自动捕获输入";

/* VMDisplayQemuMetalWindowController */
"Captured mouse" = "已捕获鼠标";
Expand All @@ -233,6 +245,9 @@
/* VMDisplayAppleController */
"Change…" = "更改…";

/* No comment provided by engineer. */
"Choose" = "选择";

/* No comment provided by engineer. */
"Clear" = "清除";

Expand Down Expand Up @@ -297,6 +312,9 @@
/* UTMSWTPM */
"Data not specified." = "未指定数据。";

/* UTMDonateView */
"day" = "天";

/* No comment provided by engineer. */
"Debug Logging" = "调试日志记录";

Expand Down Expand Up @@ -718,6 +736,9 @@
/* No comment provided by engineer. */
"Minimum size: %@" = "最小文件大小:%@";

/* UTMDonateView */
"month" = "月";

/* No comment provided by engineer. */
"Mouse/Keyboard" = "鼠标/键盘";

Expand Down Expand Up @@ -854,6 +875,9 @@
/* No comment provided by engineer. */
"Pending" = "等待中";

/* UTMDonateView */
"period" = "周期";

/* VMDisplayWindowController */
"Play" = "启动";

Expand Down Expand Up @@ -1132,6 +1156,9 @@
/* UTMSWTPM */
"SW TPM failed to start. %@" = "SW TPM 无法启动。%@";

/* VMSessionState */
"Switch back to UTM to avoid termination." = "切换回 UTM 以避免终止。";

/* No comment provided by engineer. */
"System" = "系统";

Expand Down Expand Up @@ -1359,7 +1386,7 @@

/* UTMScriptingAppDelegate
UTMScriptingUSBDeviceImpl */
"UTM is not ready to accept commands." = "UTM 未准备好接受命令。";
"UTM is not ready to accept commands." = "UTM 尚未准备好接受命令。";

/* No comment provided by engineer. */
"Version" = "版本号";
Expand Down Expand Up @@ -1387,7 +1414,10 @@
"Virtualize" = "虚拟化";

/* No comment provided by engineer. */
"Waiting for VM to connect to display..." = "等待虚拟机连接到显示...";
"Waiting for VM to connect to display..." = "等待虚拟机连接到显示…";

/* UTMDonateView */
"week" = "周";

/* No comment provided by engineer. */
"Welcome to UTM" = "欢迎使用 UTM";
Expand All @@ -1410,6 +1440,9 @@
/* No comment provided by engineer. */
"Would you like to re-convert this disk image to reclaim unused space? Note this will require enough temporary space to perform the conversion. You are strongly encouraged to back-up this VM before proceeding." = "要重新转换此磁盘映像以回收未使用的空间吗?请注意,这将需要足够的临时空间来执行转换。在继续操作之前,强烈建议你备份此虚拟机。";

/* UTMDonateView */
"year" = "年";

/* No comment provided by engineer. */
"Yes" = "是";

Expand All @@ -1420,11 +1453,20 @@
VMWizardOSMacView */
"Your machine does not support running this IPSW." = "你的机器不支持运行此 IPSW。";

/* UTMDonateView */
"Your purchase could not be verified by the App Store." = "App Store 无法验证你的购买。";

/* No comment provided by engineer. */
"Your support is the driving force that helps UTM stay independent. Your contribution, no matter the size, makes a significant difference. It enables us to develop new features and maintain existing ones. Thank you for considering a donation to support us." = "你的支持是 UTM 保持独立的动力。你的贡献无论或大或小,都会产生重大的影响。它可以使我们能开发出功能,并维护现有的功能。感谢你考虑捐赠支持我们。";

/* 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/。";

// Additional Strings (These strings are unable to be extracted by Xcode)

/* No comment provided by engineer. */
"" = "";

/* No comment provided by engineer. */
"(Delete)" = "(删除)";

Expand Down Expand Up @@ -1792,7 +1834,10 @@
"If enabled, input capture will toggle automatically when entering and exiting full screen mode." = "若启用,输入捕捉会在进入和退出全屏模式时自动切换。";

/* No comment provided by engineer. */
"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 指示灯不同步。";
"If enabled, input capture will toggle automatically when the VM's window is focused." = "若启用,输入捕捉将在虚拟机窗口聚焦时自动切换。";

/* No comment provided by engineer. */
"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 键将按照系统默认方式工作 (例如输入国际文本)。";
Expand Down
12 changes: 12 additions & 0 deletions UTM.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1216,6 +1216,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 */; };
F6056EF32BE642F500FAEED8 /* Info-Remote-InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F6056EF12BE642F500FAEED8 /* 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 */; };
Expand Down Expand Up @@ -2073,6 +2074,7 @@
E68D492228AC018E00D34C54 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = "<group>"; };
E68D492328AC018E00D34C54 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
E6F791192903EEC6000BAAC9 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
F6056EF22BE642F500FAEED8 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Info-Remote-InfoPlist.strings"; sourceTree = "<group>"; };
F6DA2DA52AAFED5F0070DCD1 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/VMDisplayMetalViewInputAccessory.strings"; sourceTree = "<group>"; };
F6DA2DA62AAFED5F0070DCD1 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/VMDisplayWindow.strings"; sourceTree = "<group>"; };
F6DA2DA72AAFED5F0070DCD1 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2711,6 +2713,7 @@
CE95877426D74C2A0086BDE8 /* iOS.entitlements */,
CE2D954F24AD4F980059923A /* Info.plist */,
CECF02572B70909900409FC0 /* Info-Remote.plist */,
F6056EF12BE642F500FAEED8 /* Info-Remote-InfoPlist.strings */,
FFB02A8A266CB09C006CD71A /* InfoPlist.strings */,
CEB5C1192B8C4CD4008AAE5C /* Info-RemotePlist.strings */,
CEC1B00A2BBB211C0088119D /* PrivacyInfo.xcprivacy */,
Expand Down Expand Up @@ -3394,6 +3397,7 @@
CEF7F6792AEEDCC400E34952 /* Icons in Resources */,
CEB5C1172B8C4CD4008AAE5C /* Info-RemotePlist.strings in Resources */,
CEF7F67B2AEEDCC400E34952 /* Localizable.strings in Resources */,
F6056EF32BE642F500FAEED8 /* Info-Remote-InfoPlist.strings in Resources */,
CEF7F67C2AEEDCC400E34952 /* qemu in Resources */,
CEF7F67D2AEEDCC400E34952 /* VMDisplayMetalViewInputAccessory.xib in Resources */,
CEF7F67E2AEEDCC400E34952 /* Localizable.stringsdict in Resources */,
Expand Down Expand Up @@ -4328,6 +4332,14 @@
name = Localizable.stringsdict;
sourceTree = "<group>";
};
F6056EF12BE642F500FAEED8 /* Info-Remote-InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
F6056EF22BE642F500FAEED8 /* zh-HK */,
);
name = "Info-Remote-InfoPlist.strings";
sourceTree = "<group>";
};
FF0307532A84E3B70049979B /* QEMULauncher-InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
Expand Down

0 comments on commit 35f6c0f

Please sign in to comment.