update translation

This commit is contained in:
Alireza Ahmadi
2024-06-30 22:29:30 +02:00
parent 5b6f6daaa8
commit bb5cd91bc9
13 changed files with 112 additions and 26 deletions
+3 -3
View File
@@ -18,7 +18,7 @@
</v-col> </v-col>
<v-col cols="12" sm="6" md="4" v-if="optionRemark"> <v-col cols="12" sm="6" md="4" v-if="optionRemark">
<v-text-field <v-text-field
label="Remark" :label="$t('in.remark')"
hide-details hide-details
v-model="addr.remark"> v-model="addr.remark">
</v-text-field> </v-text-field>
@@ -53,12 +53,12 @@
<v-col cols="auto" align="end" justify="center"> <v-col cols="auto" align="end" justify="center">
<v-menu v-model="menu" :close-on-content-click="false" location="start"> <v-menu v-model="menu" :close-on-content-click="false" location="start">
<template v-slot:activator="{ props }"> <template v-slot:activator="{ props }">
<v-btn v-bind="props" hide-details variant="tonal">Address Options</v-btn> <v-btn v-bind="props" hide-details variant="tonal">{{ $t('in.mdOption') }}</v-btn>
</template> </template>
<v-card> <v-card>
<v-list> <v-list>
<v-list-item> <v-list-item>
<v-switch v-model="optionRemark" color="primary" label="Remark" hide-details></v-switch> <v-switch v-model="optionRemark" color="primary" :label="$t('in.remark')" hide-details></v-switch>
</v-list-item> </v-list-item>
<v-list-item v-if="hasTls"> <v-list-item v-if="hasTls">
<v-switch v-model="optionTLS" color="primary" :label="$t('objects.tls')" hide-details></v-switch> <v-switch v-model="optionTLS" color="primary" :label="$t('objects.tls')" hide-details></v-switch>
+12 -12
View File
@@ -1,21 +1,21 @@
<template> <template>
<v-card subtitle="Client JSON Template"> <v-card>
<v-row> <v-row>
<v-col cols="12" sm="6" md="3" lg="2"> <v-col cols="12" sm="6" md="3">
<v-select <v-select
v-model="ruleToDirect" v-model="ruleToDirect"
:items="geoList" :items="geoList"
label="Rules To Direct" :label="$t('setting.toDirect')"
multiple multiple
chips chips
hide-details hide-details
></v-select> ></v-select>
</v-col> </v-col>
<v-col cols="12" sm="6" md="3" lg="2"> <v-col cols="12" sm="6" md="3">
<v-select <v-select
v-model="ruleToBlock" v-model="ruleToBlock"
:items="geoList" :items="geoList"
label="Rules To Block" :label="$t('setting.toBlock')"
multiple multiple
chips chips
hide-details hide-details
@@ -32,7 +32,7 @@
</v-select> </v-select>
</v-col> </v-col>
<v-col cols="12" sm="6" md="3" lg="2"> <v-col cols="12" sm="6" md="3" lg="2">
<v-switch v-model="subJsonExt.log.timestamp" color="primary" label="Timestamp" hide-details /> <v-switch v-model="subJsonExt.log.timestamp" color="primary" :label="$t('setting.timestamp')" hide-details />
</v-col> </v-col>
</v-row> </v-row>
<v-row v-if="enableDns"> <v-row v-if="enableDns">
@@ -40,7 +40,7 @@
<v-text-field <v-text-field
v-model="proxyDns" v-model="proxyDns"
hide-details hide-details
label="Golbal DNS" :label="$t('setting.globalDns')"
></v-text-field> ></v-text-field>
</v-col> </v-col>
<v-col cols="12" sm="6" md="3" lg="2"> <v-col cols="12" sm="6" md="3" lg="2">
@@ -48,14 +48,14 @@
v-model="directDns" v-model="directDns"
hide-details hide-details
clearable clearable
label="Direct DNS" :label="$t('setting.directDns')"
></v-text-field> ></v-text-field>
</v-col> </v-col>
<v-col cols="12" sm="6" md="3" lg="2" v-if="directDns.length>0"> <v-col cols="12" sm="6" md="3" v-if="directDns.length>0">
<v-select <v-select
v-model="dnsToDirect" v-model="dnsToDirect"
:items="geositeList" :items="geositeList"
label="DNS To Direct" :label="$t('setting.toDirectDns')"
multiple multiple
chips chips
hide-details hide-details
@@ -66,12 +66,12 @@
<v-spacer></v-spacer> <v-spacer></v-spacer>
<v-menu v-model="menu" :close-on-content-click="false" location="start"> <v-menu v-model="menu" :close-on-content-click="false" location="start">
<template v-slot:activator="{ props }"> <template v-slot:activator="{ props }">
<v-btn v-bind="props" hide-details variant="tonal">Options</v-btn> <v-btn v-bind="props" hide-details variant="tonal">{{ $t('setting.jsonSubOptions') }}</v-btn>
</template> </template>
<v-card> <v-card>
<v-list> <v-list>
<v-list-item> <v-list-item>
<v-switch v-model="enableLog" color="primary" label="Log" hide-details></v-switch> <v-switch v-model="enableLog" color="primary" :label="$t('basic.log.title')" hide-details></v-switch>
</v-list-item> </v-list-item>
<v-list-item> <v-list-item>
<v-switch v-model="enableDns" color="primary" label="DNS" hide-details></v-switch> <v-switch v-model="enableDns" color="primary" label="DNS" hide-details></v-switch>
+1 -1
View File
@@ -7,7 +7,7 @@
<v-col cols="12" sm="6" md="4" v-if="tls.enabled"> <v-col cols="12" sm="6" md="4" v-if="tls.enabled">
<v-select <v-select
hide-details hide-details
label="Preset" :label="$t('template')"
:items="tlsItems" :items="tlsItems"
@update:model-value="changeTlsItem($event)" @update:model-value="changeTlsItem($event)"
v-model="tlsId"> v-model="tlsId">
+4 -5
View File
@@ -28,8 +28,8 @@
fixed-tabs fixed-tabs
align-tabs="center" align-tabs="center"
> >
<v-tab value="s">Server Side</v-tab> <v-tab value="s">{{ $t('in.sSide') }}</v-tab>
<v-tab value="c">Client Side</v-tab> <v-tab value="c">{{ $t('in.cSide') }}</v-tab>
</v-tabs> </v-tabs>
<v-window v-model="side" style="margin-top: 10px;"> <v-window v-model="side" style="margin-top: 10px;">
<v-window-item value="s"> <v-window-item value="s">
@@ -51,12 +51,11 @@
<v-window-item value="c"> <v-window-item value="c">
<OutJsonVue :inData="inData" :type="inbound.type" /> <OutJsonVue :inData="inData" :type="inbound.type" />
<v-card> <v-card>
<v-card-subtitle> <v-card-subtitle>{{ $t('in.multiDomain') }}
Multi Domain
<v-icon @click="add_addr" icon="mdi-plus"></v-icon> <v-icon @click="add_addr" icon="mdi-plus"></v-icon>
</v-card-subtitle> </v-card-subtitle>
<template v-for="addr,index in inData.addrs"> <template v-for="addr,index in inData.addrs">
Address #{{ (index+1) }} <v-icon icon="mdi-delete" @click="inData.addrs.splice(index,1)" /> {{ $t('in.addr') }} #{{ (index+1) }} <v-icon icon="mdi-delete" @click="inData.addrs.splice(index,1)" />
<v-divider></v-divider> <v-divider></v-divider>
<AddrVue :addr="addr" :hasTls="Object.hasOwn(inbound,'tls')" /> <AddrVue :addr="addr" :hasTls="Object.hasOwn(inbound,'tls')" />
</template> </template>
+15
View File
@@ -27,6 +27,7 @@ export default {
email: "Email", email: "Email",
commaSeparated: "(comma separated)", commaSeparated: "(comma separated)",
count: "Count", count: "Count",
template: "Template",
error: { error: {
dplData: "Duplicate Data", dplData: "Duplicate Data",
core: "Sing-Box Error", core: "Sing-Box Error",
@@ -93,6 +94,7 @@ export default {
new: "New", new: "New",
edit: "Edit", edit: "Edit",
del: "Delete", del: "Delete",
clone: "Clone",
save: "Save", save: "Save",
update: "Update", update: "Update",
submit: "Submit", submit: "Submit",
@@ -143,6 +145,14 @@ export default {
path: "Default Path", path: "Default Path",
update: "Automatic Update Time", update: "Automatic Update Time",
subUri: "Subscription URI", subUri: "Subscription URI",
jsonSub: "JSON Subscription",
toDirect: "Route to Direct",
toBlock: "Route to Block",
timestamp: "Timestamp",
globalDns: "Global DNS",
directDns: "Direct DNS",
toDirectDns: "Route to Direct DNS",
jsonSubOptions: "Other Options",
}, },
client: { client: {
name: "Name", name: "Name",
@@ -227,6 +237,11 @@ export default {
port: "Port", port: "Port",
clients: "Enable Clients", clients: "Enable Clients",
ssMethod: "Method", ssMethod: "Method",
sSide: "Server Side",
cSide: "Client Side",
multiDomain: "Multi Domain",
remark: "Remark",
mdOption: "Multi Domain Options",
}, },
listen: { listen: {
sniffing: "Sniffing", sniffing: "Sniffing",
+15
View File
@@ -27,6 +27,7 @@ export default {
email: "ایمیل", email: "ایمیل",
commaSeparated: "(جداشده با کاما)", commaSeparated: "(جداشده با کاما)",
count: "تعداد", count: "تعداد",
template: "الگو",
error: { error: {
dplData: "داده تکراری", dplData: "داده تکراری",
core: "خطا در سینگ‌باکس", core: "خطا در سینگ‌باکس",
@@ -92,6 +93,7 @@ export default {
new: "جدید", new: "جدید",
edit: "ویرایش", edit: "ویرایش",
del: "حذف", del: "حذف",
clone: "شبیه‌سازی",
save: "ذخیره", save: "ذخیره",
update: "بروزرسانی", update: "بروزرسانی",
submit: "ارسال", submit: "ارسال",
@@ -142,6 +144,14 @@ export default {
path: "مسیر پیشفرض", path: "مسیر پیشفرض",
update: "زمان بروزرسانی خودکار", update: "زمان بروزرسانی خودکار",
subUri: "آدرس نهایی سابسکریپشن", subUri: "آدرس نهایی سابسکریپشن",
jsonSub: "سابسکریپشن JSON",
toDirect: "هدایت مستقیم",
toBlock: "بستن مسیر",
timestamp: "نمایش زمان",
globalDns: "DNS کلی",
directDns: "DNS مستقیم",
toDirectDns: "هدایت به DNS مستقیم",
jsonSubOptions: "گزینه‌های دیگر",
}, },
client: { client: {
name: "نام", name: "نام",
@@ -226,6 +236,11 @@ export default {
port: "پورت", port: "پورت",
clients: "فعال‌سازی کاربران", clients: "فعال‌سازی کاربران",
ssMethod: "روش", ssMethod: "روش",
sSide: "سمت سرور",
cSide: "سمت کاربر",
multiDomain: "دامنه چندگانه",
remark: "شرح",
mdOption: "گزینه‌های دامنه چندگانه",
}, },
listen: { listen: {
sniffing: "شنود آدرس", sniffing: "شنود آدرس",
+15
View File
@@ -27,6 +27,7 @@ export default {
email: "Email", email: "Email",
commaSeparated: "(được phân tách bằng dấu phẩy)", commaSeparated: "(được phân tách bằng dấu phẩy)",
count: "Đếm", count: "Đếm",
template: "Mẫu",
error: { error: {
dplData: "Dữ liệu trùng lặp", dplData: "Dữ liệu trùng lặp",
core: "Lỗi Sing-Box", core: "Lỗi Sing-Box",
@@ -93,6 +94,7 @@ export default {
new: "Mới", new: "Mới",
edit: "Chỉnh sửa", edit: "Chỉnh sửa",
del: "Xóa", del: "Xóa",
clone: "Nhân bản",
save: "Lưu", save: "Lưu",
update: "Cập nhật", update: "Cập nhật",
submit: "Gửi", submit: "Gửi",
@@ -143,6 +145,14 @@ export default {
path: "Đường dẫn mặc định", path: "Đường dẫn mặc định",
update: "Thời gian cập nhật tự động", update: "Thời gian cập nhật tự động",
subUri: "URI đăng ký", subUri: "URI đăng ký",
jsonSub: "Đăng ký JSON",
toDirect: "Chuyển hướng tới Trực tiếp",
toBlock: "Chuyển hướng tới Chặn",
timestamp: "Dấu thời gian",
globalDns: "DNS Toàn cầu",
directDns: "DNS Trực tiếp",
toDirectDns: "Chuyển hướng tới DNS Trực tiếp",
jsonSubOptions: "Tùy chọn Khác",
}, },
client: { client: {
name: "Tên", name: "Tên",
@@ -228,6 +238,11 @@ export default {
sniffing: "Đang Sniffing", sniffing: "Đang Sniffing",
clients: "Kích hoạt khách hàng", clients: "Kích hoạt khách hàng",
ssMethod: "Phương thức", ssMethod: "Phương thức",
sSide: "Phía Máy chủ",
cSide: "Phía Khách hàng",
multiDomain: "Nhiều Tên miền",
remark: "Ghi chú",
mdOption: "Tùy chọn Nhiều Tên miền",
}, },
listen: { listen: {
sniffing: "Đang Sniffing", sniffing: "Đang Sniffing",
+15
View File
@@ -27,6 +27,7 @@ export default {
email: "电子邮件", email: "电子邮件",
commaSeparated: "(逗号分隔)", commaSeparated: "(逗号分隔)",
count: "计数", count: "计数",
template: "模板",
error: { error: {
dplData: "重复数据", dplData: "重复数据",
core: "Sing-Box 错误", core: "Sing-Box 错误",
@@ -93,6 +94,7 @@ export default {
new: "新建", new: "新建",
edit: "编辑", edit: "编辑",
del: "删除", del: "删除",
clone: "克隆",
save: "保存", save: "保存",
update: "更新", update: "更新",
submit: "提交", submit: "提交",
@@ -143,6 +145,14 @@ export default {
path: "默认路径", path: "默认路径",
update: "自动更新时间", update: "自动更新时间",
subUri: "订阅 URI", subUri: "订阅 URI",
jsonSub: "JSON 订阅",
toDirect: "路由到直连",
toBlock: "路由到阻止",
timestamp: "时间戳",
globalDns: "全局 DNS",
directDns: "直连 DNS",
toDirectDns: "路由到直连 DNS",
jsonSubOptions: "其他选项",
}, },
client: { client: {
name: "名称", name: "名称",
@@ -228,6 +238,11 @@ export default {
sniffing: "嗅探", sniffing: "嗅探",
clients: "启用客户端", clients: "启用客户端",
ssMethod: "方法", ssMethod: "方法",
sSide: "服务器端",
cSide: "客户端",
multiDomain: "多域名",
remark: "备注",
mdOption: "多域名选项",
}, },
listen: { listen: {
sniffing: "嗅探", sniffing: "嗅探",
+15
View File
@@ -28,6 +28,7 @@ export default {
email: "電子郵件", email: "電子郵件",
commaSeparated: "(逗號分隔)", commaSeparated: "(逗號分隔)",
count: "計數", count: "計數",
template: "模板",
error: { error: {
dplData: "重複數據", dplData: "重複數據",
core: "Sing-Box 錯誤", core: "Sing-Box 錯誤",
@@ -94,6 +95,7 @@ export default {
new: "新建", new: "新建",
edit: "編輯", edit: "編輯",
del: "刪除", del: "刪除",
clone: "克隆",
save: "保存", save: "保存",
update: "更新", update: "更新",
submit: "提交", submit: "提交",
@@ -144,6 +146,14 @@ export default {
path: "默認路徑", path: "默認路徑",
update: "自動更新時間", update: "自動更新時間",
subUri: "訂閱 URL", subUri: "訂閱 URL",
jsonSub: "JSON 訂閱",
toDirect: "路由到直連",
toBlock: "路由到阻止",
timestamp: "時間戳",
globalDns: "全局 DNS",
directDns: "直連 DNS",
toDirectDns: "路由到直連 DNS",
jsonSubOptions: "其他選項",
}, },
client: { client: {
name: "名稱", name: "名稱",
@@ -229,6 +239,11 @@ export default {
sniffing: "嗅探", sniffing: "嗅探",
clients: "啟用客戶端", clients: "啟用客戶端",
ssMethod: "方法", ssMethod: "方法",
sSide: "服務器端",
cSide: "客戶端",
multiDomain: "多域名",
remark: "備註",
mdOption: "多域名選項",
}, },
listen: { listen: {
sniffing: "嗅探", sniffing: "嗅探",
+8 -2
View File
@@ -128,8 +128,14 @@
</v-card-actions> </v-card-actions>
</v-card> </v-card>
</v-overlay> </v-overlay>
<v-btn icon="mdi-qrcode" @click="showQrCode(index)" /> <v-btn icon="mdi-qrcode" @click="showQrCode(index)">
<v-btn icon="mdi-chart-line" @click="showStats(item.name)" /> <v-icon />
<v-tooltip activator="parent" location="top" text="QR-Code"></v-tooltip>
</v-btn>
<v-btn icon="mdi-chart-line" @click="showStats(item.name)" v-if="v2rayStats.users.includes(item.name)">
<v-icon />
<v-tooltip activator="parent" location="top" :text="$t('stats.graphTitle')"></v-tooltip>
</v-btn>
</v-card-actions> </v-card-actions>
</v-card> </v-card>
</v-col> </v-col>
+4 -1
View File
@@ -94,7 +94,10 @@
</v-card-actions> </v-card-actions>
</v-card> </v-card>
</v-overlay> </v-overlay>
<v-btn icon="mdi-chart-line" @click="showStats(item.tag)" /> <v-btn icon="mdi-chart-line" @click="showStats(item.tag)" v-if="v2rayStats.inbounds.includes(item.tag)">
<v-icon />
<v-tooltip activator="parent" location="top" :text="$t('stats.graphTitle')"></v-tooltip>
</v-btn>
</v-card-actions> </v-card-actions>
</v-card> </v-card>
</v-col> </v-col>
+4 -1
View File
@@ -82,7 +82,10 @@
</v-card-actions> </v-card-actions>
</v-card> </v-card>
</v-overlay> </v-overlay>
<v-btn icon="mdi-chart-line" @click="showStats(item.tag)" /> <v-btn icon="mdi-chart-line" @click="showStats(item.tag)" v-if="v2rayStats.outbounds.includes(item.tag)">
<v-icon />
<v-tooltip activator="parent" location="top" :text="$t('stats.graphTitle')"></v-tooltip>
</v-btn>
</v-card-actions> </v-card-actions>
</v-card> </v-card>
</v-col> </v-col>
+1 -1
View File
@@ -8,7 +8,7 @@
> >
<v-tab value="t1">{{ $t('setting.interface') }}</v-tab> <v-tab value="t1">{{ $t('setting.interface') }}</v-tab>
<v-tab value="t2">{{ $t('setting.sub') }}</v-tab> <v-tab value="t2">{{ $t('setting.sub') }}</v-tab>
<v-tab value="t3">{{ $t('setting.sub') }} JSON</v-tab> <v-tab value="t3">{{ $t('setting.jsonSub') }}</v-tab>
<v-tab value="t4">Language</v-tab> <v-tab value="t4">Language</v-tab>
</v-tabs> </v-tabs>
<v-card-text> <v-card-text>