diff --git a/README.md b/README.md index bbd4d04..7e7a4ec 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ### Ultra - это функциональная кастомная прошивка для Nintendo Switch, с упором в разгон и улучшенный пользовательский опыт. -### [UltraNX 3.0|R3](https://github.com/Ultra-NX/UltraNX/releases/tag/3.0-R3) Поддерживает все HOS до 22.5.0 включительно +### [UltraNX 3.0|R4](https://github.com/Ultra-NX/UltraNX/releases/tag/3.0-R4) Поддерживает все HOS до 22.5.0 включительно diff --git a/README_ENG.md b/README_ENG.md index 74ed542..0943da1 100644 --- a/README_ENG.md +++ b/README_ENG.md @@ -6,7 +6,7 @@ # ### Ultra is a functional custom firmware for Nintendo Switch, with a focus on overclocking and an improved user experience. -### [UltraNX 3.0|R3](https://github.com/Ultra-NX/UltraNX/releases/tag/3.0-R3) Supports all HOS up to and including 22.5.0 +### [UltraNX 3.0|R4](https://github.com/Ultra-NX/UltraNX/releases/tag/3.0-R4) Supports all HOS up to and including 22.5.0 diff --git a/SaltySD/plugins/FPSLocker/patches/01000BB00E9D2000/1FEE6F3F1D2A6A91.yaml b/SaltySD/plugins/FPSLocker/patches/01000BB00E9D2000/1FEE6F3F1D2A6A91.yaml new file mode 100644 index 0000000..bfb17ad --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000BB00E9D2000/1FEE6F3F1D2A6A91.yaml @@ -0,0 +1,25 @@ +# ウィッチャー3 ワイルドハント コンプリートエディション 4.04c +# BID: 1FEE6F3F1D2A6A91 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01001300232F4000/E3E401C28D9FD3B1.yaml b/SaltySD/plugins/FPSLocker/patches/01001300232F4000/E3E401C28D9FD3B1.yaml new file mode 100644 index 0000000..4368b18 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001300232F4000/E3E401C28D9FD3B1.yaml @@ -0,0 +1,19 @@ +# 옥토패스 트래블러 0 1.0.5 +# BID: E3E401C28D9FD3B1 + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x6C546E8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7C768E0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010019C00E9CC000/1FEE6F3F1D2A6A91.yaml b/SaltySD/plugins/FPSLocker/patches/010019C00E9CC000/1FEE6F3F1D2A6A91.yaml new file mode 100644 index 0000000..2f9de20 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010019C00E9CC000/1FEE6F3F1D2A6A91.yaml @@ -0,0 +1,25 @@ +# 《巫師 3:狂獵》-完全版 4.04c +# BID: 1FEE6F3F1D2A6A91 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010026F013B3A000/5EAF1BB0E2B89AF4.yaml b/SaltySD/plugins/FPSLocker/patches/010026F013B3A000/5EAF1BB0E2B89AF4.yaml index 12551fb..c10b1c2 100644 --- a/SaltySD/plugins/FPSLocker/patches/010026F013B3A000/5EAF1BB0E2B89AF4.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010026F013B3A000/5EAF1BB0E2B89AF4.yaml @@ -7,7 +7,7 @@ ALL_FPS: type: evaluate_write address: [MAIN, 0x93CF440, 0] value_type: float - value: ["TruncDec(FRAMETIME_TARGET, 2", "TruncDec(FRAMETIME_TARGET, 2)"] + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] # r.VSync - type: write @@ -22,4 +22,4 @@ ALL_FPS: value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] - type: block - what: timing \ No newline at end of file + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01002C9022770000/8963A531FA7F27A5.yaml b/SaltySD/plugins/FPSLocker/patches/01002C9022770000/8963A531FA7F27A5.yaml new file mode 100644 index 0000000..b0073f3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002C9022770000/8963A531FA7F27A5.yaml @@ -0,0 +1,43 @@ +# Trails in the Sky 1st Chapter 1.0.7 +# BID: 8963A531FA7F27A5 + +DECLARATIONS: + # Lock Max Handheld Resolution to 720p instead of 900p + - + type: code + name: adjustDrResToNativeInHH + instructions: [ + [cmp, w10, 1280], + [b.le, :goto1], + [adrp, x21, 0x726000], + [ldr, w21, [x21, 0x820]], ## REF: nn::oe::GetOperationMode in nnMain + [cbnz, w21, :goto1], + [mov, w10, 1280], + [mov, w8, 720], + :goto1, [stp, w10, w8, [x0, 0x10]], + [ret] + ] +MASTER_WRITE: + ## REF: 40 18 20 1E 00 08 21 1E, patch STP W10, W8 after it + - + type: asm_a64 + main_offset: 0x2C68DC + instructions: [ + [bl, _adjustDrResToNativeInHH()] + ] +ALL_FPS: + # Min Delta + ## REF: C1 03 80 52 28 4D 28 9B, first ADRP + ADD below it + - + type: evaluate_write + address: [MAIN, 0x726850, 0x2C] + value_type: uint32 + value: FPS_TARGET + # Dynamic Resolution + ## REF: First function in .init_array section, ADRP + ADD + 0x220 (default float: 2) + ## Adding there 0.95 by myself because game seems to have issues with reaching 60 FPS without it + - + type: write + address: [MAIN, 0x7263D0] + value_type: float + value: 0.95 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010036F0201D4000/42A0B64E45AD9ABA.yaml b/SaltySD/plugins/FPSLocker/patches/010036F0201D4000/42A0B64E45AD9ABA.yaml index 5481110..17d3113 100644 --- a/SaltySD/plugins/FPSLocker/patches/010036F0201D4000/42A0B64E45AD9ABA.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010036F0201D4000/42A0B64E45AD9ABA.yaml @@ -1,4 +1,4 @@ -# Platform 8 1.0.4 +# Platform 8 1.0.4-1.0.5 # BID: 42A0B64E45AD9ABA ALL_FPS: @@ -22,4 +22,4 @@ ALL_FPS: value: [0, 0] - type: block - what: timing \ No newline at end of file + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010039400E8D6000/1FEE6F3F1D2A6A91.yaml b/SaltySD/plugins/FPSLocker/patches/010039400E8D6000/1FEE6F3F1D2A6A91.yaml new file mode 100644 index 0000000..e8a9ce2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010039400E8D6000/1FEE6F3F1D2A6A91.yaml @@ -0,0 +1,25 @@ +# The Witcher 3: Wild Hunt - The Complete Edition `PL/CZ/HU/SK/SL` 4.04c +# BID: 1FEE6F3F1D2A6A91 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01003BF01E940000/5346BDF1EEC2BA4C.yaml b/SaltySD/plugins/FPSLocker/patches/01003BF01E940000/5346BDF1EEC2BA4C.yaml index 13b4832..bad010e 100644 --- a/SaltySD/plugins/FPSLocker/patches/01003BF01E940000/5346BDF1EEC2BA4C.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01003BF01E940000/5346BDF1EEC2BA4C.yaml @@ -1,4 +1,4 @@ -# The Exit 8 1.0.9 +# The Exit 8 1.0.9-1.1.0 # BID: 5346BDF1EEC2BA4C ALL_FPS: @@ -22,4 +22,4 @@ ALL_FPS: value: [0, 0] - type: block - what: timing \ No newline at end of file + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01003D100E9C6000/1FEE6F3F1D2A6A91.yaml b/SaltySD/plugins/FPSLocker/patches/01003D100E9C6000/1FEE6F3F1D2A6A91.yaml new file mode 100644 index 0000000..d55f6bc --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003D100E9C6000/1FEE6F3F1D2A6A91.yaml @@ -0,0 +1,25 @@ +# The Witcher 3: Wild Hunt - Complete Edition `West EUR/CY` 4.04c +# BID: 1FEE6F3F1D2A6A91 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01003FB012926000/1FEE6F3F1D2A6A91.yaml b/SaltySD/plugins/FPSLocker/patches/01003FB012926000/1FEE6F3F1D2A6A91.yaml new file mode 100644 index 0000000..26cd317 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003FB012926000/1FEE6F3F1D2A6A91.yaml @@ -0,0 +1,25 @@ +# ウィッチャー3 ワイルドハント 4.04c +# BID: 1FEE6F3F1D2A6A91 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01004D20219E0000/90EAF9A228DEB038.yaml b/SaltySD/plugins/FPSLocker/patches/01004D20219E0000/90EAF9A228DEB038.yaml new file mode 100644 index 0000000..156d271 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004D20219E0000/90EAF9A228DEB038.yaml @@ -0,0 +1,43 @@ +# 空の軌跡 the 1st 1.0.7 +# BID: 90EAF9A228DEB038 + +DECLARATIONS: + # Lock Max Handheld Resolution to 720p instead of 900p + - + type: code + name: adjustDrResToNativeInHH + instructions: [ + [cmp, w10, 1280], + [b.le, :goto1], + [adrp, x21, 0x724000], + [ldr, w21, [x21, 0x820]], ## REF: nn::oe::GetOperationMode in nnMain + [cbnz, w21, :goto1], + [mov, w10, 1280], + [mov, w8, 720], + :goto1, [stp, w10, w8, [x0, 0x10]], + [ret] + ] +MASTER_WRITE: + ## REF: 40 18 20 1E 00 08 21 1E, patch STP W10, W8 after it + - + type: asm_a64 + main_offset: 0x2C5D1C + instructions: [ + [bl, _adjustDrResToNativeInHH()] + ] +ALL_FPS: + # Min Delta + ## REF: C1 03 80 52 28 4D 28 9B, first ADRP + ADD below it + - + type: evaluate_write + address: [MAIN, 0x724850, 0x2C] + value_type: uint32 + value: FPS_TARGET + # Dynamic Resolution + ## REF: First function in .init_array section, ADRP + ADD + 0x220 (default float: 2) + ## Adding there 0.95 by myself because game seems to have issues with reaching 60 FPS without it + - + type: write + address: [MAIN, 0x7243D0] + value_type: float + value: 0.95 diff --git a/SaltySD/plugins/FPSLocker/patches/01004FF021942000/F0D2662BD9069E5D.yaml b/SaltySD/plugins/FPSLocker/patches/01004FF021942000/F0D2662BD9069E5D.yaml new file mode 100644 index 0000000..140e84e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004FF021942000/F0D2662BD9069E5D.yaml @@ -0,0 +1,13 @@ +# EA SPORTS FC 26 1.8b.4f9e +# BID: F0D2662BD9069E5D + +ALL_FPS: + # Internal FPS Lock + - + type: evaluate_write + address: [MAIN, 0xC713938, 8] + value_type: double + value: FPS_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100668022DF4000/9EC3012250F0D0B7.yaml b/SaltySD/plugins/FPSLocker/patches/0100668022DF4000/9EC3012250F0D0B7.yaml new file mode 100644 index 0000000..39a21a2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100668022DF4000/9EC3012250F0D0B7.yaml @@ -0,0 +1,19 @@ +# Nicktoons & The Dice of Destiny 1.4.0 +# BID: 9EC3012250F0D0B7 + +ALL_FPS: + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7F445B0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x6F25EE8, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01006D60258EC000/C99AC4C0BEDEBEE5.yaml b/SaltySD/plugins/FPSLocker/patches/01006D60258EC000/C99AC4C0BEDEBEE5.yaml new file mode 100644 index 0000000..13daa9f --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01006D60258EC000/C99AC4C0BEDEBEE5.yaml @@ -0,0 +1,10 @@ +# Ariana and the Elder Codex `US` 1.0.1 +# BID: C99AC4C0BEDEBEE5 + +ALL_FPS: + # UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x4C69F68, 0xB8, 0] + value_type: int32 + value: -1 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010070A00E9CE000/1FEE6F3F1D2A6A91.yaml b/SaltySD/plugins/FPSLocker/patches/010070A00E9CE000/1FEE6F3F1D2A6A91.yaml new file mode 100644 index 0000000..c1aa03a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010070A00E9CE000/1FEE6F3F1D2A6A91.yaml @@ -0,0 +1,25 @@ +# The Witcher 3: Wild Hunt - The Complete Edition `RO/BG/AU/ZA/NZ` 4.04c +# BID: 1FEE6F3F1D2A6A91 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010074200E910000/8E82D24A9B7504FB.yaml b/SaltySD/plugins/FPSLocker/patches/010074200E910000/8E82D24A9B7504FB.yaml index 2a044a4..d0c0adc 100644 --- a/SaltySD/plugins/FPSLocker/patches/010074200E910000/8E82D24A9B7504FB.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010074200E910000/8E82D24A9B7504FB.yaml @@ -7,7 +7,7 @@ ALL_FPS: type: evaluate_write address: [MAIN, 0x6B6E560, 0] value_type: float - value: ["TruncDec(FRAMETIME_TARGET, 2", "TruncDec(FRAMETIME_TARGET, 2)"] + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] # r.VSync - type: write @@ -22,4 +22,4 @@ ALL_FPS: value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] - type: block - what: timing \ No newline at end of file + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010074402766A000/3471ED7EE80D9A1A.yaml b/SaltySD/plugins/FPSLocker/patches/010074402766A000/3471ED7EE80D9A1A.yaml new file mode 100644 index 0000000..6e02947 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010074402766A000/3471ED7EE80D9A1A.yaml @@ -0,0 +1,45 @@ +# Sacred 2 Remaster 1.0.1 +# BID: 3471ED7EE80D9A1A + +DECLARATIONS: + - + type: variable + name: fps_lock + value_type: uint32 + default_value: 33332999 + evaluate: (1000000000 * TruncDec(1 / FPS_TARGET, 6)) - 1 + - + type: variable + name: fps_lock_remainder + value_type: uint32 + default_value: 32333000 + evaluate: 1000000000 * (TruncDec(1 / FPS_TARGET, 6) - 0.01) + - + type: code + name: getFpsLock + instructions: [ + [adrp, x23, $fps_lock], + [ldr, w23, [x23, $fps_lock]], + [add, x8, x23, 1], + [ret] + ] +MASTER_WRITE: + # REF: 0x1ED5CC8, look at ADD X8, X23, #1 above it + - + type: asm_a64 + main_offset: 0xE947E0 + instructions: [ + [bl, _getFpsLock()] + ] + # REF: 0x1ED5CC8 + - + type: asm_a64 + main_offset: 0xE947EC + instructions: [ + [adrp, x8, $fps_lock_remainder], + [ldr, w8, [x8, $fps_lock_remainder]] + ] +ALL_FPS: + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/6E4502B822CB1204.yaml b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/6E4502B822CB1204.yaml new file mode 100644 index 0000000..634e703 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/6E4502B822CB1204.yaml @@ -0,0 +1,19 @@ +# FANTASY LIFE i: The Girl Who Steals Time 2.2.0 +# BID: 6E4502B822CB1204 + +ALL_FPS: + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0xADA0938, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x9D80728, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010076F00E9C8000/1FEE6F3F1D2A6A91.yaml b/SaltySD/plugins/FPSLocker/patches/010076F00E9C8000/1FEE6F3F1D2A6A91.yaml new file mode 100644 index 0000000..4d4f073 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010076F00E9C8000/1FEE6F3F1D2A6A91.yaml @@ -0,0 +1,25 @@ +# The Witcher 3: Wild Hunt - The Complete Edition `DE/AT` 4.04c +# BID: 1FEE6F3F1D2A6A91 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010085500E9D0000/1FEE6F3F1D2A6A91.yaml b/SaltySD/plugins/FPSLocker/patches/010085500E9D0000/1FEE6F3F1D2A6A91.yaml new file mode 100644 index 0000000..2beadf7 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010085500E9D0000/1FEE6F3F1D2A6A91.yaml @@ -0,0 +1,25 @@ +# The Witcher 3: Wild Hunt - The Complete Edition `KOR` 4.04c +# BID: 1FEE6F3F1D2A6A91 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010089601C4F6002/3F3713A6149C24FA.yaml b/SaltySD/plugins/FPSLocker/patches/010089601C4F6002/3F3713A6149C24FA.yaml new file mode 100644 index 0000000..f5027a1 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010089601C4F6002/3F3713A6149C24FA.yaml @@ -0,0 +1,40 @@ +# METAL GEAR SOLID 4: Guns of the Patriots - Master Collection Version 1.4.1 +# BID: 3F3713A6149C24FA + +ALL_FPS: + # Memoized result of the "FPSLimiter.FPS_NX" config-key resolver. + ## REF: 88 02 40 B9 1F 05 00 31 E0 00 00 54, ADRP + ADD above + - + type: evaluate_write + address: [MAIN, 0x149B7E8] + value_type: int32 + value: FPS_LOCK_TARGET + # Dynamic resolution governor + ## REF: 08 29 9C 52 48 EF A7 72 01 01 27 1E A9 99, first ADRP + LDR below gets base address + # budget + - + type: evaluate_write + address: [MAIN, 0x1BAADF8] # base + 0x1D0 + value_type: float + value: "floor(FRAMETIME_TARGET * 0.98)" + # slow-frame threshold + - + type: evaluate_write + address: [MAIN, 0x1BAADFC] # base + 0x1D4 + value_type: float + value: "floor(floor(FRAMETIME_TARGET * 0.98) * 1.29 + 1.05)" + # band offset + - + type: evaluate_write + address: [MAIN, 0x1BAAE14] # base + 0x1EC + value_type: float + value: "floor(FRAMETIME_TARGET * 0.98) * 0.05" + # band half-width + - + type: evaluate_write + address: [MAIN, 0x1BAAE18] # base + 0x1F0 + value_type: float + value: "floor(FRAMETIME_TARGET * 0.98) * 0.025" + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010097F018538000/F327D4AD3C429AA4.yaml b/SaltySD/plugins/FPSLocker/patches/010097F018538000/F327D4AD3C429AA4.yaml new file mode 100644 index 0000000..a02ada3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010097F018538000/F327D4AD3C429AA4.yaml @@ -0,0 +1,10 @@ +# DAVE THE DIVER 1.0.6.1256 +# BID: F327D4AD3C429AA4 + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0xA5352E8, 0x50] + value_type: uint32 + value: "141120000 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100A0800E9C4000/1FEE6F3F1D2A6A91.yaml b/SaltySD/plugins/FPSLocker/patches/0100A0800E9C4000/1FEE6F3F1D2A6A91.yaml new file mode 100644 index 0000000..ddffbb5 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A0800E9C4000/1FEE6F3F1D2A6A91.yaml @@ -0,0 +1,25 @@ +# The Witcher 3: Wild Hunt - The Complete Edition `LV/LT/EST/RU` 4.04c +# BID: 1FEE6F3F1D2A6A91 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100A21017C42000/807A2202464D445B.yaml b/SaltySD/plugins/FPSLocker/patches/0100A21017C42000/807A2202464D445B.yaml index 24f0b69..352cbed 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100A21017C42000/807A2202464D445B.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100A21017C42000/807A2202464D445B.yaml @@ -1,4 +1,4 @@ -# Another Crab's Treasure 1.1.100.3 +# Another Crab's Treasure 1.1.100.3-2.0.000.6 # BID: 807A2202464D445B DECLARATIONS: @@ -71,4 +71,4 @@ ALL_FPS: type: evaluate_write address: [MAIN, 0x565A078] value_type: uint32 - value: FPS_TARGET \ No newline at end of file + value: FPS_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/0100B4D00E6B0000/8B40EBBA7244C94A.yaml b/SaltySD/plugins/FPSLocker/patches/0100B4D00E6B0000/8B40EBBA7244C94A.yaml index 9717ef3..18396ec 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100B4D00E6B0000/8B40EBBA7244C94A.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100B4D00E6B0000/8B40EBBA7244C94A.yaml @@ -1,4 +1,4 @@ -# Wolfenstein®: Youngblood™ (Deutsche Version) 1.5 +# Wolfenstein®: Youngblood™ (Deutsche Version) 1.5-1.6 # BID: 8B40EBBA7244C94A ALL_FPS: @@ -25,4 +25,4 @@ ALL_FPS: type: evaluate_write address: [MAIN, 0x85F74E0] value_type: int32 - value: FPS_LOCK_TARGET \ No newline at end of file + value: FPS_LOCK_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/0100BFE00E9CA000/1FEE6F3F1D2A6A91.yaml b/SaltySD/plugins/FPSLocker/patches/0100BFE00E9CA000/1FEE6F3F1D2A6A91.yaml new file mode 100644 index 0000000..d93e280 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BFE00E9CA000/1FEE6F3F1D2A6A91.yaml @@ -0,0 +1,25 @@ +# The Witcher 3: Wild Hunt - The Complete Edition `US` 4.04c +# BID: 1FEE6F3F1D2A6A91 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100CD6023C84000/4F426502A0CF85FD.yaml b/SaltySD/plugins/FPSLocker/patches/0100CD6023C84000/4F426502A0CF85FD.yaml index c51bd73..156a0b4 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100CD6023C84000/4F426502A0CF85FD.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100CD6023C84000/4F426502A0CF85FD.yaml @@ -1,4 +1,4 @@ -# Achilles: Survivor 1.0.1 +# Achilles: Survivor 1.0.1-1.0.2 # BID: 4F426502A0CF85FD ALL_FPS: @@ -22,4 +22,4 @@ ALL_FPS: value: [0, 0] - type: block - what: timing \ No newline at end of file + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100D0B01C4F4002/3F3713A6149C24FA.yaml b/SaltySD/plugins/FPSLocker/patches/0100D0B01C4F4002/3F3713A6149C24FA.yaml new file mode 100644 index 0000000..4a2fcaf --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D0B01C4F4002/3F3713A6149C24FA.yaml @@ -0,0 +1,40 @@ +# METAL GEAR SOLID 4 GUNS OF THE PATRIOTS (MASTER COLLECTION版) 1.4.1 +# BID: 3F3713A6149C24FA + +ALL_FPS: + # Memoized result of the "FPSLimiter.FPS_NX" config-key resolver. + ## REF: 88 02 40 B9 1F 05 00 31 E0 00 00 54, ADRP + ADD above + - + type: evaluate_write + address: [MAIN, 0x149B7E8] + value_type: int32 + value: FPS_LOCK_TARGET + # Dynamic resolution governor + ## REF: 08 29 9C 52 48 EF A7 72 01 01 27 1E A9 99, first ADRP + LDR below gets base address + # budget + - + type: evaluate_write + address: [MAIN, 0x1BAADF8] # base + 0x1D0 + value_type: float + value: "floor(FRAMETIME_TARGET * 0.98)" + # slow-frame threshold + - + type: evaluate_write + address: [MAIN, 0x1BAADFC] # base + 0x1D4 + value_type: float + value: "floor(floor(FRAMETIME_TARGET * 0.98) * 1.29 + 1.05)" + # band offset + - + type: evaluate_write + address: [MAIN, 0x1BAAE14] # base + 0x1EC + value_type: float + value: "floor(FRAMETIME_TARGET * 0.98) * 0.05" + # band half-width + - + type: evaluate_write + address: [MAIN, 0x1BAAE18] # base + 0x1F0 + value_type: float + value: "floor(FRAMETIME_TARGET * 0.98) * 0.025" + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100D5801E904000/8102D29CD4EB9BE1.yaml b/SaltySD/plugins/FPSLocker/patches/0100D5801E904000/8102D29CD4EB9BE1.yaml new file mode 100644 index 0000000..9064565 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D5801E904000/8102D29CD4EB9BE1.yaml @@ -0,0 +1,16 @@ +# Caravan SandWitch 1.0.9 +# BID: 8102D29CD4EB9BE1 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x7A4E190, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7A878A0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100E63013E60000/42A3B07FA67417FF.yaml b/SaltySD/plugins/FPSLocker/patches/0100E63013E60000/42A3B07FA67417FF.yaml new file mode 100644 index 0000000..4c9e153 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E63013E60000/42A3B07FA67417FF.yaml @@ -0,0 +1,25 @@ +# ASTRONEER 1.43.2.0 +# BID: 42A3B07FA67417FF + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0xAE84748, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0xAEB25D0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0xA6B5410, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100E67012924000/1FEE6F3F1D2A6A91.yaml b/SaltySD/plugins/FPSLocker/patches/0100E67012924000/1FEE6F3F1D2A6A91.yaml new file mode 100644 index 0000000..cd65853 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E67012924000/1FEE6F3F1D2A6A91.yaml @@ -0,0 +1,25 @@ +# The Witcher 3: Wild Hunt 4.04c +# BID: 1FEE6F3F1D2A6A91 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100E95004038000/4F5C96E2D97F45AC.yaml b/SaltySD/plugins/FPSLocker/patches/0100E95004038000/4F5C96E2D97F45AC.yaml new file mode 100644 index 0000000..c127df6 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E95004038000/4F5C96E2D97F45AC.yaml @@ -0,0 +1,160 @@ +# Xenoblade Chronicles 2 3.0.1 +# BID: 4F5C96E2D97F45AC + +DECLARATIONS: + - + type: variable + name: last_tick + value_type: uint64 + default_value: 0 + - + type: variable + name: game_speed + value_type: float + default_value: 0.03333333333 + - + type: variable + name: min_delta + value_type: float + default_value: 0.03333333333 + evaluate: "1 / FPS_TARGET" + - + type: variable + name: max_delta + value_type: float + default_value: 0.03333333333 + evaluate: "2 / FPS_TARGET" + - + type: variable + name: dr_target + value_type: float + default_value: 0.0166666666 + evaluate: "(1 / FPS_TARGET) / VSYNC_TARGET * 0.96" + - + type: const + name: microseconds_in_sec + value: 0x49742400 + - + type: code + name: dynamicSpeed + instructions: [ + [mrs, x0, cntpct_el0], + [adrp, x2, $last_tick], + [ldr, x1, [x2, $last_tick]], + [str, x0, [x2, $last_tick]], + [cbz, x1, :goto3], + [sub, x0, x0, x1], + [mov, x2, 625], + [mul, x0, x0, x2], + [mov, x2, 12000], + [udiv, x0, x0, x2], + [ucvtf, s0, x0], + [adrp, x1, $max_delta], + [ldr, s2, [x1, $max_delta]], + [mov, w1, $microseconds_in_sec], + [movk, w1, $microseconds_in_sec, 16], + [fmov, s1, w1], + [b, :goto2], + :goto4, [adrp, x0, 0xb90000], + [ldr, x0, [x0, 0xd0]], # REF: F4 03 00 AA 88 22 47 39 09 12 80 52, adrp + ldr below it + [cbz, x0, :goto3], + [stp, s0, s0, [x0, 0x78]], + [adrp, x0, 0xc23000], # REF: 29 01 40 F9 1F 01 00 F1 24 19 40 FA, two results, the one that has no RET soon after this, look at first adrp + ldr above it + [ldr, x0, [x0, 0x2c8]], + [str, s0, [x0, 0x80]], + [adrp, x0, $game_speed], + [str, s0, [x0, $game_speed]], + [b, :goto3], + :goto5, + [fcmp, s0, s2], + [b.lt, :goto6], + [fmov, s0, s2], + [b, :goto4], + :goto6, [adrp, x0, $min_delta], + [ldr, s2, [x0, $min_delta]], + [fcmp, s0, s2], + [b.hi, :goto4], + [fmov, s0, s2], + [b, :goto4], + :goto2, [fdiv, s0, s0, s1], + [b, :goto5], + :goto3, [mov, w8, 0x21a0], + [ret], + ] +MASTER_WRITE: + # Dynamic speed + # Jump before pushing frame + - + type: asm_a64 + main_offset: 0x7009E4 + instructions: [ + [bl, _dynamicSpeed()] + ] + # Patch wind speed to take game speed + # REF: C6 09 26 1E C8 08 23 1E C9 08 21 1E CA 08 22 1E, adrp + ldr above + - + type: asm_a64 + main_offset: 0x748658 + instructions: [ + [adrp, x8, $game_speed], + [ldr, s6, [x8, $game_speed]] + ] + # Redirect DR timing + # REF: 74 02 40 B9 08 FD 66 D3 08 01 23 1E, LDR X8, [X8,#0xD0] below it + - + type: asm_a64 + main_offset: 0x6AAABC + instructions: [ + [adrp, x8, $dr_target], + [ldr, s0, [x8, $dr_target]] + ] +ALL_FPS: + # REF: 0A 01 40 B9 00 01 00 B9, adrp + ldr above + - + type: evaluate_write + address: [MAIN, 0xB75C40] + value_type: uint32 + value: ["VSYNC_TARGET", "VSYNC_TARGET"] + # Cutscenes in 30 FPS + # REF: 09 41 00 91 08 E1 00 91 3F D8 09 A9, any result, first STR XZR above is the offset we want + - + type: compare + compare_type: "==" + compare_value_type: uint8 + compare_value: 1 + compare_address: [MAIN, 0xBD8F40] + value_type: refresh_rate + value: 60 + - + type: compare + compare_type: "==" + compare_value_type: uint8 + compare_value: 1 + compare_address: [MAIN, 0xBD8F40] + address: [VARIABLE, min_delta] + value: 0.0333333333 + - + type: compare + compare_type: "==" + compare_value_type: uint8 + compare_value: 1 + compare_address: [MAIN, 0xBD8F40] + address: [VARIABLE, max_delta] + value: 30 + - + type: compare + compare_type: "==" + compare_value_type: uint8 + compare_value: 1 + compare_address: [MAIN, 0xBD8F40] + address: [MAIN, 0xB75C40] # VSYNC TARGET + value_type: uint32 + value: [2, 2] + - + type: compare + compare_type: "==" + compare_value_type: uint8 + compare_value: 1 + compare_address: [MAIN, 0xBD8F40] + address: [VARIABLE, dr_target] + value: 0.0166666666 diff --git a/SaltySD/saltynx_core.elf b/SaltySD/saltynx_core.elf index 51c3d6c..0684fca 100644 Binary files a/SaltySD/saltynx_core.elf and b/SaltySD/saltynx_core.elf differ diff --git a/SaltySD/saltynx_core32.elf b/SaltySD/saltynx_core32.elf index 56fb848..cb76cc4 100644 Binary files a/SaltySD/saltynx_core32.elf and b/SaltySD/saltynx_core32.elf differ diff --git a/atmosphere/contents/0000000000534C56/exefs.nsp b/atmosphere/contents/0000000000534C56/exefs.nsp index 24a9989..74aa6e7 100644 Binary files a/atmosphere/contents/0000000000534C56/exefs.nsp and b/atmosphere/contents/0000000000534C56/exefs.nsp differ diff --git a/atmosphere/contents/0000000000534C56/toolbox.json b/atmosphere/contents/0000000000534C56/toolbox.json index b7c3fa4..08fe956 100644 --- a/atmosphere/contents/0000000000534C56/toolbox.json +++ b/atmosphere/contents/0000000000534C56/toolbox.json @@ -2,5 +2,5 @@ "name": "SaltyNX", "tid": "0000000000534C56", "requires_reboot": true, - "version": "1.9.2" + "version": "1.9.3" } diff --git a/atmosphere/package3 b/atmosphere/package3 index d6c7819..fb46d8b 100644 Binary files a/atmosphere/package3 and b/atmosphere/package3 differ diff --git a/atmosphere/stratosphere.romfs b/atmosphere/stratosphere.romfs index 9091923..443adfe 100644 Binary files a/atmosphere/stratosphere.romfs and b/atmosphere/stratosphere.romfs differ diff --git a/config/aio-switch-updater/custom_packs.json b/config/aio-switch-updater/custom_packs.json index 3a57bdb..9595d3e 100644 --- a/config/aio-switch-updater/custom_packs.json +++ b/config/aio-switch-updater/custom_packs.json @@ -1,6 +1,6 @@ { "ams": { - "[PACK] UltraNX 3.0|R3+": "https://github.com/Ultra-NX/UltraNX/releases/latest/download/Ultra.zip" + "[PACK] UltraNX 3.0|R4": "https://github.com/Ultra-NX/UltraNX/releases/latest/download/Ultra.zip" }, "misc": { "Refresh AIO": "https://github.com/Ultra-NX/Ultra-Resources/releases/download/Homebrews/AIO.zip" diff --git a/config/horizon-oc/lang/de.json b/config/horizon-oc/lang/de.json index 00e05a5..c06d927 100644 --- a/config/horizon-oc/lang/de.json +++ b/config/horizon-oc/lang/de.json @@ -211,5 +211,19 @@ "X: %u Y: %u": "X: %u Y: %u", "%u.%u%u mV": "%u.%u%u mV", "Compiling with minimal features": "Kompilieren mit minimalen Funktionen", - "THE BEER-WARE LICENSE": "DIE BIERWAREN-LIZENZ" + "THE BEER-WARE LICENSE": "DIE BIERWAREN-LIZENZ", + "Horizon OC\nKip opening failed": "Horizon OC\nKIP konnte nicht geöffnet werden", + "Horizon OC\nKip read failed": "Horizon OC\nKIP konnte nicht gelesen werden", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\nVeraltetes KIP erkannt!\nBitte Horizon OC aktualisieren", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\nVeraltetes Sysmodule erkannt!\nBitte Horizon OC aktualisieren", + "Horizon OC\nKip write failed": "Horizon OC\nKIP-Schreiben fehlgeschlagen", + "Horizon OC\nKip config set failed": "Horizon OC\nKIP-Konfiguration fehlgeschlagen", + "Kip is not loaded!": "KIP ist nicht geladen!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nKIP wurde aktualisiert\nBitte starte die Konsole neu", + "Horizon OC has been installed": "Horizon OC wurde installiert", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\nKonfigurationspuffer stimmt nicht überein", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\nFrequenz deaktiviert.\nNeustart zum Anwenden.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nSecmon-Lesen fehlgeschlagen!\n Dies kann ein Hardwareproblem sein!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nI2C-Schreiben fehlgeschlagen\nbeim Setzen von VDDQ", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nKIP-Versionskonflikt\nBitte Horizon OC neu installieren" } diff --git a/config/horizon-oc/lang/en.json b/config/horizon-oc/lang/en.json index 551d35f..493930c 100644 --- a/config/horizon-oc/lang/en.json +++ b/config/horizon-oc/lang/en.json @@ -72,6 +72,7 @@ "or damage to your display! ": "or damage to your display! ", "Proceed at your own risk!": "Proceed at your own risk!", "Display Refresh Rate Changing": "Display Hz Changing", + "Max Handheld Display": "Max Handheld Display", "Max Handheld Display Hz": "Max Handheld", "Display Clock": "Display Clock", "Official Rating": "Official Rating", @@ -147,5 +148,19 @@ "or 1228MHz on HiOPT can cause ": "or 1228MHz on HiOPT can cause ", "permanent damage to your Switch!": "permanent damage to your Switch!", "921MHz without UV and 960MHz on": "921MHz without UV and 960MHz on", - "SLT or HiOPT can cause ": "SLT or HiOPT can cause " + "SLT or HiOPT can cause ": "SLT or HiOPT can cause ", + "Horizon OC\nKip opening failed": "Horizon OC\nKip opening failed", + "Horizon OC\nKip read failed": "Horizon OC\nKip read failed", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC", + "Horizon OC\nKip write failed": "Horizon OC\nKip write failed", + "Horizon OC\nKip config set failed": "Horizon OC\nKip config set failed", + "Kip is not loaded!": "Kip is not loaded!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nKIP has been updated\nPlease reboot your console", + "Horizon OC has been installed": "Horizon OC has been installed", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\nConfig Buffer Mismatch", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\nDeactivated frequency.\nReboot to apply.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nSecmon read failed!\n This may be a hardware issue!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nFailed to write I2C\nwhile setting vddq", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC" } diff --git a/config/horizon-oc/lang/es.json b/config/horizon-oc/lang/es.json index 7743bef..ff8e8ae 100644 --- a/config/horizon-oc/lang/es.json +++ b/config/horizon-oc/lang/es.json @@ -211,5 +211,19 @@ "X: %u Y: %u": "X: %u Y: %u", "%u.%u%u mV": "%u.%u%u mV", "Compiling with minimal features": "Compilado con funciones mínimas", - "THE BEER-WARE LICENSE": "LICENCIA BEER-WARE" + "THE BEER-WARE LICENSE": "LICENCIA BEER-WARE", + "Horizon OC\nKip opening failed": "Horizon OC\nError al abrir el KIP", + "Horizon OC\nKip read failed": "Horizon OC\nError al leer el KIP", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\n¡KIP desactualizado detectado!\nActualiza Horizon OC", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\n¡Sysmodule desactualizado detectado!\nActualiza Horizon OC", + "Horizon OC\nKip write failed": "Horizon OC\nError al escribir el KIP", + "Horizon OC\nKip config set failed": "Horizon OC\nError al configurar el KIP", + "Kip is not loaded!": "¡El KIP no está cargado!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nEl KIP se ha actualizado\nReinicia la consola", + "Horizon OC has been installed": "Horizon OC se ha instalado", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\nDesajuste del búfer de configuración", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\nFrecuencia desactivada.\nReinicia para aplicar.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\n¡Error al leer Secmon!\n ¡Puede ser un problema de hardware!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nError al escribir I2C\nal configurar VDDQ", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nVersión de KIP no coincide\nReinstala Horizon OC" } diff --git a/config/horizon-oc/lang/fr.json b/config/horizon-oc/lang/fr.json index c8f94ed..7e193c0 100644 --- a/config/horizon-oc/lang/fr.json +++ b/config/horizon-oc/lang/fr.json @@ -211,5 +211,19 @@ "X: %u Y: %u": "X : %u Y : %u", "%u.%u%u mV": "%u.%u%u mV", "Compiling with minimal features": "Compilation avec fonctionnalités minimales", - "THE BEER-WARE LICENSE": "LA LICENCE BEER-WARE" + "THE BEER-WARE LICENSE": "LA LICENCE BEER-WARE", + "Horizon OC\nKip opening failed": "Horizon OC\nÉchec d'ouverture du KIP", + "Horizon OC\nKip read failed": "Horizon OC\nÉchec de lecture du KIP", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\nKIP obsolète détecté !\nVeuillez mettre à jour Horizon OC", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\nSysmodule obsolète détecté !\nVeuillez mettre à jour Horizon OC", + "Horizon OC\nKip write failed": "Horizon OC\nÉchec d'écriture du KIP", + "Horizon OC\nKip config set failed": "Horizon OC\nÉchec de configuration du KIP", + "Kip is not loaded!": "Le KIP n'est pas chargé !", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nLe KIP a été mis à jour\nVeuillez redémarrer la console", + "Horizon OC has been installed": "Horizon OC a été installé", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\nIncohérence du tampon de configuration", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\nFréquence désactivée.\nRedémarrez pour appliquer.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nÉchec de lecture Secmon !\n Cela peut être un problème matériel !", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nÉchec d'écriture I2C\nlors du réglage de VDDQ", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nVersion du KIP incompatible\nVeuillez réinstaller Horizon OC" } diff --git a/config/horizon-oc/lang/it.json b/config/horizon-oc/lang/it.json index 9706a9b..2ab2629 100644 --- a/config/horizon-oc/lang/it.json +++ b/config/horizon-oc/lang/it.json @@ -211,5 +211,19 @@ "X: %u Y: %u": "X: %u Y: %u", "%u.%u%u mV": "%u.%u%u mV", "Compiling with minimal features": "Compilazione con funzionalità minime", - "THE BEER-WARE LICENSE": "THE BEER-WARE LICENSE" + "THE BEER-WARE LICENSE": "THE BEER-WARE LICENSE", + "Horizon OC\nKip opening failed": "Horizon OC\nApertura del KIP non riuscita", + "Horizon OC\nKip read failed": "Horizon OC\nLettura del KIP non riuscita", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\nKIP obsoleto rilevato!\nAggiorna Horizon OC", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\nSysmodule obsoleto rilevato!\nAggiorna Horizon OC", + "Horizon OC\nKip write failed": "Horizon OC\nScrittura del KIP non riuscita", + "Horizon OC\nKip config set failed": "Horizon OC\nConfigurazione del KIP non riuscita", + "Kip is not loaded!": "Il KIP non è caricato!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nIl KIP è stato aggiornato\nRiavvia la console", + "Horizon OC has been installed": "Horizon OC è stato installato", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\nBuffer di configurazione non corrispondente", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\nFrequenza disattivata.\nRiavvia per applicare.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nLettura Secmon non riuscita!\n Potrebbe essere un problema hardware!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nScrittura I2C non riuscita\ndurante l'impostazione di VDDQ", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nVersione KIP non corrispondente\nReinstalla Horizon OC" } diff --git a/config/horizon-oc/lang/ja.json b/config/horizon-oc/lang/ja.json index 8dd8a98..f2c9ce3 100644 --- a/config/horizon-oc/lang/ja.json +++ b/config/horizon-oc/lang/ja.json @@ -211,5 +211,19 @@ "X: %u Y: %u": "X: %u Y: %u", "%u.%u%u mV": "%u.%u%u mV", "Compiling with minimal features": "最小限の機能でコンパイルする", - "THE BEER-WARE LICENSE": "ビール製品ライセンス" + "THE BEER-WARE LICENSE": "ビール製品ライセンス", + "Horizon OC\nKip opening failed": "Horizon OC\nKIPを開けませんでした", + "Horizon OC\nKip read failed": "Horizon OC\nKIPの読み取りに失敗しました", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\n古いKIPを検出しました!\nHorizon OCを更新してください", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\n古いsysmoduleを検出しました!\nHorizon OCを更新してください", + "Horizon OC\nKip write failed": "Horizon OC\nKIPの書き込みに失敗しました", + "Horizon OC\nKip config set failed": "Horizon OC\nKIP設定に失敗しました", + "Kip is not loaded!": "KIPが読み込まれていません!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nKIPが更新されました\n本体を再起動してください", + "Horizon OC has been installed": "Horizon OCがインストールされました", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\n設定バッファが一致しません", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\n周波数を無効化しました。\n再起動して適用してください。", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nSecmonの読み取りに失敗しました!\n ハードウェアの問題の可能性があります!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nVDDQ設定中に\nI2C書き込みに失敗しました", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nKIPバージョンが一致しません\nHorizon OCを再インストールしてください" } diff --git a/config/horizon-oc/lang/jp.json b/config/horizon-oc/lang/jp.json index af92cbf..ee430cb 100644 --- a/config/horizon-oc/lang/jp.json +++ b/config/horizon-oc/lang/jp.json @@ -142,5 +142,19 @@ "or 1228MHz on HiOPT can cause ": "or 1228MHz on HiOPT can cause", "permanent damage to your Switch!": "permanent damage to your Switch!", "921MHz without UV and 960MHz on": "921MHz without UV and 960MHz on", - "SLT or HiOPT can cause ": "SLT or HiOPT can cause" + "SLT or HiOPT can cause ": "SLT or HiOPT can cause", + "Horizon OC\nKip opening failed": "Horizon OC\nKip opening failed", + "Horizon OC\nKip read failed": "Horizon OC\nKip read failed", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC", + "Horizon OC\nKip write failed": "Horizon OC\nKip write failed", + "Horizon OC\nKip config set failed": "Horizon OC\nKip config set failed", + "Kip is not loaded!": "Kip is not loaded!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nKIP has been updated\nPlease reboot your console", + "Horizon OC has been installed": "Horizon OC has been installed", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\nConfig Buffer Mismatch", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\nDeactivated frequency.\nReboot to apply.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nSecmon read failed!\n This may be a hardware issue!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nFailed to write I2C\nwhile setting vddq", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC" } diff --git a/config/horizon-oc/lang/ko.json b/config/horizon-oc/lang/ko.json index 8865d37..47e3a22 100644 --- a/config/horizon-oc/lang/ko.json +++ b/config/horizon-oc/lang/ko.json @@ -211,5 +211,19 @@ "X: %u Y: %u": "X: %u Y: %u", "%u.%u%u mV": "%u.%u%umV", "Compiling with minimal features": "최소한의 기능으로 컴파일하기", - "THE BEER-WARE LICENSE": "맥주 제품 라이센스" + "THE BEER-WARE LICENSE": "맥주 제품 라이센스", + "Horizon OC\nKip opening failed": "Horizon OC\nKIP을 열지 못했습니다", + "Horizon OC\nKip read failed": "Horizon OC\nKIP 읽기에 실패했습니다", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\n오래된 KIP이 감지되었습니다!\nHorizon OC를 업데이트하세요", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\n오래된 sysmodule이 감지되었습니다!\nHorizon OC를 업데이트하세요", + "Horizon OC\nKip write failed": "Horizon OC\nKIP 쓰기에 실패했습니다", + "Horizon OC\nKip config set failed": "Horizon OC\nKIP 설정에 실패했습니다", + "Kip is not loaded!": "KIP이 로드되지 않았습니다!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nKIP이 업데이트되었습니다\n본체를 재부팅하세요", + "Horizon OC has been installed": "Horizon OC가 설치되었습니다", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\n설정 버퍼가 일치하지 않습니다", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\n주파수가 비활성화되었습니다.\n적용하려면 재부팅하세요.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nSecmon 읽기에 실패했습니다!\n 하드웨어 문제일 수 있습니다!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nVDDQ 설정 중\nI2C 쓰기에 실패했습니다", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nKIP 버전이 일치하지 않습니다\nHorizon OC를 다시 설치하세요" } diff --git a/config/horizon-oc/lang/nl.json b/config/horizon-oc/lang/nl.json index 5095d2b..7d44771 100644 --- a/config/horizon-oc/lang/nl.json +++ b/config/horizon-oc/lang/nl.json @@ -211,5 +211,19 @@ "X: %u Y: %u": "X: %u Y: %u", "%u.%u%u mV": "%u.%u%u mV", "Compiling with minimal features": "Compileren met minimale functies", - "THE BEER-WARE LICENSE": "DE LICENTIE VOOR BIERWAREN" + "THE BEER-WARE LICENSE": "DE LICENTIE VOOR BIERWAREN", + "Horizon OC\nKip opening failed": "Horizon OC\nKIP openen mislukt", + "Horizon OC\nKip read failed": "Horizon OC\nKIP lezen mislukt", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\nVerouderde KIP gedetecteerd!\nWerk Horizon OC bij", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\nVerouderde sysmodule gedetecteerd!\nWerk Horizon OC bij", + "Horizon OC\nKip write failed": "Horizon OC\nKIP schrijven mislukt", + "Horizon OC\nKip config set failed": "Horizon OC\nKIP-configuratie mislukt", + "Kip is not loaded!": "KIP is niet geladen!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nKIP is bijgewerkt\nHerstart je console", + "Horizon OC has been installed": "Horizon OC is geïnstalleerd", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\nConfiguratiebuffer komt niet overeen", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\nFrequentie gedeactiveerd.\nHerstart om toe te passen.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nSecmon lezen mislukt!\n Dit kan een hardwareprobleem zijn!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nI2C schrijven mislukt\nbij het instellen van VDDQ", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nKIP-versie komt niet overeen\nInstalleer Horizon OC opnieuw" } diff --git a/config/horizon-oc/lang/pl.json b/config/horizon-oc/lang/pl.json index eecc507..a320fe9 100644 --- a/config/horizon-oc/lang/pl.json +++ b/config/horizon-oc/lang/pl.json @@ -211,5 +211,19 @@ "X: %u Y: %u": "X: %u Y: %u", "%u.%u%u mV": "%u.%u%u mV", "Compiling with minimal features": "Kompilacja z minimalnymi funkcjami", - "THE BEER-WARE LICENSE": "LICENCJA NA WYROBY PIWNE" + "THE BEER-WARE LICENSE": "LICENCJA NA WYROBY PIWNE", + "Horizon OC\nKip opening failed": "Horizon OC\nNie udało się otworzyć KIP", + "Horizon OC\nKip read failed": "Horizon OC\nNie udało się odczytać KIP", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\nWykryto przestarzały KIP!\nZaktualizuj Horizon OC", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\nWykryto przestarzały sysmodule!\nZaktualizuj Horizon OC", + "Horizon OC\nKip write failed": "Horizon OC\nZapis KIP nie powiódł się", + "Horizon OC\nKip config set failed": "Horizon OC\nKonfiguracja KIP nie powiodła się", + "Kip is not loaded!": "KIP nie jest załadowany!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nKIP został zaktualizowany\nUruchom ponownie konsolę", + "Horizon OC has been installed": "Horizon OC został zainstalowany", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\nNiezgodność bufora konfiguracji", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\nCzęstotliwość wyłączona.\nZrestartuj, aby zastosować.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nOdczyt Secmon nie powiódł się!\n To może być problem sprzętowy!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nZapis I2C nie powiódł się\npodczas ustawiania VDDQ", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nNiezgodność wersji KIP\nZainstaluj ponownie Horizon OC" } diff --git a/config/horizon-oc/lang/pt.json b/config/horizon-oc/lang/pt.json index 906bab8..86b7dea 100644 --- a/config/horizon-oc/lang/pt.json +++ b/config/horizon-oc/lang/pt.json @@ -211,5 +211,19 @@ "X: %u Y: %u": "X: %u Y: %u", "%u.%u%u mV": "%u.%u%u mV", "Compiling with minimal features": "Compilando com recursos mínimos", - "THE BEER-WARE LICENSE": "A LICENÇA DE CERVEJA" + "THE BEER-WARE LICENSE": "A LICENÇA DE CERVEJA", + "Horizon OC\nKip opening failed": "Horizon OC\nFalha ao abrir o KIP", + "Horizon OC\nKip read failed": "Horizon OC\nFalha ao ler o KIP", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\nKIP desatualizado detectado!\nAtualize o Horizon OC", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\nSysmodule desatualizado detectado!\nAtualize o Horizon OC", + "Horizon OC\nKip write failed": "Horizon OC\nFalha ao gravar o KIP", + "Horizon OC\nKip config set failed": "Horizon OC\nFalha ao configurar o KIP", + "Kip is not loaded!": "O KIP não está carregado!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nO KIP foi atualizado\nReinicie o console", + "Horizon OC has been installed": "Horizon OC foi instalado", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\nIncompatibilidade do buffer de configuração", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\nFrequência desativada.\nReinicie para aplicar.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nFalha na leitura do Secmon!\n Isso pode ser um problema de hardware!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nFalha ao gravar I2C\nao definir VDDQ", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nVersão do KIP incompatível\nReinstale o Horizon OC" } diff --git a/config/horizon-oc/lang/ru.json b/config/horizon-oc/lang/ru.json index 5d9f583..027d23e 100644 --- a/config/horizon-oc/lang/ru.json +++ b/config/horizon-oc/lang/ru.json @@ -7,6 +7,7 @@ "Do Not Override": "Не менять", "No Override": "Не менять", "Do not override": "Не менять", + "Auto": "Авто", "Disabled": "Отключено", "Enabled": "Включено", "Enabled (Default)": "Включено (По умолчанию)", @@ -50,36 +51,37 @@ "Experimental Settings": "Экспериментальные", "Experimental": "Экспериментальный", - " Settings marked in blue": "Настройки помеченные синим", - "don't require a reboot to apply!": "не требуют перезагрузки для применения!", + " Settings marked in blue": " Настройки синего цвета", + "don't require a reboot to apply!": "применяются без перезагрузки!", "You can also press  to show": "Нажмите  для просмотра", - "information about each setting.": "информацию о каждом параметре.", + "information about each setting.": "информации по каждому параметру.", - " Experimental Settings are incomplete ": "Экспериментальные настройки не закончены", - "and may not work correctly or at all!": "и могут не работать правильно или вообще!", - "Here be dragons!": "Здесь будут драконы!", + " Experimental Settings are incomplete ": " Экспериментальные настройки", + "and may not work correctly or at all!": "могут работать плохо или никак.", + "Here be dragons!": "Используйте на свой страх и риск!", - "RAM Voltage Display Mode": "Показ вольтажа RAM", - "RAM Display Unit": "Показ единицы измерения RAM", + "RAM Voltage Display Mode": "Вольтаж RAM (Показываемый)", + "RAM Display Unit": "Единица измерения RAM (Показываемая)", "Polling Interval": "Интервал опроса", "Enable Experimental Settings": "Экспериментальные настройки", "Mariko Middle Clocks": "Средние частоты Mariko", "Live CPU Undervolt": "Андервольт CPU в реальном времени", + "Live GPU Volt Request": "Изменение вольтажей GPU в реальном времени", "GPU Scheduling Override Method": "Метод перезаписи планировщика GPU", "GPU Scheduling Override": "Перезапись планировщика", "GPU Boot Volt": "Вольтаж GPU при загрузке", "GPU Boot Voltage": "Вольтаж GPU при загрузке", "Memory Frequency Measurement Mode": "Режим измерения частоты RAM", - " Overriding the charge current": "Изменение зарядного тока", + " Overriding the charge current": " Изменение зарядного тока", "can be dangerous and may cause": "может быть опасным и может", "damage to your battery or charger!": "повредить аккумулятор или зарядку!", - " Overriding the input current": "Изменение входного тока", - "limit increases power draw from": "повышает потребление от зарядки", - "your charger. And board stress ": "и вызывает напряжение на плате.", + "Charge Current Override": "Перезапись зарядного тока", + " Overriding the input current": " Изменение входного тока", + "limit increases power draw from": "повышает расход от зарядки", + "your charger. And board stress ": "и создаёт нагрузку на плате.", "use 1500mA max.": "Используйте максимум 1500 мА.", "Input Current Limit Override": "Перезапись лимита входного тока", - "Charge Current Override": "Перезапись зарядного тока", "Display Color Preset": "Пресет цвета дисплея", "Basic": "Базовый", "Saturated": "Насыщенный", @@ -88,14 +90,15 @@ "Vivid": "Яркий", "CPU Governor Minimum Frequency": "Минимальная частота говернора CPU", - " Usage of unsafe display": "Использование не безопасной", - "refresh rates may cause stress": "частоты обновления экрана", - "or damage to your display! ": "может повредить ваш экран!", - "Proceed at your own risk!": "Действуйте на свой страх и риск!", + " Usage of unsafe display": " Использование небезопасной", + "refresh rates may cause stress": "частоты обновления экрана может", + "or damage to your display! ": "нагружать или повредить ваш экран!", + "Proceed at your own risk!": "Используйте на свой страх и риск!", "Display Refresh Rate Changing": "Изменение герцовки экрана", + "Max Handheld Display": "Макс. в портативе", "Max Handheld Display Hz": "Макс. в портативе", "Display Clock": "Частота экрана", - " Adjust the display voltage": "Настраивайте вольтаж экрана", + " Adjust the display voltage": " Настраивайте вольтаж экрана", "with caution to avoid damage": "с осторожностью во избежание", "to your display panel! ": "повреждений экрана!", "Display Voltage": "Вольтаж экрана", @@ -120,6 +123,7 @@ "RAM Latency Editor": "Редактор задержек", "RAM Timing Reductions": "Настройка таймингов", "SOC Voltage Table": "Таблица вольтажей SoC", + "SOC Custom Voltages": "Пользовательские вольтажи SoC", "Memory Timings": "Тайминги RAM", "Advanced": "Расширенные", "t6 tRTW Fine Tune": "Точная настройка t6 tRTW", @@ -129,6 +133,15 @@ "Memory Latencies": "Задержки памяти", "Read Latency": "Задержка чтения", "Write Latency": "Задержка записи", + "Latency Graph": "График задержек", + "Latency Max": "Макс. задержка", + "1333 Latency Max": "1333 макс. задержка", + "1600 Latency Max": "1600 макс. задержка", + "1866 Latency Max": "1866 макс. задержка", + "2133 Latency Max": "2133 макс. задержка", + "Read": "Чтение", + "Write": "Запись", + "Same": "Одинаково", "High speedo needed!": "Для высоких speedo", "3333MHz (Needs extreme Speedo/PLL)": "3333 MHz (нужны невероятные speedo/PLL)", "3366MHz (Needs extreme Speedo/PLL)": "3366 MHz (нужны невероятные speedo/PLL)", @@ -148,7 +161,7 @@ "CPU VMIN": "Мин. вольтаж", "CPU Max Voltage": "Макс. вольтаж", "CPU Max Clock": "Макс. частота", - "Extreme UV Table": "Экстримальная", + "Extreme UV Table": "Экстремальная", "CPU UV Table": "Таблица андервольта", "CPU Low UV": "Андервольт нижних частот", "CPU High UV": "Андервольт верхних частот", @@ -173,7 +186,7 @@ "Official Service": "Официальная служба", "96.6% limit": "≤96,6%", "99.7% limit": "≤99,7%", - " Setting GPU Clocks past": "Установка частот GPU выше", + " Setting GPU Clocks past": " Установка частот GPU выше", "1228MHz without a proper undervolt": "1228 МГц без хорошего андервольта", "can cause degradation or damage": "может вызвать деградацию железа", "to your console!": "или повредить вашу консоль!", @@ -213,14 +226,22 @@ "DRAM Module: ": "Модуль DRAM: ", "Software Info": "Информация о программе", "KIP version:": "Версия KIP:", + "KIP status:": "Статус KIP:", "sys-dock status:": "Статус sys-dock:", "SaltyNX status:": "Статус SaltyNX:", "RR Display status:": "Статус RR Display:", "Wafer Position:": "Расположение на «Wafer»:", + "General Info": "Общая информация", "IDDQ:": "IDDQ:", - "Module: ": "Module:", + "Module: ": "Module: ", "Board": "Board", + "Loaded": "Подгружен", + "MEM": "RAM", + "Memory": "RAM", "Display": "Дисплей", + "Governor": "Говернор", + "Releases": "Релизы", + "Status": "Статус", "Developers": "Разработчики", "Contributors": "Внесли вклад", @@ -232,5 +253,19 @@ "%u.%u%u mV": "%u.%u%u мВ", "Compiling with minimal features": "Собрано с урезанием функций", "THE BEER-WARE LICENSE": "BEER-WARE LICENSE", - "Auto": "Авто" + + "Horizon OC\nKip opening failed": "Horizon OC\nНе удалось открыть KIP", + "Horizon OC\nKip read failed": "Horizon OC\nНе удалось прочитать KIP", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\nОбнаружен устаревший KIP!\nОбновите Horizon OC", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\nОбнаружен устаревший sysmodule!\nОбновите Horizon OC", + "Horizon OC\nKip write failed": "Horizon OC\nОшибка записи KIP", + "Horizon OC\nKip config set failed": "Horizon OC\nОшибка настройки KIP", + "Kip is not loaded!": "KIP не загружен!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nKIP обновлён\nПерезагрузите консоль", + "Horizon OC has been installed": "Horizon OC установлен", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\nНесоответствие буфера конфигурации", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\nЧастота отключена.\nПерезагрузите для применения.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nОшибка чтения Secmon!\n Возможно, аппаратная проблема!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nОшибка записи I2C\nпри установке VDDQ", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nНесоответствие версии KIP\nПереустановите Horizon OC" } diff --git a/config/horizon-oc/lang/template.json b/config/horizon-oc/lang/template.json index 51c51c1..3d4e561 100644 --- a/config/horizon-oc/lang/template.json +++ b/config/horizon-oc/lang/template.json @@ -211,4 +211,18 @@ "X: %u Y: %u": "", "%u.%u%u mV": "", "Compiling with minimal features": "", + "Horizon OC\nKip opening failed": "", + "Horizon OC\nKip read failed": "", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "", + "Horizon OC\nKip write failed": "", + "Horizon OC\nKip config set failed": "", + "Kip is not loaded!": "", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "", + "Horizon OC has been installed": "", + "Horizon OC\nConfig Buffer Mismatch": "", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "" } diff --git a/config/horizon-oc/lang/uk.json b/config/horizon-oc/lang/uk.json index 7af7040..ffd3b5a 100644 --- a/config/horizon-oc/lang/uk.json +++ b/config/horizon-oc/lang/uk.json @@ -211,5 +211,19 @@ "X: %u Y: %u": "X: %u Y: %u", "%u.%u%u mV": "%u.%u%u мВ", "Compiling with minimal features": "Компіляція з мінімальними можливостями", - "THE BEER-WARE LICENSE": "ЛІЦЕНЗІЯ НА ПИВНИЙ ПОСУД" + "THE BEER-WARE LICENSE": "ЛІЦЕНЗІЯ НА ПИВНИЙ ПОСУД", + "Horizon OC\nKip opening failed": "Horizon OC\nНе вдалося відкрити KIP", + "Horizon OC\nKip read failed": "Horizon OC\nНе вдалося прочитати KIP", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\nВиявлено застарілий KIP!\nОновіть Horizon OC", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\nВиявлено застарілий sysmodule!\nОновіть Horizon OC", + "Horizon OC\nKip write failed": "Horizon OC\nПомилка запису KIP", + "Horizon OC\nKip config set failed": "Horizon OC\nПомилка налаштування KIP", + "Kip is not loaded!": "KIP не завантажено!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nKIP оновлено\nПерезавантажте консоль", + "Horizon OC has been installed": "Horizon OC встановлено", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\nНевідповідність буфера конфігурації", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\nЧастоту вимкнено.\nПерезавантажте для застосування.", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\nПомилка читання Secmon!\n Це може бути апаратна проблема!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\nПомилка запису I2C\nпід час встановлення VDDQ", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nНевідповідність версії KIP\nПеревстановіть Horizon OC" } diff --git a/config/horizon-oc/lang/zh-cn.json b/config/horizon-oc/lang/zh-cn.json index a49c4d7..225aaef 100644 --- a/config/horizon-oc/lang/zh-cn.json +++ b/config/horizon-oc/lang/zh-cn.json @@ -5,28 +5,27 @@ "Not Installed": "未安装", "Default": "默认", "Do Not Override": "不修改", + "No Override": "不修改", "Do not override": "不修改", - "Disabled": "已禁用", - "Enabled": "已启用", - "Enabled (Default)": "已启用 (默认)", + "Auto": "自动", + "Disabled": "禁用", + "Enabled": "启用", + "Enabled (Default)": "启用 (默认)", "Enable": "启用", - "Fatal error": "致命错误", - "Could not connect to hoc-clk sysmodule.\\n\\n": "无法连接到 hoc-clk 系统模块。\\n\\n", - "Please make sure everything is\\n\\n": "请确保所有内容均已\\n\\n", - "correctly installed and enabled.": "正确安装并启用。", + "Fatal error": "严重错误", + "hoc-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "刚安装需要重启生效。\n\n\n请进入后台管理确认后台程序正在运行。", "Edit App Profile": "编辑应用配置", "Edit Global Profile": "编辑全局配置", "Temporary Overrides": "临时配置", - "Temporary Overrides ": "临时配置 ", - "  Reset": " 重置", + "Temporary Overrides ": "临时配置", + "  Reset": "  重置", "Settings": "设置", "About": "关于", + "Updates": "更新菜单", "Credits": "致谢", - "Application changed\\n\\n": "应用已变更\\n\\n", - "The running application changed\\n\\n": "正在运行的应用已变更\\n\\n", - "while editing was going on.": "编辑过程中发生变更。", + "Could not connect to hoc-clk.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "应用已变更\n\n\n无法连接到 hoc-clk。\n\n首次安装请重启。", "Sleep Mode": "睡眠模式", "Stock": "原厂默认", @@ -35,181 +34,251 @@ "Safe Max": "安全最大值", "Unsafe Max": "危险最大值", "Absolute Max": "绝对最大值", - "Handheld Safe Max": "掌机模式安全最大值", + "Handheld Safe Max": "掌机安全最大值", "General Settings": "通用设置", "Governor Settings": "调频器设置", "Safety Settings": "安全设置", - "Save KIP Settings": "保存 KIP 设置", + "Save KIP Settings": "保存KIP设置", "RAM Settings": "内存设置", - "CPU Settings": "CPU 设置", - "GPU Settings": "GPU 设置", - "Display Settings": "显示设置", + "CPU Settings": "CPU设置", + "GPU Settings": "GPU设置", + "Display Settings": "屏幕设置", "Experimental Settings": "实验性设置", "Experimental": "实验性功能", - " Settings marked in blue": "蓝色标注的设置", - "don't require a reboot to apply!": "无需重启即可应用!", - "You can also press  to show": "也可按  查看", - "information about each setting.": "每项设置的说明。", + " Settings marked in blue": "蓝色的设置更改后可立即生效,", + "don't require a reboot to apply!": "无需重启主机。", + "You can also press  to show": "按可以查看每项设置的", + "information about each setting.": "详细说明(英文)。", - " Experimental Settings are incomplete ": "实验性设置尚未完成", - "and may not work correctly or at all!": "且可能无法正常工作!", - "Here be dragons!": "此处有险!", + " Experimental Settings are incomplete ": "实验性设置尚未正式完成,", + "and may not work correctly or at all!": "可能导致死机崩溃等意外后果!", + "Here be dragons!": "风险自负!", "RAM Voltage Display Mode": "内存电压显示模式", "RAM Display Unit": "内存显示单位", - "Polling Interval": "刷新间隔", + "Polling Interval": "轮询间隔", + "Enable Experimental Settings": "启用实验性设置", - "GPU Scheduling Override Method": "GPU 调度覆盖方式", - "GPU Scheduling Override": "GPU 调度修改", - "GPU Boot Volt": "GPU 启动电压", - "GPU Boot Voltage": "GPU 启动电压", + "Mariko Middle Clocks": "启用GPU中频", + "Live CPU Undervolt": "实时CPU降压", + "GPU Scheduling Override Method": "GPU调度修改方式", + "GPU Scheduling Override": "GPU调度修改", + "GPU Boot Volt": "GPU启动电压", + "GPU Boot Voltage": "GPU启动电压", "Memory Frequency Measurement Mode": "内存频率测量模式", - " Overriding the charge current": "修改充电电流", - "can be dangerous and may cause": "存在风险,可能导致", - "damage to your battery or charger!": "电池或充电器损坏!", - "Charge Current Override": "充电电流修改", - "Display Color Preset": "显示颜色预设", + " Overriding the charge current": "修改电池充电电流", + "can be dangerous and may cause": "存在一定风险,可能会伤电池", + "damage to your battery or charger!": "或充电器!", + "Charge Current Override": "修改充电电流", + " Overriding the input current": "修改输入电流可能会增加主机", + "limit increases power draw from": "从充电器获取的电流。", + "your charger. And board stress ": "主板本身最大电流为", + "use 1500mA max.": "1500mA。", + "Input Current Limit Override": "修改主机输入电流", + "Display Color Preset": "屏幕滤镜", "Basic": "基础", "Saturated": "饱和", "Washed": "淡色", "Natural": "自然", "Vivid": "鲜艳", - "CPU Governor Minimum Frequency": "CPU 调频器最低频率", - " Usage of unsafe display": "不安全的显示屏", - "refresh rates may cause stress": "刷新率可能会对", - "or damage to your display! ": "显示屏造成压力或损坏! ", - "Proceed at your own risk!": "操作风险自负!", - "Max Handheld Display": "掌机模式最大显示率", - "Max Handheld Display Hz": "掌机最大显示率 Hz", - "Display Clock": "显示时钟", - " Adjust the display voltage": "调整显示电压", + "CPU Governor Minimum Frequency": "CPU调频器最低频率", + " Usage of unsafe display": "调整屏幕刷新率", + "refresh rates may cause stress": "可能会伤屏幕,", + "or damage to your display! ": "乃至造成损失!", + "Proceed at your own risk!": "风险自负!", + "Display Refresh Rate Changing": "修改屏幕刷新率", + "Max Handheld Display": "掌机最大刷新率", + "Max Handheld Display Hz": "掌机最大刷新率", + "Display Clock": "屏幕刷新率", + " Adjust the display voltage": "请谨慎调整显示电压", "with caution to avoid damage": "请谨慎以避免损坏", "to your display panel! ": "显示屏面板!", - "Display Voltage": "显示电压", + "Display Voltage": "屏幕电压", - "Thermal Throttle Limit": "温控设置", + "Uncapped Clocks": "解锁频率", + "Thermal Throttle": "过热保护", + "Thermal Throttle Limit": "过热保护温度", "Official Rating": "官方额定值", - "TDP Threshold": "TDP 阈值", + "TDP Threshold": "TDP阈值", "Power": "电源", "HP Mode": "高性能模式", - "DVB Shift": "DVB 偏移", - "SoC Max Volt": "SoC 最大电压", + "DVB Shift": "DVB偏移", + "SoC Max Volt": "SoC最高电压", "Step Mode": "步进模式", - "RAM VDD2 Voltage": "内存 VDD2 电压", - "RAM VDDQ Voltage": "内存 VDDQ 电压", + "RAM VDD2 Voltage": "内存VDD2电压", + "RAM VDDQ Voltage": "内存VDDQ电压", "Voltage": "电压", - "RAM Frequency Editor": "内存频率编辑器", - "Ram Max Clock": "内存最大频率", - "RAM Latency Editor": "内存延迟编辑器", + "RAM Frequency Editor": "内存频率编辑", + "Ram Max Clock": "内存最高频率", + "RAM Latency Editor": "内存延迟编辑", "RAM Timing Reductions": "内存时序优化", + "SOC Voltage Table": "自定义SOC电压", + "SOC Custom Voltages": "自定义SOC电压", "Memory Timings": "内存时序", "Advanced": "高级", - "t6 tRTW Fine Tune": "t6 tRTW 微调", - "tRTW Fine Tune": "tRTW 微调", - "t7 tWTR Fine Tune": "t7 tWTR 微调", - "tWTR Fine Tune": "tWTR 微调", + "t6 tRTW Fine Tune": "t6 tRTW微调", + "tRTW Fine Tune": "tRTW微调", + "t7 tWTR Fine Tune": "t7 tWTR微调", + "tWTR Fine Tune": "tWTR微调", "Memory Latencies": "内存延迟", "Read Latency": "读取延迟", "Write Latency": "写入延迟", - "High speedo needed!": "需要高 Speedo 配置!", - "3333MHz (Needs extreme Speedo/PLL)": "3333MHz (需要极限 Speedo/PLL)", - "3366MHz (Needs extreme Speedo/PLL)": "3366MHz (需要极限 Speedo/PLL)", - "3400MHz (Needs extreme Speedo/PLL)": "3400MHz (需要极限 Speedo/PLL)", - "3433MHz (Needs ridiculous Speedo/PLL)": "3433MHz (需要极端 Speedo/PLL)", - "3466MHz (Needs ridiculous Speedo/PLL)": "3466MHz (需要极端 Speedo/PLL)", - "3500MHz (Needs ridiculous Speedo/PLL)": "3500MHz (需要极端 Speedo/PLL)", - "JEDEC.": "JEDEC 标准。", + "Latency Graph": "延迟可视化图", + "Latency Max": "延迟最高频率" + "1333 Latency Max": "1333延迟最高频率", + "1600 Latency Max": "1600延迟最高频率", + "1866 Latency Max": "1866延迟最高频率", + "2133 Latency Max": "2133延迟最高频率", + "Read": "读取", + "Write": "写入", + "Same": "相同" + "High speedo needed!": "需要高体质!", + "3333MHz (Needs extreme Speedo/PLL)": "3333MHz (需要极高体质)", + "3366MHz (Needs extreme Speedo/PLL)": "3366MHz (需要极高体质)", + "3400MHz (Needs extreme Speedo/PLL)": "3400MHz (需要极高体质)", + "3433MHz (Needs ridiculous Speedo/PLL)": "3433MHz (需要极限体质)", + "3466MHz (Needs ridiculous Speedo/PLL)": "3466MHz (需要极限体质)", + "3500MHz (Needs ridiculous Speedo/PLL)": "3500MHz (需要极限体质)", + "JEDEC.": "JEDEC", + "RAM-Timing tBreak": "内存时序切换阈值", - "CPU Boost Clock": "CPU 超频频率", - "CPU UV": "CPU 降压", - "CPU Unlock": "CPU 解锁", - "CPU VMIN": "CPU 最低电压", - "CPU Max Voltage": "CPU 最大电压", - "CPU Max Clock": "CPU 最大频率", - "Extreme UV Table": "极限降压表", - "CPU UV Table": "CPU 降压表", - "CPU Low UV": "CPU 低压降压", - "CPU High UV": "CPU 高压降压", - "CPU Low VMIN": "CPU 低压最低电压", - "CPU High VMIN": "CPU 高压最低电压", + "CPU Boost Clock": "CPU加速频率", + "Auto CPU RAM OC": "高内存频率自动提频CPU", + "Auto CPU RAM OC CPU clock": "自动提频CPU频率", + "Auto CPU RAM OC Threshold": "自动提频触发阈值", + "Overwrite Boost Mode": "接管系统CPU调度", + "CPU UV": "CPU降压", + "CPU Unlock": "CPU解锁", + "CPU VMIN": "CPU最低电压", + "CPU Max Voltage": "CPU最高电压", + "CPU Max Clock": "CPU最高频率", + "Extreme UV Table": "极限降压", + "CPU UV Table": "CPU降压模式", + "CPU Low UV": "CPU低频降压", + "CPU High UV": "CPU高频降压", + "CPU Low VMIN": "CPU低频最低电压", + "CPU High VMIN": "CPU高频最低电压", - "No Undervolt": "不降压", - "SLT Table": "SLT 表", - "HiOPT Table": "HiOPT 表", - "GPU Undervolt Table": "GPU 降压表", - "GPU Minimum Voltage": "GPU 最低电压", - "Calculate GPU Vmin": "计算 GPU 最低电压", - "GPU VMIN": "GPU 最低电压", - "GPU Maximum Voltage": "GPU 最大电压", - "GPU Voltage Offset": "GPU 电压偏移", - "GPU DVFS Mode": "GPU DVFS 模式", - "GPU DVFS Offset": "GPU DVFS 偏移", - "GPU Voltage Table": "GPU 电压表", - "GPU Custom Table (mV)": "GPU 自定义表 (mV)", + "No Undervolt": "无降压", + "SLT Table": "SLT", + "HiOPT Table": "HiOPT", + "High UV Table": "高降压", + "GPU Undervolt Table": "GPU降压模式", + "GPU Minimum Voltage": "GPU最低电压", + "Calculate GPU Vmin": "计算GPU最低电压", + "GPU VMIN": "GPU最低电压", + "GPU Maximum Voltage": "GPU最高电压", + "GPU Voltage Offset": "GPU电压偏移", + "GPU DVFS Mode": "GPU DVFS模式", + "GPU DVFS Offset": "GPU DVFS偏移", + "GPU Voltage Table": "自定义GPU电压", + "GPU Custom Table (mV)": "GPU自定义电压(mV)", "Official Service": "官方服务", - "96.6% limit": "96.6% 限制", - "99.7% limit": "99.7% 限制", - " Setting GPU Clocks past": " 将 GPU 频率设置超过", - "1228MHz without a proper undervolt": "没有适当降压的 1228MHz", - "can cause degradation or damage": "可能导致损耗或损坏", - "to your console!": "您的主机!", - "1075MHz without UV, 1152MHz on SLT": "1075MHz 无降压,SLT 表下 1152MHz", - "or 1228MHz on HiOPT can cause ": "或 HiOPT 表下 1228MHz 可能导致 ", - "permanent damage to your Switch!": "Switch 永久损坏!", - "921MHz without UV and 960MHz on": "921MHz 无降压,SLT/HiOPT 表下 960MHz", - "SLT or HiOPT can cause ": "可能导致 ", + "96.6% limit": "使用率最高96.6%", + "99.7% limit": "使用率最高99.7%", + " Setting GPU Clocks past": "警告:未进行合理降压的前提下,", + "1305MHz without a proper undervolt": "将GPU频率拉到1228MHz以上(1305MHz),", + "can cause degradation or damage": "会加速硬件老化损耗,", + "to your console!": "甚至对主机造成永久性硬件损坏!", + "1075MHz without UV, 1152MHz on SLT": "无降压1075MHz,SLT下1152MHz", + "or 1228MHz on HiOPT can cause ": "或HiOPT下1228MHz可能会伤主机,", + "permanent damage to your Switch!": "乃至造成无法挽回的损失!", + "921MHz without UV and 960MHz on": "无降压921MHz,SLT/HiOPT 表下 960MHz", + "SLT or HiOPT can cause ": "可能导致", - "Default (Mariko)": "默认 (Mariko)", - "Default (Erista)": "默认 (Erista)", + "Default (Mariko)": "默认(续航版)", + "Default (Erista)": "默认(初版)", "Rating": "额定值", - "Safe Max (Mariko)": "安全最大值 (Mariko)", - "Safe Max (Erista)": "安全最大值 (Erista)", + "Safe Max (Mariko)": "安全最大值(续航版)", + "Safe Max (Erista)": "安全最大值(初版)", "Voltages": "电压", "RAM Voltage:": "内存电压:", - "Display Voltage:": "显示电压:", + "Display Voltage:": "屏幕电压:", "Temperatures": "温度", - "PLLX Temp:": "PLLX 温度:", - "AOTAG Temp:": "AOTAG 温度:", - "BQ24193 Temp:": "BQ24193 温度:", + "PLLX Temp:": "PLLX温度:", + "AOTAG Temp:": "AOTAG温度:", + "BQ24193 Temp:": "BQ24193温度:", "Normal": "正常", "Warm": "温热", - "Hot": "过热", - "Overheat": "严重过热", + "Hot": "较热", + "Overheat": "过热", "Not Patched": "未修补", "Invalid": "无效", "RAM Bandwidth": "内存带宽", - "RAM BW (Peak):": "RAM带宽(峰值):", - "RAM BW (All):": "RAM带宽(全部):", - "RAM BW (CPU):": "RAM带宽(CPU):", - "RAM BW (GPU):": "RAM带宽(GPU):", + "RAM BW (Peak):": "内存带宽(最高):", + "RAM BW (All):": "内存带宽(当前):", + "RAM BW (CPU):": "内存带宽(CPU):", + "RAM BW (GPU):": "内存带宽(GPU):", "Hardware Info": "硬件信息", "Console Type:": "主机类型:", - "Speedo:": "Speedo:", - "DRAM Module: ": "DRAM 模块: ", + "Speedo:": "体质分:", + "DRAM Module: ": "内存颗粒: ", "Software Info": "软件信息", - "KIP version:": "KIP 版本:", - "sys-dock status:": "sys-dock 状态:", - "SaltyNX status:": "SaltyNX 状态:", - "RR Display status:": "RR 显示状态:", + "KIP version:": "KIP版本:", + "sys-dock status:": "sys-dock状态:", + "SaltyNX status:": "SaltyNX状态:", + "RR Display status:": "RR显示状态:", + "General Info": "其他信息", "Wafer Position:": "晶圆位置:", "IDDQ:": "IDDQ:", "Module: ": "模块: ", + + "App ID": "应用ID", + "Profile": "当前配置", + "Docked": "底座模式", + "Handheld": "掌机模式", + "PD Charger": "PD充电器", + "USB Charger": "USB充电器", + "Memory": "内存", + "MEM": "内存", + "Governor": "调频器", "Board": "主板", - "Display": "显示", + "Display": "屏幕", + "BAT": "电池", + "Fan": "风扇", + "Now": "当前", + "Avg": "平均", + "OLED": "屏幕", + "LCD": "屏幕" + + "Releases": "发行版本", + "Horizon OC + Extensions": "Horizon OC+附加包", + "Status": "状态", + "Downloading": "正在下载", + "Extracting": "正在解压", + "Download cancelled": "下载已取消", + "Download failed -- check network": "下载失败,请检查网络", + "Extraction cancelled": "解压已取消", + "Extraction failed -- archive may be corrupt": "解压失败,文件可能损坏", + "Update complete! Restart required.": "更新完成,重启生效", - "Developers": "开发者", - "Contributors": "贡献者", - "Testers": "测试者", + "Developers": "开发", + "Contributors": "贡献", + "Testers": "测试", "Translators": "翻译", "Special Thanks": "特别感谢", "X: %u Y: %u": "X: %u Y: %u", "%u.%u%u mV": "%u.%u%u mV", "Compiling with minimal features": "以最小功能编译", - "THE BEER-WARE LICENSE": "啤酒软件许可协议" + "THE BEER-WARE LICENSE": "啤酒软件许可协议", + "Horizon OC\nKip opening failed": "Horizon OC\n无法打开 KIP", + "Horizon OC\nKip read failed": "Horizon OC\n读取 KIP 失败", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\n检测到过时的 KIP!\n请更新 Horizon OC", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\n检测到过时的系统模块!\n请更新 Horizon OC", + "Horizon OC\nKip write failed": "Horizon OC\n写入 KIP 失败", + "Horizon OC\nKip config set failed": "Horizon OC\n设置 KIP 配置失败", + "Kip is not loaded!": "KIP 未加载!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nKIP 已更新\n请重启主机", + "Horizon OC has been installed": "Horizon OC 已安装", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\n配置缓冲区不匹配", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\n已停用频率。\n重启以应用。", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\n读取 Secmon 失败!\n 这可能是硬件问题!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\n设置 VDDQ 时\nI2C 写入失败", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nKIP 版本不匹配\n请重新安装 Horizon OC" } diff --git a/config/horizon-oc/lang/zh-tw.json b/config/horizon-oc/lang/zh-tw.json index 75765af..7b71ad2 100644 --- a/config/horizon-oc/lang/zh-tw.json +++ b/config/horizon-oc/lang/zh-tw.json @@ -4,212 +4,281 @@ "Installed": "已安裝", "Not Installed": "未安裝", "Default": "預設", - "Do Not Override": "不要覆蓋", - "Do not override": "不要覆蓋", - "Disabled": "已停用", - "Enabled": "已啟用", - "Enabled (Default)": "已啟用(預設)", + "Do Not Override": "不修改", + "No Override": "不修改", + "Do not override": "不修改", + "Auto": "自動", + "Disabled": "停用", + "Enabled": "啟用", + "Enabled (Default)": "啟用 (預設)", "Enable": "啟用", - "Fatal error": "致命錯誤", - "Could not connect to hoc-clk sysmodule.\\n\\n": "無法連接到 hoc-clk 系統模組。\\n\\n", - "Please make sure everything is\\n\\n": "請確保一切正常\\n\\n", - "correctly installed and enabled.": "正確安裝並啟用。", + "Fatal error": "嚴重錯誤", + "hoc-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "剛安裝需要重啟生效。\n\n\n請進入後台管理確認後台程式正在執行。", - "Edit App Profile": "編輯應用程式設定檔", - "Edit Global Profile": "編輯全域設定檔", - "Temporary Overrides": "臨時覆蓋", - "Temporary Overrides ": "臨時覆蓋", - "  Reset": " 重設", + "Edit App Profile": "編輯應用配置", + "Edit Global Profile": "編輯全域配置", + "Temporary Overrides": "臨時配置", + "Temporary Overrides ": "臨時配置", + "  Reset": "  重設", "Settings": "設定", "About": "關於", - "Credits": "製作人員", + "Updates": "更新選單", + "Credits": "致謝", - "Application changed\\n\\n": "應用程式已更改\\n\\n", - "The running application changed\\n\\n": "正在運行的應用程式已更改\\n\\n", - "while editing was going on.": "當編輯正在進行時。", + "Could not connect to hoc-clk.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "應用已變更\n\n\n無法連接到 hoc-clk。\n\n首次安裝請重啟。", "Sleep Mode": "睡眠模式", "Stock": "原廠預設", - "Dev OC": "開發OC", - "Boost Mode": "升壓模式", + "Dev OC": "開發者超頻", + "Boost Mode": "加速模式", "Safe Max": "安全最大值", - "Unsafe Max": "不安全最大值", + "Unsafe Max": "危險最大值", "Absolute Max": "絕對最大值", - "Handheld Safe Max": "手持式安全最大值", + "Handheld Safe Max": "掌機安全最大值", - "General Settings": "常規設定", - "Governor Settings": "調速器設定", + "General Settings": "通用設定", + "Governor Settings": "調頻器設定", "Safety Settings": "安全設定", - "Save KIP Settings": "儲存 KIP 設定", + "Save KIP Settings": "儲存KIP設定", "RAM Settings": "記憶體設定", - "CPU Settings": "中央處理器設定", + "CPU Settings": "CPU設定", "GPU Settings": "GPU設定", - "Display Settings": "顯示設定", + "Display Settings": "螢幕設定", "Experimental Settings": "實驗性設定", - "Experimental": "實驗性的", + "Experimental": "實驗性功能", - " Settings marked in blue": "藍色標示的設定", - "don't require a reboot to apply!": "無需重開機即可套用!", - "You can also press  to show": "也可按  顯示", - "information about each setting.": "每項設定的說明。", + " Settings marked in blue": "藍色的設定更改後可立即生效,", + "don't require a reboot to apply!": "無需重啟主機。", + "You can also press  to show": "按可以查看每項設置的", + "information about each setting.": "詳細說明(英文)。", - " Experimental Settings are incomplete ": "實驗性設定尚未完成", - "and may not work correctly or at all!": "且可能無法正常運作!", - "Here be dragons!": "此處有危險!", + " Experimental Settings are incomplete ": "實驗性設定尚未正式完成,", + "and may not work correctly or at all!": "可能導致當機崩潰等意外後果!", + "Here be dragons!": "風險自負!", - "RAM Voltage Display Mode": "RAM電壓顯示模式", + "RAM Voltage Display Mode": "記憶體電壓顯示模式", "RAM Display Unit": "記憶體顯示單位", "Polling Interval": "輪詢間隔", + "Enable Experimental Settings": "啟用實驗性設定", - "GPU Scheduling Override Method": "GPU調度覆蓋方法", - "GPU Scheduling Override": "GPU 調度覆蓋", - "GPU Boot Volt": "GPU 啟動電壓", - "GPU Boot Voltage": "GPU 啟動電壓", + "Mariko Middle Clocks": "啟用GPU中頻", + "Live CPU Undervolt": "即時CPU降壓", + "GPU Scheduling Override Method": "GPU調度修改方式", + "GPU Scheduling Override": "GPU調度修改", + "GPU Boot Volt": "GPU啟動電壓", + "GPU Boot Voltage": "GPU啟動電壓", "Memory Frequency Measurement Mode": "記憶體頻率測量模式", - " Overriding the charge current": "覆蓋充電電流", - "can be dangerous and may cause": "可能很危險並可能導致", - "damage to your battery or charger!": "損壞電池或充電器!", - "Charge Current Override": "充電電流覆蓋", - "Display Color Preset": "顯示顏色預設", - "Basic": "基本", + " Overriding the charge current": "修改電池充電電流", + "can be dangerous and may cause": "存在一定風險,可能會傷電池", + "damage to your battery or charger!": "或充電器!", + "Charge Current Override": "修改充電電流", + " Overriding the input current": "修改輸入電流可能會增加主機", + "limit increases power draw from": "從充電器獲取的電流。", + "your charger. And board stress ": "主機板本身最大電流為", + "use 1500mA max.": "1500mA。", + "Input Current Limit Override": "修改主機輸入電流", + "Display Color Preset": "螢幕濾鏡", + "Basic": "基礎", "Saturated": "飽和", "Washed": "淡色", "Natural": "自然", "Vivid": "鮮艷", - "CPU Governor Minimum Frequency": "CPU調速器最低頻率", - " Usage of unsafe display": "不安全的顯示率", - "refresh rates may cause stress": "刷新率可能會造成壓力", - "or damage to your display! ": "或損壞您的顯示器!", - "Proceed at your own risk!": "請自行承擔風險!", - "Max Handheld Display": "最大手持顯示器", - "Max Handheld Display Hz": "最大手持顯示率 Hz", - "Display Clock": "顯示時鐘", - " Adjust the display voltage": "調整顯示電壓", - "with caution to avoid damage": "請謹慎操作以避免損壞", - "to your display panel! ": "顯示面板!", - "Display Voltage": "顯示電壓", + "CPU Governor Minimum Frequency": "CPU調頻器最低頻率", + " Usage of unsafe display": "調整螢幕更新率", + "refresh rates may cause stress": "可能會傷螢幕,", + "or damage to your display! ": "乃至造成損失!", + "Proceed at your own risk!": "風險自負!", + "Display Refresh Rate Changing": "修改螢幕更新率", + "Max Handheld Display": "掌機最大更新率", + "Max Handheld Display Hz": "掌機最大更新率", + "Display Clock": "螢幕更新率", + " Adjust the display voltage": "請謹慎調整顯示電壓", + "with caution to avoid damage": "請謹慎以避免損壞", + "to your display panel! ": "螢幕面板!", + "Display Voltage": "螢幕電壓", - "Thermal Throttle Limit": "熱油門限制", - "Official Rating": "官方評級", + "Uncapped Clocks": "解鎖頻率", + "Thermal Throttle": "過熱保護", + "Thermal Throttle Limit": "過熱保護溫度", + "Official Rating": "官方額定值", "TDP Threshold": "TDP閾值", "Power": "電源", - "HP Mode": "高效能模式", + "HP Mode": "高性能模式", - "DVB Shift": "DVB 偏移", - "SoC Max Volt": "SoC 最大電壓", + "DVB Shift": "DVB偏移", + "SoC Max Volt": "SoC最高電壓", "Step Mode": "步進模式", - "RAM VDD2 Voltage": "RAM VDD2 電壓", - "RAM VDDQ Voltage": "RAM VDDQ 電壓", + "RAM VDD2 Voltage": "記憶體VDD2電壓", + "RAM VDDQ Voltage": "記憶體VDDQ電壓", "Voltage": "電壓", - "RAM Frequency Editor": "RAM頻率編輯器", - "Ram Max Clock": "記憶體最大時脈", - "RAM Latency Editor": "RAM 延遲編輯器", - "RAM Timing Reductions": "RAM 時序減少", + "RAM Frequency Editor": "記憶體頻率編輯", + "Ram Max Clock": "記憶體最高頻率", + "RAM Latency Editor": "記憶體延遲編輯", + "RAM Timing Reductions": "記憶體時序最佳化", + "SOC Voltage Table": "自訂SOC電壓", + "SOC Custom Voltages": "自訂SOC電壓", "Memory Timings": "記憶體時序", "Advanced": "進階", - "t6 tRTW Fine Tune": "t6 tRTW 微調", - "tRTW Fine Tune": "tRTW 微調", - "t7 tWTR Fine Tune": "t7 tWTR 微調", - "tWTR Fine Tune": "tWTR 微調", + "t6 tRTW Fine Tune": "t6 tRTW微調", + "tRTW Fine Tune": "tRTW微調", + "t7 tWTR Fine Tune": "t7 tWTR微調", + "tWTR Fine Tune": "tWTR微調", "Memory Latencies": "記憶體延遲", "Read Latency": "讀取延遲", "Write Latency": "寫入延遲", - "High speedo needed!": "需要高 Speedo 值!", - "3333MHz (Needs extreme Speedo/PLL)": "3333MHz(需要極高的 Speedo/PLL)", - "3366MHz (Needs extreme Speedo/PLL)": "3366MHz(需要極高的 Speedo/PLL)", - "3400MHz (Needs extreme Speedo/PLL)": "3400MHz(需要極高的 Speedo/PLL)", - "3433MHz (Needs ridiculous Speedo/PLL)": "3433MHz(需要荒謬的 Speedo/PLL)", - "3466MHz (Needs ridiculous Speedo/PLL)": "3466MHz(需要荒謬的 Speedo/PLL)", - "3500MHz (Needs ridiculous Speedo/PLL)": "3500MHz(需要荒謬的 Speedo/PLL)", - "JEDEC.": "JEDEC。", + "Latency Graph": "延遲可視化圖", + "Latency Max": "延遲最高頻率" + "1333 Latency Max": "1333延遲最高頻率", + "1600 Latency Max": "1600延遲最高頻率", + "1866 Latency Max": "1866延遲最高頻率", + "2133 Latency Max": "2133延遲最高頻率", + "Read": "讀取", + "Write": "寫入", + "Same": "相同" + "High speedo needed!": "需要高體質!", + "3333MHz (Needs extreme Speedo/PLL)": "3333MHz (需要極高體質)", + "3366MHz (Needs extreme Speedo/PLL)": "3366MHz (需要極高體質)", + "3400MHz (Needs extreme Speedo/PLL)": "3400MHz (需要極高體質)", + "3433MHz (Needs ridiculous Speedo/PLL)": "3433MHz (需要極限體質)", + "3466MHz (Needs ridiculous Speedo/PLL)": "3466MHz (需要極限體質)", + "3500MHz (Needs ridiculous Speedo/PLL)": "3500MHz (需要極限體質)", + "JEDEC.": "JEDEC", + "RAM-Timing tBreak": "記憶體時序切換閾值", - "CPU Boost Clock": "CPU 升壓時脈", - "CPU UV": "CPU 降壓", + "CPU Boost Clock": "CPU加速頻率", + "Auto CPU RAM OC": "高記憶體頻率自動提頻CPU", + "Auto CPU RAM OC CPU clock": "自動提頻CPU頻率", + "Auto CPU RAM OC Threshold": "自動提頻觸發閾值", + "Overwrite Boost Mode": "接管系統CPU調度", + "CPU UV": "CPU降壓", "CPU Unlock": "CPU解鎖", - "CPU VMIN": "CPU 最低電壓", - "CPU Max Voltage": "CPU最大電壓", - "CPU Max Clock": "CPU 最大時脈", - "Extreme UV Table": "極限降壓表", - "CPU UV Table": "CPU 降壓表", - "CPU Low UV": "CPU 低壓降壓", - "CPU High UV": "CPU 高壓降壓", - "CPU Low VMIN": "CPU 低 VMIN", - "CPU High VMIN": "CPU 高 VMIN", + "CPU VMIN": "CPU最低電壓", + "CPU Max Voltage": "CPU最高電壓", + "CPU Max Clock": "CPU最高頻率", + "Extreme UV Table": "極限降壓", + "CPU UV Table": "CPU降壓模式", + "CPU Low UV": "CPU低頻降壓", + "CPU High UV": "CPU高頻降壓", + "CPU Low VMIN": "CPU低頻最低電壓", + "CPU High VMIN": "CPU高頻最低電壓", - "No Undervolt": "無欠壓", - "SLT Table": "SLT表", - "HiOPT Table": "HiOPT表", - "GPU Undervolt Table": "GPU 欠壓表", + "No Undervolt": "無降壓", + "SLT Table": "SLT", + "HiOPT Table": "HiOPT", + "High UV Table": "高降壓", + "GPU Undervolt Table": "GPU降壓模式", "GPU Minimum Voltage": "GPU最低電壓", - "Calculate GPU Vmin": "計算 GPU Vmin", - "GPU VMIN": "GPU VMIN", - "GPU Maximum Voltage": "GPU最大電壓", + "Calculate GPU Vmin": "計算GPU最低電壓", + "GPU VMIN": "GPU最低電壓", + "GPU Maximum Voltage": "GPU最高電壓", "GPU Voltage Offset": "GPU電壓偏移", - "GPU DVFS Mode": "GPU DVFS 模式", - "GPU DVFS Offset": "GPU DVFS 偏移", - "GPU Voltage Table": "GPU電壓表", - "GPU Custom Table (mV)": "GPU 自訂表 (mV)", + "GPU DVFS Mode": "GPU DVFS模式", + "GPU DVFS Offset": "GPU DVFS偏移", + "GPU Voltage Table": "自訂GPU電壓", + "GPU Custom Table (mV)": "GPU自訂電壓(mV)", "Official Service": "官方服務", - "96.6% limit": "96.6%限制", - "99.7% limit": "99.7%限制", - " Setting GPU Clocks past": "將 GPU 頻率設定超過", - "1228MHz without a proper undervolt": "1228MHz 未適當降壓", - "can cause degradation or damage": "可能導致劣化或損壞", - "to your console!": "您的主機!", - "1075MHz without UV, 1152MHz on SLT": "無 UV 時為 1075MHz,SLT 時為 1152MHz", - "or 1228MHz on HiOPT can cause ": "或 HiOPT 上的 1228MHz 可能會導致", - "permanent damage to your Switch!": "對您的 Switch 造成永久性損壞!", - "921MHz without UV and 960MHz on": "無 UV 時為 921MHz,開啟時為 960MHz", - "SLT or HiOPT can cause ": "SLT 或 HiOPT 可能會導致", + "96.6% limit": "使用率最高96.6%", + "99.7% limit": "使用率最高99.7%", + " Setting GPU Clocks past": "警告:未進行合理降壓的前提下,", + "1305MHz without a proper undervolt": "將GPU頻率拉到1228MHz以上(1305MHz),", + "can cause degradation or damage": "會加速硬體老化損耗,", + "to your console!": "甚至對主機造成永久性硬體損壞!", + "1075MHz without UV, 1152MHz on SLT": "無降壓1075MHz,SLT下1152MHz", + "or 1228MHz on HiOPT can cause ": "或HiOPT下1228MHz可能會傷主機,", + "permanent damage to your Switch!": "乃至造成無法挽回的損失!", + "921MHz without UV and 960MHz on": "無降壓921MHz,SLT/HiOPT 表下 960MHz", + "SLT or HiOPT can cause ": "可能導致", - "Default (Mariko)": "預設 (Mariko)", - "Default (Erista)": "預設 (Erista)", - "Rating": "評級", - "Safe Max (Mariko)": "安全最大值 (Mariko)", - "Safe Max (Erista)": "安全最大值 (Erista)", + "Default (Mariko)": "預設(續航版)", + "Default (Erista)": "預設(初版)", + "Rating": "額定值", + "Safe Max (Mariko)": "安全最大值(續航版)", + "Safe Max (Erista)": "安全最大值(初版)", "Voltages": "電壓", - "RAM Voltage:": "記憶體電壓:", - "Display Voltage:": "顯示電壓:", + "RAM Voltage:": "記憶體電壓:", + "Display Voltage:": "螢幕電壓:", "Temperatures": "溫度", - "PLLX Temp:": "PLLX 溫度:", - "AOTAG Temp:": "AOTAG 溫度:", - "BQ24193 Temp:": "BQ24193 溫度:", + "PLLX Temp:": "PLLX溫度:", + "AOTAG Temp:": "AOTAG溫度:", + "BQ24193 Temp:": "BQ24193溫度:", "Normal": "正常", "Warm": "溫熱", - "Hot": "過熱", - "Overheat": "嚴重過熱", + "Hot": "較熱", + "Overheat": "過熱", "Not Patched": "未修補", "Invalid": "無效", "RAM Bandwidth": "記憶體頻寬", - "RAM BW (Peak):": "RAM頻寬(峰值):", - "RAM BW (All):": "RAM頻寬(全部):", - "RAM BW (CPU):": "RAM頻寬(CPU):", - "RAM BW (GPU):": "RAM頻寬(GPU):", + "RAM BW (Peak):": "記憶體頻寬(最高):", + "RAM BW (All):": "記憶體頻寬(目前):", + "RAM BW (CPU):": "記憶體頻寬(CPU):", + "RAM BW (GPU):": "記憶體頻寬(GPU):", "Hardware Info": "硬體資訊", - "Console Type:": "主機類型:", - "Speedo:": "Speedo:", - "DRAM Module: ": "DRAM 模組:", + "Console Type:": "主機類型:", + "Speedo:": "體質分:", + "DRAM Module: ": "記憶體顆粒: ", "Software Info": "軟體資訊", - "KIP version:": "KIP 版本:", - "sys-dock status:": "系統塢站狀態:", - "SaltyNX status:": "SaltyNX 狀態:", - "RR Display status:": "RR 顯示狀態:", - "Wafer Position:": "晶圓位置:", - "IDDQ:": "IDDQ:", - "Module: ": "模組:", - "Board": "主板", - "Display": "顯示", + "KIP version:": "KIP版本:", + "sys-dock status:": "sys-dock狀態:", + "SaltyNX status:": "SaltyNX狀態:", + "RR Display status:": "RR顯示狀態:", + "General Info": "其他資訊", + "Wafer Position:": "晶圓位置:", + "IDDQ:": "IDDQ:", + "Module: ": "模組: ", + + "App ID": "應用ID", + "Profile": "目前配置", + "Docked": "底座模式", + "Handheld": "掌機模式", + "PD Charger": "PD充電器", + "USB Charger": "USB充電器", + "Memory": "記憶體", + "MEM": "記憶體", + "Governor": "調頻器", + "Board": "主機板", + "Display": "螢幕", + "BAT": "電池", + "Fan": "風扇", + "Now": "目前", + "Avg": "平均", + "OLED": "螢幕", + "LCD": "螢幕" + + "Releases": "發行版本", + "Horizon OC + Extensions": "Horizon OC+附加包", + "Status": "狀態", + "Downloading": "正在下載", + "Extracting": "正在解壓", + "Download cancelled": "下載已取消", + "Download failed -- check network": "下載失敗,請檢查網路", + "Extraction cancelled": "解壓已取消", + "Extraction failed -- archive may be corrupt": "解壓失敗,文件可能損壞", + "Update complete! Restart required.": "更新完成,重啟生效", - "Developers": "開發商", - "Contributors": "貢獻者", - "Testers": "測試人員", + "Developers": "開發", + "Contributors": "貢獻", + "Testers": "測試", "Translators": "翻譯", "Special Thanks": "特別感謝", "X: %u Y: %u": "X: %u Y: %u", "%u.%u%u mV": "%u.%u%u mV", "Compiling with minimal features": "使用最少的功能進行編譯", - "THE BEER-WARE LICENSE": "啤酒製品許可證" + "THE BEER-WARE LICENSE": "啤酒製品許可證", + "Horizon OC\nKip opening failed": "Horizon OC\n無法開啟 KIP", + "Horizon OC\nKip read failed": "Horizon OC\n讀取 KIP 失敗", + "Horizon OC\nOutdated kip detected!\nPlease update Horizon OC": "Horizon OC\n偵測到過時的 KIP!\n請更新 Horizon OC", + "Horizon OC\nOutdated sysmodule detected!\nPlease update Horizon OC": "Horizon OC\n偵測到過時的系統模組!\n請更新 Horizon OC", + "Horizon OC\nKip write failed": "Horizon OC\n寫入 KIP 失敗", + "Horizon OC\nKip config set failed": "Horizon OC\n設定 KIP 組態失敗", + "Kip is not loaded!": "KIP 尚未載入!", + "Horizon OC\nKIP has been updated\nPlease reboot your console": "Horizon OC\nKIP 已更新\n請重新啟動主機", + "Horizon OC has been installed": "Horizon OC 已安裝", + "Horizon OC\nConfig Buffer Mismatch": "Horizon OC\n組態緩衝區不符", + "Horizon OC\nDeactivated frequency.\nReboot to apply.": "Horizon OC\n已停用頻率。\n重新啟動以套用。", + "Horizon OC\nSecmon read failed!\n This may be a hardware issue!": "Horizon OC\n讀取 Secmon 失敗!\n 這可能是硬體問題!", + "Horizon OC\nFailed to write I2C\nwhile setting vddq": "Horizon OC\n設定 VDDQ 時\nI2C 寫入失敗", + "Horizon OC\nKip version mismatch\nPlease reinstall Horizon OC": "Horizon OC\nKIP 版本不符\n請重新安裝 Horizon OC" } diff --git a/config/nx-hbmenu/duckdeck.cfg b/config/nx-hbmenu/duckdeck.cfg new file mode 100644 index 0000000..a970b4c --- /dev/null +++ b/config/nx-hbmenu/duckdeck.cfg @@ -0,0 +1,8 @@ +// DuckDeck layout settings. Restart hbmenu after saving changes. +duckdeck={ + // 4 columns by default. Supported range: 1 to 6. + columns=4; + + // Icon width/height in pixels. Supported range: 48 to 256. + iconSize=96; +}; diff --git a/config/nx-hbmenu/settings.cfg b/config/nx-hbmenu/settings.cfg new file mode 100644 index 0000000..3295097 --- /dev/null +++ b/config/nx-hbmenu/settings.cfg @@ -0,0 +1,4 @@ +settings : +{ + themePath = "XMB-OLED-Blue.romfs"; +}; diff --git a/config/nx-hbmenu/themes/DuckDeck-OLED.romfs b/config/nx-hbmenu/themes/DuckDeck-OLED.romfs new file mode 100644 index 0000000..0d65601 Binary files /dev/null and b/config/nx-hbmenu/themes/DuckDeck-OLED.romfs differ diff --git a/config/nx-hbmenu/themes/XMB-OLED-Blue.romfs b/config/nx-hbmenu/themes/XMB-OLED-Blue.romfs new file mode 100644 index 0000000..49e268c Binary files /dev/null and b/config/nx-hbmenu/themes/XMB-OLED-Blue.romfs differ diff --git a/hbmenu.nro b/hbmenu.nro index d234d0b..f6e31be 100644 Binary files a/hbmenu.nro and b/hbmenu.nro differ diff --git a/switch/daybreak/daybreak.nro b/switch/daybreak/daybreak.nro index ba4923b..e9cc535 100644 Binary files a/switch/daybreak/daybreak.nro and b/switch/daybreak/daybreak.nro differ