From e132b2948554563d28b0f85bc9018cb8f7f34469 Mon Sep 17 00:00:00 2001 From: "Shishkevich D." <135337715+shishkevichd@users.noreply.github.com> Date: Fri, 4 Apr 2025 08:12:21 +0000 Subject: [PATCH] refactor: add translations for system status --- web/assets/js/util/index.js | 4 -- web/html/index.html | 91 +++++++++++++++++++--------- web/html/xray.html | 4 +- web/translation/translate.en_US.toml | 15 ++++- web/translation/translate.es_ES.toml | 17 +++++- web/translation/translate.fa_IR.toml | 17 +++++- web/translation/translate.id_ID.toml | 15 ++++- web/translation/translate.ja_JP.toml | 17 +++++- web/translation/translate.pt_BR.toml | 17 +++++- web/translation/translate.ru_RU.toml | 17 +++++- web/translation/translate.tr_TR.toml | 15 ++++- web/translation/translate.uk_UA.toml | 17 +++++- web/translation/translate.vi_VN.toml | 17 +++++- web/translation/translate.zh_CN.toml | 15 ++++- web/translation/translate.zh_TW.toml | 15 ++++- 15 files changed, 238 insertions(+), 55 deletions(-) diff --git a/web/assets/js/util/index.js b/web/assets/js/util/index.js index 93416abe..8178e5ab 100644 --- a/web/assets/js/util/index.js +++ b/web/assets/js/util/index.js @@ -558,10 +558,6 @@ class CPUFormatter { static cpuSpeedFormat(speed) { return speed > 1000 ? (speed / 1000).toFixed(2) + " GHz" : speed.toFixed(2) + " MHz"; } - - static cpuCoreFormat(cores) { - return cores === 1 ? "1 Core" : cores + " Cores"; - } } class TimeFormatter { diff --git a/web/html/index.html b/web/html/index.html index 76c8642f..07e957f7 100644 --- a/web/html/index.html +++ b/web/html/index.html @@ -95,7 +95,7 @@ <template> <a-row v-if="!status.isLoaded"> <a-card hoverable :style="{ textAlign: 'center', padding: '30px 0', marginTop: '10px', background: 'transparent' }"> - <a-spin tip="Loading..."></a-spin> + <a-spin tip='{{ i18n "loading" }}'></a-spin> </a-card> </a-row> <a-row v-else> @@ -108,20 +108,31 @@ <a-progress type="dashboard" status="normal" :stroke-color="status.cpu.color" :percent="status.cpu.percent"></a-progress> - <div><b>CPU:</b> [[ CPUFormatter.cpuCoreFormat(status.cpuCores) ]] <a-tooltip> - <a-icon type="area-chart"></a-icon> - <template slot="title"> - <div><b>Logical Processors:</b> [[ (status.logicalPro) ]]</div> - <div><b>Speed:</b> [[ CPUFormatter.cpuSpeedFormat(status.cpuSpeedMhz) ]]</div> - </template> - </a-tooltip></div> + <div> + <span>{{ i18n "pages.index.cpu" }}</span> + <a-tooltip> + <a-icon type="area-chart"></a-icon> + <template slot="title"> + <div><b>{{ i18n "pages.index.cpuCores" }}:</b> [[ (status.cpuCores) ]]</div> + <div><b>{{ i18n "pages.index.logicalProcessors" }}:</b> [[ (status.logicalPro) ]]</div> + <div><b>{{ i18n "pages.index.frequency" }}:</b> [[ CPUFormatter.cpuSpeedFormat(status.cpuSpeedMhz) ]]</div> + </template> + </a-tooltip> + </div> </a-col> <a-col :span="12" :style="{ textAlign: 'center' }"> <a-progress type="dashboard" status="normal" :stroke-color="status.mem.color" :percent="status.mem.percent"></a-progress> <div> - <b>{{ i18n "pages.index.memory"}}:</b> [[ SizeFormatter.sizeFormat(status.mem.current) ]] / [[ SizeFormatter.sizeFormat(status.mem.total) ]] + <span>{{ i18n "pages.index.memory" }}</span> + <a-tooltip> + <a-icon type="area-chart"></a-icon> + <template slot="title"> + <div><b>{{ i18n "pages.index.storageUsed" }}:</b> [[ SizeFormatter.sizeFormat(status.mem.current) ]]</div> + <div><b>{{ i18n "pages.index.storageTotal" }}:</b> [[ SizeFormatter.sizeFormat(status.mem.total) ]]</div> + </template> + </a-tooltip> </div> </a-col> </a-row> @@ -133,7 +144,14 @@ :stroke-color="status.swap.color" :percent="status.swap.percent"></a-progress> <div> - <b>Swap:</b> [[ SizeFormatter.sizeFormat(status.swap.current) ]] / [[ SizeFormatter.sizeFormat(status.swap.total) ]] + <span>{{ i18n "pages.index.swap" }}</span> + <a-tooltip> + <a-icon type="area-chart"></a-icon> + <template slot="title"> + <div><b>{{ i18n "pages.index.storageUsed" }}:</b> [[ SizeFormatter.sizeFormat(status.swap.current) ]]</div> + <div><b>{{ i18n "pages.index.storageTotal" }}:</b> [[ SizeFormatter.sizeFormat(status.swap.total) ]]</div> + </template> + </a-tooltip> </div> </a-col> <a-col :span="12" :style="{ textAlign: 'center' }"> @@ -141,7 +159,14 @@ :stroke-color="status.disk.color" :percent="status.disk.percent"></a-progress> <div> - <b>{{ i18n "pages.index.hard"}}:</b> [[ SizeFormatter.sizeFormat(status.disk.current) ]] / [[ SizeFormatter.sizeFormat(status.disk.total) ]] + <span>{{ i18n "pages.index.storage" }}</span> + <a-tooltip> + <a-icon type="area-chart"></a-icon> + <template slot="title"> + <div><b>{{ i18n "pages.index.storageUsed" }}:</b> [[ SizeFormatter.sizeFormat(status.disk.current) ]]</div> + <div><b>{{ i18n "pages.index.storageTotal" }}:</b> [[ SizeFormatter.sizeFormat(status.disk.total) ]]</div> + </template> + </a-tooltip> </div> </a-col> </a-row> @@ -160,18 +185,25 @@ </a-space> </template> <template #extra> - <template v-if="status.xray.state != State.Error"> - <a-badge status="processing" class="running-animation" :text="status.xray.state" :color="status.xray.color" :style="{ textTransform: 'capitalize' }"/> + <template v-if="status.xray.state != 'error'"> + <a-badge status="processing" class="running-animation" :text="status.xray.stateMsg" :color="status.xray.color"/> </template> <template v-else> <a-popover :overlay-class-name="themeSwitcher.currentTheme"> - <span slot="title" :style="{ fontSize: '12pt' }">An error occurred while running Xray - <a-tag color="purple" :style="{ cursor: 'pointer', float: 'right' }" @click="openLogs()">{{ i18n "pages.index.logs" }}</a-tag> + <span slot="title"> + <a-row type="flex" align="middle" justify="space-between"> + <a-col> + <span>{{ i18n "pages.index.xrayErrorPopoverTitle" }}</span> + </a-col> + <a-col> + <a-icon type="bars" :style="{ cursor: 'pointer', float: 'right' }" @click="openLogs()"></a-tag> + </a-col> + </a-row> </span> <template slot="content"> - <p :style="{ maxWidth: '400px' }" v-for="line in status.xray.errorMsg.split('\n')">[[ line ]]</p> + <span :style="{ maxWidth: '400px' }" v-for="line in status.xray.errorMsg.split('\n')">[[ line ]]</span> </template> - <a-badge :text="status.xray.state" :color="status.xray.color" :style="{ textTransform: 'capitalize' }"/> + <a-badge :text="status.xray.stateMsg" :color="status.xray.color"/> </a-popover> </template> </template> @@ -237,8 +269,8 @@ </a-col> <a-col :sm="24" :lg="12"> <a-card title='{{ i18n "usage"}}' hoverable> - <a-tag color="green"> RAM: [[ SizeFormatter.sizeFormat(status.appStats.mem) ]] </a-tag> - <a-tag color="green"> Threads: [[ status.appStats.threads ]] </a-tag> + <a-tag color="green"> {{ i18n "pages.index.memory" }}: [[ SizeFormatter.sizeFormat(status.appStats.mem) ]] </a-tag> + <a-tag color="green"> {{ i18n "pages.index.threads" }}: [[ status.appStats.threads ]] </a-tag> </a-card> </a-col> <a-col :sm="24" :lg="12"> @@ -427,13 +459,6 @@ {{template "component/aCustomStatistic" .}} {{template "modals/textModal"}} <script> - const State = { - Running: "running", - Stop: "stop", - Error: "error", - } - Object.freeze(State); - class CurTotal { constructor(current, total) { @@ -478,7 +503,8 @@ this.uptime = 0; this.appUptime = 0; this.appStats = {threads: 0, mem: 0, uptime: 0}; - this.xray = { state: State.Stop, errorMsg: "", version: "", color: "" }; + + this.xray = { state: 'stop', stateMsg: "", errorMsg: "", version: "", color: "" }; if (data == null) { return; @@ -503,17 +529,22 @@ this.appStats = data.appStats; this.xray = data.xray; switch (this.xray.state) { - case State.Running: + case 'running': this.xray.color = "green"; + this.xray.stateMsg = '{{ i18n "pages.index.xrayStatusRunning" }}'; break; - case State.Stop: + case 'stop': this.xray.color = "orange"; + this.xray.stateMsg = '{{ i18n "pages.index.xrayStatusStop" }}'; break; - case State.Error: + case 'error': this.xray.color = "red"; + this.xray.stateMsg ='{{ i18n "pages.index.xrayStatusError" }}'; break; default: this.xray.color = "gray"; + this.xray.stateMsg = '{{ i18n "pages.index.xrayStatusUnknown" }}'; + break; } } } diff --git a/web/html/xray.html b/web/html/xray.html index 660de495..1e9103fa 100644 --- a/web/html/xray.html +++ b/web/html/xray.html @@ -66,9 +66,9 @@ <a-button type="danger" :disabled="!saveBtnDisable" @click="restartXray">{{ i18n "pages.xray.restart" }}</a-button> <a-popover v-if="restartResult" :overlay-class-name="themeSwitcher.currentTheme"> - <span slot="title" :style="{ fontSize: '12pt' }">Error in running xray-core</span> + <span slot="title">{{ i18n "pages.index.xrayErrorPopoverTitle" }}</span> <template slot="content"> - <p :style="{ maxWidth: '400px' }" v-for="line in restartResult.split('\n')">[[ line ]]</p> + <span :style="{ maxWidth: '400px' }" v-for="line in restartResult.split('\n')">[[ line ]]</span> </template> <a-icon type="question-circle"></a-icon> </a-popover> diff --git a/web/translation/translate.en_US.toml b/web/translation/translate.en_US.toml index ee47589b..5aecf8d8 100644 --- a/web/translation/translate.en_US.toml +++ b/web/translation/translate.en_US.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "Overview" +"cpu" = "CPU" +"cpuCores" = "Cores" +"logicalProcessors" = "Logical Processors" +"frequency" = "Frequency" +"swap" = "Swap" +"storage" = "Storage" +"storageUsed" = "Used" +"storageTotal" = "Total" "memory" = "RAM" -"hard" = "Disk" +"threads" = "Threads" "xrayStatus" = "Xray" "stopXray" = "Stop" "restartXray" = "Restart" "xraySwitch" = "Version" "xraySwitchClick" = "Choose the version you want to switch to." "xraySwitchClickDesk" = "Choose carefully, as older versions may not be compatible with current configurations." +"xrayStatusUnknown" = "Unknown" +"xrayStatusRunning" = "Running" +"xrayStatusStop" = "Stop" +"xrayStatusError" = "Error" +"xrayErrorPopoverTitle" = "An error occurred while running Xray" "operationHours" = "Uptime" "systemLoad" = "System Load" "systemLoadDesc" = "System load average for the past 1, 5, and 15 minutes" diff --git a/web/translation/translate.es_ES.toml b/web/translation/translate.es_ES.toml index 086e51b4..40f29363 100644 --- a/web/translation/translate.es_ES.toml +++ b/web/translation/translate.es_ES.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "Estado del Sistema" -"memory" = "Memoria" -"hard" = "Disco Duro" +"cpu" = "CPU" +"cpuCores" = "Núcleos" +"logicalProcessors" = "Procesadores lógicos" +"frequency" = "Frecuencia" +"swap" = "Intercambio" +"storage" = "Almacenamiento" +"storageUsed" = "Usado" +"storageTotal" = "Total" +"memory" = "RAM" +"threads" = "Hilos" "xrayStatus" = "Xray" "stopXray" = "Detener" "restartXray" = "Reiniciar" "xraySwitch" = "Versión" "xraySwitchClick" = "Elige la versión a la que deseas cambiar." "xraySwitchClickDesk" = "Elige sabiamente, ya que las versiones anteriores pueden no ser compatibles con las configuraciones actuales." +"xrayStatusUnknown" = "Desconocido" +"xrayStatusRunning" = "En ejecución" +"xrayStatusStop" = "Detenido" +"xrayStatusError" = "Error" +"xrayErrorPopoverTitle" = "Se produjo un error al ejecutar Xray" "operationHours" = "Tiempo de Funcionamiento" "systemLoad" = "Carga del Sistema" "systemLoadDesc" = "promedio de carga del sistema en los últimos 1, 5 y 15 minutos" diff --git a/web/translation/translate.fa_IR.toml b/web/translation/translate.fa_IR.toml index c44ca64e..d10dd2b8 100644 --- a/web/translation/translate.fa_IR.toml +++ b/web/translation/translate.fa_IR.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "نمای کلی" -"memory" = "RAM" -"hard" = "Disk" +"cpu" = "پردازنده" +"cpuCores" = "هستهها" +"logicalProcessors" = "پردازندههای منطقی" +"frequency" = "فرکانس" +"swap" = "سواپ" +"storage" = "ذخیرهسازی" +"storageUsed" = "استفاده شده" +"storageTotal" = "کل" +"memory" = "حافظه رم" +"threads" = "رشتهها" "xrayStatus" = "ایکسری" "stopXray" = "توقف" "restartXray" = "شروعمجدد" "xraySwitch" = "نسخه" "xraySwitchClick" = "نسخه مورد نظر را انتخاب کنید" "xraySwitchClickDesk" = "لطفا بادقت انتخاب کنید. درصورت انتخاب نسخه قدیمیتر، امکان ناهماهنگی با پیکربندی فعلی وجود دارد" +"xrayStatusUnknown" = "ناشناخته" +"xrayStatusRunning" = "در حال اجرا" +"xrayStatusStop" = "متوقف" +"xrayStatusError" = "خطا" +"xrayErrorPopoverTitle" = "خطا در هنگام اجرای Xray رخ داد" "operationHours" = "مدتکارکرد" "systemLoad" = "بارسیستم" "systemLoadDesc" = "میانگین بار سیستم برای 1، 5 و 15 دقیقه گذشته" diff --git a/web/translation/translate.id_ID.toml b/web/translation/translate.id_ID.toml index cf94275e..4a3e96f0 100644 --- a/web/translation/translate.id_ID.toml +++ b/web/translation/translate.id_ID.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "Ikhtisar" +"cpu" = "CPU" +"cpuCores" = "Inti" +"logicalProcessors" = "Prosesor logis" +"frequency" = "Frekuensi" +"swap" = "Swap" +"storage" = "Penyimpanan" +"storageUsed" = "Digunakan" +"storageTotal" = "Total" "memory" = "RAM" -"hard" = "Disk" +"threads" = "Thread" "xrayStatus" = "Xray" "stopXray" = "Stop" "restartXray" = "Restart" "xraySwitch" = "Versi" "xraySwitchClick" = "Pilih versi yang ingin Anda pindah." "xraySwitchClickDesk" = "Pilih dengan hati-hati, karena versi yang lebih lama mungkin tidak kompatibel dengan konfigurasi saat ini." +"xrayStatusUnknown" = "Tidak diketahui" +"xrayStatusRunning" = "Berjalan" +"xrayStatusStop" = "Berhenti" +"xrayStatusError" = "Kesalahan" +"xrayErrorPopoverTitle" = "Terjadi kesalahan saat menjalankan Xray" "operationHours" = "Waktu Aktif" "systemLoad" = "Beban Sistem" "systemLoadDesc" = "Rata-rata beban sistem selama 1, 5, dan 15 menit terakhir" diff --git a/web/translation/translate.ja_JP.toml b/web/translation/translate.ja_JP.toml index 986c49b6..4d6ed4fb 100644 --- a/web/translation/translate.ja_JP.toml +++ b/web/translation/translate.ja_JP.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "システムステータス" -"memory" = "メモリ" -"hard" = "ハードディスク" +"cpu" = "CPU" +"cpuCores" = "コア" +"logicalProcessors" = "論理プロセッサ" +"frequency" = "周波数" +"swap" = "スワップ" +"storage" = "ストレージ" +"storageUsed" = "使用済み" +"storageTotal" = "合計" +"memory" = "RAM" +"threads" = "スレッド" "xrayStatus" = "Xray" "stopXray" = "停止" "restartXray" = "再起動" "xraySwitch" = "バージョン" "xraySwitchClick" = "切り替えるバージョンを選択してください" "xraySwitchClickDesk" = "慎重に選択してください。古いバージョンは現在の設定と互換性がない可能性があります。" +"xrayStatusUnknown" = "不明" +"xrayStatusRunning" = "実行中" +"xrayStatusStop" = "停止" +"xrayStatusError" = "エラー" +"xrayErrorPopoverTitle" = "Xrayの実行中にエラーが発生しました" "operationHours" = "システム稼働時間" "systemLoad" = "システム負荷" "systemLoadDesc" = "過去1、5、15分間のシステム平均負荷" diff --git a/web/translation/translate.pt_BR.toml b/web/translation/translate.pt_BR.toml index f4ea9ffc..ff270f7d 100644 --- a/web/translation/translate.pt_BR.toml +++ b/web/translation/translate.pt_BR.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "Visão Geral" -"memory" = "Memória RAM" -"hard" = "Disco" +"cpu" = "CPU" +"cpuCores" = "Núcleos" +"logicalProcessors" = "Processadores lógicos" +"frequency" = "Frequência" +"swap" = "Swap" +"storage" = "Armazenamento" +"storageUsed" = "Usado" +"storageTotal" = "Total" +"memory" = "RAM" +"threads" = "Threads" "xrayStatus" = "Xray" "stopXray" = "Parar" "restartXray" = "Reiniciar" "xraySwitch" = "Versão" "xraySwitchClick" = "Escolha a versão para a qual deseja alternar." "xraySwitchClickDesk" = "Escolha com cuidado, pois versões mais antigas podem não ser compatíveis com as configurações atuais." +"xrayStatusUnknown" = "Desconhecido" +"xrayStatusRunning" = "Em execução" +"xrayStatusStop" = "Parado" +"xrayStatusError" = "Erro" +"xrayErrorPopoverTitle" = "Ocorreu um erro ao executar o Xray" "operationHours" = "Tempo de Atividade" "systemLoad" = "Carga do Sistema" "systemLoadDesc" = "Média de carga do sistema nos últimos 1, 5 e 15 minutos" diff --git a/web/translation/translate.ru_RU.toml b/web/translation/translate.ru_RU.toml index 931bed54..31996c10 100644 --- a/web/translation/translate.ru_RU.toml +++ b/web/translation/translate.ru_RU.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "Статус системы" -"memory" = "Память" -"hard" = "Жесткий диск" +"cpu" = "ЦП" +"cpuCores" = "Ядра" +"logicalProcessors" = "Логические процессоры" +"frequency" = "Частота" +"swap" = "Файл подкачки" +"storage" = "Хранилище" +"storageUsed" = "Использовано" +"storageTotal" = "Всего" +"memory" = "ОЗУ" +"threads" = "Потоки" "xrayStatus" = "Xray" "stopXray" = "Остановить" "restartXray" = "Перезапустить" "xraySwitch" = "Выбор версии" "xraySwitchClick" = "Выберите желаемую версию" "xraySwitchClickDesk" = "Обратите внимание: старые версии могут не поддерживать текущие настройки" +"xrayStatusUnknown" = "Неизвестно" +"xrayStatusRunning" = "Запущен" +"xrayStatusStop" = "Остановлен" +"xrayStatusError" = "Ошибка" +"xrayErrorPopoverTitle" = "Произошла ошибка при запуске Xray" "operationHours" = "Время работы системы" "systemLoad" = "Нагрузка на систему" "systemLoadDesc" = "Средняя загрузка системы за последние 1, 5 и 15 минут" diff --git a/web/translation/translate.tr_TR.toml b/web/translation/translate.tr_TR.toml index c71350bf..f33a4c25 100644 --- a/web/translation/translate.tr_TR.toml +++ b/web/translation/translate.tr_TR.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "Genel Bakış" +"cpu" = "İşlemci" +"cpuCores" = "Çekirdekler" +"logicalProcessors" = "Mantıksal işlemciler" +"frequency" = "Frekans" +"swap" = "Takas" +"storage" = "Depolama" +"storageUsed" = "Kullanılan" +"storageTotal" = "Toplam" "memory" = "RAM" -"hard" = "Disk" +"threads" = "İş parçacıkları" "xrayStatus" = "Xray" "stopXray" = "Durdur" "restartXray" = "Yeniden Başlat" "xraySwitch" = "Sürüm" "xraySwitchClick" = "Geçiş yapmak istediğiniz sürümü seçin." "xraySwitchClickDesk" = "Dikkatli seçin, eski sürümler mevcut yapılandırmalarla uyumlu olmayabilir." +"xrayStatusUnknown" = "Bilinmiyor" +"xrayStatusRunning" = "Çalışıyor" +"xrayStatusStop" = "Durduruldu" +"xrayStatusError" = "Hata" +"xrayErrorPopoverTitle" = "Xray çalıştırılırken bir hata oluştu" "operationHours" = "Çalışma Süresi" "systemLoad" = "Sistem Yükü" "systemLoadDesc" = "Geçmiş 1, 5 ve 15 dakika için sistem yük ortalaması" diff --git a/web/translation/translate.uk_UA.toml b/web/translation/translate.uk_UA.toml index 5ee5b8b1..7e501ab6 100644 --- a/web/translation/translate.uk_UA.toml +++ b/web/translation/translate.uk_UA.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "Огляд" -"memory" = "Пам'ять" -"hard" = "Диск" +"cpu" = "ЦП" +"cpuCores" = "Ядра" +"logicalProcessors" = "Логічні процесори" +"frequency" = "Частота" +"swap" = "Своп" +"storage" = "Сховище" +"storageUsed" = "Використано" +"storageTotal" = "Всього" +"memory" = "ОЗП" +"threads" = "Потоки" "xrayStatus" = "Xray" "stopXray" = "Зупинити" "restartXray" = "Перезапустити" "xraySwitch" = "Версія" "xraySwitchClick" = "Виберіть версію, на яку ви хочете перейти." "xraySwitchClickDesk" = "Вибирайте уважно, оскільки старіші версії можуть бути несумісними з поточними конфігураціями." +"xrayStatusUnknown" = "Невідомо" +"xrayStatusRunning" = "Запущено" +"xrayStatusStop" = "Зупинено" +"xrayStatusError" = "Помилка" +"xrayErrorPopoverTitle" = "Під час роботи Xray сталася помилка" "operationHours" = "Час роботи" "systemLoad" = "Завантаження системи" "systemLoadDesc" = "Середнє завантаження системи за останні 1, 5 і 15 хвилин" diff --git a/web/translation/translate.vi_VN.toml b/web/translation/translate.vi_VN.toml index a4c4e77c..73f81319 100644 --- a/web/translation/translate.vi_VN.toml +++ b/web/translation/translate.vi_VN.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "Trạng thái hệ thống" -"memory" = "Ram" -"hard" = "Dung lượng" +"cpu" = "CPU" +"cpuCores" = "Nhân" +"logicalProcessors" = "Bộ xử lý logic" +"frequency" = "Tần số" +"swap" = "Swap" +"storage" = "Lưu trữ" +"storageUsed" = "Đã dùng" +"storageTotal" = "Tổng" +"memory" = "RAM" +"threads" = "Luồng" "xrayStatus" = "Xray" "stopXray" = "Dừng lại" "restartXray" = "Khởi động lại" "xraySwitch" = "Phiên bản" "xraySwitchClick" = "Chọn phiên bản mà bạn muốn chuyển đổi sang." "xraySwitchClickDesk" = "Hãy lựa chọn thận trọng, vì các phiên bản cũ có thể không tương thích với các cấu hình hiện tại." +"xrayStatusUnknown" = "Không xác định" +"xrayStatusRunning" = "Đang chạy" +"xrayStatusStop" = "Dừng" +"xrayStatusError" = "Lỗi" +"xrayErrorPopoverTitle" = "Đã xảy ra lỗi khi chạy Xray" "operationHours" = "Thời gian hoạt động" "systemLoad" = "Tải hệ thống" "systemLoadDesc" = "trung bình tải hệ thống trong 1, 5 và 15 phút qua" diff --git a/web/translation/translate.zh_CN.toml b/web/translation/translate.zh_CN.toml index a04f1ee8..dd3dbfed 100644 --- a/web/translation/translate.zh_CN.toml +++ b/web/translation/translate.zh_CN.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "系统状态" +"cpu" = "CPU" +"cpuCores" = "核心" +"logicalProcessors" = "逻辑处理器" +"frequency" = "频率" +"swap" = "交换分区" +"storage" = "存储" +"storageUsed" = "已用" +"storageTotal" = "总计" "memory" = "内存" -"hard" = "磁盘" +"threads" = "线程" "xrayStatus" = "Xray" "stopXray" = "停止" "restartXray" = "重启" "xraySwitch" = "版本" "xraySwitchClick" = "选择你要切换到的版本" "xraySwitchClickDesk" = "请谨慎选择,因为较旧版本可能与当前配置不兼容" +"xrayStatusUnknown" = "未知" +"xrayStatusRunning" = "运行中" +"xrayStatusStop" = "停止" +"xrayStatusError" = "错误" +"xrayErrorPopoverTitle" = "运行Xray时发生错误" "operationHours" = "系统正常运行时间" "systemLoad" = "系统负载" "systemLoadDesc" = "过去 1、5 和 15 分钟的系统平均负载" diff --git a/web/translation/translate.zh_TW.toml b/web/translation/translate.zh_TW.toml index a736af2b..19c136ef 100644 --- a/web/translation/translate.zh_TW.toml +++ b/web/translation/translate.zh_TW.toml @@ -91,14 +91,27 @@ [pages.index] "title" = "系統狀態" +"cpu" = "CPU" +"cpuCores" = "核心" +"logicalProcessors" = "邏輯處理器" +"frequency" = "頻率" +"swap" = "交換空間" +"storage" = "儲存" +"storageUsed" = "已使用" +"storageTotal" = "總計" "memory" = "記憶體" -"hard" = "磁碟" +"threads" = "執行緒" "xrayStatus" = "Xray" "stopXray" = "停止" "restartXray" = "重啟" "xraySwitch" = "版本" "xraySwitchClick" = "選擇你要切換到的版本" "xraySwitchClickDesk" = "請謹慎選擇,因為較舊版本可能與當前配置不相容" +"xrayStatusUnknown" = "未知" +"xrayStatusRunning" = "運行中" +"xrayStatusStop" = "停止" +"xrayStatusError" = "錯誤" +"xrayErrorPopoverTitle" = "執行Xray時發生錯誤" "operationHours" = "系統正常執行時間" "systemLoad" = "系統負載" "systemLoadDesc" = "過去 1、5 和 15 分鐘的系統平均負載"