进一步汉化

This commit is contained in:
mofeng-git 2024-10-05 07:32:19 +00:00
parent 2e8917257e
commit cb559f57c9
18 changed files with 202 additions and 108 deletions

View File

@ -25,7 +25,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
<title>PiKVM Index</title>
<title>One-KVM Index</title>
<link rel="apple-touch-icon" sizes="180x180" href="/share/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/share/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/share/favicon-16x16.png">

View File

@ -1,7 +1,7 @@
extends start.pug
append vars
- title = "PiKVM Index"
- title = "One-KVM Index"
- main_js = "index/main"
- css_list = css_list.concat(["window", "modal", "index/index"])

View File

@ -166,7 +166,7 @@
<div class="text">
<table>
<tr>
<td rowspan="2"><img class="sign " src="/share/svg/warning.svg"></td>
<td rowspan="2"><img class="sign stream-message-no-webrtc" src="/share/svg/warning.svg"></td>
<td style="line-height:1.5"><b>WebRTC is not supported by this browser</b></td>
</tr>
</table>
@ -177,7 +177,7 @@
<div class="text">
<table>
<tr>
<td rowspan="2"><img class="sign " src="/share/svg/warning.svg"></td>
<td rowspan="2"><img class="sign stream-message-no-h264" src="/share/svg/warning.svg"></td>
<td style="line-height:1.5"><b>H.264 is not supported by this browser</b></td>
</tr>
</table>
@ -281,7 +281,7 @@
<div class="spoiler">
<table class="kv">
<tr>
<td>Swap Left Ctrl and Caps keys:</td>
<td i18n="hid-keyboard-swap-cc-switch">Swap Left Ctrl and Caps keys:</td>
<td align="right">
<div class="switch-box">
<input type="checkbox" id="hid-keyboard-swap-cc-switch">
@ -307,7 +307,7 @@
<td class="value-number" id="hid-mouse-sens-value"></td>
</tr>
<tr class="feature-disabled" id="hid-mouse-squash">
<td>Squash relative moves:</td>
<td i18n="hid-mouse-squash-switch">Squash relative moves:</td>
<td align="right">
<div class="switch-box">
<input checked type="checkbox" id="hid-mouse-squash-switch">
@ -340,7 +340,7 @@
</td>
</tr>
<tr>
<td>Cumulative scrolling:</td>
<td i18n="hid-mouse-cumulative-scrolling-switch">Cumulative scrolling:</td>
<td align="right">
<div class="switch-box">
<input type="checkbox" id="hid-mouse-cumulative-scrolling-switch">
@ -356,7 +356,7 @@
<td class="value-number" id="hid-mouse-scroll-value"></td>
</tr>
<tr>
<td>Show the blue dot:</td>
<td i18n="hid-mouse-dot-switch">Show the blue dot:</td>
<td align="right">
<div class="switch-box">
<input checked type="checkbox" id="hid-mouse-dot-switch">
@ -369,7 +369,7 @@
</details>
<table class="kv">
<tr class="feature-disabled" id="hid-connect">
<td>Connect HID to Server:</td>
<td i18n="hid-connect-switch">Connect HID to Server:</td>
<td align="right">
<div class="switch-box">
<input checked type="checkbox" id="hid-connect-switch">
@ -378,7 +378,7 @@
</td>
</tr>
<tr class="feature-disabled" id="hid-jiggler">
<td><a href="https://docs.pikvm.org/mouse_jiggler" target="_blank">Mouse jiggler</a>:</td>
<td i18n="hid-jiggler-switch"><a href="https://docs.pikvm.org/mouse_jiggler" target="_blank">Mouse jiggler</a>:</td>
<td align="right">
<div class="switch-box">
<input disabled type="checkbox" id="hid-jiggler-switch">
@ -387,7 +387,7 @@
</td>
</tr>
<tr>
<td>Mute HID input events:</td>
<td i18n="hid-mute-switch">Mute HID input events:</td>
<td align="right">
<div class="switch-box">
<input type="checkbox" id="hid-mute-switch">
@ -414,7 +414,7 @@
</td>
</tr>
<tr>
<td>Ask page close confirmation:</td>
<td i18n="page-close-ask-switch">Ask page close confirmation:</td>
<td align="right">
<div class="switch-box">
<input checked type="checkbox" id="page-close-ask-switch">
@ -436,7 +436,7 @@
<hr>
<table class="kv">
<tr>
<td>Ask click confirmation:</td>
<td i18n="atx-ask-switch">Ask click confirmation:</td>
<td align="right">
<div class="switch-box">
<input checked type="checkbox" id="atx-ask-switch">
@ -454,15 +454,15 @@
</div>
</div>
</li>
<li class="right feature-disabled" id="msd-dropdown"><a class="menu-button" href="#"><img class="led-gray" id="msd-led" src="/share/svg/led-msd.svg"><span>Drive</span></a>
<li class="right feature-disabled" id="msd-dropdown"><a class="menu-button" href="#"><img class="led-gray" id="msd-led" src="/share/svg/led-msd.svg"><span i18n="kvm_text60">Drive</span></a>
<div class="menu" id="msd-menu">
<div class="text"><b>Mass Storage Drive: </b><span id="msd-status"></span><br></div>
<div class="text"><b i18n="kvm_text61">Mass Storage Drive: </b><span id="msd-status"></span><br></div>
<hr>
<div class="hidden" id="msd-message-offline">
<div class="text">
<table>
<tr>
<td rowspan="2"><img class="sign " src="/share/svg/warning.svg"></td>
<td rowspan="2"><img class="sign msd-message-offline" src="/share/svg/warning.svg"></td>
<td style="line-height:1.5"><b>Mass Storage Drive is offline</b></td>
</tr>
</table>
@ -473,7 +473,7 @@
<div class="text">
<table>
<tr>
<td rowspan="2"><img class="sign " src="/share/svg/warning.svg"></td>
<td rowspan="2"><img class="sign msd-message-image-broken" src="/share/svg/warning.svg"></td>
<td style="line-height:1.5"><b>Current image is broken!</b></td>
</tr>
<tr>
@ -487,7 +487,7 @@
<div class="text">
<table>
<tr>
<td rowspan="2"><img class="sign " src="/share/svg/warning.svg"></td>
<td rowspan="2"><img class="sign msd-message-too-big-for-cdrom" src="/share/svg/warning.svg"></td>
<td style="line-height:1.5"><b>Current image is too big for CD-ROM!</b></td>
</tr>
<tr>
@ -501,7 +501,7 @@
<div class="text">
<table>
<tr>
<td rowspan="2"><img class="sign " src="/share/svg/warning.svg"></td>
<td rowspan="2"><img class="sign msd-message-out-of-storage" src="/share/svg/warning.svg"></td>
<td style="line-height:1.5"><b>Current image is out of storage</b></td>
</tr>
<tr>
@ -515,7 +515,7 @@
<div class="text">
<table>
<tr>
<td rowspan="2"><img class="sign " src="/share/svg/warning.svg"></td>
<td rowspan="2"><img class="sign msd-message-rw-enabled" src="/share/svg/warning.svg"></td>
<td style="line-height:1.5"><b>Read-write mode is enabled</b></td>
</tr>
<tr>
@ -531,7 +531,7 @@
<div class="text">
<table>
<tr>
<td rowspan="2"><img class="sign " src="/share/svg/info.svg"></td>
<td rowspan="2"><img class="sign msd-message-downloads" src="/share/svg/info.svg"></td>
<td style="line-height:1.5"><b>The image is being downloaded from PiKVM</b></td>
</tr>
<tr>
@ -543,7 +543,7 @@
</div>
<table class="kv">
<tr>
<td>Image:</td>
<td i18n="kvm_text62">Image:</td>
<td width="100%">
<select disabled id="msd-image-selector"></select>
</td>
@ -557,7 +557,7 @@
</table>
<table class="kv">
<tr>
<td>Drive <a target="_blank" href="https://docs.pikvm.org/msd">mode</a>:</td>
<td i18n="kvm_text63">Drive <a target="_blank" href="https://docs.pikvm.org/msd">mode</a>:</td>
<td>
<div class="radio-box">
<input checked type="radio" id="msd-mode-radio-cdrom" name="msd-mode-radio" value="1">
@ -567,7 +567,7 @@
</div>
</td>
<td>&nbsp;</td>
<td>Writable:</td>
<td i18n="msd-rw-switch">Writable:</td>
<td align="right">
<div class="switch-box">
<input disabled type="checkbox" id="msd-rw-switch">
@ -580,16 +580,16 @@
<div id="msd-storages"></div>
<hr>
<div class="buttons buttons-row">
<button class="row50" disabled id="msd-select-new-button">Select image to upload</button>
<button class="row25" disabled id="msd-upload-new-button">Upload</button>
<button class="row25" disabled id="msd-abort-new-button">Abort</button>
<button class="row50" disabled id="msd-select-new-button" i18n="kvm_text64">Select image to upload</button>
<button class="row25" disabled id="msd-upload-new-button" i18n="kvm_text65">Upload</button>
<button class="row25" disabled id="msd-abort-new-button" i18n="kvm_text66">Abort</button>
</div>
<div class="hidden" id="msd-message-another-user-uploads">
<hr>
<div class="text">
<table>
<tr>
<td rowspan="2"><img class="sign " src="/share/svg/info.svg"></td>
<td rowspan="2"><img class="sign msd-message-another-user-uploads" src="/share/svg/info.svg"></td>
<td style="line-height:1.5"><b>Another user uploads an image</b></td>
</tr>
</table>
@ -599,19 +599,19 @@
<hr>
<table class="kv">
<tr>
<td>Specify a local file:</td>
<td i18n="kvm_text68">Specify a local file:</td>
<td>
<input type="file" id="msd-new-file">
</td>
</tr>
<tr>
<td><b>Or</b> paste a URL:</td>
<td i18n="kvm_text69"><b>Or</b> paste a URL:</td>
<td>
<input type="text" id="msd-new-url" style="width: 100%">
</td>
</tr>
<tr class="hidden" id="msd-new-part">
<td>Upload partition:</td>
<td i18n="kvm_text70">Upload partition:</td>
<td width="100%">
<select id="msd-new-part-selector"></select>
</td>
@ -620,12 +620,12 @@
<hr>
<table class="kv">
<tr>
<td class="value">Note:</td>
<td>&bull; Don't close the browser page until the upload is complete.</td>
<td class="value" i18n="kvm_text71">Note:</td>
<td i18n="kvm_text72">&bull; Don't close the browser page until the upload is complete.</td>
</tr>
<tr>
<td></td>
<td>&bull; To speed up the upload, close the stream window.</td>
<td i18n="kvm_text73">&bull; To speed up the upload, close the stream window.</td>
</tr>
</table>
</div>
@ -633,11 +633,11 @@
<hr>
<table class="kv">
<tr>
<td>New image:</td>
<td i18n="kvm_text74">New image:</td>
<td class="value" id="msd-uploading-name"></td>
</tr>
<tr>
<td>Upload size:</td>
<td i18n="kvm_text75">Upload size:</td>
<td class="value" id="msd-uploading-size"></td>
</tr>
</table>
@ -647,9 +647,9 @@
</div>
<hr>
<div class="buttons buttons-row">
<button class="row50" disabled id="msd-connect-button">Connect drive to Server</button>
<button class="row25" disabled id="msd-disconnect-button">Disconnect</button>
<button class="row25" disabled id="msd-reset-button">Reset</button>
<button class="row50" disabled id="msd-connect-button" i18n="kvm_text76">Connect drive to Server</button>
<button class="row25" disabled id="msd-disconnect-button" i18n="kvm_text77">Disconnect</button>
<button class="row25" disabled id="msd-reset-button" i18n="kvm_text78">Reset</button>
</div>
</div>
</li>
@ -678,7 +678,7 @@
<hr>
<table class="kv">
<tr>
<td>Infinite loop playback:</td>
<td i18n="hid-recorder-loop-switch">Infinite loop playback:</td>
<td align="right">
<div class="switch-box">
<input disabled type="checkbox" id="hid-recorder-loop-switch">
@ -715,7 +715,7 @@
</table>
<table class="kv">
<tr>
<td>Ask paste confirmation:</td>
<td i18n="hid-pak-ask-switch">Ask paste confirmation:</td>
<td align="right">
<div class="switch-box">
<input checked type="checkbox" id="hid-pak-ask-switch">
@ -724,7 +724,7 @@
</td>
</tr>
<tr class="feature-disabled" id="hid-pak-secure">
<td>Hide input text:</td>
<td i18n="hid-pak-secure-switch">Hide input text:</td>
<td align="right">
<div class="switch-box">
<input type="checkbox" id="hid-pak-secure-switch">
@ -831,7 +831,7 @@
<hr>
<table class="kv">
<tr>
<td>Ask the magic confirmation:</td>
<td i18n="hid-sysrq-ask-switch">Ask the magic confirmation:</td>
<td align="right">
<div class="switch-box">
<input checked type="checkbox" id="hid-sysrq-ask-switch">
@ -2000,24 +2000,24 @@
</table><br>
<div class="tabs-box">
<input checked type="radio" name="about-tab-button" id="about-tab-meta-button">
<label for="about-tab-meta-button">Meta</label>
<label for="about-tab-meta-button" i18n="meta">Meta</label>
<div class="tab">
<div class="code" id="about-meta"><span class="code-comment">No data</span>
</div>
</div>
<input type="radio" name="about-tab-button" id="about-tab-hardware-button">
<input checked="hardware" type="radio" name="about-tab-button" id="about-tab-hardware-button">
<label for="about-tab-hardware-button">Hardware</label>
<div class="tab">
<div class="code" id="about-hardware"><span class="code-comment">No data</span>
</div>
</div>
<input type="radio" name="about-tab-button" id="about-tab-version-button">
<input checked="version" type="radio" name="about-tab-button" id="about-tab-version-button">
<label for="about-tab-version-button">Version</label>
<div class="tab">
<div class="code" id="about-version"><span class="code-comment">No data</span>
</div>
</div>
<input type="radio" name="about-tab-button" id="about-tab-thanks-button">
<input checked="thanks" type="radio" name="about-tab-button" id="about-tab-thanks-button">
<label for="about-tab-thanks-button">Thanks</label>
<div class="tab">
<div class="code" id="about-thanks"><span class="code-comment" i18n="kvm_text2">// These kind people donated money to the PiKVM project<br>

View File

@ -8,7 +8,7 @@ li(id="atx-dropdown" class="right feature-disabled")
b Control the server's power#[br]
sub Use the short click for ACPI shutdown
hr
+menu_switch("atx-ask-switch", "Ask click confirmation", true, true)
+menu_switch("atx-ask-switch", "Ask click confirmation", true, true,"atx-ask-switch")
hr
div(class="buttons")
button(disabled data-force-hide-menu id="atx-power-button") &bull; Click Power #[sup #[i short]]

View File

@ -22,7 +22,7 @@ li(id="macro-dropdown" class="right")
td(id="hid-recorder-events-count" class="value") 0
td #[sup #[i(i18n="kvm_text41") include delays]]
hr
+menu_switch("hid-recorder-loop-switch", "Infinite loop playback", false, false)
+menu_switch("hid-recorder-loop-switch", "Infinite loop playback", false, false, "hid-recorder-loop-switch")
hr
input(type="file" id="hid-recorder-new-script-file")
div(class="buttons buttons-row")

View File

@ -1,47 +1,47 @@
li(id="msd-dropdown" class="right feature-disabled")
a(class="menu-button" href="#")
+navbar_led("msd-led", "led-msd")
span Drive
span(i18n="kvm_text60") Drive
div(id="msd-menu" class="menu")
div(class="text")
b Mass Storage Drive:
b(i18n="kvm_text61") Mass Storage Drive:
span(id="msd-status")
br
hr
div(id="msd-message-offline" class="hidden")
+menu_message("warning", "Mass Storage Drive is offline")
+menu_message("warning", "Mass Storage Drive is offline", "msd-message-offline")
hr
div(id="msd-message-image-broken" class="hidden")
+menu_message("warning", "Current image is broken!")
+menu_message("warning", "Current image is broken!", "msd-message-image-broken")
| Perhaps uploading was interrupted#[br]
hr
div(id="msd-message-too-big-for-cdrom" class="hidden")
+menu_message("warning", "Current image is too big for CD-ROM!")
+menu_message("warning", "Current image is too big for CD-ROM!", "msd-message-too-big-for-cdrom")
| The device filesystem will be truncated to 2.2GiB
hr
div(id="msd-message-out-of-storage" class="hidden")
+menu_message("warning", "Current image is out of storage")
+menu_message("warning", "Current image is out of storage", "msd-message-out-of-storage")
| This image was connected manually using #[b kvmd-otgmsd]
hr
div(id="msd-message-rw-enabled" class="hidden")
+menu_message("warning", "Read-write mode is enabled")
+menu_message("warning", "Read-write mode is enabled", "msd-message-rw-enabled")
| Do not turn off PiKVM while this is active to prevent#[br]
| filesystem corruption. Use read-only mode where possible,#[br]
| as writing to SD card often can reduce its lifespan.
hr
div(id="msd-message-downloads" class="hidden")
+menu_message("info", "The image is being downloaded from PiKVM")
+menu_message("info", "The image is being downloaded from PiKVM", "msd-message-downloads")
| Please wait
hr
table(class="kv")
tr
td Image:
td(i18n="kvm_text62") Image:
td(width="100%") #[select(disabled id="msd-image-selector")]
td #[button(disabled id="msd-download-button" title="Download image") #[b &nbsp;&nbsp;&#x21E9;&nbsp;&nbsp;]]
td #[button(disabled id="msd-remove-button" title="Remove image") #[b &nbsp;&nbsp;&times;&nbsp;&nbsp;]]
table(class="kv")
tr
td Drive #[a(target="_blank" href="https://docs.pikvm.org/msd") mode]:
td(i18n="kvm_text63") Drive #[a(target="_blank" href="https://docs.pikvm.org/msd") mode]:
td
div(class="radio-box")
input(checked type="radio" id="msd-mode-radio-cdrom" name="msd-mode-radio" value="1")
@ -49,51 +49,51 @@ li(id="msd-dropdown" class="right feature-disabled")
input(type="radio" id="msd-mode-radio-flash" name="msd-mode-radio" value="0")
label(for="msd-mode-radio-flash") Flash
td &nbsp;
+menu_switch_notable("msd-rw-switch", "Writable", false, false)
+menu_switch_notable("msd-rw-switch", "Writable", false, false, "msd-rw-switch")
hr
div(id="msd-storages")
hr
div(class="buttons buttons-row")
button(disabled id="msd-select-new-button" class="row50") Select image to upload
button(disabled id="msd-upload-new-button" class="row25") Upload
button(disabled id="msd-abort-new-button" class="row25") Abort
button(disabled id="msd-select-new-button" class="row50" i18n="kvm_text64") Select image to upload
button(disabled id="msd-upload-new-button" class="row25" i18n="kvm_text65") Upload
button(disabled id="msd-abort-new-button" class="row25" i18n="kvm_text66") Abort
div(id="msd-message-another-user-uploads" class="hidden")
hr
+menu_message("info", "Another user uploads an image")
+menu_message("info", "Another user uploads an image", "msd-message-another-user-uploads")
div(id="msd-new-sub" class="hidden")
hr
table(class="kv")
tr
td Specify a local file:
td(i18n="kvm_text68") Specify a local file:
td #[input(type="file" id="msd-new-file")]
tr
td #[b Or] paste a URL:
td(i18n="kvm_text69") #[b Or] paste a URL:
td #[input(type="text" id="msd-new-url" style="width: 100%")]
tr(id="msd-new-part" class="hidden")
td Upload partition:
td(i18n="kvm_text70") Upload partition:
td(width="100%") #[select(id="msd-new-part-selector")]
hr
table(class="kv")
tr
td(class="value") Note:
td &bull; Don't close the browser page until the upload is complete.
td(class="value" i18n="kvm_text71") Note:
td(i18n="kvm_text72") &bull; Don't close the browser page until the upload is complete.
tr
td
td &bull; To speed up the upload, close the stream window.
td(i18n="kvm_text73") &bull; To speed up the upload, close the stream window.
div(id="msd-uploading-sub" class="hidden")
hr
table(class="kv")
tr
td New image:
td(i18n="kvm_text74") New image:
td(id="msd-uploading-name" class="value")
tr
td Upload size:
td(i18n="kvm_text75") Upload size:
td(id="msd-uploading-size" class="value")
div(class="text")
div(id="msd-uploading-progress" class="progress")
span(id="msd-uploading-progress-value" class="progress-value")
hr
div(class="buttons buttons-row")
button(disabled id="msd-connect-button" class="row50") Connect drive to Server
button(disabled id="msd-disconnect-button" class="row25") Disconnect
button(disabled id="msd-reset-button" class="row25") Reset
button(disabled id="msd-connect-button" class="row50" i18n="kvm_text76") Connect drive to Server
button(disabled id="msd-disconnect-button" class="row25" i18n="kvm_text77") Disconnect
button(disabled id="msd-reset-button" class="row25" i18n="kvm_text78") Reset

View File

@ -65,4 +65,4 @@ li(id="shortcuts-dropdown" class="right")
each title, key in sysrq
button(data-shortcut=`AltLeft PrintScreen Key${key}` data-shortcut-confirm="hid-sysrq-ask-switch" class="row16" style="text-align: center;" title=`${title}`) #{key}
hr
+menu_switch("hid-sysrq-ask-switch", "Ask the magic confirmation", true, true)
+menu_switch("hid-sysrq-ask-switch", "Ask the magic confirmation", true, true,"hid-sysrq-ask-switch")

View File

@ -17,10 +17,10 @@ li(id="system-dropdown" class="right")
data-confirm="Are you sure to send Wake-on-LAN packet to the server?" i18n="kvm_text8") &bull; WoL
hr
div(id="stream-message-no-webrtc" class="hidden")
+menu_message("warning", "WebRTC is not supported by this browser")
+menu_message("warning", "WebRTC is not supported by this browser", "stream-message-no-webrtc")
hr
div(id="stream-message-no-h264" class="hidden")
+menu_message("warning", "H.264 is not supported by this browser")
+menu_message("warning", "H.264 is not supported by this browser", "stream-message-no-h264")
hr
table(class="kv")
tr(id="stream-resolution" class="feature-disabled")
@ -85,7 +85,7 @@ li(id="system-dropdown" class="right")
div(class="spoiler")
table(class="kv")
tr
+menu_switch_notable("hid-keyboard-swap-cc-switch", "Swap Left Ctrl and Caps keys", true, false)
+menu_switch_notable("hid-keyboard-swap-cc-switch", "Swap Left Ctrl and Caps keys", true, false, "hid-keyboard-swap-cc-switch")
hr
table(class="kv")
tr
@ -97,7 +97,7 @@ li(id="system-dropdown" class="right")
td(class="value-slider") #[input(disabled type="range" id="hid-mouse-sens-slider" class="slider")]
td(id="hid-mouse-sens-value" class="value-number")
tr(id="hid-mouse-squash" class="feature-disabled")
+menu_switch_notable("hid-mouse-squash-switch", "Squash relative moves", true, true)
+menu_switch_notable("hid-mouse-squash-switch", "Squash relative moves", true, true, "hid-mouse-squash-switch")
tr
td(i18n="kvm_text28") Reverse scrolling:
td
@ -107,27 +107,27 @@ li(id="system-dropdown" class="right")
td &nbsp;&nbsp;
+menu_switch_notable("hid-mouse-reverse-panning-switch", "X", true, false)
tr
+menu_switch_notable("hid-mouse-cumulative-scrolling-switch", "Cumulative scrolling", true, false)
+menu_switch_notable("hid-mouse-cumulative-scrolling-switch", "Cumulative scrolling", true, false,"hid-mouse-cumulative-scrolling-switch")
tr
td(i18n="kvm_text29") Scroll rate:
td(class="value-slider") #[input(type="range" id="hid-mouse-scroll-slider" class="slider")]
td(id="hid-mouse-scroll-value" class="value-number")
tr
+menu_switch_notable("hid-mouse-dot-switch", "Show the blue dot", true, true)
+menu_switch_notable("hid-mouse-dot-switch", "Show the blue dot", true, true, "hid-mouse-dot-switch")
table(class="kv")
tr(id="hid-connect" class="feature-disabled")
+menu_switch_notable("hid-connect-switch", "Connect HID to Server", true, true)
+menu_switch_notable("hid-connect-switch", "Connect HID to Server", true, true, "hid-connect-switch")
tr(id="hid-jiggler" class="feature-disabled")
+menu_switch_notable("hid-jiggler-switch", "<a href=\"https://docs.pikvm.org/mouse_jiggler\" target=\"_blank\">Mouse jiggler</a>", false, false)
+menu_switch_notable("hid-jiggler-switch", "<a href=\"https://docs.pikvm.org/mouse_jiggler\" target=\"_blank\">Mouse jiggler</a>", false, false,"hid-jiggler-switch")
tr
+menu_switch_notable("hid-mute-switch", "Mute HID input events", true, false)
+menu_switch_notable("hid-mute-switch", "Mute HID input events", true, false, "hid-mute-switch")
tr(id="v3-usb-breaker" class="feature-disabled")
+menu_switch_notable_gpio("__v3_usb_breaker__", "Connect main USB to Server",
"Turning off this switch will disconnect the main USB<br>from the server. Are you sure you want to continue?")
tr(id="v4-locator" class="feature-disabled")
+menu_switch_notable_gpio("__v4_locator__", "Enable locator LED")
tr
+menu_switch_notable("page-close-ask-switch", "Ask page close confirmation", true, true)
+menu_switch_notable("page-close-ask-switch", "Ask page close confirmation", true, true, "page-close-ask-switch")
hr
div(class="buttons buttons-row")
button(data-force-hide-menu data-show-window="keyboard-window" class="row50" i18n="kvm_text30") &bull; Show keyboard

View File

@ -18,9 +18,9 @@ li(id="text-dropdown" class="right")
select(id="hid-pak-keymap-selector")
table(class="kv")
tr
+menu_switch_notable("hid-pak-ask-switch", "Ask paste confirmation", true, true)
+menu_switch_notable("hid-pak-ask-switch", "Ask paste confirmation", true, true, "hid-pak-ask-switch")
tr(id="hid-pak-secure" class="feature-disabled")
+menu_switch_notable("hid-pak-secure-switch", "Hide input text", true, false)
+menu_switch_notable("hid-pak-secure-switch", "Hide input text", true, false,"hid-pak-secure-switch")
div(id="stream-ocr" class="feature-disabled")
hr
br

View File

@ -1,12 +1,12 @@
mixin navbar_led(id, icon, cls="led-gray")
img(id=id, class=cls src=`${svg_dir}/${icon}.svg`)
mixin menu_message(icon, short, classes="")
mixin menu_message(icon, short, classes="", i18nid)
div(class="text")
table
tr
td(rowspan="2") #[img(class=`sign ${classes}` src=`${svg_dir}/${icon}.svg`)]
td(style="line-height:1.5") #[b #{short}]
td(style="line-height:1.5") #[b(i18n=i18nid) #{short}]
if block
tr
td
@ -23,8 +23,8 @@ mixin menu_switch_notable_gpio(channel, title, confirm_off="")
span(class="switch-inner")
span(class="switch")
mixin menu_switch_notable(id, title, enabled, checked)
td !{title}:
mixin menu_switch_notable(id, title, enabled, checked, i18nid)
td(i18n=i18nid) !{title}:
td(align="right")
div(class="switch-box")
input(checked=checked disabled=!enabled type="checkbox" id=id)
@ -32,10 +32,10 @@ mixin menu_switch_notable(id, title, enabled, checked)
span(class="switch-inner")
span(class="switch")
mixin menu_switch(id, title, enabled, checked)
mixin menu_switch(id, title, enabled, checked, i18nid)
table(class="kv")
tr
+menu_switch_notable(id, title, enabled, checked)
+menu_switch_notable(id, title, enabled, checked, i18nid)
ul(id="navbar")
li(class="left")

View File

@ -1,7 +1,7 @@
mixin about_tab(name, title, checked=false)
mixin about_tab(name, title, checked=false, i18nid)
- let button_id = `about-tab-${name}-button`
input(checked=checked type="radio" name="about-tab-button", id=button_id)
label(for=button_id) #{title}
label(for=button_id i18n=i18nid) #{title}
div(class="tab")
div(id=`about-${name}` class="code")
if block
@ -28,11 +28,11 @@ div(id="about-window" class="window")
| Copyright &copy; 2018-2024 #[a(target="_blank" href="mailto:mdevaev@gmail.com") Maxim Devaev]
br
div(class="tabs-box")
+about_tab("meta", "Meta", true)
+about_tab("hardware", "Hardware")
+about_tab("version", "Version")
+about_tab("meta", "Meta", true, "meta")
+about_tab("hardware", "Hardware", "hardware")
+about_tab("version", "Version", "version")
+about_tab("thanks", "Thanks")
+about_tab("thanks", "Thanks", "thanks")
span(class="code-comment" i18n="kvm_text2")
| // These kind people donated money to the PiKVM project#[br]
| // and supported the work on it. We are very grateful#[br]

View File

@ -25,7 +25,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
<title>PiKVM Login</title>
<title>One-KVM Login</title>
<link rel="apple-touch-icon" sizes="180x180" href="/share/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/share/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/share/favicon-16x16.png">

View File

@ -1,7 +1,7 @@
extends ../base.pug
append vars
- title = "PiKVM Login"
- title = "One-KVM Login"
- main_js = "login/main"
- css_list = css_list.concat(["window", "modal", "login/login"])

View File

@ -89,5 +89,52 @@
"kvm_text56":"Shortcuts",
"kvm_text57":"Quick keyboard shortcuts<br>",
"kvm_text58":"Also see <i>System &rarr; Show keyboard<i>",
"kvm_text59":"help"
"kvm_text59":"help",
"kvm_text60":"Drive",
"kvm_text61":"Mass Storage Drive:",
"kvm_text62":"Image:",
"kvm_text63":"Drive <a target=\"_blank\" href=\"https://docs.pikvm.org/msd\">mode</a>:",
"kvm_text64":"Select image to upload",
"kvm_text65":"Upload",
"kvm_text66":"Abort",
"kvm_text68":"Specify a local file:",
"kvm_text69":"<b>Or</b> paste a URL:",
"kvm_text70":"Upload partition:",
"kvm_text71":"Note:",
"kvm_text72":"&bull; Don't close the browser page until the upload is complete.",
"kvm_text73":"&bull; To speed up the upload, close the stream window.",
"kvm_text74":"New image:",
"kvm_text75":"Upload size:",
"kvm_text76":"Connect drive to Server",
"kvm_text77":"Disconnect",
"kvm_text78":"Reset",
"atx-ask-switch":"Ask click confirmation",
"hid-recorder-loop-switch":"Infinite loop playback",
"msd-rw-switch":"Writable",
"hid-sysrq-ask-switch":"Ask the magic confirmation",
"hid-keyboard-swap-cc-switch":"Swap Left Ctrl and Caps keys",
"hid-mouse-squash-switch":"Squash relative moves",
"hid-mouse-cumulative-scrolling-switch":"Cumulative scrolling",
"hid-mouse-dot-switch":"Show the blue dot",
"hid-connect-switch":"Connect HID to Server",
"hid-jiggler-switch":"<a href=\"https://docs.pikvm.org/mouse_jiggler\" target=\"_blank\">Mouse jiggler</a>",
"hid-mute-switch":"Mute HID input events",
"page-close-ask-switch":"Ask page close confirmation",
"hid-pak-ask-switch":"Ask paste confirmation",
"hid-pak-secure-switch":"Hide input text",
"meta":"Meta",
"hardware":"Hardware",
"version":"Version",
"thanks":"Thanks",
"stream-message-no-webrtc":"WebRTC is not supported by this browser",
"stream-message-no-h264":"H.264 is not supported by this browser",
"msd-message-offline":"Mass Storage Drive is offline",
"msd-message-image-broken":"Current image is broken!",
"msd-message-too-big-for-cdrom":"Current image is too big for CD-ROM!",
"msd-message-out-of-storage":"Current image is out of storage",
"msd-message-rw-enabled":"Read-write mode is enabled",
"msd-message-downloads":"The image is being downloaded from One-KVM",
"msd-message-another-user-uploads":"Another user uploads an image"
}

View File

@ -89,5 +89,52 @@
"kvm_text56":"快捷键",
"kvm_text57":"键盘快捷键<br>",
"kvm_text58":"也可以查看 <i>系统 &rarr; 显示键盘<i>",
"kvm_text59":"帮助"
"kvm_text59":"帮助",
"kvm_text60":"驱动器",
"kvm_text61":"虚拟存储驱动器",
"kvm_text62":"镜像:",
"kvm_text63":"驱动<a target=\"_blank\" href=\"https://docs.pikvm.org/msd\">模式</a>:",
"kvm_text64":"选择要上传的镜像",
"kvm_text65":"上传",
"kvm_text66":"中止",
"kvm_text68":"指定本地文件:",
"kvm_text69":"<b>或者</b>粘贴 URL:",
"kvm_text70":"上传分区:",
"kvm_text71":"注意:",
"kvm_text72":"&bull; 在上传完成之前,不要关闭浏览器页面。",
"kvm_text73":"&bull; 要加快上传速度,请关闭视频流窗口。",
"kvm_text74":"新镜像:",
"kvm_text75":"上传大小:",
"kvm_text76":"连接 MSD 到主机",
"kvm_text77":"断开连接",
"kvm_text78":"重置",
"atx-ask-switch":"点击二次确认",
"hid-recorder-loop-switch":"无限循环重放",
"msd-rw-switch":"读写",
"hid-sysrq-ask-switch":"魔法键二次确认",
"hid-keyboard-swap-cc-switch":"交换左 Ctrl 键和大写字母键",
"hid-mouse-squash-switch":"减少相对移动",
"hid-mouse-cumulative-scrolling-switch":"累加滚动",
"hid-mouse-dot-switch":"显示蓝色圆点",
"hid-connect-switch":"连接 HID 到主机",
"hid-jiggler-switch":"<a href=\"https://docs.pikvm.org/mouse_jiggler\" target=\"_blank\">鼠标抖动器</a>",
"hid-mute-switch":"屏蔽 HID 输入事件",
"page-close-ask-switch":"页面关闭二次确认",
"hid-pak-ask-switch":"粘贴二次确认",
"hid-pak-secure-switch":"隐藏输入文本",
"meta":"元数据",
"hardware":"硬件",
"version":"版本",
"thanks":"鸣谢",
"stream-message-no-webrtc":"当前浏览器不支持 WebRTC",
"stream-message-no-h264":"当前浏览器不支持 H.264",
"msd-message-offline":"虚拟存储驱动器已离线",
"msd-message-image-broken":"当前镜像已损坏!",
"msd-message-too-big-for-cdrom":"当前 CD-ROM 格式镜像大小超出限制!",
"msd-message-out-of-storage":"当前镜像大小超出存储空间",
"msd-message-rw-enabled":"读写模式以启用",
"msd-message-downloads":"正在从 One-KVM 下载镜像",
"msd-message-another-user-uploads":"另一个用户正在上传镜像"
}

View File

@ -1,6 +1,6 @@
{
"name": "PiKVM",
"short_name": "PiKVM",
"name": "One-KVM",
"short_name": "One-KVM",
"start_url": "/",
"icons": [
{

View File

@ -25,7 +25,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
<title>PiKVM VNC info</title>
<title>One-KVM VNC info</title>
<link rel="apple-touch-icon" sizes="180x180" href="/share/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/share/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/share/favicon-16x16.png">

View File

@ -1,7 +1,7 @@
extends ../start.pug
append vars
- title = "PiKVM VNC info"
- title = "One-KVM VNC info"
- main_js = "vnc/main"
- index_link = true