chore: toasts translation refactoring
Some checks are pending
Build and Release 3X-UI / build (386) (push) Waiting to run
Build and Release 3X-UI / build (amd64) (push) Waiting to run
Build and Release 3X-UI / build (arm64) (push) Waiting to run
Build and Release 3X-UI / build (armv5) (push) Waiting to run
Build and Release 3X-UI / build (armv6) (push) Waiting to run
Build and Release 3X-UI / build (armv7) (push) Waiting to run
Build and Release 3X-UI / build (s390x) (push) Waiting to run

This commit is contained in:
Shishkevich D. 2025-05-09 10:46:29 +07:00 committed by GitHub
parent fe3b1c9b52
commit 1ddfe4aba3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 536 additions and 132 deletions

View file

@ -71,7 +71,7 @@ func (a *InboundController) getClientTraffics(c *gin.Context) {
email := c.Param("email")
clientTraffics, err := a.inboundService.GetClientTrafficByEmail(email)
if err != nil {
jsonMsg(c, "Error getting traffics", err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.trafficGetError"), err)
return
}
jsonObj(c, clientTraffics, nil)
@ -81,7 +81,7 @@ func (a *InboundController) getClientTrafficsById(c *gin.Context) {
id := c.Param("id")
clientTraffics, err := a.inboundService.GetClientTrafficByID(id)
if err != nil {
jsonMsg(c, "Error getting traffics", err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.trafficGetError"), err)
return
}
jsonObj(c, clientTraffics, nil)
@ -91,7 +91,7 @@ func (a *InboundController) addInbound(c *gin.Context) {
inbound := &model.Inbound{}
err := c.ShouldBind(inbound)
if err != nil {
jsonMsg(c, I18nWeb(c, "pages.inbounds.create"), err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundCreateSuccess"), err)
return
}
user := session.GetLoginUser(c)
@ -104,7 +104,7 @@ func (a *InboundController) addInbound(c *gin.Context) {
needRestart := false
inbound, needRestart, err = a.inboundService.AddInbound(inbound)
jsonMsgObj(c, I18nWeb(c, "pages.inbounds.create"), inbound, err)
jsonMsgObj(c, I18nWeb(c, "pages.inbounds.toasts.inboundCreateSuccess"), inbound, err)
if err == nil && needRestart {
a.xrayService.SetToNeedRestart()
}
@ -113,12 +113,12 @@ func (a *InboundController) addInbound(c *gin.Context) {
func (a *InboundController) delInbound(c *gin.Context) {
id, err := strconv.Atoi(c.Param("id"))
if err != nil {
jsonMsg(c, I18nWeb(c, "delete"), err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundDeleteSuccess"), err)
return
}
needRestart := true
needRestart, err = a.inboundService.DelInbound(id)
jsonMsgObj(c, I18nWeb(c, "delete"), id, err)
jsonMsgObj(c, I18nWeb(c, "pages.inbounds.toasts.inboundDeleteSuccess"), id, err)
if err == nil && needRestart {
a.xrayService.SetToNeedRestart()
}
@ -127,7 +127,7 @@ func (a *InboundController) delInbound(c *gin.Context) {
func (a *InboundController) updateInbound(c *gin.Context) {
id, err := strconv.Atoi(c.Param("id"))
if err != nil {
jsonMsg(c, I18nWeb(c, "pages.inbounds.update"), err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundUpdateSuccess"), err)
return
}
inbound := &model.Inbound{
@ -135,12 +135,12 @@ func (a *InboundController) updateInbound(c *gin.Context) {
}
err = c.ShouldBind(inbound)
if err != nil {
jsonMsg(c, I18nWeb(c, "pages.inbounds.update"), err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundUpdateSuccess"), err)
return
}
needRestart := true
inbound, needRestart, err = a.inboundService.UpdateInbound(inbound)
jsonMsgObj(c, I18nWeb(c, "pages.inbounds.update"), inbound, err)
jsonMsgObj(c, I18nWeb(c, "pages.inbounds.toasts.inboundUpdateSuccess"), inbound, err)
if err == nil && needRestart {
a.xrayService.SetToNeedRestart()
}
@ -163,17 +163,17 @@ func (a *InboundController) clearClientIps(c *gin.Context) {
err := a.inboundService.ClearClientIps(email)
if err != nil {
jsonMsg(c, "Update", err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.updateSuccess"), err)
return
}
jsonMsg(c, "Log Cleared", nil)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.logCleanSuccess"), nil)
}
func (a *InboundController) addInboundClient(c *gin.Context) {
data := &model.Inbound{}
err := c.ShouldBind(data)
if err != nil {
jsonMsg(c, I18nWeb(c, "pages.inbounds.update"), err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundUpdateSuccess"), err)
return
}
@ -181,10 +181,10 @@ func (a *InboundController) addInboundClient(c *gin.Context) {
needRestart, err = a.inboundService.AddInboundClient(data)
if err != nil {
jsonMsg(c, "Something went wrong!", err)
jsonMsg(c, I18nWeb(c, "somethingWentWrong"), err)
return
}
jsonMsg(c, "Client(s) added", nil)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundClientAddSuccess"), nil)
if needRestart {
a.xrayService.SetToNeedRestart()
}
@ -193,7 +193,7 @@ func (a *InboundController) addInboundClient(c *gin.Context) {
func (a *InboundController) delInboundClient(c *gin.Context) {
id, err := strconv.Atoi(c.Param("id"))
if err != nil {
jsonMsg(c, I18nWeb(c, "pages.inbounds.update"), err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundUpdateSuccess"), err)
return
}
clientId := c.Param("clientId")
@ -202,10 +202,10 @@ func (a *InboundController) delInboundClient(c *gin.Context) {
needRestart, err = a.inboundService.DelInboundClient(id, clientId)
if err != nil {
jsonMsg(c, "Something went wrong!", err)
jsonMsg(c, I18nWeb(c, "somethingWentWrong"), err)
return
}
jsonMsg(c, "Client deleted", nil)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundClientDeleteSuccess"), nil)
if needRestart {
a.xrayService.SetToNeedRestart()
}
@ -217,7 +217,7 @@ func (a *InboundController) updateInboundClient(c *gin.Context) {
inbound := &model.Inbound{}
err := c.ShouldBind(inbound)
if err != nil {
jsonMsg(c, I18nWeb(c, "pages.inbounds.update"), err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundUpdateSuccess"), err)
return
}
@ -225,10 +225,10 @@ func (a *InboundController) updateInboundClient(c *gin.Context) {
needRestart, err = a.inboundService.UpdateInboundClient(inbound, clientId)
if err != nil {
jsonMsg(c, "Something went wrong!", err)
jsonMsg(c, I18nWeb(c, "somethingWentWrong"), err)
return
}
jsonMsg(c, "Client updated", nil)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundClientUpdateSuccess"), nil)
if needRestart {
a.xrayService.SetToNeedRestart()
}
@ -237,17 +237,17 @@ func (a *InboundController) updateInboundClient(c *gin.Context) {
func (a *InboundController) resetClientTraffic(c *gin.Context) {
id, err := strconv.Atoi(c.Param("id"))
if err != nil {
jsonMsg(c, I18nWeb(c, "pages.inbounds.update"), err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundUpdateSuccess"), err)
return
}
email := c.Param("email")
needRestart, err := a.inboundService.ResetClientTraffic(id, email)
if err != nil {
jsonMsg(c, "Something went wrong!", err)
jsonMsg(c, I18nWeb(c, "somethingWentWrong"), err)
return
}
jsonMsg(c, "Traffic has been reset", nil)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.resetInboundClientTrafficSuccess"), nil)
if needRestart {
a.xrayService.SetToNeedRestart()
}
@ -256,36 +256,36 @@ func (a *InboundController) resetClientTraffic(c *gin.Context) {
func (a *InboundController) resetAllTraffics(c *gin.Context) {
err := a.inboundService.ResetAllTraffics()
if err != nil {
jsonMsg(c, "Something went wrong!", err)
jsonMsg(c, I18nWeb(c, "somethingWentWrong"), err)
return
} else {
a.xrayService.SetToNeedRestart()
}
jsonMsg(c, "all traffic has been reset", nil)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.resetAllTrafficSuccess"), nil)
}
func (a *InboundController) resetAllClientTraffics(c *gin.Context) {
id, err := strconv.Atoi(c.Param("id"))
if err != nil {
jsonMsg(c, I18nWeb(c, "pages.inbounds.update"), err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundUpdateSuccess"), err)
return
}
err = a.inboundService.ResetAllClientTraffics(id)
if err != nil {
jsonMsg(c, "Something went wrong!", err)
jsonMsg(c, I18nWeb(c, "somethingWentWrong"), err)
return
} else {
a.xrayService.SetToNeedRestart()
}
jsonMsg(c, "All traffic from the client has been reset.", nil)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.resetAllClientTrafficSuccess"), nil)
}
func (a *InboundController) importInbound(c *gin.Context) {
inbound := &model.Inbound{}
err := json.Unmarshal([]byte(c.PostForm("data")), inbound)
if err != nil {
jsonMsg(c, "Something went wrong!", err)
jsonMsg(c, I18nWeb(c, "somethingWentWrong"), err)
return
}
user := session.GetLoginUser(c)
@ -304,7 +304,7 @@ func (a *InboundController) importInbound(c *gin.Context) {
needRestart := false
inbound, needRestart, err = a.inboundService.AddInbound(inbound)
jsonMsgObj(c, I18nWeb(c, "pages.inbounds.create"), inbound, err)
jsonMsgObj(c, I18nWeb(c, "pages.inbounds.toasts.inboundCreateSuccess"), inbound, err)
if err == nil && needRestart {
a.xrayService.SetToNeedRestart()
}
@ -313,15 +313,15 @@ func (a *InboundController) importInbound(c *gin.Context) {
func (a *InboundController) delDepletedClients(c *gin.Context) {
id, err := strconv.Atoi(c.Param("id"))
if err != nil {
jsonMsg(c, I18nWeb(c, "pages.inbounds.update"), err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.inboundUpdateSuccess"), err)
return
}
err = a.inboundService.DelDepletedClients(id)
if err != nil {
jsonMsg(c, "Something went wrong!", err)
jsonMsg(c, I18nWeb(c, "somethingWentWrong"), err)
return
}
jsonMsg(c, "All depleted clients are deleted", nil)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.delDepletedClientsSuccess"), nil)
}
func (a *InboundController) onlines(c *gin.Context) {

View file

@ -109,19 +109,19 @@ func (a *ServerController) stopXrayService(c *gin.Context) {
a.lastGetStatusTime = time.Now()
err := a.serverService.StopXrayService()
if err != nil {
jsonMsg(c, "", err)
jsonMsg(c, I18nWeb(c, "pages.xray.stopError"), err)
return
}
jsonMsg(c, "Xray stopped", err)
jsonMsg(c, I18nWeb(c, "pages.xray.stopSuccess"), err)
}
func (a *ServerController) restartXrayService(c *gin.Context) {
err := a.serverService.RestartXrayService()
if err != nil {
jsonMsg(c, "", err)
jsonMsg(c, I18nWeb(c, "pages.xray.restartError"), err)
return
}
jsonMsg(c, "Xray restarted", err)
jsonMsg(c, I18nWeb(c, "pages.xray.restartSuccess"), err)
}
func (a *ServerController) getLogs(c *gin.Context) {
@ -135,7 +135,7 @@ func (a *ServerController) getLogs(c *gin.Context) {
func (a *ServerController) getConfigJson(c *gin.Context) {
configJson, err := a.serverService.GetConfigJson()
if err != nil {
jsonMsg(c, "get config.json", err)
jsonMsg(c, I18nWeb(c, "pages.index.getConfigError"), err)
return
}
jsonObj(c, configJson, nil)
@ -144,7 +144,7 @@ func (a *ServerController) getConfigJson(c *gin.Context) {
func (a *ServerController) getDb(c *gin.Context) {
db, err := a.serverService.GetDb()
if err != nil {
jsonMsg(c, "get Database", err)
jsonMsg(c, I18nWeb(c, "pages.index.getDatabaseError"), err)
return
}
@ -172,7 +172,7 @@ func (a *ServerController) importDB(c *gin.Context) {
// Get the file from the request body
file, _, err := c.Request.FormFile("db")
if err != nil {
jsonMsg(c, "Error reading db file", err)
jsonMsg(c, I18nWeb(c, "pages.index.readDatabaseError"), err)
return
}
defer file.Close()
@ -184,16 +184,16 @@ func (a *ServerController) importDB(c *gin.Context) {
// Import it
err = a.serverService.ImportDB(file)
if err != nil {
jsonMsg(c, "", err)
jsonMsg(c, I18nWeb(c, "pages.index.importDatabaseError"), err)
return
}
jsonObj(c, "Import DB", nil)
jsonObj(c, I18nWeb(c, "pages.index.importDatabaseSuccess"), nil)
}
func (a *ServerController) getNewX25519Cert(c *gin.Context) {
cert, err := a.serverService.GetNewX25519Cert()
if err != nil {
jsonMsg(c, "get x25519 certificate", err)
jsonMsg(c, I18nWeb(c, "pages.inbounds.toasts.getNewX25519CertError"), err)
return
}
jsonObj(c, cert, nil)

View file

@ -80,11 +80,11 @@ func (a *SettingController) updateUser(c *gin.Context) {
}
user := session.GetLoginUser(c)
if user.Username != form.OldUsername || !crypto.CheckPasswordHash(user.Password, form.OldPassword) {
jsonMsg(c, I18nWeb(c, "pages.settings.toasts.modifyUser"), errors.New(I18nWeb(c, "pages.settings.toasts.originalUserPassIncorrect")))
jsonMsg(c, I18nWeb(c, "pages.settings.toasts.modifyUserError"), errors.New(I18nWeb(c, "pages.settings.toasts.originalUserPassIncorrect")))
return
}
if form.NewUsername == "" || form.NewPassword == "" {
jsonMsg(c, I18nWeb(c, "pages.settings.toasts.modifyUser"), errors.New(I18nWeb(c, "pages.settings.toasts.userPassMustBeNotEmpty")))
jsonMsg(c, I18nWeb(c, "pages.settings.toasts.modifyUserError"), errors.New(I18nWeb(c, "pages.settings.toasts.userPassMustBeNotEmpty")))
return
}
err = a.userService.UpdateUser(user.Id, form.NewUsername, form.NewPassword)
@ -98,7 +98,7 @@ func (a *SettingController) updateUser(c *gin.Context) {
func (a *SettingController) restartPanel(c *gin.Context) {
err := a.panelService.RestartPanel(time.Second * 3)
jsonMsg(c, I18nWeb(c, "pages.settings.restartPanel"), err)
jsonMsg(c, I18nWeb(c, "pages.settings.restartPanelSuccess"), err)
}
func (a *SettingController) getDefaultXrayConfig(c *gin.Context) {

View file

@ -42,11 +42,11 @@ func jsonMsgObj(c *gin.Context, msg string, obj any, err error) {
if err == nil {
m.Success = true
if msg != "" {
m.Msg = msg + " " + I18nWeb(c, "success")
m.Msg = msg
}
} else {
m.Success = false
m.Msg = msg + " " + I18nWeb(c, "fail") + ": " + err.Error()
m.Msg = msg + " (" + err.Error() + ")"
logger.Warning(msg+" "+I18nWeb(c, "fail")+": ", err)
}
c.JSON(http.StatusOK, m)

View file

@ -93,7 +93,7 @@ func (a *XraySettingController) warp(c *gin.Context) {
func (a *XraySettingController) getOutboundsTraffic(c *gin.Context) {
outboundsTraffic, err := a.OutboundService.GetOutboundsTraffic()
if err != nil {
jsonMsg(c, "Error getting traffics", err)
jsonMsg(c, I18nWeb(c, "pages.settings.toasts.getOutboundTrafficError"), err)
return
}
jsonObj(c, outboundsTraffic, nil)
@ -103,7 +103,7 @@ func (a *XraySettingController) resetOutboundsTraffic(c *gin.Context) {
tag := c.PostForm("tag")
err := a.OutboundService.ResetOutboundTraffic(tag)
if err != nil {
jsonMsg(c, "Error in reset outbound traffics", err)
jsonMsg(c, I18nWeb(c, "pages.settings.toasts.resetOutboundTrafficError"), err)
return
}
jsonObj(c, "", nil)

View file

@ -978,7 +978,7 @@
openAddInbound() {
inModal.show({
title: '{{ i18n "pages.inbounds.addInbound"}}',
okText: '{{ i18n "pages.inbounds.create"}}',
okText: '{{ i18n "create"}}',
cancelText: '{{ i18n "close" }}',
confirm: async (inbound, dbInbound) => {
await this.addInbound(inbound, dbInbound, inModal);
@ -991,7 +991,7 @@
const inbound = dbInbound.toInbound();
inModal.show({
title: '{{ i18n "pages.inbounds.modifyInbound"}}',
okText: '{{ i18n "pages.inbounds.update"}}',
okText: '{{ i18n "update"}}',
cancelText: '{{ i18n "close" }}',
inbound: inbound,
dbInbound: dbInbound,

View file

@ -3,7 +3,7 @@
:confirm-loading="warpModal.confirmLoading" :closable="true" :mask-closable="true"
:footer="null" :class="themeSwitcher.currentTheme">
<template v-if="ObjectUtil.isEmpty(warpModal.warpData)">
<a-button icon="api" @click="register" :loading="warpModal.confirmLoading">{{ i18n "pages.inbounds.create" }}</a-button>
<a-button icon="api" @click="register" :loading="warpModal.confirmLoading">{{ i18n "create" }}</a-button>
</template>
<template v-else>
<table :style="{ margin: '5px 0', width: '100%' }">
@ -32,7 +32,7 @@
<a-form-item label="Key">
<a-input v-model="warpPlus"></a-input>
<a-button @click="updateLicense(warpPlus)" :disabled="warpPlus.length<26"
:loading="warpModal.confirmLoading">{{ i18n "pages.inbounds.update" }}</a-button>
:loading="warpModal.confirmLoading">{{ i18n "update" }}</a-button>
</a-form-item>
</a-form>
</a-collapse-panel>

View file

@ -4,6 +4,8 @@
"confirm" = "تأكيد"
"cancel" = "إلغاء"
"close" = "إغلاق"
"create" = "إنشاء"
"update" = "تحديث"
"copy" = "نسخ"
"copied" = "اتنسخ"
"download" = "تحميل"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "مفيش سيرفر Fake DNS مضاف."
"emptyBalancersDesc" = "مفيش موازن تحميل مضاف."
"emptyReverseDesc" = "مفيش بروكسي عكسي مضاف."
"somethingWentWrong" = "حدث خطأ ما"
[menu]
"theme" = "الثيم"
@ -88,7 +91,7 @@
"emptyUsername" = "اسم المستخدم مطلوب"
"emptyPassword" = "الباسورد مطلوب"
"wrongUsernameOrPassword" = "اسم المستخدم أو كلمة المرور أو كود المصادقة الثنائية غير صحيح."
"successLogin" = "تسجيل دخول ناجح"
"successLogin" = "لقد تم تسجيل الدخول إلى حسابك بنجاح."
[pages.index]
"title" = "نظرة عامة"
@ -137,6 +140,11 @@
"exportDatabaseDesc" = "اضغط عشان تحمل ملف .db يحتوي على نسخة احتياطية لقاعدة البيانات الحالية على جهازك."
"importDatabase" = "استرجاع"
"importDatabaseDesc" = "اضغط عشان تختار وتحمل ملف .db من جهازك لاسترجاع قاعدة البيانات من نسخة احتياطية."
"importDatabaseSuccess" = "تم استيراد قاعدة البيانات بنجاح"
"importDatabaseError" = "حدث خطأ أثناء استيراد قاعدة البيانات"
"readDatabaseError" = "حدث خطأ أثناء قراءة قاعدة البيانات"
"getDatabaseError" = "حدث خطأ أثناء استرجاع قاعدة البيانات"
"getConfigError" = "حدث خطأ أثناء استرجاع ملف الإعدادات"
[pages.inbounds]
"title" = "الإدخالات"
@ -157,14 +165,14 @@
"generalActions" = "إجراءات عامة"
"autoRefresh" = "تحديث تلقائي"
"autoRefreshInterval" = "الفاصل"
"create" = "إنشاء"
"update" = "تحديث"
"modifyInbound" = "تعديل الإدخال"
"deleteInbound" = "حذف الإدخال"
"deleteInboundContent" = "متأكد إنك عايز تحذف الإدخال؟"
"deleteClient" = "حذف العميل"
"deleteClientContent" = "متأكد إنك عايز تحذف العميل؟"
"resetTrafficContent" = "متأكد إنك عايز تعيد ضبط الترافيك؟"
"inboundUpdateSuccess" = "تم تحديث الوارد بنجاح."
"inboundCreateSuccess" = "تم إنشاء الوارد بنجاح."
"copyLink" = "انسخ الرابط"
"address" = "العنوان"
"network" = "الشبكة"
@ -235,6 +243,21 @@
[pages.inbounds.toasts]
"obtain" = "تم الحصول عليه"
"updateSuccess" = "تم التحديث بنجاح"
"logCleanSuccess" = "تم مسح السجل"
"inboundsUpdateSuccess" = "تم تحديث الواردات بنجاح"
"inboundUpdateSuccess" = "تم تحديث الوارد بنجاح"
"inboundCreateSuccess" = "تم إنشاء الوارد بنجاح"
"inboundDeleteSuccess" = "تم حذف الوارد بنجاح"
"inboundClientAddSuccess" = "تمت إضافة عميل(عملاء) وارد"
"inboundClientDeleteSuccess" = "تم حذف عميل وارد"
"inboundClientUpdateSuccess" = "تم تحديث عميل وارد"
"delDepletedClientsSuccess" = "تم حذف جميع العملاء المستنفذين"
"resetAllClientTrafficSuccess" = "تم إعادة تعيين كل حركة المرور من العميل"
"resetAllTrafficSuccess" = "تم إعادة تعيين كل حركة المرور"
"resetInboundClientTrafficSuccess" = "تم إعادة تعيين حركة المرور"
"trafficGetError" = "خطأ في الحصول على حركات المرور"
"getNewX25519CertError" = "حدث خطأ أثناء الحصول على شهادة X25519."
[pages.inbounds.stream.general]
"request" = "طلب"
@ -257,6 +280,7 @@
"infoDesc" = "كل تغيير هتعمله هنا لازم يتخزن. ياريت تعيد تشغيل البانل عشان التعديلات تتفعل."
"restartPanel" = "إعادة تشغيل البانل"
"restartPanelDesc" = "متأكد إنك عايز تعيد تشغيل البانل؟ لو ماقدرتش تدخل بعد إعادة التشغيل، شوف سجل البانل على السيرفر."
"restartPanelSuccess" = "تم إعادة تشغيل اللوحة بنجاح"
"actions" = "إجراءات"
"resetDefaultConfig" = "استرجاع الافتراضي"
"panelSettings" = "عام"
@ -364,6 +388,10 @@
"title" = "إعدادات Xray"
"save" = "احفظ"
"restart" = "أعد تشغيل Xray"
"restartSuccess" = "تم إعادة تشغيل Xray بنجاح"
"stopSuccess" = "تم إيقاف Xray بنجاح"
"restartError" = "حدث خطأ أثناء إعادة تشغيل Xray."
"stopError" = "حدث خطأ أثناء إيقاف Xray."
"basicTemplate" = "أساسي"
"advancedTemplate" = "متقدم"
"generalConfigs" = "إعدادات عامة"
@ -515,11 +543,14 @@
"twoFactorModalError" = "رمز خاطئ"
[pages.settings.toasts]
"modifySettings" = "تعديل الإعدادات"
"getSettings" = "جلب الإعدادات"
"modifyUser" = "تعديل الأدمن"
"modifySettings" = "تم تغيير المعلمات."
"getSettings" = "حدث خطأ أثناء استرداد المعلمات."
"modifyUserError" = "حدث خطأ أثناء تغيير بيانات اعتماد المسؤول."
"modifyUser" = "لقد قمت بتغيير بيانات اعتماد المسؤول بنجاح."
"originalUserPassIncorrect" = "اسم المستخدم أو الباسورد الحالي غير صحيح"
"userPassMustBeNotEmpty" = "اسم المستخدم والباسورد الجديدين فاضيين"
"getOutboundTrafficError" = "خطأ في الحصول على حركات المرور الصادرة"
"resetOutboundTrafficError" = "خطأ في إعادة تعيين حركات المرور الصادرة"
[tgbot]
"keyboardClosed" = "❌ الكيبورد المخصص اتقفلت!"

View file

@ -4,6 +4,8 @@
"confirm" = "Confirm"
"cancel" = "Cancel"
"close" = "Close"
"create" = "Create"
"update" = "Update"
"copy" = "Copy"
"copied" = "Copied"
"download" = "Download"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "No added Fake DNS servers."
"emptyBalancersDesc" = "No added balancers."
"emptyReverseDesc" = "No added reverse proxies."
"somethingWentWrong" = "Something went wrong"
[menu]
"theme" = "Theme"
@ -88,7 +91,7 @@
"emptyUsername" = "Username is required"
"emptyPassword" = "Password is required"
"wrongUsernameOrPassword" = "Invalid username or password or two-factor code."
"successLogin" = "Login"
"successLogin" = " You have successfully logged into your account."
[pages.index]
"title" = "Overview"
@ -137,6 +140,11 @@
"exportDatabaseDesc" = "Click to download a .db file containing a backup of your current database to your device."
"importDatabase" = "Restore"
"importDatabaseDesc" = "Click to select and upload a .db file from your device to restore your database from a backup."
"importDatabaseSuccess" = "The database has been successfully imported."
"importDatabaseError" = "An error occurred while importing the database."
"readDatabaseError" = "An error occurred while reading the database."
"getDatabaseError" = "An error occurred while retrieving the database."
"getConfigError" = "An error occurred while retrieving the config file."
[pages.inbounds]
"title" = "Inbounds"
@ -157,8 +165,6 @@
"generalActions" = "General Actions"
"autoRefresh" = "Auto-refresh"
"autoRefreshInterval" = "Interval"
"create" = "Create"
"update" = "Update"
"modifyInbound" = "Modify Inbound"
"deleteInbound" = "Delete Inbound"
"deleteInboundContent" = "Are you sure you want to delete inbound?"
@ -235,6 +241,22 @@
[pages.inbounds.toasts]
"obtain" = "Obtain"
"updateSuccess" = "The update was successful."
"logCleanSuccess" = "The log has been cleared."
"inboundsUpdateSuccess" = "Inbounds have been successfully updated."
"inboundUpdateSuccess" = "Inbound has been successfully updated."
"inboundCreateSuccess" = "Inbound has been successfully created."
"inboundDeleteSuccess" = "Inbound has been successfully deleted."
"inboundClientAddSuccess" = "Inbound client(s) have been added."
"inboundClientDeleteSuccess" = "Inbound client has been deleted."
"inboundClientUpdateSuccess" = "Inbound client has been updated."
"delDepletedClientsSuccess" = "All depleted clients are deleted."
"resetAllClientTrafficSuccess" = "All traffic from the client has been reset."
"resetAllTrafficSuccess" = "All traffic has been reset."
"resetInboundClientTrafficSuccess" = "Traffic has been reset."
"trafficGetError" = "Error getting traffics."
"getNewX25519CertError" = "Error while obtaining the X25519 certificate."
[pages.inbounds.stream.general]
"request" = "Request"
@ -257,6 +279,7 @@
"infoDesc" = "Every change made here needs to be saved. Please restart the panel to apply changes."
"restartPanel" = "Restart Panel"
"restartPanelDesc" = "Are you sure you want to restart the panel? If you cannot access the panel after restarting, please view the panel log info on the server."
"restartPanelSuccess" = "The panel was successfully restarted."
"actions" = "Actions"
"resetDefaultConfig" = "Reset to Default"
"panelSettings" = "General"
@ -364,6 +387,10 @@
"title" = "Xray Configs"
"save" = "Save"
"restart" = "Restart Xray"
"restartSuccess" = "Xray has been successfully relaunched."
"stopSuccess" = "Xray has been successfully stopped."
"restartError" = "There was an error when rebooting the Xray."
"stopError" = "There was an error when stopping the Xray."
"basicTemplate" = "Basics"
"advancedTemplate" = "Advanced"
"generalConfigs" = "General"
@ -515,11 +542,14 @@
"twoFactorModalError" = "Wrong code"
[pages.settings.toasts]
"modifySettings" = "Modify Settings"
"getSettings" = "Get Settings"
"modifyUser" = "Modify Admin"
"originalUserPassIncorrect" = "The Current username or password is invalid"
"modifySettings" = "The parameters have been changed."
"getSettings" = "An error occurred while retrieving parameters."
"modifyUserError" = "An error occurred while changing administrator credentials."
"modifyUser" = "You have successfully changed the credentials of the administrator."
"originalUserPassIncorrect" = "The сurrent username or password is invalid"
"userPassMustBeNotEmpty" = "The new username and password is empty"
"getOutboundTrafficError" = "Error getting traffics"
"resetOutboundTrafficError" = "Error in reset outbound traffics"
[tgbot]
"keyboardClosed" = "❌ Custom keyboard closed!"

View file

@ -4,6 +4,8 @@
"confirm" = "Confirmar"
"cancel" = "Cancelar"
"close" = "Cerrar"
"create" = "Crear"
"update" = "Actualizar"
"copy" = "Copiar"
"copied" = "Copiado"
"download" = "Descargar"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "No hay servidores Fake DNS añadidos."
"emptyBalancersDesc" = "No hay balanceadores añadidos."
"emptyReverseDesc" = "No hay proxies inversos añadidos."
"somethingWentWrong" = "Algo salió mal"
[menu]
"theme" = "Tema"
@ -88,7 +91,7 @@
"emptyUsername" = "Por favor ingresa el nombre de usuario."
"emptyPassword" = "Por favor ingresa la contraseña."
"wrongUsernameOrPassword" = "Nombre de usuario, contraseña o código de dos factores incorrecto."
"successLogin" = "Inicio de Sesión Exitoso"
"successLogin" = "Has iniciado sesión en tu cuenta correctamente."
[pages.index]
"title" = "Estado del Sistema"
@ -139,6 +142,11 @@
"exportDatabaseDesc" = "Haz clic para descargar un archivo .db que contiene una copia de seguridad de tu base de datos actual en tu dispositivo."
"importDatabase" = "Restaurar"
"importDatabaseDesc" = "Haz clic para seleccionar y cargar un archivo .db desde tu dispositivo para restaurar tu base de datos desde una copia de seguridad."
"importDatabaseSuccess" = "La base de datos se ha importado correctamente"
"importDatabaseError" = "Ocurrió un error al importar la base de datos"
"readDatabaseError" = "Ocurrió un error al leer la base de datos"
"getDatabaseError" = "Ocurrió un error al obtener la base de datos"
"getConfigError" = "Ocurrió un error al obtener el archivo de configuración"
[pages.inbounds]
"title" = "Entradas"
@ -159,14 +167,14 @@
"generalActions" = "Acciones Generales"
"autoRefresh" = "Auto-actualizar"
"autoRefreshInterval" = "Intervalo"
"create" = "Crear"
"update" = "Actualizar"
"modifyInbound" = "Modificar Entrada"
"deleteInbound" = "Eliminar Entrada"
"deleteInboundContent" = "¿Confirmar eliminación de entrada?"
"deleteClient" = "Eliminar cliente"
"deleteClientContent" = "¿Está seguro de que desea eliminar el cliente?"
"resetTrafficContent" = "¿Confirmar restablecimiento de tráfico?"
"inboundUpdateSuccess" = "La entrada se ha actualizado correctamente."
"inboundCreateSuccess" = "La entrada se ha creado correctamente."
"copyLink" = "Copiar Enlace"
"address" = "Dirección"
"network" = "Red"
@ -237,6 +245,21 @@
[pages.inbounds.toasts]
"obtain" = "Recibir"
"updateSuccess" = "La actualización fue exitosa"
"logCleanSuccess" = "El registro ha sido limpiado"
"inboundsUpdateSuccess" = "Entradas actualizadas correctamente"
"inboundUpdateSuccess" = "Entrada actualizada correctamente"
"inboundCreateSuccess" = "Entrada creada correctamente"
"inboundDeleteSuccess" = "Entrada eliminada correctamente"
"inboundClientAddSuccess" = "Cliente(s) de entrada añadido(s)"
"inboundClientDeleteSuccess" = "Cliente de entrada eliminado"
"inboundClientUpdateSuccess" = "Cliente de entrada actualizado"
"delDepletedClientsSuccess" = "Todos los clientes agotados fueron eliminados"
"resetAllClientTrafficSuccess" = "Todo el tráfico del cliente ha sido reiniciado"
"resetAllTrafficSuccess" = "Todo el tráfico ha sido reiniciado"
"resetInboundClientTrafficSuccess" = "El tráfico ha sido reiniciado"
"trafficGetError" = "Error al obtener los tráficos"
"getNewX25519CertError" = "Error al obtener el certificado X25519."
[pages.inbounds.stream.general]
"request" = "Pedido"
@ -259,6 +282,7 @@
"infoDesc" = "Cada cambio realizado aquí debe ser guardado. Por favor, reinicie el panel para aplicar los cambios."
"restartPanel" = "Reiniciar Panel"
"restartPanelDesc" = "¿Está seguro de que desea reiniciar el panel? Haga clic en Aceptar para reiniciar después de 3 segundos. Si no puede acceder al panel después de reiniciar, por favor, consulte la información de registro del panel en el servidor."
"restartPanelSuccess" = "El panel se reinició correctamente"
"actions" = "Acciones"
"resetDefaultConfig" = "Restablecer a Configuración Predeterminada"
"panelSettings" = "Configuraciones del Panel"
@ -366,6 +390,10 @@
"title" = "Xray Configuración"
"save" = "Guardar configuración"
"restart" = "Reiniciar Xray"
"restartSuccess" = "Xray se ha reiniciado correctamente"
"stopSuccess" = "Xray se ha detenido correctamente"
"restartError" = "Ocurrió un error al reiniciar Xray."
"stopError" = "Ocurrió un error al detener Xray."
"basicTemplate" = "Plantilla Básica"
"advancedTemplate" = "Plantilla Avanzada"
"generalConfigs" = "Configuraciones Generales"
@ -517,11 +545,14 @@
"twoFactorModalError" = "Código incorrecto"
[pages.settings.toasts]
"modifySettings" = "Modificar Configuraciones "
"getSettings" = "Obtener Configuraciones "
"modifyUser" = "Modificar Usuario "
"modifySettings" = "Los parámetros han sido modificados."
"getSettings" = "Ocurrió un error al obtener los parámetros."
"modifyUserError" = "Ocurrió un error al cambiar las credenciales del administrador."
"modifyUser" = "Has cambiado exitosamente las credenciales del administrador."
"originalUserPassIncorrect" = "Nombre de usuario o contraseña original incorrectos"
"userPassMustBeNotEmpty" = "El nuevo nombre de usuario y la nueva contraseña no pueden estar vacíos"
"getOutboundTrafficError" = "Error al obtener el tráfico saliente"
"resetOutboundTrafficError" = "Error al reiniciar el tráfico saliente"
[tgbot]
"keyboardClosed" = "❌ ¡Teclado personalizado cerrado!"

View file

@ -4,6 +4,8 @@
"confirm" = "تایید"
"cancel" = "انصراف"
"close" = "بستن"
"create" = "ایجاد"
"update" = "به‌روزرسانی"
"copy" = "کپی"
"copied" = "کپی شد"
"download" = "دانلود"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "هیچ سرور Fake DNS اضافه نشده است."
"emptyBalancersDesc" = "هیچ بالانسر اضافه نشده است."
"emptyReverseDesc" = "هیچ پروکسی معکوس اضافه نشده است."
"somethingWentWrong" = "مشکلی پیش آمد"
[menu]
"theme" = "تم"
@ -88,7 +91,7 @@
"emptyUsername" = "لطفا یک نام‌کاربری وارد کنید‌"
"emptyPassword" = "لطفا یک رمزعبور وارد کنید"
"wrongUsernameOrPassword" = "نام کاربری، رمز عبور یا کد دو مرحله‌ای نامعتبر است."
"successLogin" = "ورود"
"successLogin" = "شما با موفقیت به حساب کاربری خود وارد شدید."
[pages.index]
"title" = "نمای کلی"
@ -139,6 +142,11 @@
"exportDatabaseDesc" = "برای دانلود یک فایل .db حاوی پشتیبان از پایگاه داده فعلی خود به دستگاهتان کلیک کنید."
"importDatabase" = "بازیابی"
"importDatabaseDesc" = "برای انتخاب و آپلود یک فایل .db از دستگاهتان و بازیابی پایگاه داده از یک پشتیبان کلیک کنید."
"importDatabaseSuccess" = "پایگاه داده با موفقیت وارد شد"
"importDatabaseError" = "خطا در وارد کردن پایگاه داده"
"readDatabaseError" = "خطا در خواندن پایگاه داده"
"getDatabaseError" = "خطا در دریافت پایگاه داده"
"getConfigError" = "خطا در دریافت فایل پیکربندی"
[pages.inbounds]
"title" = "کاربران"
@ -159,14 +167,14 @@
"generalActions" = "عملیات کلی"
"autoRefresh" = "تازه‌سازی خودکار"
"autoRefreshInterval" = "فاصله"
"create" = "افزودن"
"update" = "ویرایش"
"modifyInbound" = "ویرایش ورودی"
"deleteInbound" = "حذف ورودی"
"deleteInboundContent" = "آیا مطمئن به حذف ورودی هستید؟"
"deleteClient" = "حذف کاربر"
"deleteClientContent" = "آیا مطمئن به حذف کاربر هستید؟"
"resetTrafficContent" = "آیا مطمئن به ریست ترافیک هستید؟"
"inboundUpdateSuccess" = "ورودی با موفقیت به‌روزرسانی شد."
"inboundCreateSuccess" = "ورودی با موفقیت ایجاد شد."
"copyLink" = "کپی لینک"
"address" = "آدرس"
"network" = "شبکه"
@ -237,6 +245,21 @@
[pages.inbounds.toasts]
"obtain" = "فراهم‌سازی"
"updateSuccess" = "بروزرسانی با موفقیت انجام شد"
"logCleanSuccess" = "لاگ پاکسازی شد"
"inboundsUpdateSuccess" = "ورودی‌ها با موفقیت به‌روزرسانی شدند"
"inboundUpdateSuccess" = "ورودی با موفقیت به‌روزرسانی شد"
"inboundCreateSuccess" = "ورودی با موفقیت ایجاد شد"
"inboundDeleteSuccess" = "ورودی با موفقیت حذف شد"
"inboundClientAddSuccess" = "کلاینت(های) ورودی اضافه شدند"
"inboundClientDeleteSuccess" = "کلاینت ورودی حذف شد"
"inboundClientUpdateSuccess" = "کلاینت ورودی به‌روزرسانی شد"
"delDepletedClientsSuccess" = "تمام کلاینت‌های مصرف شده حذف شدند"
"resetAllClientTrafficSuccess" = "تمام ترافیک کلاینت بازنشانی شد"
"resetAllTrafficSuccess" = "تمام ترافیک‌ها بازنشانی شدند"
"resetInboundClientTrafficSuccess" = "ترافیک بازنشانی شد"
"trafficGetError" = "خطا در دریافت ترافیک‌ها"
"getNewX25519CertError" = "خطا در دریافت گواهی X25519."
[pages.inbounds.stream.general]
"request" = "درخواست"
@ -259,6 +282,7 @@
"infoDesc" = "برای اعمال تغییرات در این بخش باید پس از ذخیره کردن، پنل را ریستارت کنید"
"restartPanel" = "ریستارت پنل"
"restartPanelDesc" = "آیا مطمئن به ریستارت پنل هستید؟ اگر پس‌از ریستارت نمی‌توانید به پنل دسترسی پیدا کنید، لطفاً گزارش‌های موجود در اسکریپت پنل را بررسی کنید"
"restartPanelSuccess" = "پنل با موفقیت راه‌اندازی مجدد شد"
"actions" = "عملیات ها"
"resetDefaultConfig" = "برگشت به پیش‌فرض"
"panelSettings" = "پیکربندی"
@ -366,6 +390,10 @@
"title" = "پیکربندی ایکس‌ری"
"save" = "ذخیره"
"restart" = "ریستارت ایکس‌ری"
"restartSuccess" = "Xray با موفقیت راه‌اندازی مجدد شد"
"stopSuccess" = "Xray با موفقیت متوقف شد"
"restartError" = "خطا در راه‌اندازی مجدد Xray."
"stopError" = "خطا در توقف Xray."
"basicTemplate" = "پایه"
"advancedTemplate" = "پیشرفته"
"generalConfigs" = "استراتژی‌ کلی"
@ -517,11 +545,14 @@
"twoFactorModalError" = "کد نادرست"
[pages.settings.toasts]
"modifySettings" = "ویرایش تنظیمات"
"getSettings" = "دریافت تنظیمات"
"modifyUser" = "ویرایش مدیر"
"modifySettings" = "پارامترها تغییر کرده‌اند."
"getSettings" = "خطا در دریافت پارامترها"
"modifyUserError" = "خطا در تغییر اعتبارنامه‌های مدیر سیستم."
"modifyUser" = "شما با موفقیت اعتبارنامه‌های مدیر سیستم را تغییر دادید."
"originalUserPassIncorrect" = "نام‌کاربری یا رمزعبور فعلی اشتباه‌است"
"userPassMustBeNotEmpty" = "نام‌کاربری یا رمزعبور جدید خالی‌است"
"getOutboundTrafficError" = "خطا در دریافت ترافیک خروجی"
"resetOutboundTrafficError" = "خطا در بازنشانی ترافیک خروجی"
[tgbot]
"keyboardClosed" = "❌ کیبورد سفارشی بسته شد!"

View file

@ -4,6 +4,8 @@
"confirm" = "Konfirmasi"
"cancel" = "Batal"
"close" = "Tutup"
"create" = "Buat"
"update" = "Perbarui"
"copy" = "Salin"
"copied" = "Tersalin"
"download" = "Unduh"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "Tidak ada server Fake DNS yang ditambahkan."
"emptyBalancersDesc" = "Tidak ada penyeimbang yang ditambahkan."
"emptyReverseDesc" = "Tidak ada proxy terbalik yang ditambahkan."
"somethingWentWrong" = "Terjadi kesalahan"
[menu]
"theme" = "Tema"
@ -88,7 +91,7 @@
"emptyUsername" = "Nama Pengguna diperlukan"
"emptyPassword" = "Kata Sandi diperlukan"
"wrongUsernameOrPassword" = "Username, kata sandi, atau kode dua faktor tidak valid."
"successLogin" = "Login berhasil"
"successLogin" = "Anda telah berhasil masuk ke akun Anda."
[pages.index]
"title" = "Ikhtisar"
@ -139,6 +142,11 @@
"exportDatabaseDesc" = "Klik untuk mengunduh file .db yang berisi cadangan dari database Anda saat ini ke perangkat Anda."
"importDatabase" = "Pulihkan"
"importDatabaseDesc" = "Klik untuk memilih dan mengunggah file .db dari perangkat Anda untuk memulihkan database dari cadangan."
"importDatabaseSuccess" = "Database berhasil diimpor"
"importDatabaseError" = "Terjadi kesalahan saat mengimpor database"
"readDatabaseError" = "Terjadi kesalahan saat membaca database"
"getDatabaseError" = "Terjadi kesalahan saat mengambil database"
"getConfigError" = "Terjadi kesalahan saat mengambil file konfigurasi"
[pages.inbounds]
"title" = "Masuk"
@ -159,14 +167,14 @@
"generalActions" = "Tindakan Umum"
"autoRefresh" = "Pembaruan otomatis"
"autoRefreshInterval" = "Interval"
"create" = "Buat"
"update" = "Perbarui"
"modifyInbound" = "Ubah Masuk"
"deleteInbound" = "Hapus Masuk"
"deleteInboundContent" = "Apakah Anda yakin ingin menghapus masuk?"
"deleteClient" = "Hapus Klien"
"deleteClientContent" = "Apakah Anda yakin ingin menghapus klien?"
"resetTrafficContent" = "Apakah Anda yakin ingin mereset traffic?"
"inboundUpdateSuccess" = "Inbound berhasil diperbarui."
"inboundCreateSuccess" = "Inbound berhasil dibuat."
"copyLink" = "Salin URL"
"address" = "Alamat"
"network" = "Jaringan"
@ -237,6 +245,21 @@
[pages.inbounds.toasts]
"obtain" = "Dapatkan"
"updateSuccess" = "Pembaruan berhasil"
"logCleanSuccess" = "Log telah dibersihkan"
"inboundsUpdateSuccess" = "Inbound berhasil diperbarui"
"inboundUpdateSuccess" = "Inbound berhasil diperbarui"
"inboundCreateSuccess" = "Inbound berhasil dibuat"
"inboundDeleteSuccess" = "Inbound berhasil dihapus"
"inboundClientAddSuccess" = "Klien inbound telah ditambahkan"
"inboundClientDeleteSuccess" = "Klien inbound telah dihapus"
"inboundClientUpdateSuccess" = "Klien inbound telah diperbarui"
"delDepletedClientsSuccess" = "Semua klien yang habis telah dihapus"
"resetAllClientTrafficSuccess" = "Semua lalu lintas klien telah direset"
"resetAllTrafficSuccess" = "Semua lalu lintas telah direset"
"resetInboundClientTrafficSuccess" = "Lalu lintas telah direset"
"trafficGetError" = "Gagal mendapatkan data lalu lintas"
"getNewX25519CertError" = "Terjadi kesalahan saat mendapatkan sertifikat X25519."
[pages.inbounds.stream.general]
"request" = "Permintaan"
@ -259,6 +282,7 @@
"infoDesc" = "Setiap perubahan yang dibuat di sini perlu disimpan. Harap restart panel untuk menerapkan perubahan."
"restartPanel" = "Restart Panel"
"restartPanelDesc" = "Apakah Anda yakin ingin merestart panel? Jika Anda tidak dapat mengakses panel setelah merestart, lihat info log panel di server."
"restartPanelSuccess" = "Panel berhasil dimulai ulang"
"actions" = "Tindakan"
"resetDefaultConfig" = "Reset ke Default"
"panelSettings" = "Umum"
@ -366,6 +390,10 @@
"title" = "Konfigurasi Xray"
"save" = "Simpan"
"restart" = "Restart Xray"
"restartSuccess" = "Xray berhasil diluncurkan ulang"
"stopSuccess" = "Xray telah berhasil dihentikan"
"restartError" = "Terjadi kesalahan saat memulai ulang Xray."
"stopError" = "Terjadi kesalahan saat menghentikan Xray."
"basicTemplate" = "Dasar"
"advancedTemplate" = "Lanjutan"
"generalConfigs" = "Strategi Umum"
@ -517,11 +545,14 @@
"twoFactorModalError" = "Kode salah"
[pages.settings.toasts]
"modifySettings" = "Ubah Pengaturan"
"getSettings" = "Dapatkan Pengaturan"
"modifyUser" = "Ubah Admin"
"modifySettings" = "Parameter telah diubah."
"getSettings" = "Terjadi kesalahan saat mengambil parameter."
"modifyUserError" = "Terjadi kesalahan saat mengubah kredensial administrator."
"modifyUser" = "Anda telah berhasil mengubah kredensial administrator."
"originalUserPassIncorrect" = "Username atau password saat ini tidak valid"
"userPassMustBeNotEmpty" = "Username dan password baru tidak boleh kosong"
"getOutboundTrafficError" = "Gagal mendapatkan lalu lintas keluar"
"resetOutboundTrafficError" = "Gagal mereset lalu lintas keluar"
[tgbot]
"keyboardClosed" = "❌ Papan ketik kustom ditutup!"

View file

@ -4,6 +4,8 @@
"confirm" = "確認"
"cancel" = "キャンセル"
"close" = "閉じる"
"create" = "作成"
"update" = "更新"
"copy" = "コピー"
"copied" = "コピー済み"
"download" = "ダウンロード"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "追加されたFake DNSサーバーはありません。"
"emptyBalancersDesc" = "追加されたバランサーはありません。"
"emptyReverseDesc" = "追加されたリバースプロキシはありません。"
"somethingWentWrong" = "エラーが発生しました"
[menu]
"theme" = "テーマ"
@ -88,7 +91,7 @@
"emptyUsername" = "ユーザー名を入力してください"
"emptyPassword" = "パスワードを入力してください"
"wrongUsernameOrPassword" = "ユーザー名、パスワード、または二段階認証コードが無効です。"
"successLogin" = "ログイン成功"
"successLogin" = "アカウントに正常にログインしました。"
[pages.index]
"title" = "システムステータス"
@ -139,6 +142,11 @@
"exportDatabaseDesc" = "クリックして、現在のデータベースのバックアップを含む .db ファイルをデバイスにダウンロードします。"
"importDatabase" = "復元"
"importDatabaseDesc" = "クリックして、デバイスから .db ファイルを選択し、アップロードしてバックアップからデータベースを復元します。"
"importDatabaseSuccess" = "データベースのインポートに成功しました"
"importDatabaseError" = "データベースのインポート中にエラーが発生しました"
"readDatabaseError" = "データベースの読み取り中にエラーが発生しました"
"getDatabaseError" = "データベースの取得中にエラーが発生しました"
"getConfigError" = "設定ファイルの取得中にエラーが発生しました"
[pages.inbounds]
"title" = "インバウンド一覧"
@ -159,14 +167,14 @@
"generalActions" = "一般操作"
"autoRefresh" = "自動更新"
"autoRefreshInterval" = "間隔"
"create" = "追加"
"update" = "更新"
"modifyInbound" = "インバウンド修正"
"deleteInbound" = "インバウンド削除"
"deleteInboundContent" = "インバウンドを削除してもよろしいですか?"
"deleteClient" = "クライアント削除"
"deleteClientContent" = "クライアントを削除してもよろしいですか?"
"resetTrafficContent" = "トラフィックをリセットしてもよろしいですか?"
"inboundUpdateSuccess" = "インバウンドが正常に更新されました。"
"inboundCreateSuccess" = "インバウンドが正常に作成されました。"
"copyLink" = "リンクをコピー"
"address" = "アドレス"
"network" = "ネットワーク"
@ -237,6 +245,21 @@
[pages.inbounds.toasts]
"obtain" = "取得"
"updateSuccess" = "更新が成功しました"
"logCleanSuccess" = "ログがクリアされました"
"inboundsUpdateSuccess" = "インバウンドが正常に更新されました"
"inboundUpdateSuccess" = "インバウンドが正常に更新されました"
"inboundCreateSuccess" = "インバウンドが正常に作成されました"
"inboundDeleteSuccess" = "インバウンドが正常に削除されました"
"inboundClientAddSuccess" = "インバウンドクライアントが追加されました"
"inboundClientDeleteSuccess" = "インバウンドクライアントが削除されました"
"inboundClientUpdateSuccess" = "インバウンドクライアントが更新されました"
"delDepletedClientsSuccess" = "すべての枯渇したクライアントが削除されました"
"resetAllClientTrafficSuccess" = "クライアントのすべてのトラフィックがリセットされました"
"resetAllTrafficSuccess" = "すべてのトラフィックがリセットされました"
"resetInboundClientTrafficSuccess" = "トラフィックがリセットされました"
"trafficGetError" = "トラフィックの取得中にエラーが発生しました"
"getNewX25519CertError" = "X25519証明書の取得中にエラーが発生しました。"
[pages.inbounds.stream.general]
"request" = "リクエスト"
@ -259,6 +282,7 @@
"infoDesc" = "ここでのすべての変更は、保存してパネルを再起動する必要があります"
"restartPanel" = "パネル再起動"
"restartPanelDesc" = "パネルを再起動してもよろしいですか?再起動後にパネルにアクセスできない場合は、サーバーでパネルログを確認してください"
"restartPanelSuccess" = "パネルの再起動に成功しました"
"actions" = "操作"
"resetDefaultConfig" = "デフォルト設定にリセット"
"panelSettings" = "一般"
@ -366,6 +390,10 @@
"title" = "Xray 設定"
"save" = "保存"
"restart" = "Xray 再起動"
"restartSuccess" = "Xrayの再起動に成功しました"
"stopSuccess" = "Xrayが正常に停止しました"
"restartError" = "Xrayの再起動中にエラーが発生しました。"
"stopError" = "Xrayの停止中にエラーが発生しました。"
"basicTemplate" = "基本設定"
"advancedTemplate" = "高度な設定"
"generalConfigs" = "一般設定"
@ -517,11 +545,14 @@
"twoFactorModalError" = "コードが間違っています"
[pages.settings.toasts]
"modifySettings" = "設定を変更"
"getSettings" = "設定を取得"
"modifyUser" = "管理者を変更"
"modifySettings" = "パラメーターが変更されました。"
"getSettings" = "パラメーターの取得中にエラーが発生しました"
"modifyUserError" = "管理者認証情報の変更中にエラーが発生しました。"
"modifyUser" = "管理者の認証情報を正常に変更しました。"
"originalUserPassIncorrect" = "旧ユーザー名または旧パスワードが間違っています"
"userPassMustBeNotEmpty" = "新しいユーザー名と新しいパスワードは空にできません"
"getOutboundTrafficError" = "送信トラフィックの取得エラー"
"resetOutboundTrafficError" = "送信トラフィックのリセットエラー"
[tgbot]
"keyboardClosed" = "❌ カスタムキーボードが閉じられました!"

View file

@ -4,6 +4,8 @@
"confirm" = "Confirmar"
"cancel" = "Cancelar"
"close" = "Fechar"
"create" = "Criar"
"update" = "Atualizar"
"copy" = "Copiar"
"copied" = "Copiado"
"download" = "Baixar"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "Nenhum servidor Fake DNS adicionado."
"emptyBalancersDesc" = "Nenhum balanceador adicionado."
"emptyReverseDesc" = "Nenhum proxy reverso adicionado."
"somethingWentWrong" = "Algo deu errado"
[menu]
"theme" = "Tema"
@ -88,7 +91,7 @@
"emptyUsername" = "Nome de usuário é obrigatório"
"emptyPassword" = "Senha é obrigatória"
"wrongUsernameOrPassword" = "Nome de usuário, senha ou código de dois fatores inválido."
"successLogin" = "Login realizado com sucesso"
"successLogin" = "Você entrou na sua conta com sucesso."
[pages.index]
"title" = "Visão Geral"
@ -139,6 +142,11 @@
"exportDatabaseDesc" = "Clique para baixar um arquivo .db contendo um backup do seu banco de dados atual para o seu dispositivo."
"importDatabase" = "Restaurar"
"importDatabaseDesc" = "Clique para selecionar e enviar um arquivo .db do seu dispositivo para restaurar seu banco de dados a partir de um backup."
"importDatabaseSuccess" = "O banco de dados foi importado com sucesso"
"importDatabaseError" = "Ocorreu um erro ao importar o banco de dados"
"readDatabaseError" = "Ocorreu um erro ao ler o banco de dados"
"getDatabaseError" = "Ocorreu um erro ao recuperar o banco de dados"
"getConfigError" = "Ocorreu um erro ao recuperar o arquivo de configuração"
[pages.inbounds]
"title" = "Inbounds"
@ -159,14 +167,14 @@
"generalActions" = "Ações Gerais"
"autoRefresh" = "Atualização automática"
"autoRefreshInterval" = "Intervalo"
"create" = "Criar"
"update" = "Atualizar"
"modifyInbound" = "Modificar Inbound"
"deleteInbound" = "Excluir Inbound"
"deleteInboundContent" = "Tem certeza de que deseja excluir o inbound?"
"deleteClient" = "Excluir Cliente"
"deleteClientContent" = "Tem certeza de que deseja excluir o cliente?"
"resetTrafficContent" = "Tem certeza de que deseja redefinir o tráfego?"
"inboundUpdateSuccess" = "A entrada foi atualizada com sucesso."
"inboundCreateSuccess" = "A entrada foi criada com sucesso."
"copyLink" = "Copiar URL"
"address" = "Endereço"
"network" = "Rede"
@ -237,6 +245,21 @@
[pages.inbounds.toasts]
"obtain" = "Obter"
"updateSuccess" = "A atualização foi bem-sucedida"
"logCleanSuccess" = "O log foi limpo"
"inboundsUpdateSuccess" = "Entradas atualizadas com sucesso"
"inboundUpdateSuccess" = "Entrada atualizada com sucesso"
"inboundCreateSuccess" = "Entrada criada com sucesso"
"inboundDeleteSuccess" = "Entrada excluída com sucesso"
"inboundClientAddSuccess" = "Cliente(s) de entrada adicionado(s)"
"inboundClientDeleteSuccess" = "Cliente de entrada excluído"
"inboundClientUpdateSuccess" = "Cliente de entrada atualizado"
"delDepletedClientsSuccess" = "Todos os clientes esgotados foram excluídos"
"resetAllClientTrafficSuccess" = "Todo o tráfego do cliente foi reiniciado"
"resetAllTrafficSuccess" = "Todo o tráfego foi reiniciado"
"resetInboundClientTrafficSuccess" = "O tráfego foi reiniciado"
"trafficGetError" = "Erro ao obter tráfegos"
"getNewX25519CertError" = "Erro ao obter o certificado X25519."
[pages.inbounds.stream.general]
"request" = "Requisição"
@ -259,6 +282,7 @@
"infoDesc" = "Toda alteração feita aqui precisa ser salva. Reinicie o painel para aplicar as alterações."
"restartPanel" = "Reiniciar Painel"
"restartPanelDesc" = "Tem certeza de que deseja reiniciar o painel? Se não conseguir acessar o painel após reiniciar, consulte os logs do painel no servidor."
"restartPanelSuccess" = "O painel foi reiniciado com sucesso"
"actions" = "Ações"
"resetDefaultConfig" = "Redefinir para Padrão"
"panelSettings" = "Geral"
@ -366,6 +390,10 @@
"title" = "Configurações Xray"
"save" = "Salvar"
"restart" = "Reiniciar Xray"
"restartSuccess" = "Xray foi reiniciado com sucesso"
"stopSuccess" = "Xray foi interrompido com sucesso"
"restartError" = "Ocorreu um erro ao reiniciar o Xray."
"stopError" = "Ocorreu um erro ao parar o Xray."
"basicTemplate" = "Básico"
"advancedTemplate" = "Avançado"
"generalConfigs" = "Geral"
@ -517,11 +545,14 @@
"twoFactorModalError" = "Código incorreto"
[pages.settings.toasts]
"modifySettings" = "Modificar Configurações"
"getSettings" = "Obter Configurações"
"modifyUser" = "Modificar Admin"
"modifySettings" = "Os parâmetros foram alterados."
"getSettings" = "Ocorreu um erro ao recuperar os parâmetros."
"modifyUserError" = "Ocorreu um erro ao alterar as credenciais do administrador."
"modifyUser" = "Você alterou com sucesso as credenciais do administrador."
"originalUserPassIncorrect" = "O nome de usuário ou senha atual é inválido"
"userPassMustBeNotEmpty" = "O novo nome de usuário e senha não podem estar vazios"
"getOutboundTrafficError" = "Erro ao obter tráfego de saída"
"resetOutboundTrafficError" = "Erro ao redefinir tráfego de saída"
[tgbot]
"keyboardClosed" = "❌ Teclado personalizado fechado!"

View file

@ -4,6 +4,8 @@
"confirm" = "Подтвердить"
"cancel" = "Отмена"
"close" = "Закрыть"
"create" = "Создать"
"update" = "Обновить"
"copy" = "Копировать"
"copied" = "Скопировано"
"download" = "Скачать"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "Нет добавленных Fake DNS-серверов."
"emptyBalancersDesc" = "Нет добавленных балансировщиков."
"emptyReverseDesc" = "Нет добавленных обратных прокси."
"somethingWentWrong" = "Что-то пошло не так"
[menu]
"theme" = "Тема оформления"
@ -88,7 +91,7 @@
"emptyUsername" = "Введите имя пользователя"
"emptyPassword" = "Введите пароль"
"wrongUsernameOrPassword" = "Неверное имя пользователя, пароль или код двухфакторной аутентификации."
"successLogin" = "Успешный вход"
"successLogin" = "Вы успешно вошли в свой аккаунт."
[pages.index]
"title" = "Статус системы"
@ -134,11 +137,16 @@
"logs" = "Журнал"
"config" = "Конфигурация"
"backup" = "Резервная копия"
"backupTitle" = "База данных резервных копий"
"backupTitle" = "Резервная копия"
"exportDatabase" = "Экспорт базы данных"
"exportDatabaseDesc" = "Нажмите, чтобы скачать файл .db, содержащий резервную копию вашей текущей базы данных на ваше устройство."
"importDatabase" = "Импорт базы данных"
"importDatabaseDesc" = "Нажмите, чтобы выбрать и загрузить файл .db с вашего устройства для восстановления базы данных из резервной копии."
"importDatabaseSuccess" = "База данных успешно импортирована"
"importDatabaseError" = "Произошла ошибка при импорте базы данных"
"readDatabaseError" = "Произошла ошибка при чтении базы данных"
"getDatabaseError" = "Произошла ошибка при получении базы данных"
"getConfigError" = "Произошла ошибка при получении конфигурационного файла"
[pages.inbounds]
"title" = "Входящие подключения"
@ -159,14 +167,14 @@
"generalActions" = "Общие действия"
"autoRefresh" = "Автообновление"
"autoRefreshInterval" = "Интервал"
"create" = "Создать"
"update" = "Обновить"
"modifyInbound" = "Изменить входящее подключение"
"deleteInbound" = "Удалить входящее подключение"
"deleteInboundContent" = "Вы уверены, что хотите удалить входящее подключение?"
"deleteClient" = "Удалить клиента"
"deleteClientContent" = "Вы уверены, что хотите удалить клиента?"
"resetTrafficContent" = "Вы уверены, что хотите сбросить трафик?"
"inboundUpdateSuccess" = "Входящее подключение успешно обновлено."
"inboundCreateSuccess" = "Входящее подключение успешно создано."
"copyLink" = "Копировать ссылку"
"address" = "Адрес"
"network" = "Сеть"
@ -237,6 +245,21 @@
[pages.inbounds.toasts]
"obtain" = "Получить"
"updateSuccess" = "Обновление прошло успешно"
"logCleanSuccess" = "Лог был очищен"
"inboundsUpdateSuccess" = "Входящие подключения успешно обновлены"
"inboundUpdateSuccess" = "Входящее подключение успешно обновлено"
"inboundCreateSuccess" = "Входящее подключение успешно создано"
"inboundDeleteSuccess" = "Входящее подключение успешно удалено"
"inboundClientAddSuccess" = "Клиент(ы) входящего подключения добавлен(ы)"
"inboundClientDeleteSuccess" = "Клиент входящего подключения удалён"
"inboundClientUpdateSuccess" = "Клиент входящего подключения обновлён"
"delDepletedClientsSuccess" = "Все исчерпанные клиенты удалены"
"resetAllClientTrafficSuccess" = "Весь трафик клиента сброшен"
"resetAllTrafficSuccess" = "Весь трафик сброшен"
"resetInboundClientTrafficSuccess" = "Трафик сброшен"
"trafficGetError" = "Ошибка получения данных о трафике"
"getNewX25519CertError" = "Ошибка при получении сертификата X25519."
[pages.inbounds.stream.general]
"request" = "Запрос"
@ -259,6 +282,7 @@
"infoDesc" = "Каждое выполненное изменение необходимо сохранить. Пожалуйста, перезапустите панель, чтобы изменения вступили в силу"
"restartPanel" = "Перезапуск панели"
"restartPanelDesc" = "Вы уверены, что хотите перезапустить панель? Подтвердите, и перезапуск произойдёт через 3 секунды. Если панель станет недоступной, проверьте лог сервера"
"restartPanelSuccess" = "Панель успешно перезапущена"
"actions" = "Действия"
"resetDefaultConfig" = "Восстановить настройки по умолчанию"
"panelSettings" = "Настройки панели"
@ -366,6 +390,10 @@
"title" = "Настройки Xray"
"save" = "Сохранить"
"restart" = "Перезапустить Xray"
"restartSuccess" = "Xray успешно перезапущен"
"stopSuccess" = "Xray успешно остановлен"
"restartError" = "Произошла ошибка при перезапуске Xray."
"stopError" = "Произошла ошибка при остановке Xray."
"basicTemplate" = "Базовый шаблон"
"advancedTemplate" = "Расширенный шаблон"
"generalConfigs" = "Основные настройки"
@ -517,11 +545,14 @@
"twoFactorModalError" = "Неверный код"
[pages.settings.toasts]
"modifySettings" = "Настройки изменены"
"getSettings" = "Просмотр настроек"
"modifyUser" = "Изменение пользователя"
"modifySettings" = "Параметры были изменены."
"getSettings" = "Произошла ошибка при получении параметров."
"modifyUserError" = "Произошла ошибка при изменении учетных данных администратора."
"modifyUser" = "Вы успешно изменили учетные данные администратора."
"originalUserPassIncorrect" = "Неверное имя пользователя или пароль"
"userPassMustBeNotEmpty" = "Новое имя пользователя и новый пароль должны быть заполнены"
"getOutboundTrafficError" = "Ошибка получения исходящего трафика"
"resetOutboundTrafficError" = "Ошибка сброса исходящего трафика"
[tgbot]
"keyboardClosed" = "❌ Закрыта настраиваемая клавиатура!"

View file

@ -4,6 +4,8 @@
"confirm" = "Onayla"
"cancel" = "İptal"
"close" = "Kapat"
"create" = "Oluştur"
"update" = "Güncelle"
"copy" = "Kopyala"
"copied" = "Kopyalandı"
"download" = "İndir"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "Eklenmiş Fake DNS sunucusu yok."
"emptyBalancersDesc" = "Eklenmiş dengeleyici yok."
"emptyReverseDesc" = "Eklenmiş ters proxy yok."
"somethingWentWrong" = "Bir şeyler yanlış gitti"
[menu]
"theme" = "Tema"
@ -88,7 +91,7 @@
"emptyUsername" = "Kullanıcı adı gerekli"
"emptyPassword" = "Şifre gerekli"
"wrongUsernameOrPassword" = "Geçersiz kullanıcı adı, şifre veya iki adımlı doğrulama kodu."
"successLogin" = "Giriş Başarılı"
"successLogin" = "Hesabınıza başarıyla giriş yaptınız."
[pages.index]
"title" = "Genel Bakış"
@ -139,6 +142,11 @@
"exportDatabaseDesc" = "Mevcut veritabanınızın yedeğini içeren bir .db dosyasını cihazınıza indirmek için tıklayın."
"importDatabase" = "Geri Yükle"
"importDatabaseDesc" = "Cihazınızdan bir .db dosyası seçip yükleyerek veritabanınızı yedekten geri yüklemek için tıklayın."
"importDatabaseSuccess" = "Veritabanı başarıyla içe aktarıldı"
"importDatabaseError" = "Veritabanı içe aktarılırken bir hata oluştu"
"readDatabaseError" = "Veritabanı okunurken bir hata oluştu"
"getDatabaseError" = "Veritabanı alınırken bir hata oluştu"
"getConfigError" = "Yapılandırma dosyası alınırken bir hata oluştu"
[pages.inbounds]
"title" = "Gelenler"
@ -159,14 +167,14 @@
"generalActions" = "Genel Eylemler"
"autoRefresh" = "Otomatik yenileme"
"autoRefreshInterval" = "Aralık"
"create" = "Oluştur"
"update" = "Güncelle"
"modifyInbound" = "Geleni Düzenle"
"deleteInbound" = "Geleni Sil"
"deleteInboundContent" = "Geleni silmek istediğinizden emin misiniz?"
"deleteClient" = "Müşteriyi Sil"
"deleteClientContent" = "Müşteriyi silmek istediğinizden emin misiniz?"
"resetTrafficContent" = "Trafiği sıfırlamak istediğinizden emin misiniz?"
"inboundUpdateSuccess" = "Gelen bağlantı başarıyla güncellendi."
"inboundCreateSuccess" = "Gelen bağlantı başarıyla oluşturuldu."
"copyLink" = "URL'yi Kopyala"
"address" = "Adres"
"network" = "Ağ"
@ -237,6 +245,21 @@
[pages.inbounds.toasts]
"obtain" = "Elde Et"
"updateSuccess" = "Güncelleme başarılı oldu"
"logCleanSuccess" = "Günlük temizlendi"
"inboundsUpdateSuccess" = "Gelen bağlantılar başarıyla güncellendi"
"inboundUpdateSuccess" = "Gelen bağlantı başarıyla güncellendi"
"inboundCreateSuccess" = "Gelen bağlantı başarıyla oluşturuldu"
"inboundDeleteSuccess" = "Gelen bağlantı başarıyla silindi"
"inboundClientAddSuccess" = "Gelen bağlantı istemci(leri) eklendi"
"inboundClientDeleteSuccess" = "Gelen bağlantı istemcisi silindi"
"inboundClientUpdateSuccess" = "Gelen bağlantı istemcisi güncellendi"
"delDepletedClientsSuccess" = "Tüm tükenmiş istemciler silindi"
"resetAllClientTrafficSuccess" = "İstemcinin tüm trafiği sıfırlandı"
"resetAllTrafficSuccess" = "Tüm trafik sıfırlandı"
"resetInboundClientTrafficSuccess" = "Trafik sıfırlandı"
"trafficGetError" = "Trafik bilgisi alınırken hata oluştu"
"getNewX25519CertError" = "X25519 sertifikası alınırken hata oluştu."
[pages.inbounds.stream.general]
"request" = "İstek"
@ -259,6 +282,7 @@
"infoDesc" = "Burada yapılan her değişikliğin kaydedilmesi gerekir. Değişikliklerin uygulanması için paneli yeniden başlatın."
"restartPanel" = "Paneli Yeniden Başlat"
"restartPanelDesc" = "Paneli yeniden başlatmak istediğinizden emin misiniz? Yeniden başlattıktan sonra panele erişemezseniz, sunucudaki panel günlük bilgilerini görüntüleyin."
"restartPanelSuccess" = "Panel başarıyla yeniden başlatıldı"
"actions" = "Eylemler"
"resetDefaultConfig" = "Varsayılana Sıfırla"
"panelSettings" = "Genel"
@ -366,6 +390,10 @@
"title" = "Xray Yapılandırmaları"
"save" = "Kaydet"
"restart" = "Xray'i Yeniden Başlat"
"restartSuccess" = "Xray başarıyla yeniden başlatıldı"
"stopSuccess" = "Xray başarıyla durduruldu"
"restartError" = "Xray yeniden başlatılırken bir hata oluştu."
"stopError" = "Xray durdurulurken bir hata oluştu."
"basicTemplate" = "Temeller"
"advancedTemplate" = "Gelişmiş"
"generalConfigs" = "Genel"
@ -517,11 +545,14 @@
"twoFactorModalError" = "Yanlış kod"
[pages.settings.toasts]
"modifySettings" = "Ayarları Değiştir"
"getSettings" = "Ayarları Al"
"modifyUser" = "Yönetici Değiştir"
"modifySettings" = "Parametreler değiştirildi."
"getSettings" = "Parametreler alınırken bir hata oluştu."
"modifyUserError" = "Yönetici kimlik bilgileri değiştirilirken bir hata oluştu."
"modifyUser" = "Yönetici kimlik bilgilerini başarıyla değiştirdiniz."
"originalUserPassIncorrect" = "Mevcut kullanıcı adı veya şifre geçersiz"
"userPassMustBeNotEmpty" = "Yeni kullanıcı adı ve şifre boş olamaz"
"getOutboundTrafficError" = "Giden trafik alınırken hata"
"resetOutboundTrafficError" = "Giden trafik sıfırlanırken hata"
[tgbot]
"keyboardClosed" = "❌ Özel klavye kapalı!"

View file

@ -4,6 +4,8 @@
"confirm" = "Підтвердити"
"cancel" = "Скасувати"
"close" = "Закрити"
"create" = "Створити"
"update" = "Оновити"
"copy" = "Копіювати"
"copied" = "Скопійовано"
"download" = "Завантажити"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "Немає доданих Fake DNS-серверів."
"emptyBalancersDesc" = "Немає доданих балансувальників."
"emptyReverseDesc" = "Немає доданих зворотних проксі."
"somethingWentWrong" = "Щось пішло не так"
[menu]
"theme" = "Тема"
@ -88,7 +91,7 @@
"emptyUsername" = "Потрібне ім'я користувача"
"emptyPassword" = "Потрібен пароль"
"wrongUsernameOrPassword" = "Невірне ім’я користувача, пароль або код двофакторної аутентифікації."
"successLogin" = "Вхід"
"successLogin" = "Ви успішно увійшли до свого облікового запису."
[pages.index]
"title" = "Огляд"
@ -139,6 +142,11 @@
"exportDatabaseDesc" = "Натисніть, щоб завантажити файл .db, що містить резервну копію вашої поточної бази даних на ваш пристрій."
"importDatabase" = "Відновити"
"importDatabaseDesc" = "Натисніть, щоб вибрати та завантажити файл .db з вашого пристрою для відновлення бази даних з резервної копії."
"importDatabaseSuccess" = "Базу даних успішно імпортовано"
"importDatabaseError" = "Виникла помилка під час імпорту бази даних"
"readDatabaseError" = "Виникла помилка під час читання бази даних"
"getDatabaseError" = "Виникла помилка під час отримання бази даних"
"getConfigError" = "Виникла помилка під час отримання файлу конфігурації"
[pages.inbounds]
"title" = "Вхідні"
@ -159,14 +167,14 @@
"generalActions" = "Загальні дії"
"autoRefresh" = "Автооновлення"
"autoRefreshInterval" = "Інтервал"
"create" = "Створити"
"update" = "Оновити"
"modifyInbound" = "Змінити вхідний"
"deleteInbound" = "Видалити вхідні"
"deleteInboundContent" = "Ви впевнені, що хочете видалити вхідні?"
"deleteClient" = "Видалити клієнта"
"deleteClientContent" = "Ви впевнені, що хочете видалити клієнт?"
"resetTrafficContent" = "Ви впевнені, що хочете скинути трафік?"
"inboundUpdateSuccess" = "Вхідне підключення успішно оновлено."
"inboundCreateSuccess" = "Вхідне підключення успішно створено."
"copyLink" = "Копіювати URL"
"address" = "Адреса"
"network" = "Мережа"
@ -237,6 +245,21 @@
[pages.inbounds.toasts]
"obtain" = "Отримати"
"updateSuccess" = "Оновлення пройшло успішно"
"logCleanSuccess" = "Журнал очищено"
"inboundsUpdateSuccess" = "Вхідні підключення успішно оновлено"
"inboundUpdateSuccess" = "Вхідне підключення успішно оновлено"
"inboundCreateSuccess" = "Вхідне підключення успішно створено"
"inboundDeleteSuccess" = "Вхідне підключення успішно видалено"
"inboundClientAddSuccess" = "Клієнт(и) вхідного підключення додано"
"inboundClientDeleteSuccess" = "Клієнта вхідного підключення видалено"
"inboundClientUpdateSuccess" = "Клієнта вхідного підключення оновлено"
"delDepletedClientsSuccess" = "Усі вичерпані клієнти видалені"
"resetAllClientTrafficSuccess" = "Весь трафік клієнта скинуто"
"resetAllTrafficSuccess" = "Весь трафік скинуто"
"resetInboundClientTrafficSuccess" = "Трафік скинуто"
"trafficGetError" = "Помилка отримання даних про трафік"
"getNewX25519CertError" = "Помилка при отриманні сертифіката X25519."
[pages.inbounds.stream.general]
"request" = "Запит"
@ -259,6 +282,7 @@
"infoDesc" = "Кожна внесена тут зміна повинна бути збережена. Перезапустіть панель, щоб застосувати зміни."
"restartPanel" = "Перезапустити панель"
"restartPanelDesc" = "Ви впевнені, що бажаєте перезапустити панель? Якщо ви не можете отримати доступ до панелі після перезапуску, будь ласка, перегляньте інформацію журналу панелі на сервері."
"restartPanelSuccess" = "Панель успішно перезапущено"
"actions" = "Дії"
"resetDefaultConfig" = "Відновити значення за замовчуванням"
"panelSettings" = "Загальні"
@ -366,6 +390,10 @@
"title" = "Xray конфігурації"
"save" = "Зберегти"
"restart" = "Перезапустити Xray"
"restartSuccess" = "Xray успішно перезапущено"
"stopSuccess" = "Xray успішно зупинено"
"restartError" = "Виникла помилка під час перезапуску Xray."
"stopError" = "Виникла помилка під час зупинки Xray."
"basicTemplate" = "Базовий шаблон"
"advancedTemplate" = "Додатково"
"generalConfigs" = "Загальні конфігурації"
@ -517,11 +545,14 @@
"twoFactorModalError" = "Невірний код"
[pages.settings.toasts]
"modifySettings" = "Змінити налаштування"
"getSettings" = "Отримати налаштування"
"modifyUser" = "Змінити адміністратора"
"modifySettings" = "Параметри було змінено."
"getSettings" = "Виникла помилка під час отримання параметрів."
"modifyUserError" = "Виникла помилка під час зміни облікових даних адміністратора."
"modifyUser" = "Ви успішно змінили облікові дані адміністратора."
"originalUserPassIncorrect" = "Поточне ім'я користувача або пароль недійсні"
"userPassMustBeNotEmpty" = "Нове ім'я користувача та пароль порожні"
"getOutboundTrafficError" = "Помилка отримання вихідного трафіку"
"resetOutboundTrafficError" = "Помилка скидання вихідного трафіку"
[tgbot]
"keyboardClosed" = "❌ Спеціальна клавіатура закрита!"

View file

@ -4,6 +4,8 @@
"confirm" = "Xác nhận"
"cancel" = "Hủy bỏ"
"close" = "Đóng"
"create" = "Tạo"
"update" = "Cập nhật"
"copy" = "Sao chép"
"copied" = "Đã sao chép"
"download" = "Tải xuống"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "Không có máy chủ Fake DNS nào được thêm."
"emptyBalancersDesc" = "Không có bộ cân bằng tải nào được thêm."
"emptyReverseDesc" = "Không có proxy ngược nào được thêm."
"somethingWentWrong" = "Đã xảy ra lỗi"
[menu]
"theme" = "Chủ đề"
@ -88,7 +91,7 @@
"emptyUsername" = "Vui lòng nhập tên người dùng."
"emptyPassword" = "Vui lòng nhập mật khẩu."
"wrongUsernameOrPassword" = "Tên người dùng, mật khẩu hoặc mã xác thực hai yếu tố không hợp lệ."
"successLogin" = "Đăng nhập thành công."
"successLogin" = "Bạn đã đăng nhập vào tài khoản thành công."
[pages.index]
"title" = "Trạng thái hệ thống"
@ -139,6 +142,11 @@
"exportDatabaseDesc" = "Nhấp để tải xuống tệp .db chứa bản sao lưu cơ sở dữ liệu hiện tại của bạn vào thiết bị."
"importDatabase" = "Khôi phục"
"importDatabaseDesc" = "Nhấp để chọn và tải lên tệp .db từ thiết bị của bạn để khôi phục cơ sở dữ liệu từ bản sao lưu."
"importDatabaseSuccess" = "Đã nhập cơ sở dữ liệu thành công"
"importDatabaseError" = "Lỗi xảy ra khi nhập cơ sở dữ liệu"
"readDatabaseError" = "Lỗi xảy ra khi đọc cơ sở dữ liệu"
"getDatabaseError" = "Lỗi xảy ra khi truy xuất cơ sở dữ liệu"
"getConfigError" = "Lỗi xảy ra khi truy xuất tệp cấu hình"
[pages.inbounds]
"title" = "Điểm vào (Inbounds)"
@ -159,14 +167,14 @@
"generalActions" = "Hành động chung"
"autoRefresh" = "Tự động làm mới"
"autoRefreshInterval" = "Khoảng thời gian"
"create" = "Tạo mới"
"update" = "Cập nhật"
"modifyInbound" = "Chỉnh sửa điểm vào (Inbound)"
"deleteInbound" = "Xóa điểm vào (Inbound)"
"deleteInboundContent" = "Xác nhận xóa điểm vào? (Inbound)"
"deleteClient" = "Xóa người dùng"
"deleteClientContent" = "Bạn có chắc chắn muốn xóa người dùng không?"
"resetTrafficContent" = "Xác nhận đặt lại lưu lượng?"
"inboundUpdateSuccess" = "Đã cập nhật kết nối inbound thành công."
"inboundCreateSuccess" = "Đã tạo kết nối inbound thành công."
"copyLink" = "Sao chép liên kết"
"address" = "Địa chỉ"
"network" = "Mạng"
@ -237,6 +245,21 @@
[pages.inbounds.toasts]
"obtain" = "Nhận"
"updateSuccess" = "Cập nhật thành công"
"logCleanSuccess" = "Đã xóa nhật ký"
"inboundsUpdateSuccess" = "Đã cập nhật thành công các kết nối inbound"
"inboundUpdateSuccess" = "Đã cập nhật thành công kết nối inbound"
"inboundCreateSuccess" = "Đã tạo thành công kết nối inbound"
"inboundDeleteSuccess" = "Đã xóa thành công kết nối inbound"
"inboundClientAddSuccess" = "Đã thêm client inbound"
"inboundClientDeleteSuccess" = "Đã xóa client inbound"
"inboundClientUpdateSuccess" = "Đã cập nhật client inbound"
"delDepletedClientsSuccess" = "Đã xóa tất cả client hết hạn"
"resetAllClientTrafficSuccess" = "Đã đặt lại toàn bộ lưu lượng client"
"resetAllTrafficSuccess" = "Đã đặt lại toàn bộ lưu lượng"
"resetInboundClientTrafficSuccess" = "Đã đặt lại lưu lượng"
"trafficGetError" = "Lỗi khi lấy thông tin lưu lượng"
"getNewX25519CertError" = "Lỗi khi lấy chứng chỉ X25519."
[pages.inbounds.stream.general]
"request" = "Lời yêu cầu"
@ -259,6 +282,7 @@
"infoDesc" = "Mọi thay đổi được thực hiện ở đây cần phải được lưu. Vui lòng khởi động lại bảng điều khiển để áp dụng các thay đổi."
"restartPanel" = "Khởi động lại bảng điều khiển"
"restartPanelDesc" = "Bạn có chắc chắn muốn khởi động lại bảng điều khiển? Nhấn OK để khởi động lại sau 3 giây. Nếu bạn không thể truy cập bảng điều khiển sau khi khởi động lại, vui lòng xem thông tin nhật ký của bảng điều khiển trên máy chủ."
"restartPanelSuccess" = "Đã khởi động lại bảng điều khiển thành công"
"actions" = "Hành động"
"resetDefaultConfig" = "Đặt lại cấu hình mặc định"
"panelSettings" = "Bảng điều khiển"
@ -366,6 +390,10 @@
"title" = "Cài đặt Xray"
"save" = "Lưu cài đặt"
"restart" = "Khởi động lại Xray"
"restartSuccess" = "Đã khởi động lại Xray thành công"
"stopSuccess" = "Xray đã được dừng thành công"
"restartError" = "Đã xảy ra lỗi khi khởi động lại Xray."
"stopError" = "Đã xảy ra lỗi khi dừng Xray."
"basicTemplate" = "Mẫu Cơ bản"
"advancedTemplate" = "Mẫu Nâng cao"
"generalConfigs" = "Cấu hình Chung"
@ -517,11 +545,14 @@
"twoFactorModalError" = "Mã sai"
[pages.settings.toasts]
"modifySettings" = "Chỉnh sửa cài đặt "
"getSettings" = "Lấy cài đặt "
"modifyUser" = "Chỉnh sửa người dùng "
"modifySettings" = "Các tham số đã được thay đổi."
"getSettings" = "Lỗi xảy ra khi truy xuất tham số."
"modifyUserError" = "Đã xảy ra lỗi khi thay đổi thông tin đăng nhập quản trị viên."
"modifyUser" = "Bạn đã thay đổi thông tin đăng nhập quản trị viên thành công."
"originalUserPassIncorrect" = "Tên người dùng hoặc mật khẩu gốc không đúng"
"userPassMustBeNotEmpty" = "Tên người dùng mới và mật khẩu mới không thể để trống"
"getOutboundTrafficError" = "Lỗi khi lấy lưu lượng truy cập đi"
"resetOutboundTrafficError" = "Lỗi khi đặt lại lưu lượng truy cập đi"
[tgbot]
"keyboardClosed" = "❌ Bàn phím tùy chỉnh đã đóng!"

View file

@ -4,6 +4,8 @@
"confirm" = "确定"
"cancel" = "取消"
"close" = "关闭"
"create" = "创建"
"update" = "更新"
"copy" = "复制"
"copied" = "已复制"
"download" = "下载"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "未添加Fake DNS服务器。"
"emptyBalancersDesc" = "未添加负载均衡器。"
"emptyReverseDesc" = "未添加反向代理。"
"somethingWentWrong" = "出了点问题"
[menu]
"theme" = "主题"
@ -88,7 +91,7 @@
"emptyUsername" = "请输入用户名"
"emptyPassword" = "请输入密码"
"wrongUsernameOrPassword" = "用户名、密码或双重验证码无效。"
"successLogin" = "登录"
"successLogin" = "您已成功登录您的账户。"
[pages.index]
"title" = "系统状态"
@ -139,6 +142,11 @@
"exportDatabaseDesc" = "点击下载包含当前数据库备份的 .db 文件到您的设备。"
"importDatabase" = "恢复"
"importDatabaseDesc" = "点击选择并上传设备中的 .db 文件以从备份恢复数据库。"
"importDatabaseSuccess" = "数据库导入成功"
"importDatabaseError" = "导入数据库时出错"
"readDatabaseError" = "读取数据库时出错"
"getDatabaseError" = "检索数据库时出错"
"getConfigError" = "检索配置文件时出错"
[pages.inbounds]
"title" = "入站列表"
@ -159,14 +167,14 @@
"generalActions" = "通用操作"
"autoRefresh" = "自动刷新"
"autoRefreshInterval" = "间隔"
"create" = "添加"
"update" = "修改"
"modifyInbound" = "修改入站"
"deleteInbound" = "删除入站"
"deleteInboundContent" = "确定要删除入站吗?"
"deleteClient" = "删除客户端"
"deleteClientContent" = "确定要删除客户端吗?"
"resetTrafficContent" = "确定要重置流量吗?"
"inboundUpdateSuccess" = "入站连接已成功更新。"
"inboundCreateSuccess" = "入站连接已成功创建。"
"copyLink" = "复制链接"
"address" = "地址"
"network" = "网络"
@ -237,6 +245,21 @@
[pages.inbounds.toasts]
"obtain" = "获取"
"updateSuccess" = "更新成功"
"logCleanSuccess" = "日志已清除"
"inboundsUpdateSuccess" = "入站连接已成功更新"
"inboundUpdateSuccess" = "入站连接已成功更新"
"inboundCreateSuccess" = "入站连接已成功创建"
"inboundDeleteSuccess" = "入站连接已成功删除"
"inboundClientAddSuccess" = "已添加入站客户端"
"inboundClientDeleteSuccess" = "入站客户端已删除"
"inboundClientUpdateSuccess" = "入站客户端已更新"
"delDepletedClientsSuccess" = "所有耗尽客户端已删除"
"resetAllClientTrafficSuccess" = "客户端所有流量已重置"
"resetAllTrafficSuccess" = "所有流量已重置"
"resetInboundClientTrafficSuccess" = "流量已重置"
"trafficGetError" = "获取流量数据时出错"
"getNewX25519CertError" = "获取X25519证书时出错。"
[pages.inbounds.stream.general]
"request" = "请求"
@ -259,6 +282,7 @@
"infoDesc" = "此处的所有更改都需要保存并重启面板才能生效"
"restartPanel" = "重启面板"
"restartPanelDesc" = "确定要重启面板吗?若重启后无法访问面板,请前往服务器查看面板日志信息"
"restartPanelSuccess" = "面板已成功重启"
"actions" = "操作"
"resetDefaultConfig" = "重置为默认配置"
"panelSettings" = "常规"
@ -366,6 +390,10 @@
"title" = "Xray 配置"
"save" = "保存"
"restart" = "重新启动 Xray"
"restartSuccess" = "Xray 已成功重新启动"
"stopSuccess" = "Xray 已成功停止"
"restartError" = "重启Xray时发生错误。"
"stopError" = "停止Xray时发生错误。"
"basicTemplate" = "基础配置"
"advancedTemplate" = "高级配置"
"generalConfigs" = "常规配置"
@ -517,11 +545,14 @@
"twoFactorModalError" = "驗證碼錯誤"
[pages.settings.toasts]
"modifySettings" = "修改设置"
"getSettings" = "获取设置"
"modifyUser" = "修改管理员"
"modifySettings" = "参数已更改。"
"getSettings" = "获取参数时发生错误"
"modifyUserError" = "更改管理员凭据时发生错误。"
"modifyUser" = "您已成功更改管理员凭据。"
"originalUserPassIncorrect" = "原用户名或原密码错误"
"userPassMustBeNotEmpty" = "新用户名和新密码不能为空"
"getOutboundTrafficError" = "获取出站流量错误"
"resetOutboundTrafficError" = "重置出站流量错误"
[tgbot]
"keyboardClosed" = "❌ 自定义键盘已关闭!"

View file

@ -4,6 +4,8 @@
"confirm" = "確定"
"cancel" = "取消"
"close" = "關閉"
"create" = "建立"
"update" = "更新"
"copy" = "複製"
"copied" = "已複製"
"download" = "下載"
@ -66,6 +68,7 @@
"emptyFakeDnsDesc" = "未添加Fake DNS伺服器。"
"emptyBalancersDesc" = "未添加負載平衡器。"
"emptyReverseDesc" = "未添加反向代理。"
"somethingWentWrong" = "發生錯誤"
[menu]
"theme" = "主題"
@ -88,7 +91,7 @@
"emptyUsername" = "請輸入使用者名稱"
"emptyPassword" = "請輸入密碼"
"wrongUsernameOrPassword" = "用戶名、密碼或雙重驗證碼無效。"
"successLogin" = "登入"
"successLogin" = "您已成功登入您的帳戶。"
[pages.index]
"title" = "系統狀態"
@ -139,6 +142,11 @@
"exportDatabaseDesc" = "點擊下載包含當前資料庫備份的 .db 文件到您的設備。"
"importDatabase" = "恢復"
"importDatabaseDesc" = "點擊選擇並上傳設備中的 .db 文件以從備份恢復資料庫。"
"importDatabaseSuccess" = "資料庫匯入成功"
"importDatabaseError" = "匯入資料庫時發生錯誤"
"readDatabaseError" = "讀取資料庫時發生錯誤"
"getDatabaseError" = "檢索資料庫時發生錯誤"
"getConfigError" = "檢索設定檔時發生錯誤"
[pages.inbounds]
"title" = "入站列表"
@ -167,6 +175,8 @@
"deleteClient" = "刪除客戶端"
"deleteClientContent" = "確定要刪除客戶端嗎?"
"resetTrafficContent" = "確定要重置流量嗎?"
"inboundUpdateSuccess" = "入站連接已成功更新。"
"inboundCreateSuccess" = "入站連接已成功建立。"
"copyLink" = "複製連結"
"address" = "地址"
"network" = "網路"
@ -237,6 +247,21 @@
[pages.inbounds.toasts]
"obtain" = "獲取"
"updateSuccess" = "更新成功"
"logCleanSuccess" = "日誌已清除"
"inboundsUpdateSuccess" = "入站連接已成功更新"
"inboundUpdateSuccess" = "入站連接已成功更新"
"inboundCreateSuccess" = "入站連接已成功建立"
"inboundDeleteSuccess" = "入站連接已成功刪除"
"inboundClientAddSuccess" = "已新增入站客戶端"
"inboundClientDeleteSuccess" = "入站客戶端已刪除"
"inboundClientUpdateSuccess" = "入站客戶端已更新"
"delDepletedClientsSuccess" = "所有耗盡客戶端已刪除"
"resetAllClientTrafficSuccess" = "客戶端所有流量已重置"
"resetAllTrafficSuccess" = "所有流量已重置"
"resetInboundClientTrafficSuccess" = "流量已重置"
"trafficGetError" = "取得流量資料時發生錯誤"
"getNewX25519CertError" = "取得X25519憑證時發生錯誤。"
[pages.inbounds.stream.general]
"request" = "請求"
@ -259,6 +284,7 @@
"infoDesc" = "此處的所有更改都需要儲存並重啟面板才能生效"
"restartPanel" = "重啟面板"
"restartPanelDesc" = "確定要重啟面板嗎?若重啟後無法訪問面板,請前往伺服器檢視面板日誌資訊"
"restartPanelSuccess" = "面板已成功重新啟動"
"actions" = "操作"
"resetDefaultConfig" = "重置為預設配置"
"panelSettings" = "常規"
@ -366,6 +392,10 @@
"title" = "Xray 配置"
"save" = "儲存"
"restart" = "重新啟動 Xray"
"restartSuccess" = "Xray 已成功重新啟動"
"stopSuccess" = "Xray 已成功停止"
"restartError" = "重新啟動Xray時發生錯誤。"
"stopError" = "停止Xray時發生錯誤。"
"basicTemplate" = "基礎配置"
"advancedTemplate" = "高階配置"
"generalConfigs" = "常規配置"
@ -517,11 +547,14 @@
"twoFactorModalError" = "驗證碼錯誤"
[pages.settings.toasts]
"modifySettings" = "修改設定"
"getSettings" = "獲取設定"
"modifyUser" = "修改管理員"
"modifySettings" = "參數已更改。"
"getSettings" = "取得參數時發生錯誤"
"modifyUserError" = "變更管理員憑證時發生錯誤。"
"modifyUser" = "您已成功變更管理員憑證。"
"originalUserPassIncorrect" = "原使用者名稱或原密碼錯誤"
"userPassMustBeNotEmpty" = "新使用者名稱和新密碼不能為空"
"getOutboundTrafficError" = "取得出站流量錯誤"
"resetOutboundTrafficError" = "重設出站流量錯誤"
[tgbot]
"keyboardClosed" = "❌ 自定義鍵盤已關閉!"