mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2024-11-22 07:10:09 +01:00
Update both Chinese languague
This commit is contained in:
parent
d1ea8081e4
commit
eaac12ddc8
@ -760,7 +760,7 @@ class WireguardConfiguration:
|
|||||||
return ResponseObject(False, "Failed to save configuration through WireGuard")
|
return ResponseObject(False, "Failed to save configuration through WireGuard")
|
||||||
|
|
||||||
self.__getPeers()
|
self.__getPeers()
|
||||||
return ResponseObject(True, "Allow access successfully!")
|
return ResponseObject(True, "Allow access successfully")
|
||||||
|
|
||||||
def restrictPeers(self, listOfPublicKeys):
|
def restrictPeers(self, listOfPublicKeys):
|
||||||
numOfRestrictedPeers = 0
|
numOfRestrictedPeers = 0
|
||||||
@ -1049,7 +1049,7 @@ class WireguardConfiguration:
|
|||||||
with open(os.path.join(DashboardConfig.GetConfig("Server", "wg_conf_path")[1], f'{self.Name}.conf'), 'r') as f:
|
with open(os.path.join(DashboardConfig.GetConfig("Server", "wg_conf_path")[1], f'{self.Name}.conf'), 'r') as f:
|
||||||
original = f.readlines()
|
original = f.readlines()
|
||||||
original = [l.rstrip("\n") for l in original]
|
original = [l.rstrip("\n") for l in original]
|
||||||
allowEdit = ["Address", "PreUp", "PostUp", "PreDown", "PostDown", "ListenPost", "PrivateKey"]
|
allowEdit = ["Address", "PreUp", "PostUp", "PreDown", "PostDown", "ListenPost"]
|
||||||
start = original.index("[Interface]")
|
start = original.index("[Interface]")
|
||||||
for line in range(start+1, len(original)):
|
for line in range(start+1, len(original)):
|
||||||
if original[line] == "[Peer]":
|
if original[line] == "[Peer]":
|
||||||
@ -1733,7 +1733,6 @@ def API_addWireguardConfiguration():
|
|||||||
"Address")
|
"Address")
|
||||||
|
|
||||||
if "Backup" in data.keys():
|
if "Backup" in data.keys():
|
||||||
|
|
||||||
if not os.path.exists(os.path.join(
|
if not os.path.exists(os.path.join(
|
||||||
DashboardConfig.GetConfig("Server", "wg_conf_path")[1],
|
DashboardConfig.GetConfig("Server", "wg_conf_path")[1],
|
||||||
'WGDashboard_Backup',
|
'WGDashboard_Backup',
|
||||||
@ -1769,7 +1768,6 @@ def API_updateWireguardConfiguration():
|
|||||||
for i in requiredKeys:
|
for i in requiredKeys:
|
||||||
if i not in data.keys():
|
if i not in data.keys():
|
||||||
return ResponseObject(False, "Please provide these following field: " + ", ".join(requiredKeys))
|
return ResponseObject(False, "Please provide these following field: " + ", ".join(requiredKeys))
|
||||||
|
|
||||||
name = data.get("Name")
|
name = data.get("Name")
|
||||||
if name not in WireguardConfigurations.keys():
|
if name not in WireguardConfigurations.keys():
|
||||||
return ResponseObject(False, "Configuration does not exist")
|
return ResponseObject(False, "Configuration does not exist")
|
||||||
@ -2080,7 +2078,7 @@ def API_addPeers(configName):
|
|||||||
|
|
||||||
config = WireguardConfigurations.get(configName)
|
config = WireguardConfigurations.get(configName)
|
||||||
if not bulkAdd and (len(public_key) == 0 or len(allowed_ips) == 0):
|
if not bulkAdd and (len(public_key) == 0 or len(allowed_ips) == 0):
|
||||||
return ResponseObject(False, "Please provide at lease public_key and allowed_ips")
|
return ResponseObject(False, "Please provide at least public_key and allowed_ips")
|
||||||
if not config.getStatus():
|
if not config.getStatus():
|
||||||
config.toggleConfiguration()
|
config.toggleConfiguration()
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ export default {
|
|||||||
</h6>
|
</h6>
|
||||||
<div class="mb-1">
|
<div class="mb-1">
|
||||||
<small class="text-muted">
|
<small class="text-muted">
|
||||||
Public Key
|
<LocaleText t="Public Key"></LocaleText>
|
||||||
</small>
|
</small>
|
||||||
<small class="d-block">
|
<small class="d-block">
|
||||||
<samp>{{Peer.id}}</samp>
|
<samp>{{Peer.id}}</samp>
|
||||||
|
@ -29,7 +29,7 @@ export default {
|
|||||||
this.store.Configuration.Server.dashboard_language = lang_id;
|
this.store.Configuration.Server.dashboard_language = lang_id;
|
||||||
this.store.Locale = res.data
|
this.store.Locale = res.data
|
||||||
}else{
|
}else{
|
||||||
this.store.newMessage("Server", "Dashboard language update failed", "danger")
|
this.store.newMessage("Server", "WGDashboard language update failed", "danger")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
import subprocess
|
|
||||||
|
|
||||||
|
|
||||||
def _generateKeyPairs(amount: int) -> list[list[str]] | None:
|
|
||||||
try:
|
|
||||||
pairs = subprocess.check_output(
|
|
||||||
f'''for ((i = 0 ; i<{amount} ; i++ ));do privateKey=$(wg genkey) presharedKey=$(wg genkey) publicKey=$(wg pubkey <<< "$privateKey") echo "$privateKey,$publicKey,$presharedKey"; done''', shell=True, stderr=subprocess.STDOUT
|
|
||||||
)
|
|
||||||
pairs = pairs.decode().split("\n")
|
|
||||||
print(pairs)
|
|
||||||
return [x.split(",") for x in pairs]
|
|
||||||
except subprocess.CalledProcessError as exp:
|
|
||||||
print(str(exp))
|
|
||||||
return []
|
|
||||||
|
|
||||||
|
|
||||||
_generateKeyPairs(20)
|
|
@ -296,5 +296,17 @@
|
|||||||
"Download Finished": "下载完成",
|
"Download Finished": "下载完成",
|
||||||
"Done": "完成",
|
"Done": "完成",
|
||||||
"Are you sure to delete": "您确定要删除",
|
"Are you sure to delete": "您确定要删除",
|
||||||
"Are you sure to delete this peer\\?": "您确定要删除此端点吗?"
|
"Are you sure to delete this peer\\?": "您确定要删除此端点吗?",
|
||||||
|
"Configuration deleted": "配置删除成功",
|
||||||
|
"Configuration saved": "",
|
||||||
|
"WGDashboard language update failed": "WGDashboard 语言更新失败",
|
||||||
|
"Configuration restored": "配置恢复成功",
|
||||||
|
"Allowed IP already taken by another peer": "允许的 IP 地址已经被别的端点占用",
|
||||||
|
"Failed to allow access of peer (.*)": "此端点解除限制访问失败:$1",
|
||||||
|
"Failed to save configuration through WireGuard": "使用 WireGuard 保存配置失败",
|
||||||
|
"Allow access successfully": "解除限制访问成功",
|
||||||
|
"Deleted ([0-9]{1,}) peer\\(s\\)": "删除了$1个端点",
|
||||||
|
"Deleted ([0-9]{1,}) peer\\(s\\) successfully. Failed to delete ([0-9]{1,}) peer\\(s\\)": "成功删除了$1个端点,失败删除了$2个端点",
|
||||||
|
"Restricted ([0-9]{1,}) peer\\(s\\)": "限制访问了$1个端点",
|
||||||
|
"Restricted ([0-9]{1,}) peer\\(s\\) successfully. Failed to restrict ([0-9]{1,}) peer\\(s\\)": "成功限制访问了$1个端点,失败限制访问了$2个端点"
|
||||||
}
|
}
|
@ -3,76 +3,76 @@
|
|||||||
"Username": "用戶名",
|
"Username": "用戶名",
|
||||||
"Password": "密碼",
|
"Password": "密碼",
|
||||||
"OTP from your authenticator": "您多重身份驗證器的一次性驗證碼",
|
"OTP from your authenticator": "您多重身份驗證器的一次性驗證碼",
|
||||||
"Sign In": "登錄",
|
"Sign In": "登入",
|
||||||
"Signing In\\.\\.\\.": "正在登錄...",
|
"Signing In\\.\\.\\.": "正在登入...",
|
||||||
"Access Remote Server": "訪問遠程服務器",
|
"Access Remote Server": "訪問遠端伺服器",
|
||||||
"Server": "服務器",
|
"Server": "伺服器",
|
||||||
"Click": "點擊",
|
"Click": "點擊",
|
||||||
"Pinging...": "嘗試連接中...",
|
"Pinging...": "嘗試連線中...",
|
||||||
"to add your server": "添加您的服務器",
|
"to add your server": "添加您的伺服器",
|
||||||
"Server List": "服務器列表",
|
"Server List": "伺服器列表",
|
||||||
"Sorry, your username or password is incorrect.": "對不起,您的用戶名或密碼不正確",
|
"Sorry, your username or password is incorrect.": "對不起,您的用戶名或密碼不正確",
|
||||||
"Home": "主頁",
|
"Home": "主頁",
|
||||||
"Settings": "設定",
|
"Settings": "設定",
|
||||||
"Tools": "工具箱",
|
"Tools": "工具箱",
|
||||||
"Sign Out": "退出登錄",
|
"Sign Out": "登出",
|
||||||
"Checking for update...": "正在檢查是否有新版本...",
|
"Checking for update...": "正在檢查是否有新版本...",
|
||||||
"You're on the latest version": "已經是最新版本",
|
"You're on the latest version": "已經是最新版本",
|
||||||
"WireGuard Configurations": "WireGuard 配置",
|
"WireGuard Configurations": "WireGuard 配置",
|
||||||
"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard.": "您還沒有任何WireGuard配置。請檢查您的配置文件夾或前往設置更改路徑。默認文件夾是 /etc/wireguard",
|
"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard.": "您還沒有任何WireGuard配置。請檢查您的配置資料夾或前往設定更改路徑。預設資料夾是 /etc/wireguard",
|
||||||
"Configuration": "配置",
|
"Configuration": "配置",
|
||||||
"Configurations": "配置",
|
"Configurations": "配置",
|
||||||
"Peers Default Settings": "端點默認設置",
|
"Peers Default Settings": "端點預設設定",
|
||||||
"Dashboard Theme": "面板主題",
|
"Dashboard Theme": "面板主題",
|
||||||
"Light": "簡約白",
|
"Light": "簡約白",
|
||||||
"Dark": "簡約黑",
|
"Dark": "簡約黑",
|
||||||
"This will be changed globally, and will be apply to all peer's QR code and configuration file.": "更改這個設定會應用到所有端點的配置文件和配置二維碼",
|
"This will be changed globally, and will be apply to all peer's QR code and configuration file.": "更改這個設定會應用到所有端點的配置檔案和配置二維碼",
|
||||||
"WireGuard Configurations Settings": "WireGuard 配置設定",
|
"WireGuard Configurations Settings": "WireGuard 配置設定",
|
||||||
"Configurations Directory": "配置文件路徑",
|
"Configurations Directory": "配置檔案路徑",
|
||||||
"Remember to remove / at the end of your path. e.g /etc/wireguard": "請把路徑最後的 /(左斜槓)移除,例如:/etc/wireguard",
|
"Remember to remove / at the end of your path. e.g /etc/wireguard": "請把路徑最後的 /(左斜杠)移除,例如:/etc/wireguard",
|
||||||
"WGDashboard Account Settings": "WGDashboard 賬戶設定",
|
"WGDashboard Account Settings": "WGDashboard 帳戶設定",
|
||||||
"Current Password": "當前密碼",
|
"Current Password": "當前密碼",
|
||||||
"New Password": "新密碼",
|
"New Password": "新密碼",
|
||||||
"Repeat New Password": "重復新密碼",
|
"Repeat New Password": "重複新密碼",
|
||||||
"Update Password": "更新密碼",
|
"Update Password": "更新密碼",
|
||||||
"Multi-Factor Authentication \\(MFA\\)": "多重身份驗證 (MFA)",
|
"Multi-Factor Authentication \\(MFA\\)": "多重身份驗證 (MFA)",
|
||||||
"Reset": "重置",
|
"Reset": "重置",
|
||||||
"Setup": "設置",
|
"Setup": "設定",
|
||||||
"API Keys": "API 秘鑰",
|
"API Keys": "API 金鑰",
|
||||||
"API Key": "API 秘鑰",
|
"API Key": "API 金鑰",
|
||||||
"Key": "秘鑰",
|
"Key": "金鑰",
|
||||||
"Enabled": "已啓用",
|
"Enabled": "已啟用",
|
||||||
"Disabled": "已停用",
|
"Disabled": "已停用",
|
||||||
"No WGDashboard API Key": "沒有 WGDashboard API 秘鑰",
|
"No WGDashboard API Key": "沒有 WGDashboard API 金鑰",
|
||||||
"Expire At": "過期於",
|
"Expire At": "過期於",
|
||||||
"Are you sure to delete this API key\\?": "確定刪除此 API 秘鑰?",
|
"Are you sure to delete this API key\\?": "確定刪除此 API 金鑰?",
|
||||||
"Create API Key": "創建 API 秘鑰",
|
"Create API Key": "建立 API 金鑰",
|
||||||
"When should this API Key expire\\?": "這個 API 秘鑰什麼時候過期呢?",
|
"When should this API Key expire\\?": "這個 API 金鑰什麼時候過期呢?",
|
||||||
"Never Expire": "從不過期",
|
"Never Expire": "永不過期",
|
||||||
"Don't think that's a good idea": "我不覺得這是一個好主意",
|
"Don't think that's a good idea": "我不覺得這是一個好主意",
|
||||||
"Creating\\.\\.\\.": "創建中...",
|
"Creating\\.\\.\\.": "建立中...",
|
||||||
"Create": "創建",
|
"Create": "建立",
|
||||||
"Status": "狀態",
|
"Status": "狀態",
|
||||||
"On": "已啓用",
|
"On": "已啟用",
|
||||||
"Off": "已停用",
|
"Off": "已停用",
|
||||||
"Turning On\\.\\.\\.": "啓用中...",
|
"Turning On\\.\\.\\.": "啟用中...",
|
||||||
"Turning Off\\.\\.\\.": "停用中...",
|
"Turning Off\\.\\.\\.": "停用中...",
|
||||||
"Address": "網絡地址",
|
"Address": "網路地址",
|
||||||
"Listen Port": "監聽端口",
|
"Listen Port": "監聽端口",
|
||||||
"Public Key": "公鑰",
|
"Public Key": "公鑰",
|
||||||
"Connected Peers": "已連接端點",
|
"Connected Peers": "已連線端點",
|
||||||
"Total Usage": "總數據用量",
|
"Total Usage": "總數據用量",
|
||||||
"Total Received": "總接收數據用量",
|
"Total Received": "總接收數據用量",
|
||||||
"Total Sent": "總發送數據用量",
|
"Total Sent": "總傳送數據用量",
|
||||||
"Peers Data Usage": "端點的數據用量",
|
"Peers Data Usage": "端點的數據用量",
|
||||||
"Real Time Received Data Usage": "實時接收數據量",
|
"Real Time Received Data Usage": "實時接收數據量",
|
||||||
"Real Time Sent Data Usage": "實時發送數據量",
|
"Real Time Sent Data Usage": "實時傳送數據量",
|
||||||
"Peer": "端點",
|
"Peer": "端點",
|
||||||
"Peers": "端點",
|
"Peers": "端點",
|
||||||
"Peer Settings": "端點設定",
|
"Peer Settings": "端點設定",
|
||||||
"Download All": "全部下載",
|
"Download All": "全部下載",
|
||||||
"Search Peers\\.\\.\\.": "搜索端點...",
|
"Search Peers\\.\\.\\.": "搜索端點...",
|
||||||
"Display": "顯示設置",
|
"Display": "顯示設定",
|
||||||
"Sort By": "排列方式",
|
"Sort By": "排列方式",
|
||||||
"Refresh Interval": "刷新間隔",
|
"Refresh Interval": "刷新間隔",
|
||||||
"Name": "名稱",
|
"Name": "名稱",
|
||||||
@ -82,21 +82,21 @@
|
|||||||
"(.*) Minutes": "$1 分鐘",
|
"(.*) Minutes": "$1 分鐘",
|
||||||
"Configuration Settings": "配置設定",
|
"Configuration Settings": "配置設定",
|
||||||
"Peer Jobs": "端點任務",
|
"Peer Jobs": "端點任務",
|
||||||
"Active Jobs": "未運行任務",
|
"Active Jobs": "未執行任務",
|
||||||
"All Active Jobs": "所有未運行任務",
|
"All Active Jobs": "所有未執行任務",
|
||||||
"Logs": "日誌",
|
"Logs": "日誌",
|
||||||
"Private Key": "秘鑰",
|
"Private Key": "金鑰",
|
||||||
"\\(Required for QR Code and Download\\)": "(二維碼以及下載功能需要填寫秘鑰)",
|
"\\(Required for QR Code and Download\\)": "(二維碼以及下載功能需要填寫金鑰)",
|
||||||
"\\(Required\\)": "(必填項)",
|
"\\(Required\\)": "(必填項)",
|
||||||
"Endpoint Allowed IPs": "終結點允許的 IP 地址",
|
"Endpoint Allowed IPs": "終結點允許的 IP 地址",
|
||||||
"DNS": "域名系統(DNS)",
|
"DNS": "域名系統(DNS)",
|
||||||
"Optional Settings": "可選設定",
|
"Optional Settings": "可選設定",
|
||||||
"Pre-Shared Key": "共享秘鑰",
|
"Pre-Shared Key": "共享金鑰",
|
||||||
"MTU": "最大傳輸單元",
|
"MTU": "最大傳輸單元",
|
||||||
"Persistent Keepalive": "持久保持活動",
|
"Persistent Keepalive": "持久保持活動",
|
||||||
"Reset Data Usage": "重置數據用量",
|
"Reset Data Usage": "重置數據用量",
|
||||||
"Total": "總數據",
|
"Total": "總數據",
|
||||||
"Sent": "發送數據",
|
"Sent": "傳送數據",
|
||||||
"Received": "接收數據",
|
"Received": "接收數據",
|
||||||
"Revert": "撤銷更改",
|
"Revert": "撤銷更改",
|
||||||
"Save Peer": "保存端點",
|
"Save Peer": "保存端點",
|
||||||
@ -118,7 +118,7 @@
|
|||||||
"Deleting...": "刪除中...",
|
"Deleting...": "刪除中...",
|
||||||
"Cancel": "取消",
|
"Cancel": "取消",
|
||||||
"Save": "保存",
|
"Save": "保存",
|
||||||
"No active job at the moment\\.": "沒有未運行的任務",
|
"No active job at the moment\\.": "沒有未執行的任務",
|
||||||
"Jobs Logs": "任務日誌",
|
"Jobs Logs": "任務日誌",
|
||||||
"Updated at": "更新於",
|
"Updated at": "更新於",
|
||||||
"Refresh": "刷新",
|
"Refresh": "刷新",
|
||||||
@ -128,7 +128,7 @@
|
|||||||
"Log ID": "任務 ID",
|
"Log ID": "任務 ID",
|
||||||
"Message": "消息",
|
"Message": "消息",
|
||||||
"Share Peer": "分享端點",
|
"Share Peer": "分享端點",
|
||||||
"Currently the peer is not sharing": "此端點未被共享",
|
"Currently the peer is not sharing": "此端點未被分享",
|
||||||
"Sharing\\.\\.\\.": "分享中...",
|
"Sharing\\.\\.\\.": "分享中...",
|
||||||
"Start Sharing": "開始分享",
|
"Start Sharing": "開始分享",
|
||||||
"Stop Sharing\\.\\.\\.": "停止分享中...",
|
"Stop Sharing\\.\\.\\.": "停止分享中...",
|
||||||
@ -138,27 +138,27 @@
|
|||||||
"Restricting\\.\\.\\.": "限制訪問中...",
|
"Restricting\\.\\.\\.": "限制訪問中...",
|
||||||
"Allow Access": "解除限制訪問",
|
"Allow Access": "解除限制訪問",
|
||||||
"Allowing Access\\.\\.\\.": "解除限制訪問中...",
|
"Allowing Access\\.\\.\\.": "解除限制訪問中...",
|
||||||
"Download \\& QR Code is not available due to no private key set for this peer": "下載以及二維碼功能不可用,需要填寫此端點的秘鑰",
|
"Download \\& QR Code is not available due to no private key set for this peer": "下載以及二維碼功能不可用,需要填寫此端點的金鑰",
|
||||||
"Add Peers": "創建端點",
|
"Add Peers": "建立端點",
|
||||||
"Bulk Add": "批量添加",
|
"Bulk Add": "批量添加",
|
||||||
"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP\\.": "如果選擇批量添加端點,系統會自動生成每一個端點的名稱,並且會自動安排可用的 IP 地址。",
|
"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP\\.": "如果選擇批量添加端點,系統會自動生成每一個端點的名稱,並且會自動安排可用的 IP 地址。",
|
||||||
"How many peers you want to add\\?": "您想添加多少個端點?",
|
"How many peers you want to add\\?": "您想添加多少個端點?",
|
||||||
"You can add up to (.*) peers": "您最多可以添加 $1 個端點",
|
"You can add up to (.*) peers": "您最多可以添加 $1 個端點",
|
||||||
"Use your own Private and Public Key": "使用您自己的秘鑰和公鑰",
|
"Use your own Private and Public Key": "使用您自己的金鑰和公鑰",
|
||||||
"Enter IP Address/CIDR": "輸入 IP 地址/前綴長度",
|
"Enter IP Address/CIDR": "輸入 IP 地址/前綴長度",
|
||||||
"IP Address/CIDR": "IP 地址/前綴長度",
|
"IP Address/CIDR": "IP 地址/前綴長度",
|
||||||
"or": "或",
|
"or": "或",
|
||||||
"Pick Available IP": "選擇可用的 IP 地址",
|
"Pick Available IP": "選擇可用的 IP 地址",
|
||||||
"No available IP containing": "沒有可用的 IP 地址含有 ",
|
"No available IP containing": "沒有可用的 IP 地址含有 ",
|
||||||
"Add": "創建",
|
"Add": "建立",
|
||||||
"Adding\\.\\.\\.": "創建中...",
|
"Adding\\.\\.\\.": "建立中...",
|
||||||
"Failed to check available update": "獲取更新失敗",
|
"Failed to check available update": "獲取更新失敗",
|
||||||
"Nice to meet you!": "很高興見到您!",
|
"Nice to meet you!": "很高興見到您!",
|
||||||
"Please fill in the following fields to finish setup": "請填入以下信息來完成初始化設置",
|
"Please fill in the following fields to finish setup": "請填入以下信息來完成初始化設定",
|
||||||
"Create an account": "創建賬戶",
|
"Create an account": "建立帳戶",
|
||||||
"Enter an username you like": "輸入一個您喜歡的用戶名",
|
"Enter an username you like": "輸入一個您喜歡的用戶名",
|
||||||
"Enter a password": "輸入密碼",
|
"Enter a password": "輸入密碼",
|
||||||
"\\(At least 8 characters and make sure is strong enough!\\)": "(至少8個字符或以上並且確保它足夠複雜喲!)",
|
"\\(At least 8 characters and make sure is strong enough!\\)": "(至少8個字符或以上並且確保它足夠複雜哟!)",
|
||||||
"Confirm password": "確認密碼",
|
"Confirm password": "確認密碼",
|
||||||
"Next": "下一步",
|
"Next": "下一步",
|
||||||
"Saving\\.\\.\\.": "保存中...",
|
"Saving\\.\\.\\.": "保存中...",
|
||||||
@ -173,18 +173,18 @@
|
|||||||
"Oh no\\.\\.\\. This link is either expired or invalid\\.": "噢不!此鏈接已過期或不正確。",
|
"Oh no\\.\\.\\. This link is either expired or invalid\\.": "噢不!此鏈接已過期或不正確。",
|
||||||
"Scan QR Code with the WireGuard App to add peer": "使用 WireGuard APP 掃描以下二維碼來添加端點",
|
"Scan QR Code with the WireGuard App to add peer": "使用 WireGuard APP 掃描以下二維碼來添加端點",
|
||||||
"or click the button below to download the ": "或點擊下面的按鈕下載 ",
|
"or click the button below to download the ": "或點擊下面的按鈕下載 ",
|
||||||
" file": " 文件",
|
" file": " 檔案",
|
||||||
"FROM ": "來自 ",
|
"FROM ": "來自 ",
|
||||||
"(.*) is on": "$1 已啓用",
|
"(.*) is on": "$1 已啟用",
|
||||||
"(.*) is off": "$1 已停用",
|
"(.*) is off": "$1 已停用",
|
||||||
"Allowed IPs is invalid": "允許的 IP 地址錯誤",
|
"Allowed IPs is invalid": "允許的 IP 地址錯誤",
|
||||||
"Peer created successfully": "成功創建端點",
|
"Peer created successfully": "成功建立端點",
|
||||||
"Please fill in all required box": "請填寫所有必填項",
|
"Please fill in all required box": "請填寫所有必填項",
|
||||||
"Please specify amount of peers you want to add": "請提供批量添加端點的數量",
|
"Please specify amount of peers you want to add": "請提供批量添加端點的數量",
|
||||||
"No more available IP can assign": "沒有更多可用的 IP 可以分配了",
|
"No more available IP can assign": "沒有更多可用的 IP 可以分配了",
|
||||||
"The maximum number of peers can add is (.*)": "最多只能添加$1個端點",
|
"The maximum number of peers can add is (.*)": "最多只能添加$1個端點",
|
||||||
"Generating key pairs by bulk failed": "生成公鑰秘鑰失敗了",
|
"Generating key pairs by bulk failed": "生成公鑰金鑰失敗了",
|
||||||
"Failed to add peers in bulk": "批量創建端點失敗",
|
"Failed to add peers in bulk": "批量建立端點失敗",
|
||||||
"This peer already exist": "此端點已存在",
|
"This peer already exist": "此端點已存在",
|
||||||
"This IP is not available: (.*)": "此 IP 地址不可用:$1",
|
"This IP is not available: (.*)": "此 IP 地址不可用:$1",
|
||||||
"Configuration does not exist": "此配置不存在",
|
"Configuration does not exist": "此配置不存在",
|
||||||
@ -196,12 +196,12 @@
|
|||||||
"DNS format is incorrect": "域名系統(DNS)格式不正確",
|
"DNS format is incorrect": "域名系統(DNS)格式不正確",
|
||||||
"MTU format is not correct": "最大傳輸單元格式不正確",
|
"MTU format is not correct": "最大傳輸單元格式不正確",
|
||||||
"Persistent Keepalive format is not correct": "持久保持活動格式不正確",
|
"Persistent Keepalive format is not correct": "持久保持活動格式不正確",
|
||||||
"Private key does not match with the public key": "秘鑰與公鑰不匹配",
|
"Private key does not match with the public key": "金鑰與公鑰不匹配",
|
||||||
"Update peer failed when updating Pre-Shared Key": "更新共享密鑰失敗",
|
"Update peer failed when updating Pre-Shared Key": "更新共享密鑰失敗",
|
||||||
"Update peer failed when updating Allowed IPs": "更新允許的 IP 地址失敗",
|
"Update peer failed when updating Allowed IPs": "更新允許的 IP 地址失敗",
|
||||||
"Update peer failed when saving the configuration": "配置保存端點失敗",
|
"Update peer failed when saving the configuration": "配置保存端點失敗",
|
||||||
"Peer data usage reset successfully": "端點數據重置成功",
|
"Peer data usage reset successfully": "端點數據重置成功",
|
||||||
"Peer download started": "端點文件下載開始",
|
"Peer download started": "端點檔案下載開始",
|
||||||
"Please specify one or more peers": "請提供一個或更多端點",
|
"Please specify one or more peers": "請提供一個或更多端點",
|
||||||
"Share link failed to create. Reason: (.*)": "端點分享鏈接生成失敗。原因:$1",
|
"Share link failed to create. Reason: (.*)": "端點分享鏈接生成失敗。原因:$1",
|
||||||
"Link expire date updated": "分享鏈接過期時間更新成功",
|
"Link expire date updated": "分享鏈接過期時間更新成功",
|
||||||
@ -210,15 +210,15 @@
|
|||||||
"Please specify job": "請提供任務",
|
"Please specify job": "請提供任務",
|
||||||
"Please specify peer and configuration": "請提供配置名稱以及端點",
|
"Please specify peer and configuration": "請提供配置名稱以及端點",
|
||||||
"Peer job deleted": "端點任務刪除成功",
|
"Peer job deleted": "端點任務刪除成功",
|
||||||
"API Keys function is successfully enabled": "API 秘鑰功能開啓成功",
|
"API Keys function is successfully enabled": "API 金鑰功能開啟成功",
|
||||||
"API Keys function is successfully disabled": "API 秘鑰功能停用成功",
|
"API Keys function is successfully disabled": "API 金鑰功能停用成功",
|
||||||
"API Keys function is failed to enable": "API 秘鑰功能開啓失敗",
|
"API Keys function is failed to enable": "API 金鑰功能開啟失敗",
|
||||||
"API Keys function is failed to disable": "API 秘鑰功能停用失敗",
|
"API Keys function is failed to disable": "API 金鑰功能停用失敗",
|
||||||
"WGDashboard API Keys function is disabled": "WGDashboard 的 API 秘鑰功能並未開啓",
|
"WGDashboard API Keys function is disabled": "WGDashboard 的 API 金鑰功能並未開啟",
|
||||||
"WireGuard configuration path saved": "WireGuard 配置路徑保存成功",
|
"WireGuard configuration path saved": "WireGuard 配置路徑保存成功",
|
||||||
"API Key deleted": "API 秘鑰刪除成功",
|
"API Key deleted": "API 金鑰刪除成功",
|
||||||
"API Key created": "API 秘鑰創建成功",
|
"API Key created": "API 金鑰建立成功",
|
||||||
"Sign in session ended, please sign in again": "登錄已過期,請重新登錄",
|
"Sign in session ended, please sign in again": "登入已過期,請重新登入",
|
||||||
"Please specify an IP Address (v4/v6)": "請提供一個 IP 地址 (v4或v6)",
|
"Please specify an IP Address (v4/v6)": "請提供一個 IP 地址 (v4或v6)",
|
||||||
"Please provide ipAddress and count": "請提供 ipAddress 和 count",
|
"Please provide ipAddress and count": "請提供 ipAddress 和 count",
|
||||||
"Please provide ipAddress": "請提供 ipAddress",
|
"Please provide ipAddress": "請提供 ipAddress",
|
||||||
@ -229,18 +229,84 @@
|
|||||||
"Configuration Name": "配置名稱",
|
"Configuration Name": "配置名稱",
|
||||||
"Configuration name is invalid. Possible reasons:": "配置名稱不正確。可能的原因:",
|
"Configuration name is invalid. Possible reasons:": "配置名稱不正確。可能的原因:",
|
||||||
"Configuration name already exist\\.": "配置名稱已存在。",
|
"Configuration name already exist\\.": "配置名稱已存在。",
|
||||||
"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen\\.": "配置名稱只能含有15個小/大寫英文字母,數字,下划線,等於號,加號,小數點或短橫線。",
|
"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen\\.": "配置名稱只能含有15個小/大寫英文字母,數字,下劃線,等於號,加號,小數點或短橫線。",
|
||||||
"Invalid Port": "錯誤的端口",
|
"Invalid Port": "錯誤的端口",
|
||||||
"Save Configuration": "保存配置",
|
"Save Configuration": "保存配置",
|
||||||
"IP Address/CIDR is invalid": "IP 地址/前綴長度格式錯誤",
|
"IP Address/CIDR is invalid": "IP 地址/前綴長度格式錯誤",
|
||||||
"IP Address": "IP 地址",
|
"IP Address": "IP 地址",
|
||||||
"Enter IP Address / Hostname": "输入 IP 地址 / 域名",
|
"Enter IP Address / Hostname": "輸入 IP 地址 / 域名",
|
||||||
"IP Address / Hostname": "IP 地址 / 域名",
|
"IP Address / Hostname": "IP 地址 / 域名",
|
||||||
|
"Dashboard IP Address \\& Listen Port": "面板 IP地址 & 監聽端口",
|
||||||
"Count": "數量",
|
"Count": "數量",
|
||||||
"Geolocation": "地理位置",
|
"Geolocation": "地理位置",
|
||||||
"Is Alive": "在線",
|
"Is Alive": "在線",
|
||||||
"Average / Min / Max Round Trip Time": "平均 / 最低 / 最高來回通信延遲",
|
"Average / Min / Max Round Trip Time": "平均 / 最低 / 最高來回通訊延遲",
|
||||||
"Sent / Received / Lost Package": "發送 / 接收 / 遺失數據包",
|
"Sent / Received / Lost Package": "傳送 / 接收 / 丟失數據包",
|
||||||
"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port": "更改 IP 位址或監聽埠後需要手動重新啟動 WGDashboard 以使用最新的設置"
|
"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port": "更改 IP 地址或監聽端口後需要手動重啟 WGDashboard 以使用最新的設定",
|
||||||
|
"Restore Configuration": "恢復配置",
|
||||||
|
"Step (.*)": "第$1步",
|
||||||
|
"Select a backup you want to restore": "選擇一個您想恢復的配置",
|
||||||
|
"Click to change a backup": "點擊更換備份",
|
||||||
|
"Selected Backup": "已選擇備份",
|
||||||
|
"You don't have any configuration to restore": "您沒有任何配置備份可以恢復",
|
||||||
|
"Help": "幫助",
|
||||||
|
"Backup": "備份",
|
||||||
|
"([0-9].*) Backups?": "$1個備份",
|
||||||
|
"Yes": "是",
|
||||||
|
"No": "否",
|
||||||
|
"Backup not selected": "沒有選擇備份",
|
||||||
|
"Confirm \\& edit restore information": "確認和編輯備份信息",
|
||||||
|
"(.*) Available IP Address": "$1個可用的 IP 地址",
|
||||||
|
"Database File": "資料庫檔案",
|
||||||
|
"Contain": "含有",
|
||||||
|
"Restricted Peers?": "已限制訪問端點",
|
||||||
|
"Restore": "恢復",
|
||||||
|
"Restoring": "恢復中...",
|
||||||
|
"WGDashboard Settings": "WGDashboard 設定",
|
||||||
|
"Peers Settings": "端點設定",
|
||||||
|
"WireGuard Configuration Settings": "WireGuard 配置設定",
|
||||||
|
"Appearance": "外觀",
|
||||||
|
"Theme": "主題",
|
||||||
|
"Language": "語言",
|
||||||
|
"Account Settings": "帳戶設定",
|
||||||
|
"Peer Default Settings": "端點預設設定",
|
||||||
|
"Toggle When Start Up": "運行後啟動配置",
|
||||||
|
"Other Settings": "其它設定",
|
||||||
|
"Select Peers": "選擇端點",
|
||||||
|
"Backup & Restore": "備份及恢復",
|
||||||
|
"Delete Configuration": "刪除配置",
|
||||||
|
"Create Backup": "建立備份",
|
||||||
|
"No backup yet, click the button above to create backup\\.": "還沒有任何備份,點擊上方按鈕建立",
|
||||||
|
"Are you sure to delete this backup\\?": "您確定要刪除此備份嗎?",
|
||||||
|
"Are you sure to restore this backup?\\": "您確定要恢復此備份嗎?",
|
||||||
|
"Backup Date": "備份日期",
|
||||||
|
"File": "檔案",
|
||||||
|
"Are you sure to delete this configuration\\?": "您確定要刪除此配置嗎?",
|
||||||
|
"Once you deleted this configuration\\:": "當您刪除了此配置後:",
|
||||||
|
"All connected peers will get disconnected": "所有已連線的端點會斷開",
|
||||||
|
"Both configuration file \\(\\.conf\\) and database table related to this configuration will get deleted": "配置檔案 (.conf) 以及相關的資料庫檔案會被刪除",
|
||||||
|
"Checking backups...": "檢查備份中...",
|
||||||
|
"This configuration have ([0-9].*) backups": "此配置有$1個備份",
|
||||||
|
"This configuration have no backup": "此配置沒有備份",
|
||||||
|
"If you're sure, please type in the configuration name below and click Delete": "如果您確定,請在下方輸入此配置的名稱並點擊刪除",
|
||||||
|
"Select All": "選擇所有",
|
||||||
|
"Clear Selection": "清除選擇",
|
||||||
|
"([0-9].*) Peers?": "$1 個端點",
|
||||||
|
"Downloading": "正在下載",
|
||||||
|
"Download Finished": "下載完成",
|
||||||
|
"Done": "完成",
|
||||||
|
"Are you sure to delete": "您確定要刪除",
|
||||||
|
"Are you sure to delete this peer\\?": "您確定要刪除此端點嗎?",
|
||||||
|
"Configuration deleted": "配置刪除成功",
|
||||||
|
"Configuration saved": "",
|
||||||
|
"WGDashboard language update failed": "WGDashboard 語言更新失敗",
|
||||||
|
"Configuration restored": "配置恢復成功",
|
||||||
|
"Allowed IP already taken by another peer": "允許的 IP 地址已經被別的端點佔用",
|
||||||
|
"Failed to allow access of peer (.*)": "此端點解除限制訪問失敗:$1",
|
||||||
|
"Failed to save configuration through WireGuard": "使用 WireGuard 保存配置失敗",
|
||||||
|
"Allow access successfully": "解除限制訪問成功",
|
||||||
|
"Deleted ([0-9]{1,}) peer\\(s\\)": "刪除了$1個端點",
|
||||||
|
"Deleted ([0-9]{1,}) peer\\(s\\) successfully. Failed to delete ([0-9]{1,}) peer\\(s\\)": "成功刪除了$1個端點,失敗刪除了$2個端點",
|
||||||
|
"Restricted ([0-9]{1,}) peer\\(s\\)": "限制訪問了$1個端點",
|
||||||
|
"Restricted ([0-9]{1,}) peer\\(s\\) successfully. Failed to restrict ([0-9]{1,}) peer\\(s\\)": "成功限制訪問了$1個端點,失敗限制訪問了$2個端點"
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user