diff --git a/src/Ryujinx/Assets/Locales/zh_TW.json b/src/Ryujinx/Assets/Locales/zh_TW.json
index 46761ff02..9419ef5b9 100644
--- a/src/Ryujinx/Assets/Locales/zh_TW.json
+++ b/src/Ryujinx/Assets/Locales/zh_TW.json
@@ -1,7 +1,7 @@
 {
   "Language": "繁體中文 (台灣)",
   "MenuBarFileOpenApplet": "開啟小程式",
-  "MenuBarFileOpenAppletOpenMiiApplet": "Mii Edit Applet",
+  "MenuBarFileOpenAppletOpenMiiApplet": "Mii 編輯器小程式",
   "MenuBarFileOpenAppletOpenMiiAppletToolTip": "在獨立模式下開啟 Mii 編輯器小程式",
   "SettingsTabInputDirectMouseAccess": "滑鼠直接存取",
   "SettingsTabSystemMemoryManagerMode": "記憶體管理員模式:",
@@ -31,13 +31,13 @@
   "MenuBarToolsInstallFirmware": "安裝韌體",
   "MenuBarFileToolsInstallFirmwareFromFile": "從 XCI 或 ZIP 安裝韌體",
   "MenuBarFileToolsInstallFirmwareFromDirectory": "從資料夾安裝韌體",
-  "MenuBarToolsInstallKeys": "Install Keys",
-  "MenuBarFileToolsInstallKeysFromFile": "Install keys from KEYS or ZIP",
-  "MenuBarFileToolsInstallKeysFromFolder": "Install keys from a directory",
+  "MenuBarToolsInstallKeys": "安裝金鑰",
+  "MenuBarFileToolsInstallKeysFromFile": "從 KEYS 或 ZIP 安裝金鑰",
+  "MenuBarFileToolsInstallKeysFromFolder": "從資料夾安裝金鑰",
   "MenuBarToolsManageFileTypes": "管理檔案類型",
   "MenuBarToolsInstallFileTypes": "安裝檔案類型",
   "MenuBarToolsUninstallFileTypes": "移除檔案類型",
-  "MenuBarToolsXCITrimmer": "Trim XCI Files",
+  "MenuBarToolsXCITrimmer": "修剪 XCI 檔案",
   "MenuBarView": "檢視(_V)",
   "MenuBarViewWindow": "視窗大小",
   "MenuBarViewWindow720": "720p",
@@ -89,11 +89,11 @@
   "GameListContextMenuOpenModsDirectoryToolTip": "開啟此應用程式模組的資料夾",
   "GameListContextMenuOpenSdModsDirectory": "開啟 Atmosphere 模組資料夾",
   "GameListContextMenuOpenSdModsDirectoryToolTip": "開啟此應用程式模組的另一個 SD 卡 Atmosphere 資料夾。適用於為真實硬體封裝的模組。",
-  "GameListContextMenuTrimXCI": "Check and Trim XCI File",
-  "GameListContextMenuTrimXCIToolTip": "Check and Trim XCI File to Save Disk Space",
+  "GameListContextMenuTrimXCI": "檢查及修剪 XCI 檔案",
+  "GameListContextMenuTrimXCIToolTip": "檢查及修剪 XCI 檔案以節省儲存空間",
   "StatusBarGamesLoaded": "{0}/{1} 遊戲已載入",
   "StatusBarSystemVersion": "系統版本: {0}",
-  "StatusBarXCIFileTrimming": "Trimming XCI File '{0}'",
+  "StatusBarXCIFileTrimming": "正在修剪 XCI 檔案 '{0}'",
   "LinuxVmMaxMapCountDialogTitle": "檢測到記憶體映射的低限值",
   "LinuxVmMaxMapCountDialogTextPrimary": "您是否要將 vm.max_map_count 的數值增至 {0}?",
   "LinuxVmMaxMapCountDialogTextSecondary": "某些遊戲可能會嘗試建立超過目前允許的記憶體映射。一旦超過此限制,Ryujinx 就會崩潰。",
@@ -148,7 +148,18 @@
   "SettingsTabSystemSystemLanguageTraditionalChinese": "正體中文 (建議)",
   "SettingsTabSystemSystemTimeZone": "系統時區:",
   "SettingsTabSystemSystemTime": "系統時鐘:",
-  "SettingsTabSystemEnableVsync": "垂直同步",
+  "SettingsTabSystemVSyncMode": "垂直同步:",
+  "SettingsTabSystemEnableCustomVSyncInterval": "啟用自訂的重新整理頻率 (實驗性)",
+  "SettingsTabSystemVSyncModeSwitch": "Switch",
+  "SettingsTabSystemVSyncModeUnbounded": "沒有限制",
+  "SettingsTabSystemVSyncModeCustom": "自訂的重新整理頻率",
+  "SettingsTabSystemVSyncModeTooltip": "模擬垂直同步。「Switch」 模擬 Nintendo Switch 的 60Hz 重新整理頻率。「沒有限制」是沒有限制的重新整理頻率。",
+  "SettingsTabSystemVSyncModeTooltipCustom": "模擬垂直同步。「Switch」 模擬 Nintendo Switch 的 60Hz 重新整理頻率。「沒有限制」是沒有限制的重新整理頻率。「Custom」模擬所自訂的重新整理頻率。",
+  "SettingsTabSystemEnableCustomVSyncIntervalTooltip": "容許使用者自訂模擬的重新整理頻率。你可能會在某些遊戲裡感受到加快或減慢的遊戲速度;其他遊戲裡則可能會容許限制最高的 FPS 至重新整理頻率的倍數,或引起未知遊戲行為。這是實驗性功能,且沒有保證遊戲會穩定執行。\n\n如果不確定,請保持關閉狀態。",
+  "SettingsTabSystemCustomVSyncIntervalValueTooltip": "自訂的重新整理頻率數值。",
+  "SettingsTabSystemCustomVSyncIntervalSliderTooltip": "以 Nintendo Switch 的重新整理頻率百分比自訂重新整理頻率。",
+  "SettingsTabSystemCustomVSyncIntervalPercentage": "自訂重新整理頻率 %:",
+  "SettingsTabSystemCustomVSyncIntervalValue": "自訂重新整理頻率數值:",
   "SettingsTabSystemEnablePptc": "PPTC (剖析式持久轉譯快取, Profiled Persistent Translation Cache)",
   "SettingsTabSystemEnableLowPowerPptc": "低功耗 PPTC",
   "SettingsTabSystemEnableFsIntegrityChecks": "檔案系統完整性檢查",
@@ -157,6 +168,7 @@
   "SettingsTabSystemAudioBackendOpenAL": "OpenAL",
   "SettingsTabSystemAudioBackendSoundIO": "SoundIO",
   "SettingsTabSystemAudioBackendSDL2": "SDL2",
+  "SettingsTabSystemCustomVSyncInterval": "間隔",
   "SettingsTabSystemHacks": "補釘修正",
   "SettingsTabSystemHacksNote": "可能導致模擬器不穩定",
   "SettingsTabSystemDramSize": "使用替代的記憶體配置 (開發者專用)",
@@ -408,8 +420,8 @@
   "InputDialogTitle": "輸入對話方塊",
   "InputDialogOk": "確定",
   "InputDialogCancel": "取消",
-  "InputDialogCancelling": "Cancelling",
-  "InputDialogClose": "Close",
+  "InputDialogCancelling": "正在取消",
+  "InputDialogClose": "關閉",
   "InputDialogAddNewProfileTitle": "選擇設定檔名稱",
   "InputDialogAddNewProfileHeader": "請輸入設定檔名稱",
   "InputDialogAddNewProfileSubtext": "(最大長度: {0})",
@@ -417,7 +429,7 @@
   "AvatarSetBackgroundColor": "設定背景顏色",
   "AvatarClose": "關閉",
   "ControllerSettingsLoadProfileToolTip": "載入設定檔",
-  "ControllerSettingsViewProfileToolTip": "View Profile",
+  "ControllerSettingsViewProfileToolTip": "檢視設定檔",
   "ControllerSettingsAddProfileToolTip": "新增設定檔",
   "ControllerSettingsRemoveProfileToolTip": "刪除設定檔",
   "ControllerSettingsSaveProfileToolTip": "儲存設定檔",
@@ -461,7 +473,7 @@
   "DialogUpdaterExtractionMessage": "正在提取更新...",
   "DialogUpdaterRenamingMessage": "重新命名更新...",
   "DialogUpdaterAddingFilesMessage": "加入新更新...",
-  "DialogUpdaterShowChangelogMessage": "Show Changelog",
+  "DialogUpdaterShowChangelogMessage": "顯示更新日誌",
   "DialogUpdaterCompleteMessage": "更新成功!",
   "DialogUpdaterRestartMessage": "您現在要重新啟動 Ryujinx 嗎?",
   "DialogUpdaterNoInternetMessage": "您沒有連線到網際網路!",
@@ -480,7 +492,7 @@
   "DialogUninstallFileTypesSuccessMessage": "成功移除檔案類型!",
   "DialogUninstallFileTypesErrorMessage": "無法移除檔案類型。",
   "DialogOpenSettingsWindowLabel": "開啟設定視窗",
-  "DialogOpenXCITrimmerWindowLabel": "XCI Trimmer Window",
+  "DialogOpenXCITrimmerWindowLabel": "XCI 修剪器視窗",
   "DialogControllerAppletTitle": "控制器小程式",
   "DialogMessageDialogErrorExceptionMessage": "顯示訊息對話方塊時出現錯誤: {0}",
   "DialogSoftwareKeyboardErrorExceptionMessage": "顯示軟體鍵盤時出現錯誤: {0}",
@@ -509,13 +521,13 @@
   "DialogFirmwareInstallerFirmwareInstallConfirmMessage": "\n\n您確定要繼續嗎?",
   "DialogFirmwareInstallerFirmwareInstallWaitMessage": "正在安裝韌體...",
   "DialogFirmwareInstallerFirmwareInstallSuccessMessage": "成功安裝系統版本 {0}。",
-  "DialogKeysInstallerKeysNotFoundErrorMessage": "An invalid Keys file was found in {0}",
-  "DialogKeysInstallerKeysInstallTitle": "Install Keys",
-  "DialogKeysInstallerKeysInstallMessage": "New Keys file will be installed.",
-  "DialogKeysInstallerKeysInstallSubMessage": "\n\nThis may replace some of the current installed Keys.",
-  "DialogKeysInstallerKeysInstallConfirmMessage": "\n\nDo you want to continue?",
-  "DialogKeysInstallerKeysInstallWaitMessage": "Installing Keys...",
-  "DialogKeysInstallerKeysInstallSuccessMessage": "New Keys file successfully installed.",
+  "DialogKeysInstallerKeysNotFoundErrorMessage": "找到無效的金鑰檔案 {0}",
+  "DialogKeysInstallerKeysInstallTitle": "安裝金鑰",
+  "DialogKeysInstallerKeysInstallMessage": "將會安裝新增的金鑰檔案。",
+  "DialogKeysInstallerKeysInstallSubMessage": "\n\n這將取代部分已安裝的金鑰。",
+  "DialogKeysInstallerKeysInstallConfirmMessage": "\n\n是否繼續?",
+  "DialogKeysInstallerKeysInstallWaitMessage": "正在安裝金鑰...",
+  "DialogKeysInstallerKeysInstallSuccessMessage": "成功安裝新增的金鑰檔案。",
   "DialogUserProfileDeletionWarningMessage": "如果刪除選取的設定檔,將無法開啟其他設定檔",
   "DialogUserProfileDeletionConfirmMessage": "您是否要刪除所選設定檔",
   "DialogUserProfileUnsavedChangesTitle": "警告 - 未儲存的變更",
@@ -555,9 +567,9 @@
   "AboutGithubUrlTooltipMessage": "在預設瀏覽器中開啟 Ryujinx 的 GitHub 網頁。",
   "AboutDiscordUrlTooltipMessage": "在預設瀏覽器中開啟 Ryujinx 的 Discord 邀請連結。",
   "AboutRyujinxAboutTitle": "關於:",
-  "AboutRyujinxAboutContent": "Ryujinx is an emulator for the Nintendo Switch™.\nGet all the latest news in our Discord.\nDevelopers interested in contributing can find out more on our GitHub or Discord.",
+  "AboutRyujinxAboutContent": "Ryujinx 是一款 Nintendo Switch™ 模擬器。\n關注我們的 Discord 取得所有最新消息。\n對於有興趣貢獻的開發者,可以在我們的 GitHub 或 Discord 上了解更多資訊。",
   "AboutRyujinxMaintainersTitle": "維護者:",
-  "AboutRyujinxFormerMaintainersTitle": "Formerly Maintained By:",
+  "AboutRyujinxFormerMaintainersTitle": "過往的維護者:",
   "AboutRyujinxMaintainersContentTooltipMessage": "在預設瀏覽器中開啟貢獻者的網頁",
   "AmiiboSeriesLabel": "Amiibo 系列",
   "AmiiboCharacterLabel": "角色",
@@ -688,12 +700,12 @@
   "TitleUpdateVersionLabel": "版本 {0}",
   "TitleBundledUpdateVersionLabel": "附帶: 版本 {0}",
   "TitleBundledDlcLabel": "附帶:",
-  "TitleXCIStatusPartialLabel": "Partial",
-  "TitleXCIStatusTrimmableLabel": "Untrimmed",
-  "TitleXCIStatusUntrimmableLabel": "Trimmed",
-  "TitleXCIStatusFailedLabel": "(Failed)",
-  "TitleXCICanSaveLabel": "Save {0:n0} Mb",
-  "TitleXCISavingLabel": "Saved {0:n0} Mb",
+  "TitleXCIStatusPartialLabel": "部分",
+  "TitleXCIStatusTrimmableLabel": "未修剪",
+  "TitleXCIStatusUntrimmableLabel": "已修剪",
+  "TitleXCIStatusFailedLabel": "(失敗)",
+  "TitleXCICanSaveLabel": "節省 {0:n0} Mb",
+  "TitleXCISavingLabel": "已節省 {0:n0} Mb",
   "RyujinxInfo": "Ryujinx - 資訊",
   "RyujinxConfirm": "Ryujinx - 確認",
   "FileDialogAllTypes": "全部類型",
@@ -736,6 +748,8 @@
   "SettingsTabHotkeysShowUiHotkey": "顯示 UI:",
   "SettingsTabHotkeysPauseHotkey": "暫停:",
   "SettingsTabHotkeysToggleMuteHotkey": "靜音:",
+  "SettingsTabHotkeysIncrementCustomVSyncIntervalHotkey": "提高自訂的重新整理頻率",
+  "SettingsTabHotkeysDecrementCustomVSyncIntervalHotkey": "降低自訂的重新整理頻率",
   "ControllerMotionTitle": "體感控制設定",
   "ControllerRumbleTitle": "震動設定",
   "SettingsSelectThemeFileDialogTitle": "選取佈景主題檔案",
@@ -748,45 +762,45 @@
   "SelectDlcDialogTitle": "選取 DLC 檔案",
   "SelectUpdateDialogTitle": "選取更新檔",
   "SelectModDialogTitle": "選取模組資料夾",
-  "TrimXCIFileDialogTitle": "Check and Trim XCI File",
-  "TrimXCIFileDialogPrimaryText": "This function will first check the empty space and then trim the XCI File to save disk space.",
-  "TrimXCIFileDialogSecondaryText": "Current File Size: {0:n} MB\nGame Data Size: {1:n} MB\nDisk Space Savings: {2:n} MB",
-  "TrimXCIFileNoTrimNecessary": "XCI File does not need to be trimmed. Check logs for further details",
-  "TrimXCIFileNoUntrimPossible": "XCI File cannot be untrimmed. Check logs for further details",
-  "TrimXCIFileReadOnlyFileCannotFix": "XCI File is Read Only and could not be made writable. Check logs for further details",
-  "TrimXCIFileFileSizeChanged": "XCI File has changed in size since it was scanned. Please check the file is not being written to and try again.",
-  "TrimXCIFileFreeSpaceCheckFailed": "XCI File has data in the free space area, it is not safe to trim",
-  "TrimXCIFileInvalidXCIFile": "XCI File contains invalid data. Check logs for further details",
-  "TrimXCIFileFileIOWriteError": "XCI File could not be opened for writing. Check logs for further details",
-  "TrimXCIFileFailedPrimaryText": "Trimming of the XCI file failed",
-  "TrimXCIFileCancelled": "The operation was cancelled",
-  "TrimXCIFileFileUndertermined": "No operation was performed",
+  "TrimXCIFileDialogTitle": "檢查及修剪 XCI 檔案",
+  "TrimXCIFileDialogPrimaryText": "此功能首先檢查 XCI 檔案是否有修剪的字元,然後修剪檔案以節省儲存空間。",
+  "TrimXCIFileDialogSecondaryText": "現在的檔案大小: {0:n} MB\n遊戲資料大小: {1:n} MB\n節省的儲存空間: {2:n} MB",
+  "TrimXCIFileNoTrimNecessary": "XCI 檔案不需要修剪。檢查日誌以取得更多資訊",
+  "TrimXCIFileNoUntrimPossible": "XCI 檔案不能被修剪。檢查日誌以取得更多資訊",
+  "TrimXCIFileReadOnlyFileCannotFix": "XCI 檔案是唯讀,並且無法改成可寫入。檢查日誌以取得更多資訊",
+  "TrimXCIFileFileSizeChanged": "XCI 檔案大小比較上次的掃瞄已經改變。請檢查檔案不是已經被寫入,然後再嘗試。",
+  "TrimXCIFileFreeSpaceCheckFailed": "XCI 檔案有數據儲存於可節省儲存空間的區域,所以試圖修剪並不安全",
+  "TrimXCIFileInvalidXCIFile": "XCI 檔案帶有無效的數據。檢查日誌以取得更多資訊",
+  "TrimXCIFileFileIOWriteError": "XCI 檔案不能被寫入。檢查日誌以取得更多資訊",
+  "TrimXCIFileFailedPrimaryText": "修剪 XCI 檔案失敗",
+  "TrimXCIFileCancelled": "修剪已取消",
+  "TrimXCIFileFileUndertermined": "沒有修剪",
   "UserProfileWindowTitle": "使用者設定檔管理員",
   "CheatWindowTitle": "密技管理員",
   "DlcWindowTitle": "管理 {0} 的可下載內容 ({1})",
   "ModWindowTitle": "管理 {0} 的模組 ({1})",
   "UpdateWindowTitle": "遊戲更新管理員",
-  "XCITrimmerWindowTitle": "XCI File Trimmer",
-  "XCITrimmerTitleStatusCount": "{0} of {1} Title(s) Selected",
-  "XCITrimmerTitleStatusCountWithFilter": "{0} of {1} Title(s) Selected ({2} displayed)",
-  "XCITrimmerTitleStatusTrimming": "Trimming {0} Title(s)...",
-  "XCITrimmerTitleStatusUntrimming": "Untrimming {0} Title(s)...",
-  "XCITrimmerTitleStatusFailed": "Failed",
-  "XCITrimmerPotentialSavings": "Potential Savings",
-  "XCITrimmerActualSavings": "Actual Savings",
+  "XCITrimmerWindowTitle": "XCI 檔案修剪器",
+  "XCITrimmerTitleStatusCount": "已選擇 {1} 之 {0} 的遊戲",
+  "XCITrimmerTitleStatusCountWithFilter": "已選擇 {1} 之 {0} 的遊戲 ({2} 個已顯示)",
+  "XCITrimmerTitleStatusTrimming": "正在修剪 {0} 個遊戲...",
+  "XCITrimmerTitleStatusUntrimming": "正在反修剪 {0} 個遊戲...",
+  "XCITrimmerTitleStatusFailed": "失敗",
+  "XCITrimmerPotentialSavings": "潛在節省",
+  "XCITrimmerActualSavings": "實際節省",
   "XCITrimmerSavingsMb": "{0:n0} Mb",
-  "XCITrimmerSelectDisplayed": "Select Shown",
-  "XCITrimmerDeselectDisplayed": "Deselect Shown",
-  "XCITrimmerSortName": "Title",
-  "XCITrimmerSortSaved": "Space Savings",
-  "XCITrimmerTrim": "Trim",
-  "XCITrimmerUntrim": "Untrim",
+  "XCITrimmerSelectDisplayed": "選擇已顯示",
+  "XCITrimmerDeselectDisplayed": "取消選擇已顯示",
+  "XCITrimmerSortName": "名稱",
+  "XCITrimmerSortSaved": "已節省的儲存空間",
+  "XCITrimmerTrim": "修剪",
+  "XCITrimmerUntrim": "反修剪",
   "UpdateWindowUpdateAddedMessage": "已加入 {0} 個遊戲更新",
   "UpdateWindowBundledContentNotice": "附帶的遊戲更新只能被停用而無法被刪除。",
   "CheatWindowHeading": "可用於 {0} [{1}] 的密技",
   "BuildId": "組建識別碼:",
   "DlcWindowBundledContentNotice": "附帶的 DLC 只能被停用而無法被刪除。",
-  "DlcWindowHeading": "{0} DLC(s) available",
+  "DlcWindowHeading": "{0} DLC(s) 可用",
   "DlcWindowDlcAddedMessage": "已加入 {0} 個 DLC",
   "AutoloadDlcAddedMessage": "已加入 {0} 個 DLC",
   "AutoloadDlcRemovedMessage": "已刪除 {0} 個遺失的 DLC",
@@ -794,7 +808,7 @@
   "AutoloadUpdateRemovedMessage": "已刪除 {0} 個遺失的遊戲更新",
   "ModWindowHeading": "{0} 模組",
   "UserProfilesEditProfile": "編輯所選",
-  "Continue": "Continue",
+  "Continue": "繼續",
   "Cancel": "取消",
   "Save": "儲存",
   "Discard": "放棄變更",
@@ -843,7 +857,7 @@
   "GraphicsScalingFilterBilinear": "雙線性 (Bilinear)",
   "GraphicsScalingFilterNearest": "近鄰性 (Nearest)",
   "GraphicsScalingFilterFsr": "FSR",
-  "GraphicsScalingFilterArea": "Area",
+  "GraphicsScalingFilterArea": "區域",
   "GraphicsScalingFilterLevelLabel": "日誌等級",
   "GraphicsScalingFilterLevelTooltip": "設定 FSR 1.0 銳化等級。越高越清晰。",
   "SmaaLow": "低階 SMAA",
@@ -864,15 +878,15 @@
   "MultiplayerModeDisabled": "已停用",
   "MultiplayerModeLdnMitm": "ldn_mitm",
   "MultiplayerModeLdnRyu": "RyuLDN",
-  "MultiplayerDisableP2P": "Disable P2P Network Hosting (may increase latency)",
-  "MultiplayerDisableP2PTooltip": "Disable P2P network hosting, peers will proxy through the master server instead of connecting to you directly.",
-  "LdnPassphrase": "Network Passphrase:",
-  "LdnPassphraseTooltip": "You will only be able to see hosted games with the same passphrase as you.",
-  "LdnPassphraseInputTooltip": "Enter a passphrase in the format Ryujinx-<8 hex chars>. You will only be able to see hosted games with the same passphrase as you.",
-  "LdnPassphraseInputPublic": "(public)",
-  "GenLdnPass": "Generate Random",
-  "GenLdnPassTooltip": "Generates a new passphrase, which can be shared with other players.",
-  "ClearLdnPass": "Clear",
-  "ClearLdnPassTooltip": "Clears the current passphrase, returning to the public network.",
-  "InvalidLdnPassphrase": "Invalid Passphrase! Must be in the format \"Ryujinx-<8 hex chars>\""
+  "MultiplayerDisableP2P": "停用對等網路代管 (P2P Network Hosting) (可能增加網路延遲)",
+  "MultiplayerDisableP2PTooltip": "停用對等網路代管 (P2P Network Hosting), 用戶群會經過代理何服器而非直接連線至你的主機。",
+  "LdnPassphrase": "網路密碼片語 (passphrase):",
+  "LdnPassphraseTooltip": "你只會看到與你的密碼片語 (passphrase) 相同的遊戲房間。",
+  "LdnPassphraseInputTooltip": "以「Ryujinx-<8 個十六進制數字>」的格式輸入密碼片語 (passphrase)。你只會看到與你的密碼片語 (passphrase) 相同的遊戲房間。",
+  "LdnPassphraseInputPublic": "(公開)",
+  "GenLdnPass": "隨機產生",
+  "GenLdnPassTooltip": "產生一組新的密碼片語 (passphrase), 以供分享給其他玩家。",
+  "ClearLdnPass": "清除",
+  "ClearLdnPassTooltip": "清除現有的密碼片語 (passphrase), 藉此公開網路連線。",
+  "InvalidLdnPassphrase": "無效的密碼片語 (passphrase)! 必須是以「Ryujinx-<8 個十六進制數字>」的格式"
 }