feat: change challenge method in certificate management page

This commit is contained in:
0xJacky 2023-12-03 20:49:02 +08:00
parent 002d9c22ab
commit 5b3cd981e9
No known key found for this signature in database
GPG key ID: B6E4A6E4A561BAF0
33 changed files with 1875 additions and 1496 deletions

View file

@ -2,166 +2,27 @@ package certificate
import ( import (
"github.com/0xJacky/Nginx-UI/api" "github.com/0xJacky/Nginx-UI/api"
"github.com/0xJacky/Nginx-UI/api/cosy"
"github.com/0xJacky/Nginx-UI/api/sites" "github.com/0xJacky/Nginx-UI/api/sites"
"github.com/0xJacky/Nginx-UI/internal/cert" "github.com/0xJacky/Nginx-UI/internal/cert"
"github.com/0xJacky/Nginx-UI/internal/cert/dns"
"github.com/0xJacky/Nginx-UI/internal/logger"
"github.com/0xJacky/Nginx-UI/internal/nginx"
"github.com/0xJacky/Nginx-UI/model" "github.com/0xJacky/Nginx-UI/model"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/gorilla/websocket"
"github.com/spf13/cast" "github.com/spf13/cast"
"net/http" "net/http"
"os" "os"
"path/filepath" "path/filepath"
"strings"
) )
const (
Success = "success"
Info = "info"
Error = "error"
)
type IssueCertResponse struct {
Status string `json:"status"`
Message string `json:"message"`
SSLCertificate string `json:"ssl_certificate,omitempty"`
SSLCertificateKey string `json:"ssl_certificate_key,omitempty"`
}
func handleIssueCertLogChan(conn *websocket.Conn, logChan chan string) {
defer func() {
if err := recover(); err != nil {
logger.Error(err)
}
}()
for logString := range logChan {
err := conn.WriteJSON(IssueCertResponse{
Status: Info,
Message: logString,
})
if err != nil {
logger.Error(err)
return
}
}
}
func IssueCert(c *gin.Context) {
var upGrader = websocket.Upgrader{
CheckOrigin: func(r *http.Request) bool {
return true
},
}
// upgrade http to websocket
ws, err := upGrader.Upgrade(c.Writer, c.Request, nil)
if err != nil {
logger.Error(err)
return
}
defer func(ws *websocket.Conn) {
_ = ws.Close()
}(ws)
// read
buffer := &cert.ConfigPayload{}
err = ws.ReadJSON(buffer)
if err != nil {
logger.Error(err)
return
}
certModel, err := model.FirstOrCreateCert(c.Param("name"))
if err != nil {
logger.Error(err)
return
}
logChan := make(chan string, 1)
errChan := make(chan error, 1)
go cert.IssueCert(buffer, logChan, errChan)
go handleIssueCertLogChan(ws, logChan)
// block, until errChan closes
for err = range errChan {
errLog := &cert.AutoCertErrorLog{}
errLog.SetCertModel(&certModel)
errLog.Exit("issue cert", err)
err = ws.WriteJSON(IssueCertResponse{
Status: Error,
Message: err.Error(),
})
if err != nil {
logger.Error(err)
return
}
return
}
certDirName := strings.Join(buffer.ServerName, "_")
sslCertificatePath := nginx.GetConfPath("ssl", certDirName, "fullchain.cer")
sslCertificateKeyPath := nginx.GetConfPath("ssl", certDirName, "private.key")
err = certModel.Updates(&model.Cert{
Domains: buffer.ServerName,
SSLCertificatePath: sslCertificatePath,
SSLCertificateKeyPath: sslCertificateKeyPath,
})
if err != nil {
logger.Error(err)
err = ws.WriteJSON(IssueCertResponse{
Status: Error,
Message: err.Error(),
})
return
}
certModel.ClearLog()
err = ws.WriteJSON(IssueCertResponse{
Status: Success,
Message: "Issued certificate successfully",
SSLCertificate: sslCertificatePath,
SSLCertificateKey: sslCertificateKeyPath,
})
if err != nil {
logger.Error(err)
return
}
}
func GetCertList(c *gin.Context) { func GetCertList(c *gin.Context) {
certList := model.GetCertList(c.Query("name"), c.Query("domain")) cosy.Core[model.Cert](c).SetFussy("name", "domain").PagingList()
c.JSON(http.StatusOK, gin.H{
"data": certList,
})
} }
func getCert(c *gin.Context, certModel *model.Cert) { func getCert(c *gin.Context, certModel *model.Cert) {
type resp struct { type resp struct {
*model.Cert *model.Cert
SSLCertification string `json:"ssl_certification"` SSLCertificate string `json:"ssl_certificate"`
SSLCertificationKey string `json:"ssl_certification_key"` SSLCertificateKey string `json:"ssl_certificate_key"`
CertificateInfo *sites.CertificateInfo `json:"certificate_info,omitempty"` CertificateInfo *sites.CertificateInfo `json:"certificate_info,omitempty"`
} }
var sslCertificationBytes, sslCertificationKeyBytes []byte var sslCertificationBytes, sslCertificationKeyBytes []byte
@ -273,8 +134,8 @@ func ModifyCert(c *gin.Context) {
Name string `json:"name"` Name string `json:"name"`
SSLCertificatePath string `json:"ssl_certificate_path" binding:"required"` SSLCertificatePath string `json:"ssl_certificate_path" binding:"required"`
SSLCertificateKeyPath string `json:"ssl_certificate_key_path" binding:"required"` SSLCertificateKeyPath string `json:"ssl_certificate_key_path" binding:"required"`
SSLCertification string `json:"ssl_certification"` SSLCertificate string `json:"ssl_certificate"`
SSLCertificationKey string `json:"ssl_certification_key"` SSLCertificateKey string `json:"ssl_certificate_key"`
} }
if !api.BindAndValid(c, &json) { if !api.BindAndValid(c, &json) {
@ -310,16 +171,16 @@ func ModifyCert(c *gin.Context) {
return return
} }
if json.SSLCertification != "" { if json.SSLCertificate != "" {
err = os.WriteFile(json.SSLCertificatePath, []byte(json.SSLCertification), 0644) err = os.WriteFile(json.SSLCertificatePath, []byte(json.SSLCertificate), 0644)
if err != nil { if err != nil {
api.ErrHandler(c, err) api.ErrHandler(c, err)
return return
} }
} }
if json.SSLCertificationKey != "" { if json.SSLCertificateKeyPath != "" {
err = os.WriteFile(json.SSLCertificateKeyPath, []byte(json.SSLCertificationKey), 0644) err = os.WriteFile(json.SSLCertificateKeyPath, []byte(json.SSLCertificateKey), 0644)
if err != nil { if err != nil {
api.ErrHandler(c, err) api.ErrHandler(c, err)
return return
@ -330,39 +191,5 @@ func ModifyCert(c *gin.Context) {
} }
func RemoveCert(c *gin.Context) { func RemoveCert(c *gin.Context) {
id := cast.ToInt(c.Param("id")) cosy.Core[model.Cert](c).Destroy()
certModel, err := model.FirstCertByID(id)
if err != nil {
api.ErrHandler(c, err)
return
}
err = certModel.Remove()
if err != nil {
api.ErrHandler(c, err)
return
}
c.JSON(http.StatusNoContent, nil)
}
func GetDNSProvidersList(c *gin.Context) {
c.JSON(http.StatusOK, dns.GetProvidersList())
}
func GetDNSProvider(c *gin.Context) {
code := c.Param("code")
provider, ok := dns.GetProvider(code)
if !ok {
c.JSON(http.StatusNotFound, gin.H{
"message": "provider not found",
})
return
}
c.JSON(http.StatusOK, provider)
} }

View file

@ -2,6 +2,7 @@ package certificate
import ( import (
"github.com/0xJacky/Nginx-UI/api" "github.com/0xJacky/Nginx-UI/api"
"github.com/0xJacky/Nginx-UI/api/cosy"
"github.com/0xJacky/Nginx-UI/internal/cert/dns" "github.com/0xJacky/Nginx-UI/internal/cert/dns"
"github.com/0xJacky/Nginx-UI/model" "github.com/0xJacky/Nginx-UI/model"
"github.com/0xJacky/Nginx-UI/query" "github.com/0xJacky/Nginx-UI/query"
@ -33,23 +34,7 @@ func GetDnsCredential(c *gin.Context) {
} }
func GetDnsCredentialList(c *gin.Context) { func GetDnsCredentialList(c *gin.Context) {
d := query.DnsCredential cosy.Core[model.DnsCredential](c).SetFussy("provider").PagingList()
provider := c.Query("provider")
var data []*model.DnsCredential
var err error
if provider != "" {
data, err = d.Where(d.Provider.Eq(provider)).Find()
} else {
data, err = d.Find()
}
if err != nil {
api.ErrHandler(c, err)
return
}
c.JSON(http.StatusOK, gin.H{
"data": data,
})
} }
type DnsCredentialManageJson struct { type DnsCredentialManageJson struct {
@ -114,18 +99,5 @@ func EditDnsCredential(c *gin.Context) {
} }
func DeleteDnsCredential(c *gin.Context) { func DeleteDnsCredential(c *gin.Context) {
id := cast.ToInt(c.Param("id")) cosy.Core[model.DnsCredential](c).Destroy()
d := query.DnsCredential
dnsCredential, err := d.FirstByID(id)
if err != nil {
api.ErrHandler(c, err)
return
}
err = d.DeleteByID(dnsCredential.ID)
if err != nil {
api.ErrHandler(c, err)
return
}
c.JSON(http.StatusNoContent, nil)
} }

View file

@ -0,0 +1,27 @@
package certificate
import (
"github.com/0xJacky/Nginx-UI/internal/cert/dns"
"github.com/gin-gonic/gin"
"net/http"
)
func GetDNSProvidersList(c *gin.Context) {
c.JSON(http.StatusOK, dns.GetProvidersList())
}
func GetDNSProvider(c *gin.Context) {
code := c.Param("code")
provider, ok := dns.GetProvider(code)
if !ok {
c.JSON(http.StatusNotFound, gin.H{
"message": "provider not found",
})
return
}
c.JSON(http.StatusOK, provider)
}

142
api/certificate/issue.go Normal file
View file

@ -0,0 +1,142 @@
package certificate
import (
"github.com/0xJacky/Nginx-UI/internal/cert"
"github.com/0xJacky/Nginx-UI/internal/logger"
"github.com/0xJacky/Nginx-UI/internal/nginx"
"github.com/0xJacky/Nginx-UI/model"
"github.com/gin-gonic/gin"
"github.com/gorilla/websocket"
"net/http"
"strings"
)
const (
Success = "success"
Info = "info"
Error = "error"
)
type IssueCertResponse struct {
Status string `json:"status"`
Message string `json:"message"`
SSLCertificate string `json:"ssl_certificate,omitempty"`
SSLCertificateKey string `json:"ssl_certificate_key,omitempty"`
}
func handleIssueCertLogChan(conn *websocket.Conn, logChan chan string) {
defer func() {
if err := recover(); err != nil {
logger.Error(err)
}
}()
for logString := range logChan {
err := conn.WriteJSON(IssueCertResponse{
Status: Info,
Message: logString,
})
if err != nil {
logger.Error(err)
return
}
}
}
func IssueCert(c *gin.Context) {
var upGrader = websocket.Upgrader{
CheckOrigin: func(r *http.Request) bool {
return true
},
}
// upgrade http to websocket
ws, err := upGrader.Upgrade(c.Writer, c.Request, nil)
if err != nil {
logger.Error(err)
return
}
defer func(ws *websocket.Conn) {
_ = ws.Close()
}(ws)
// read
buffer := &cert.ConfigPayload{}
err = ws.ReadJSON(buffer)
if err != nil {
logger.Error(err)
return
}
certModel, err := model.FirstOrCreateCert(c.Param("name"))
if err != nil {
logger.Error(err)
return
}
logChan := make(chan string, 1)
errChan := make(chan error, 1)
go cert.IssueCert(buffer, logChan, errChan)
go handleIssueCertLogChan(ws, logChan)
// block, until errChan closes
for err = range errChan {
errLog := &cert.AutoCertErrorLog{}
errLog.SetCertModel(&certModel)
errLog.Exit("issue cert", err)
err = ws.WriteJSON(IssueCertResponse{
Status: Error,
Message: err.Error(),
})
if err != nil {
logger.Error(err)
return
}
return
}
certDirName := strings.Join(buffer.ServerName, "_")
sslCertificatePath := nginx.GetConfPath("ssl", certDirName, "fullchain.cer")
sslCertificateKeyPath := nginx.GetConfPath("ssl", certDirName, "private.key")
err = certModel.Updates(&model.Cert{
Domains: buffer.ServerName,
SSLCertificatePath: sslCertificatePath,
SSLCertificateKeyPath: sslCertificateKeyPath,
})
if err != nil {
logger.Error(err)
err = ws.WriteJSON(IssueCertResponse{
Status: Error,
Message: err.Error(),
})
return
}
certModel.ClearLog()
err = ws.WriteJSON(IssueCertResponse{
Status: Success,
Message: "Issued certificate successfully",
SSLCertificate: sslCertificatePath,
SSLCertificateKey: sslCertificateKeyPath,
})
if err != nil {
logger.Error(err)
return
}
}

View file

@ -133,7 +133,7 @@ func (c *Ctx[T]) PagingListData() (*model.DataList, bool) {
page = 1 page = 1
} }
pageSize := settings.AppSettings.PageSize pageSize := settings.ServerSettings.PageSize
if reqPageSize := c.ctx.Query("page_size"); reqPageSize != "" { if reqPageSize := c.ctx.Query("page_size"); reqPageSize != "" {
pageSize = cast.ToInt(reqPageSize) pageSize = cast.ToInt(reqPageSize)
} }

View file

@ -2,6 +2,7 @@ package user
import ( import (
"github.com/0xJacky/Nginx-UI/api" "github.com/0xJacky/Nginx-UI/api"
"github.com/0xJacky/Nginx-UI/api/cosy"
"github.com/0xJacky/Nginx-UI/model" "github.com/0xJacky/Nginx-UI/model"
"github.com/0xJacky/Nginx-UI/query" "github.com/0xJacky/Nginx-UI/query"
"github.com/0xJacky/Nginx-UI/settings" "github.com/0xJacky/Nginx-UI/settings"
@ -12,9 +13,7 @@ import (
) )
func GetUsers(c *gin.Context) { func GetUsers(c *gin.Context) {
data := model.GetUserList(c, c.Query("name")) cosy.Core[model.Auth](c).SetFussy("name").PagingList()
c.JSON(http.StatusOK, data)
} }
func GetUser(c *gin.Context) { func GetUser(c *gin.Context) {
@ -74,7 +73,7 @@ func EditUser(c *gin.Context) {
if settings.ServerSettings.Demo && userId == 1 { if settings.ServerSettings.Demo && userId == 1 {
c.JSON(http.StatusNotAcceptable, gin.H{ c.JSON(http.StatusNotAcceptable, gin.H{
"message": "Prohibit changing root password in demo", "message": "Changing user password is forbidden in demo mode",
}) })
return return
} }
@ -133,5 +132,5 @@ func DeleteUser(c *gin.Context) {
api.ErrHandler(c, err) api.ErrHandler(c, err)
return return
} }
c.JSON(http.StatusNoContent, gin.H{}) c.JSON(http.StatusNoContent, nil)
} }

View file

@ -8,8 +8,7 @@
"lint": "eslint . -c .eslintrc.cjs --fix --ext .ts,.vue,.tsx,.d.ts", "lint": "eslint . -c .eslintrc.cjs --fix --ext .ts,.vue,.tsx,.d.ts",
"build": "vite build", "build": "vite build",
"preview": "vite preview", "preview": "vite preview",
"gettext:extract": "vue-gettext-extract", "gettext:extract": "vue-gettext-extract"
"gettext:compile": "vue-gettext-compile"
}, },
"dependencies": { "dependencies": {
"@ant-design/icons-vue": "^7.0.1", "@ant-design/icons-vue": "^7.0.1",

View file

@ -2,7 +2,7 @@ import http from '@/lib/http'
export interface DNSProvider { export interface DNSProvider {
name?: string name?: string
code: string code?: string
provider?: string provider?: string
configuration: { configuration: {
credentials: { credentials: {

View file

@ -7,12 +7,15 @@ export interface Cert extends ModelBase {
domains: string[] domains: string[]
filename: string filename: string
ssl_certificate_path: string ssl_certificate_path: string
ssl_certificate: string
ssl_certificate_key_path: string ssl_certificate_key_path: string
ssl_certificate_key: string
auto_cert: number auto_cert: number
challenge_method: string challenge_method: string
dns_credential_id: number dns_credential_id: number
dns_credential?: DnsCredential dns_credential?: DnsCredential
log: string log: string
certificate_info: CertificateInfo
} }
export interface CertificateInfo { export interface CertificateInfo {

View file

@ -6,6 +6,15 @@ export interface DnsCredential extends ModelBase {
name: string name: string
config?: DNSProvider config?: DNSProvider
provider: string provider: string
code: string
configuration: {
credentials: {
[key: string]: string
}
additional: {
[key: string]: string
}
}
} }
const dns_credential: Curd<DnsCredential> = new Curd('/dns_credential') const dns_credential: Curd<DnsCredential> = new Curd('/dns_credential')

View file

@ -7,7 +7,7 @@ export interface ChatComplicationMessage {
} }
const openai = { const openai = {
store_record(data: { file_name?: string; messages: ChatComplicationMessage[] }) { store_record(data: { file_name?: string; messages?: ChatComplicationMessage[] }) {
return http.post('/chat_gpt_record', data) return http.post('/chat_gpt_record', data)
}, },
} }

View file

@ -16,7 +16,7 @@ import ChatGPT_logo from '@/assets/svg/ChatGPT_logo.svg'
const props = defineProps<{ const props = defineProps<{
content: string content: string
path?: string path?: string
historyMessages: ChatComplicationMessage[] historyMessages?: ChatComplicationMessage[]
}>() }>()
const emit = defineEmits(['update:history_messages']) const emit = defineEmits(['update:history_messages'])
@ -26,7 +26,7 @@ const { $gettext } = useGettext()
const { language: current } = storeToRefs(useSettingsStore()) const { language: current } = storeToRefs(useSettingsStore())
const history_messages = computed(() => props.historyMessages) const history_messages = computed(() => props.historyMessages)
const messages = ref([]) as Ref<ChatComplicationMessage[]> const messages = ref([]) as Ref<ChatComplicationMessage[] | undefined >
onMounted(() => { onMounted(() => {
messages.value = props.historyMessages messages.value = props.historyMessages
@ -54,14 +54,14 @@ async function request() {
console.log('fetching...') console.log('fetching...')
messages.value.push(t.value) messages.value?.push(t.value)
emit('update:history_messages', messages.value) emit('update:history_messages', messages.value)
const res = await fetch(urlJoin(window.location.pathname, '/api/chat_gpt'), { const res = await fetch(urlJoin(window.location.pathname, '/api/chat_gpt'), {
method: 'POST', method: 'POST',
headers: { Accept: 'text/event-stream', Authorization: token.value }, headers: { Accept: 'text/event-stream', Authorization: token.value },
body: JSON.stringify({ messages: messages.value.slice(0, messages.value?.length - 1) }), body: JSON.stringify({ messages: messages.value?.slice(0, messages.value?.length - 1) }),
}) })
// read body as stream // read body as stream
@ -200,7 +200,7 @@ function clear_record() {
const editing_idx = ref(-1) const editing_idx = ref(-1)
async function regenerate(index: number) { async function regenerate(index: number) {
editing_idx.value = -1 editing_idx.value = -1
messages.value = messages.value.slice(0, index) messages.value = messages.value?.slice(0, index)
await request() await request()
} }
@ -285,7 +285,7 @@ const show = computed(() => !messages.value || messages.value?.length === 0)
</APopconfirm> </APopconfirm>
<AButton <AButton
type="text" type="text"
@click="regenerate(messages?.length - 1)" @click="regenerate((messages?.length ?? 1) - 1)"
> >
{{ $gettext('Regenerate response') }} {{ $gettext('Regenerate response') }}
</AButton> </AButton>

View file

@ -4,7 +4,7 @@ import { Ref } from 'vue'
export interface StdDesignEdit { export interface StdDesignEdit {
type?: function // component type type?: function // component type
show?: function // show component show?: (dataSource: any) => boolean // show component or not
batch?: boolean // batch edit batch?: boolean // batch edit

View file

@ -0,0 +1,4 @@
export enum AutoCertState {
Disable = 0,
Enable = 1,
}

View file

@ -9,29 +9,25 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/views/domain/cert/CertInfo.vue:28 #: src/routes/index.ts:182
#, fuzzy
msgid " Expiration Date: %{date}"
msgstr "Expiration Date: %{date}"
#: src/routes/index.ts:183
msgid "About" msgid "About"
msgstr "About" msgstr "About"
#: src/routes/index.ts:135 src/views/domain/ngx_conf/LogEntry.vue:78 #: src/routes/index.ts:134 src/views/domain/ngx_conf/LogEntry.vue:78
msgid "Access Logs" msgid "Access Logs"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:77 src/views/cert/DNSCredential.vue:32 #: src/views/certificate/Certificate.vue:87
#: src/views/config/config.ts:36 src/views/domain/DomainList.vue:50 #: src/views/certificate/DNSCredential.vue:32 src/views/config/config.ts:36
#: src/views/environment/Environment.vue:105 src/views/user/User.vue:46 #: src/views/domain/DomainList.vue:50 src/views/environment/Environment.vue:105
#: src/views/user/User.vue:46
msgid "Action" msgid "Action"
msgstr "Action" msgstr "Action"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:307 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:308
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -44,16 +40,16 @@ msgstr "Add Directive Below"
msgid "Add Location" msgid "Add Location"
msgstr "Add Location" msgstr "Add Location"
#: src/routes/index.ts:71 src/views/domain/DomainAdd.vue:91 #: src/routes/index.ts:70 src/views/domain/DomainAdd.vue:91
msgid "Add Site" msgid "Add Site"
msgstr "Add Site" msgstr "Add Site"
#: src/views/cert/DNSChallenge.vue:95 #: src/views/certificate/DNSChallenge.vue:95
#, fuzzy #, fuzzy
msgid "Additional" msgid "Additional"
msgstr "Add Location" msgstr "Add Location"
#: src/views/domain/DomainEdit.vue:205 #: src/views/domain/DomainEdit.vue:204
msgid "Advance Mode" msgid "Advance Mode"
msgstr "Advance Mode" msgstr "Advance Mode"
@ -106,32 +102,33 @@ msgstr ""
msgid "Author" msgid "Author"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:38 src/views/domain/cert/ChangeCert.vue:37 #: src/views/certificate/Certificate.vue:46
#: src/views/domain/cert/ChangeCert.vue:37
msgid "Auto Cert" msgid "Auto Cert"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:92 #: src/views/certificate/Certificate.vue:105
msgid "Auto cert is enabled, please do not modify this certification." msgid "Auto Cert is enabled"
msgstr "" msgstr ""
#: src/views/nginx_log/NginxLog.vue:150 #: src/views/certificate/Certificate.vue:135
msgid "Auto Cert Log"
msgstr ""
#: src/views/nginx_log/NginxLog.vue:149
msgid "Auto Refresh" msgid "Auto Refresh"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:122 #: src/views/domain/cert/components/ObtainCert.vue:126
msgid "Auto-Cert Log"
msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:125
msgid "Auto-renewal disabled for %{name}" msgid "Auto-renewal disabled for %{name}"
msgstr "Auto-renewal disabled for %{name}" msgstr "Auto-renewal disabled for %{name}"
#: src/views/domain/cert/components/ObtainCert.vue:118 #: src/views/domain/cert/components/ObtainCert.vue:119
msgid "Auto-renewal enabled for %{name}" msgid "Auto-renewal enabled for %{name}"
msgstr "Auto-renewal enabled for %{name}" msgstr "Auto-renewal enabled for %{name}"
#: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89 #: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89
#: src/views/domain/DomainEdit.vue:262 src/views/nginx_log/NginxLog.vue:171 #: src/views/domain/DomainEdit.vue:261 src/views/nginx_log/NginxLog.vue:170
msgid "Back" msgid "Back"
msgstr "Back" msgstr "Back"
@ -145,13 +142,13 @@ msgid "Base information"
msgstr "Base information" msgstr "Base information"
#: src/views/config/ConfigEdit.vue:117 #: src/views/config/ConfigEdit.vue:117
#: src/views/domain/components/RightSettings.vue:71 #: src/views/domain/components/RightSettings.vue:73
#: src/views/preference/Preference.vue:92 #: src/views/preference/Preference.vue:90
#, fuzzy #, fuzzy
msgid "Basic" msgid "Basic"
msgstr "Basic Mode" msgstr "Basic Mode"
#: src/views/domain/DomainEdit.vue:208 #: src/views/domain/DomainEdit.vue:207
msgid "Basic Mode" msgid "Basic Mode"
msgstr "Basic Mode" msgstr "Basic Mode"
@ -173,37 +170,38 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
#: src/views/domain/cert/components/ObtainCert.vue:210 #: src/views/domain/cert/components/ObtainCert.vue:211
#: src/views/domain/components/Deploy.vue:25 #: src/views/domain/components/Deploy.vue:24
#: src/views/domain/components/RightSettings.vue:51 #: src/views/domain/components/RightSettings.vue:52
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:216 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:216
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:48 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
msgid "Cancel" msgid "Cancel"
msgstr "Cancel" msgstr "Cancel"
#: src/views/domain/cert/CertInfo.vue:36 #: src/views/domain/cert/CertInfo.vue:35
msgid "Certificate has expired" msgid "Certificate has expired"
msgstr "Certificate has expired" msgstr "Certificate has expired"
#: src/views/domain/cert/CertInfo.vue:40 #: src/views/domain/cert/CertInfo.vue:39
msgid "Certificate is valid" msgid "Certificate is valid"
msgstr "Certificate is valid" msgstr "Certificate is valid"
#: src/views/cert/Cert.vue:132 src/views/domain/cert/Cert.vue:35 #: src/views/certificate/Certificate.vue:145 src/views/domain/cert/Cert.vue:35
msgid "Certificate Status" msgid "Certificate Status"
msgstr "Certificate Status" msgstr "Certificate Status"
#: src/routes/index.ts:101 src/views/cert/Cert.vue:84 #: src/routes/index.ts:100 src/views/certificate/Certificate.vue:96
#, fuzzy #, fuzzy
msgid "Certification" msgid "Certificates"
msgstr "Certificate Status"
#: src/routes/index.ts:108
#, fuzzy
msgid "Certificates List"
msgstr "Certificate is valid" msgstr "Certificate is valid"
#: src/routes/index.ts:109 #: src/views/certificate/Certificate.vue:150
#, fuzzy #: src/views/domain/cert/components/AutoCertStepOne.vue:63
msgid "Certification List"
msgstr "Certificate is valid"
#: src/views/domain/cert/components/AutoCertStepOne.vue:57
msgid "Challenge Method" msgid "Challenge Method"
msgstr "" msgstr ""
@ -240,11 +238,11 @@ msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97
#: src/views/domain/ngx_conf/LocationEditor.vue:121 #: src/views/domain/ngx_conf/LocationEditor.vue:121
#: src/views/domain/ngx_conf/LocationEditor.vue:90 #: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:283 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:284
msgid "Comments" msgid "Comments"
msgstr "Comments" msgstr "Comments"
#: src/views/cert/Cert.vue:33 #: src/views/certificate/Certificate.vue:41
#, fuzzy #, fuzzy
msgid "Config Name" msgid "Config Name"
msgstr "Configuration Name" msgstr "Configuration Name"
@ -254,7 +252,7 @@ msgstr "Configuration Name"
msgid "Config Templates" msgid "Config Templates"
msgstr "Configurations" msgstr "Configurations"
#: src/views/config/InspectConfig.vue:31 #: src/views/config/InspectConfig.vue:30
msgid "Configuration file is test successful" msgid "Configuration file is test successful"
msgstr "" msgstr ""
@ -308,7 +306,7 @@ msgstr ""
msgid "Credential" msgid "Credential"
msgstr "" msgstr ""
#: src/views/cert/DNSChallenge.vue:83 #: src/views/certificate/DNSChallenge.vue:83
msgid "Credentials" msgid "Credentials"
msgstr "" msgstr ""
@ -317,7 +315,7 @@ msgid "Current Version"
msgstr "" msgstr ""
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:240 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:241
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
@ -325,13 +323,13 @@ msgstr ""
msgid "Dashboard" msgid "Dashboard"
msgstr "Dashboard" msgstr "Dashboard"
#: src/views/other/Install.vue:122 #: src/views/other/Install.vue:124
msgid "Database (Optional, default: database)" msgid "Database (Optional, default: database)"
msgstr "Database (Optional, default: database)" msgstr "Database (Optional, default: database)"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:354 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:354
#: src/views/domain/DomainList.vue:153 #: src/views/domain/DomainList.vue:153
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:258 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:259
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
@ -345,19 +343,19 @@ msgid "Deleted successfully"
msgstr "Disabled successfully" msgstr "Disabled successfully"
#: src/views/domain/components/Deploy.vue:109 #: src/views/domain/components/Deploy.vue:109
#: src/views/domain/components/RightSettings.vue:89 #: src/views/domain/components/RightSettings.vue:91
msgid "Deploy" msgid "Deploy"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:67 #: src/views/domain/components/Deploy.vue:66
msgid "Deploy %{conf_name} to %{node_name} failed" msgid "Deploy %{conf_name} to %{node_name} failed"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:41 #: src/views/domain/components/Deploy.vue:40
msgid "Deploy %{conf_name} to %{node_name} successfully" msgid "Deploy %{conf_name} to %{node_name} successfully"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:39 #: src/views/domain/components/Deploy.vue:38
#, fuzzy #, fuzzy
msgid "Deploy successfully" msgid "Deploy successfully"
msgstr "Saved successfully" msgstr "Saved successfully"
@ -389,16 +387,17 @@ msgstr "Directive"
msgid "Disable" msgid "Disable"
msgstr "Disabled" msgstr "Disabled"
#: src/views/domain/cert/components/ObtainCert.vue:127 #: src/views/domain/cert/components/ObtainCert.vue:128
msgid "Disable auto-renewal failed for %{name}" msgid "Disable auto-renewal failed for %{name}"
msgstr "Disable auto-renewal failed for %{name}" msgstr "Disable auto-renewal failed for %{name}"
#: src/views/cert/Cert.vue:49 src/views/domain/cert/ChangeCert.vue:48 #: src/views/certificate/Certificate.vue:57
#: src/views/domain/DomainEdit.vue:191 src/views/domain/DomainList.vue:123 #: src/views/domain/cert/ChangeCert.vue:48 src/views/domain/DomainEdit.vue:190
#: src/views/domain/DomainList.vue:123
msgid "Disabled" msgid "Disabled"
msgstr "Disabled" msgstr "Disabled"
#: src/views/domain/components/RightSettings.vue:38 #: src/views/domain/components/RightSettings.vue:39
#: src/views/domain/DomainList.vue:67 #: src/views/domain/DomainList.vue:67
msgid "Disabled successfully" msgid "Disabled successfully"
msgstr "Disabled successfully" msgstr "Disabled successfully"
@ -407,36 +406,36 @@ msgstr "Disabled successfully"
msgid "Disk IO" msgid "Disk IO"
msgstr "Disk IO" msgstr "Disk IO"
#: src/routes/index.ts:114 src/views/cert/DNSCredential.vue:39 #: src/routes/index.ts:113 src/views/certificate/DNSCredential.vue:39
msgid "DNS Credentials" msgid "DNS Credentials"
msgstr "" msgstr ""
#: src/views/cert/DNSChallenge.vue:74 #: src/views/certificate/DNSChallenge.vue:74
#: src/views/domain/cert/components/DNSChallenge.vue:79 #: src/views/domain/cert/components/DNSChallenge.vue:79
msgid "DNS Provider" msgid "DNS Provider"
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:63 #: src/views/domain/cert/components/AutoCertStepOne.vue:69
msgid "DNS01" msgid "DNS01"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:20 #: src/views/domain/components/Deploy.vue:19
#, fuzzy #, fuzzy
msgid "Do you want to deploy this file to remote server?" msgid "Do you want to deploy this file to remote server?"
msgid_plural "Do you want to deploy this file to remote servers?" msgid_plural "Do you want to deploy this file to remote servers?"
msgstr[0] "Are you sure you want to remove this directive?" msgstr[0] "Are you sure you want to remove this directive?"
msgstr[1] "Are you sure you want to remove this directive?" msgstr[1] "Are you sure you want to remove this directive?"
#: src/views/domain/cert/components/ObtainCert.vue:206 #: src/views/domain/cert/components/ObtainCert.vue:207
msgid "Do you want to disable auto-cert renewal?" msgid "Do you want to disable auto-cert renewal?"
msgstr "" msgstr ""
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
#, fuzzy #, fuzzy
msgid "Do you want to disable this site?" msgid "Do you want to disable this site?"
msgstr "Are you sure you want to remove this directive?" msgstr "Are you sure you want to remove this directive?"
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
#, fuzzy #, fuzzy
msgid "Do you want to enable this site?" msgid "Do you want to enable this site?"
msgstr "Are you sure you want to remove this directive?" msgstr "Are you sure you want to remove this directive?"
@ -455,8 +454,8 @@ msgstr "Are you sure you want to remove this directive?"
msgid "Domain Config Created Successfully" msgid "Domain Config Created Successfully"
msgstr "Domain Config Created Successfully" msgstr "Domain Config Created Successfully"
#: src/views/cert/Cert.vue:112 #: src/views/certificate/Certificate.vue:125
msgid "Domains list is empty, try to reopen auto-cert for %{config}" msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
msgstr "" msgstr ""
#: src/language/constants.ts:29 #: src/language/constants.ts:29
@ -496,19 +495,19 @@ msgstr "Saved successfully"
msgid "Duplicate to local successfully" msgid "Duplicate to local successfully"
msgstr "Saved successfully" msgstr "Saved successfully"
#: src/views/domain/DomainEdit.vue:180 #: src/views/domain/DomainEdit.vue:179
msgid "Edit %{n}" msgid "Edit %{n}"
msgstr "Edit %{n}" msgstr "Edit %{n}"
#: src/routes/index.ts:93 src/views/config/ConfigEdit.vue:83 #: src/routes/index.ts:92 src/views/config/ConfigEdit.vue:83
msgid "Edit Configuration" msgid "Edit Configuration"
msgstr "Edit Configuration" msgstr "Edit Configuration"
#: src/routes/index.ts:75 #: src/routes/index.ts:74
msgid "Edit Site" msgid "Edit Site"
msgstr "Edit Site" msgstr "Edit Site"
#: src/views/other/Install.vue:91 #: src/views/other/Install.vue:93
msgid "Email (*)" msgid "Email (*)"
msgstr "Email (*)" msgstr "Email (*)"
@ -517,15 +516,15 @@ msgstr "Email (*)"
msgid "Enable" msgid "Enable"
msgstr "Enabled" msgstr "Enabled"
#: src/views/domain/components/Deploy.vue:56 #: src/views/domain/components/Deploy.vue:55
msgid "Enable %{conf_name} in %{node_name} failed" msgid "Enable %{conf_name} in %{node_name} failed"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:50 #: src/views/domain/components/Deploy.vue:49
msgid "Enable %{conf_name} in %{node_name} successfully" msgid "Enable %{conf_name} in %{node_name} successfully"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:120 #: src/views/domain/cert/components/ObtainCert.vue:121
msgid "Enable auto-renewal failed for %{name}" msgid "Enable auto-renewal failed for %{name}"
msgstr "Enable auto-renewal failed for %{name}" msgstr "Enable auto-renewal failed for %{name}"
@ -533,23 +532,24 @@ msgstr "Enable auto-renewal failed for %{name}"
msgid "Enable failed" msgid "Enable failed"
msgstr "Enable failed" msgstr "Enable failed"
#: src/views/domain/components/Deploy.vue:48 #: src/views/domain/components/Deploy.vue:47
#, fuzzy #, fuzzy
msgid "Enable successfully" msgid "Enable successfully"
msgstr "Enabled successfully" msgstr "Enabled successfully"
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:235 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:236
msgid "Enable TLS" msgid "Enable TLS"
msgstr "Enable TLS" msgstr "Enable TLS"
#: src/views/cert/Cert.vue:45 src/views/domain/cert/ChangeCert.vue:44 #: src/views/certificate/Certificate.vue:53
#: src/views/domain/cert/ChangeCert.vue:44
#: src/views/domain/components/Deploy.vue:89 #: src/views/domain/components/Deploy.vue:89
#: src/views/domain/components/RightSettings.vue:73 #: src/views/domain/components/RightSettings.vue:75
#: src/views/domain/DomainEdit.vue:185 src/views/domain/DomainList.vue:131 #: src/views/domain/DomainEdit.vue:184 src/views/domain/DomainList.vue:131
msgid "Enabled" msgid "Enabled"
msgstr "Enabled" msgstr "Enabled"
#: src/views/domain/components/RightSettings.vue:29 #: src/views/domain/components/RightSettings.vue:30
#: src/views/domain/components/SiteDuplicate.vue:100 #: src/views/domain/components/SiteDuplicate.vue:100
#: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58 #: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58
msgid "Enabled successfully" msgid "Enabled successfully"
@ -559,7 +559,7 @@ msgstr "Enabled successfully"
msgid "Encrypt website with Let's Encrypt" msgid "Encrypt website with Let's Encrypt"
msgstr "Encrypt website with Let's Encrypt" msgstr "Encrypt website with Let's Encrypt"
#: src/routes/index.ts:152 src/views/environment/Environment.vue:113 #: src/routes/index.ts:151 src/views/environment/Environment.vue:113
msgid "Environment" msgid "Environment"
msgstr "" msgstr ""
@ -568,11 +568,11 @@ msgstr ""
msgid "Environments" msgid "Environments"
msgstr "Comments" msgstr "Comments"
#: src/views/config/InspectConfig.vue:48 #: src/views/config/InspectConfig.vue:47
msgid "Error" msgid "Error"
msgstr "" msgstr ""
#: src/routes/index.ts:139 src/views/domain/ngx_conf/LogEntry.vue:86 #: src/routes/index.ts:138 src/views/domain/ngx_conf/LogEntry.vue:86
msgid "Error Logs" msgid "Error Logs"
msgstr "" msgstr ""
@ -580,17 +580,22 @@ msgstr ""
msgid "Executable Path" msgid "Executable Path"
msgstr "" msgstr ""
#: src/views/domain/cert/CertInfo.vue:27
#, fuzzy
msgid "Expired At: %{date}"
msgstr "Expiration Date: %{date}"
#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:296 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:296
msgid "Export" msgid "Export"
msgstr "" msgstr ""
#: src/views/domain/components/RightSettings.vue:41 #: src/views/domain/components/RightSettings.vue:42
#: src/views/domain/DomainList.vue:70 #: src/views/domain/DomainList.vue:70
msgid "Failed to disable %{msg}" msgid "Failed to disable %{msg}"
msgstr "Failed to disable %{msg}" msgstr "Failed to disable %{msg}"
#: src/views/domain/components/RightSettings.vue:32 #: src/views/domain/components/RightSettings.vue:33
#: src/views/domain/DomainList.vue:61 #: src/views/domain/DomainList.vue:61
msgid "Failed to enable %{msg}" msgid "Failed to enable %{msg}"
msgstr "Failed to enable %{msg}" msgstr "Failed to enable %{msg}"
@ -599,7 +604,7 @@ msgstr "Failed to enable %{msg}"
msgid "Failed to get certificate information" msgid "Failed to get certificate information"
msgstr "" msgstr ""
#: src/views/domain/DomainEdit.vue:139 #: src/views/domain/DomainEdit.vue:138
msgid "Failed to save, syntax error(s) was detected in the configuration." msgid "Failed to save, syntax error(s) was detected in the configuration."
msgstr "" msgstr ""
@ -615,7 +620,7 @@ msgstr ""
msgid "File Not Found" msgid "File Not Found"
msgstr "File Not Found" msgstr "File Not Found"
#: src/views/nginx_log/NginxLog.vue:153 #: src/views/nginx_log/NginxLog.vue:152
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
@ -650,7 +655,7 @@ msgstr ""
msgid "Get release information error" msgid "Get release information error"
msgstr "Base information" msgstr "Base information"
#: src/views/domain/cert/components/ObtainCert.vue:63 #: src/views/domain/cert/components/ObtainCert.vue:64
msgid "Getting the certificate, please wait..." msgid "Getting the certificate, please wait..."
msgstr "Getting the certificate, please wait..." msgstr "Getting the certificate, please wait..."
@ -690,7 +695,7 @@ msgstr ""
msgid "HTTP Port" msgid "HTTP Port"
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:60 #: src/views/domain/cert/components/AutoCertStepOne.vue:66
msgid "HTTP01" msgid "HTTP01"
msgstr "" msgstr ""
@ -702,16 +707,16 @@ msgstr ""
msgid "Initialing core upgrader" msgid "Initialing core upgrader"
msgstr "" msgstr ""
#: src/routes/index.ts:195 src/views/other/Install.vue:137 #: src/routes/index.ts:194 src/views/other/Install.vue:139
msgid "Install" msgid "Install"
msgstr "Install" msgstr "Install"
#: src/views/other/Install.vue:67 #: src/views/other/Install.vue:68
#, fuzzy #, fuzzy
msgid "Install successfully" msgid "Install successfully"
msgstr "Enabled successfully" msgstr "Enabled successfully"
#: src/views/domain/cert/CertInfo.vue:22 #: src/views/domain/cert/CertInfo.vue:21
msgid "Intermediate Certification Authorities: %{issuer}" msgid "Intermediate Certification Authorities: %{issuer}"
msgstr "Intermediate Certification Authorities: %{issuer}" msgstr "Intermediate Certification Authorities: %{issuer}"
@ -764,11 +769,11 @@ msgstr "Location"
msgid "Locations" msgid "Locations"
msgstr "Locations" msgstr "Locations"
#: src/routes/index.ts:201 src/views/other/Login.vue:147 #: src/routes/index.ts:200 src/views/other/Login.vue:147
msgid "Login" msgid "Login"
msgstr "Login" msgstr "Login"
#: src/views/other/Login.vue:53 src/views/other/Login.vue:99 #: src/views/other/Login.vue:51 src/views/other/Login.vue:97
msgid "Login successful" msgid "Login successful"
msgstr "Login successful" msgstr "Login successful"
@ -776,7 +781,7 @@ msgstr "Login successful"
msgid "Logout successful" msgid "Logout successful"
msgstr "Logout successful" msgstr "Logout successful"
#: src/views/domain/cert/components/AutoCertStepOne.vue:45 #: src/views/domain/cert/components/AutoCertStepOne.vue:51
#, fuzzy #, fuzzy
msgid "" msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to " "Make sure you have configured a reverse proxy for .well-known directory to "
@ -785,15 +790,15 @@ msgstr ""
"Make sure you have configured a reverse proxy for .well-known directory to " "Make sure you have configured a reverse proxy for .well-known directory to "
"HTTPChallengePort (default: 9180) before getting the certificate." "HTTPChallengePort (default: 9180) before getting the certificate."
#: src/routes/index.ts:84 #: src/routes/index.ts:83
msgid "Manage Configs" msgid "Manage Configs"
msgstr "Manage Configs" msgstr "Manage Configs"
#: src/routes/index.ts:59 src/views/domain/DomainList.vue:102 #: src/routes/index.ts:58 src/views/domain/DomainList.vue:102
msgid "Manage Sites" msgid "Manage Sites"
msgstr "Manage Sites" msgstr "Manage Sites"
#: src/routes/index.ts:160 src/views/user/User.vue:53 #: src/routes/index.ts:159 src/views/user/User.vue:53
msgid "Manage Users" msgid "Manage Users"
msgstr "Manage Users" msgstr "Manage Users"
@ -808,6 +813,7 @@ msgstr "Memory and Storage"
#: src/components/ChatGPT/ChatGPT.vue:256 #: src/components/ChatGPT/ChatGPT.vue:256
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:336 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:336
#: src/views/certificate/Certificate.vue:156
#, fuzzy #, fuzzy
msgid "Modify" msgid "Modify"
msgstr "Modify Config" msgstr "Modify Config"
@ -821,9 +827,10 @@ msgstr "Modify Config"
msgid "Multi-line Directive" msgid "Multi-line Directive"
msgstr "Single Directive" msgstr "Single Directive"
#: src/views/cert/Cert.vue:17 src/views/cert/DNSCredential.vue:13 #: src/views/certificate/Certificate.vue:24
#: src/views/config/config.ts:9 src/views/domain/cert/ChangeCert.vue:21 #: src/views/certificate/DNSCredential.vue:13 src/views/config/config.ts:9
#: src/views/domain/components/RightSettings.vue:79 #: src/views/domain/cert/ChangeCert.vue:21
#: src/views/domain/components/RightSettings.vue:81
#: src/views/domain/components/SiteDuplicate.vue:135 #: src/views/domain/components/SiteDuplicate.vue:135
#: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15 #: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15
msgid "Name" msgid "Name"
@ -849,12 +856,12 @@ msgstr "Network Total Send"
msgid "New version released" msgid "New version released"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:278 #: src/views/domain/cert/components/ObtainCert.vue:281
#: src/views/domain/DomainAdd.vue:140 #: src/views/domain/DomainAdd.vue:140
msgid "Next" msgid "Next"
msgstr "Next" msgstr "Next"
#: src/views/preference/Preference.vue:98 #: src/views/preference/Preference.vue:96
msgid "Nginx" msgid "Nginx"
msgstr "" msgstr ""
@ -862,7 +869,7 @@ msgstr ""
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "" msgstr ""
#: src/views/domain/DomainEdit.vue:223 #: src/views/domain/DomainEdit.vue:222
#, fuzzy #, fuzzy
msgid "Nginx Configuration Parse Error" msgid "Nginx Configuration Parse Error"
msgstr "Configuration Name" msgstr "Configuration Name"
@ -875,7 +882,7 @@ msgstr ""
msgid "Nginx Error Log Path" msgid "Nginx Error Log Path"
msgstr "" msgstr ""
#: src/routes/index.ts:129 src/views/nginx_log/NginxLog.vue:146 #: src/routes/index.ts:128 src/views/nginx_log/NginxLog.vue:145
msgid "Nginx Log" msgid "Nginx Log"
msgstr "" msgstr ""
@ -901,20 +908,20 @@ msgstr "No"
msgid "Node Secret" msgid "Node Secret"
msgstr "" msgstr ""
#: src/routes/index.ts:207 src/routes/index.ts:209 #: src/routes/index.ts:206 src/routes/index.ts:208
msgid "Not Found" msgid "Not Found"
msgstr "Not Found" msgstr "Not Found"
#: src/views/domain/cert/CertInfo.vue:31 #: src/views/domain/cert/CertInfo.vue:30
msgid "Not Valid Before: %{date}" msgid "Not Valid Before: %{date}"
msgstr "Not Valid Before: %{date}" msgstr "Not Valid Before: %{date}"
#: src/views/cert/DNSCredential.vue:48 #: src/views/certificate/DNSCredential.vue:48
#: src/views/domain/cert/components/AutoCertStepOne.vue:32 #: src/views/domain/cert/components/AutoCertStepOne.vue:38
msgid "Note" msgid "Note"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:249 #: src/views/domain/cert/components/ObtainCert.vue:252
#, fuzzy #, fuzzy
msgid "Obtain certificate" msgid "Obtain certificate"
msgstr "Certificate is valid" msgstr "Certificate is valid"
@ -934,15 +941,19 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:346 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:346
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
#: src/views/domain/cert/components/ObtainCert.vue:209 #: src/views/domain/cert/components/ObtainCert.vue:210
#: src/views/domain/components/Deploy.vue:24 #: src/views/domain/components/Deploy.vue:23
#: src/views/domain/components/RightSettings.vue:50 #: src/views/domain/components/RightSettings.vue:51
#: src/views/domain/DomainList.vue:144 #: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:215 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:215
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:47 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
msgid "OK" msgid "OK"
msgstr "" msgstr ""
#: src/views/certificate/DNSCredential.vue:58
msgid "Once the verification is complete, the records will be removed."
msgstr ""
#: src/components/NodeSelector/NodeSelector.vue:57 #: src/components/NodeSelector/NodeSelector.vue:57
#: src/components/NodeSelector/NodeSelector.vue:72 #: src/components/NodeSelector/NodeSelector.vue:72
#: src/views/dashboard/Environments.vue:100 #: src/views/dashboard/Environments.vue:100
@ -950,7 +961,7 @@ msgstr ""
msgid "Online" msgid "Online"
msgstr "" msgstr ""
#: src/views/preference/Preference.vue:104 #: src/views/preference/Preference.vue:102
msgid "OpenAI" msgid "OpenAI"
msgstr "" msgstr ""
@ -979,7 +990,7 @@ msgstr "Params"
msgid "Password" msgid "Password"
msgstr "Password" msgstr "Password"
#: src/views/other/Install.vue:111 #: src/views/other/Install.vue:113
msgid "Password (*)" msgid "Password (*)"
msgstr "Password (*)" msgstr "Password (*)"
@ -997,17 +1008,13 @@ msgstr ""
msgid "Performing core upgrade" msgid "Performing core upgrade"
msgstr "" msgstr ""
#: src/views/cert/DNSCredential.vue:52 #: src/views/certificate/DNSCredential.vue:52
msgid "" msgid ""
"Please fill in the API authentication credentials provided by your DNS " "Please fill in the API authentication credentials provided by your DNS "
"provider.\n" "provider."
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification.\n"
"Once the verification is complete, the records will be removed.\n"
"Please note that the time configurations below are all in seconds."
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:49 #: src/views/domain/cert/components/AutoCertStepOne.vue:55
msgid "" msgid ""
"Please first add credentials in Certification > DNS Credentials, and then " "Please first add credentials in Certification > DNS Credentials, and then "
"select one of the credentialsbelow to request the API of the DNS provider." "select one of the credentialsbelow to request the API of the DNS provider."
@ -1019,18 +1026,23 @@ msgid ""
"configuration!" "configuration!"
msgstr "" msgstr ""
#: src/views/other/Install.vue:34 #: src/views/other/Install.vue:35
msgid "Please input your E-mail!" msgid "Please input your E-mail!"
msgstr "Please input your E-mail!" msgstr "Please input your E-mail!"
#: src/views/other/Install.vue:46 src/views/other/Login.vue:41 #: src/views/other/Install.vue:47 src/views/other/Login.vue:39
msgid "Please input your password!" msgid "Please input your password!"
msgstr "Please input your password!" msgstr "Please input your password!"
#: src/views/other/Install.vue:40 src/views/other/Login.vue:35 #: src/views/other/Install.vue:41 src/views/other/Login.vue:33
msgid "Please input your username!" msgid "Please input your username!"
msgstr "Please input your username!" msgstr "Please input your username!"
#: src/views/certificate/DNSCredential.vue:61
msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr ""
#: src/views/domain/components/SiteDuplicate.vue:47 #: src/views/domain/components/SiteDuplicate.vue:47
msgid "Please select at least one node!" msgid "Please select at least one node!"
msgstr "" msgstr ""
@ -1039,7 +1051,7 @@ msgstr ""
msgid "Pre-release" msgid "Pre-release"
msgstr "" msgstr ""
#: src/routes/index.ts:168 src/views/preference/Preference.vue:87 #: src/routes/index.ts:167 src/views/preference/Preference.vue:85
msgid "Preference" msgid "Preference"
msgstr "" msgstr ""
@ -1060,7 +1072,7 @@ msgstr ""
msgid "Project Team" msgid "Project Team"
msgstr "Project Team" msgstr "Project Team"
#: src/views/cert/DNSCredential.vue:21 #: src/views/certificate/DNSCredential.vue:21
msgid "Provider" msgid "Provider"
msgstr "" msgstr ""
@ -1130,9 +1142,9 @@ msgid "Running"
msgstr "" msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98 #: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98
#: src/views/domain/DomainEdit.vue:269 #: src/views/domain/DomainEdit.vue:268
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/preference/Preference.vue:115 #: src/views/preference/Preference.vue:113
msgid "Save" msgid "Save"
msgstr "Save" msgstr "Save"
@ -1146,7 +1158,7 @@ msgid "Save error %{msg}"
msgstr "Save error %{msg}" msgstr "Save error %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
#: src/views/preference/Preference.vue:60 #: src/views/preference/Preference.vue:58
#, fuzzy #, fuzzy
msgid "Save successfully" msgid "Save successfully"
msgstr "Saved successfully" msgstr "Saved successfully"
@ -1157,7 +1169,7 @@ msgid "Save Successfully"
msgstr "Saved successfully" msgstr "Saved successfully"
#: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41 #: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41
#: src/views/domain/DomainEdit.vue:155 #: src/views/domain/DomainEdit.vue:154
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39
msgid "Saved successfully" msgid "Saved successfully"
msgstr "Saved successfully" msgstr "Saved successfully"
@ -1178,7 +1190,7 @@ msgstr "Send"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:157 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:157
#: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79 #: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79
#: src/views/other/Install.vue:71 src/views/preference/Preference.vue:62 #: src/views/other/Install.vue:72 src/views/preference/Preference.vue:60
#: src/views/system/Upgrade.vue:45 #: src/views/system/Upgrade.vue:45
msgid "Server error" msgid "Server error"
msgstr "Server error" msgstr "Server error"
@ -1187,11 +1199,11 @@ msgstr "Server error"
msgid "Server Info" msgid "Server Info"
msgstr "Server Info" msgstr "Server Info"
#: src/views/domain/cert/components/ObtainCert.vue:164 #: src/views/domain/cert/components/ObtainCert.vue:165
msgid "server_name not found in directives" msgid "server_name not found in directives"
msgstr "server_name not found in directives" msgstr "server_name not found in directives"
#: src/views/domain/cert/components/AutoCertStepOne.vue:22 #: src/views/domain/cert/components/AutoCertStepOne.vue:27
#: src/views/domain/DomainAdd.vue:119 #: src/views/domain/DomainAdd.vue:119
msgid "server_name parameter is required" msgid "server_name parameter is required"
msgstr "server_name parameter is required" msgstr "server_name parameter is required"
@ -1204,35 +1216,35 @@ msgstr ""
msgid "Single Directive" msgid "Single Directive"
msgstr "Single Directive" msgstr "Single Directive"
#: src/routes/index.ts:143 #: src/routes/index.ts:142
#, fuzzy #, fuzzy
msgid "Site Logs" msgid "Site Logs"
msgstr "Sites List" msgstr "Sites List"
#: src/routes/index.ts:67 #: src/routes/index.ts:66
msgid "Sites List" msgid "Sites List"
msgstr "Sites List" msgstr "Sites List"
#: src/views/cert/Cert.vue:64 #: src/views/certificate/Certificate.vue:164
#, fuzzy
msgid "SSL Certificate Content"
msgstr "Certificate Status"
#: src/views/certificate/Certificate.vue:171
#, fuzzy
msgid "SSL Certificate Key Content"
msgstr "Certificate Status"
#: src/views/certificate/Certificate.vue:73
#, fuzzy #, fuzzy
msgid "SSL Certificate Key Path" msgid "SSL Certificate Key Path"
msgstr "Certificate Status" msgstr "Certificate Status"
#: src/views/cert/Cert.vue:57 #: src/views/certificate/Certificate.vue:65
#, fuzzy #, fuzzy
msgid "SSL Certificate Path" msgid "SSL Certificate Path"
msgstr "Certificate Status" msgstr "Certificate Status"
#: src/views/cert/Cert.vue:139
#, fuzzy
msgid "SSL Certification Content"
msgstr "Certificate Status"
#: src/views/cert/Cert.vue:145
#, fuzzy
msgid "SSL Certification Key Content"
msgstr "Certificate Status"
#: src/views/other/Login.vue:158 #: src/views/other/Login.vue:158
#, fuzzy #, fuzzy
msgid "SSO Login" msgid "SSO Login"
@ -1255,7 +1267,7 @@ msgstr ""
msgid "Storage" msgid "Storage"
msgstr "Storage" msgstr "Storage"
#: src/views/domain/cert/CertInfo.vue:25 #: src/views/domain/cert/CertInfo.vue:24
#, fuzzy #, fuzzy
msgid "Subject Name: %{subject}" msgid "Subject Name: %{subject}"
msgstr "Subject Name: %{name}" msgstr "Subject Name: %{name}"
@ -1272,7 +1284,7 @@ msgstr ""
msgid "Switch to light theme" msgid "Switch to light theme"
msgstr "" msgstr ""
#: src/routes/index.ts:176 #: src/routes/index.ts:175
msgid "System" msgid "System"
msgstr "" msgstr ""
@ -1285,7 +1297,7 @@ msgstr "Enabled"
msgid "Target" msgid "Target"
msgstr "" msgstr ""
#: src/routes/index.ts:121 src/views/pty/Terminal.vue:95 #: src/routes/index.ts:120 src/views/pty/Terminal.vue:95
msgid "Terminal" msgid "Terminal"
msgstr "Terminal" msgstr "Terminal"
@ -1293,7 +1305,7 @@ msgstr "Terminal"
msgid "Terminal Start Command" msgid "Terminal Start Command"
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:41 #: src/views/domain/cert/components/AutoCertStepOne.vue:47
#, fuzzy #, fuzzy
msgid "" msgid ""
"The certificate for the domain will be checked 5 minutes, and will be " "The certificate for the domain will be checked 5 minutes, and will be "
@ -1302,11 +1314,11 @@ msgstr ""
"The certificate for the domain will be checked every hour, and will be " "The certificate for the domain will be checked every hour, and will be "
"renewed if it has been more than 1 month since it was last issued." "renewed if it has been more than 1 month since it was last issued."
#: src/views/other/Install.vue:52 #: src/views/other/Install.vue:53
msgid "The filename cannot contain the following characters: %{c}" msgid "The filename cannot contain the following characters: %{c}"
msgstr "The filename cannot contain the following characters: %{c}" msgstr "The filename cannot contain the following characters: %{c}"
#: src/views/domain/cert/components/AutoCertStepOne.vue:36 #: src/views/domain/cert/components/AutoCertStepOne.vue:42
#, fuzzy #, fuzzy
msgid "" msgid ""
"The server_name in the current configuration must be the domain name you " "The server_name in the current configuration must be the domain name you "
@ -1319,8 +1331,8 @@ msgstr ""
msgid "The username or password is incorrect" msgid "The username or password is incorrect"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:102 #: src/views/certificate/Certificate.vue:115
msgid "This auto-cert item is invalid, please remove it." msgid "This Auto Cert item is invalid, please remove it."
msgstr "" msgstr ""
#: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31 #: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31
@ -1339,9 +1351,10 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:71 src/views/cert/DNSCredential.vue:26 #: src/views/certificate/Certificate.vue:81
#: src/views/config/config.ts:29 src/views/config/ConfigEdit.vue:123 #: src/views/certificate/DNSCredential.vue:26 src/views/config/config.ts:29
#: src/views/domain/components/RightSettings.vue:82 #: src/views/config/ConfigEdit.vue:123
#: src/views/domain/components/RightSettings.vue:84
#: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98 #: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98
#: src/views/user/User.vue:40 #: src/views/user/User.vue:40
msgid "Updated at" msgid "Updated at"
@ -1352,7 +1365,7 @@ msgstr "Updated at"
msgid "Updated successfully" msgid "Updated successfully"
msgstr "Saved successfully" msgstr "Saved successfully"
#: src/routes/index.ts:187 src/views/system/Upgrade.vue:143 #: src/routes/index.ts:186 src/views/system/Upgrade.vue:143
#: src/views/system/Upgrade.vue:235 #: src/views/system/Upgrade.vue:235
msgid "Upgrade" msgid "Upgrade"
msgstr "" msgstr ""
@ -1383,7 +1396,7 @@ msgstr "Username"
msgid "Username" msgid "Username"
msgstr "Username" msgstr "Username"
#: src/views/other/Install.vue:101 #: src/views/other/Install.vue:103
msgid "Username (*)" msgid "Username (*)"
msgstr "Username (*)" msgstr "Username (*)"
@ -1399,13 +1412,19 @@ msgstr ""
msgid "View" msgid "View"
msgstr "" msgstr ""
#: src/views/config/InspectConfig.vue:37 #: src/views/config/InspectConfig.vue:36
#: src/views/domain/cert/components/AutoCertStepOne.vue:16 #: src/views/domain/cert/components/AutoCertStepOne.vue:21
#: src/views/domain/DomainAdd.vue:114 #: src/views/domain/DomainAdd.vue:114
msgid "Warning" msgid "Warning"
msgstr "Warning" msgstr "Warning"
#: src/views/domain/cert/components/ObtainCert.vue:207 #: src/views/certificate/DNSCredential.vue:55
msgid ""
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification."
msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:208
msgid "" msgid ""
"We will remove the HTTPChallenge configuration from this file and reload the " "We will remove the HTTPChallenge configuration from this file and reload the "
"Nginx. Are you sure you want to continue?" "Nginx. Are you sure you want to continue?"
@ -1437,6 +1456,10 @@ msgstr ""
msgid "You can check Nginx UI upgrade at this page." msgid "You can check Nginx UI upgrade at this page."
msgstr "" msgstr ""
#, fuzzy
#~ msgid "Certification"
#~ msgstr "Certificate is valid"
#, fuzzy #, fuzzy
#~ msgid "Inspect Configurations" #~ msgid "Inspect Configurations"
#~ msgstr "Edit Configuration" #~ msgstr "Edit Configuration"

View file

@ -14,29 +14,25 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.0\n" "X-Generator: Weblate 5.0\n"
#: src/views/domain/cert/CertInfo.vue:28 #: src/routes/index.ts:182
#, fuzzy
msgid " Expiration Date: %{date}"
msgstr "Fecha de vencimiento: %{date}"
#: src/routes/index.ts:183
msgid "About" msgid "About"
msgstr "Acerca de" msgstr "Acerca de"
#: src/routes/index.ts:135 src/views/domain/ngx_conf/LogEntry.vue:78 #: src/routes/index.ts:134 src/views/domain/ngx_conf/LogEntry.vue:78
msgid "Access Logs" msgid "Access Logs"
msgstr "Registros de acceso" msgstr "Registros de acceso"
#: src/views/cert/Cert.vue:77 src/views/cert/DNSCredential.vue:32 #: src/views/certificate/Certificate.vue:87
#: src/views/config/config.ts:36 src/views/domain/DomainList.vue:50 #: src/views/certificate/DNSCredential.vue:32 src/views/config/config.ts:36
#: src/views/environment/Environment.vue:105 src/views/user/User.vue:46 #: src/views/domain/DomainList.vue:50 src/views/environment/Environment.vue:105
#: src/views/user/User.vue:46
msgid "Action" msgid "Action"
msgstr "Acción" msgstr "Acción"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:307 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:308
msgid "Add" msgid "Add"
msgstr "Agregar" msgstr "Agregar"
@ -49,15 +45,15 @@ msgstr "Añadir directiva a continuación"
msgid "Add Location" msgid "Add Location"
msgstr "Agregar Ubicación" msgstr "Agregar Ubicación"
#: src/routes/index.ts:71 src/views/domain/DomainAdd.vue:91 #: src/routes/index.ts:70 src/views/domain/DomainAdd.vue:91
msgid "Add Site" msgid "Add Site"
msgstr "Agregar Sitio" msgstr "Agregar Sitio"
#: src/views/cert/DNSChallenge.vue:95 #: src/views/certificate/DNSChallenge.vue:95
msgid "Additional" msgid "Additional"
msgstr "Adicional" msgstr "Adicional"
#: src/views/domain/DomainEdit.vue:205 #: src/views/domain/DomainEdit.vue:204
msgid "Advance Mode" msgid "Advance Mode"
msgstr "Modo avanzado" msgstr "Modo avanzado"
@ -107,34 +103,35 @@ msgstr "Asistente"
msgid "Author" msgid "Author"
msgstr "Autor" msgstr "Autor"
#: src/views/cert/Cert.vue:38 src/views/domain/cert/ChangeCert.vue:37 #: src/views/certificate/Certificate.vue:46
#: src/views/domain/cert/ChangeCert.vue:37
msgid "Auto Cert" msgid "Auto Cert"
msgstr "Certificado automático" msgstr "Certificado automático"
#: src/views/cert/Cert.vue:92 #: src/views/certificate/Certificate.vue:105
msgid "Auto cert is enabled, please do not modify this certification." #, fuzzy
msgstr "" msgid "Auto Cert is enabled"
"Está habilitado el Certificado automático, por favor no modifique esta " msgstr "Certificado automático"
"certificación."
#: src/views/nginx_log/NginxLog.vue:150 #: src/views/certificate/Certificate.vue:135
#, fuzzy
msgid "Auto Cert Log"
msgstr "Registro del Certificado automático"
#: src/views/nginx_log/NginxLog.vue:149
msgid "Auto Refresh" msgid "Auto Refresh"
msgstr "Actualización automática" msgstr "Actualización automática"
#: src/views/cert/Cert.vue:122 #: src/views/domain/cert/components/ObtainCert.vue:126
msgid "Auto-Cert Log"
msgstr "Registro del Certificado automático"
#: src/views/domain/cert/components/ObtainCert.vue:125
msgid "Auto-renewal disabled for %{name}" msgid "Auto-renewal disabled for %{name}"
msgstr "Renovación automática deshabilitada por %{name}" msgstr "Renovación automática deshabilitada por %{name}"
#: src/views/domain/cert/components/ObtainCert.vue:118 #: src/views/domain/cert/components/ObtainCert.vue:119
msgid "Auto-renewal enabled for %{name}" msgid "Auto-renewal enabled for %{name}"
msgstr "Renovación automática habilitada por %{name}" msgstr "Renovación automática habilitada por %{name}"
#: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89 #: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89
#: src/views/domain/DomainEdit.vue:262 src/views/nginx_log/NginxLog.vue:171 #: src/views/domain/DomainEdit.vue:261 src/views/nginx_log/NginxLog.vue:170
msgid "Back" msgid "Back"
msgstr "Volver" msgstr "Volver"
@ -147,12 +144,12 @@ msgid "Base information"
msgstr "Información general" msgstr "Información general"
#: src/views/config/ConfigEdit.vue:117 #: src/views/config/ConfigEdit.vue:117
#: src/views/domain/components/RightSettings.vue:71 #: src/views/domain/components/RightSettings.vue:73
#: src/views/preference/Preference.vue:92 #: src/views/preference/Preference.vue:90
msgid "Basic" msgid "Basic"
msgstr "Básico" msgstr "Básico"
#: src/views/domain/DomainEdit.vue:208 #: src/views/domain/DomainEdit.vue:207
msgid "Basic Mode" msgid "Basic Mode"
msgstr "Modo Básico" msgstr "Modo Básico"
@ -173,35 +170,38 @@ msgstr "Directorio CA"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
#: src/views/domain/cert/components/ObtainCert.vue:210 #: src/views/domain/cert/components/ObtainCert.vue:211
#: src/views/domain/components/Deploy.vue:25 #: src/views/domain/components/Deploy.vue:24
#: src/views/domain/components/RightSettings.vue:51 #: src/views/domain/components/RightSettings.vue:52
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:216 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:216
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:48 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
#: src/views/domain/cert/CertInfo.vue:36 #: src/views/domain/cert/CertInfo.vue:35
msgid "Certificate has expired" msgid "Certificate has expired"
msgstr "El certificado expiró" msgstr "El certificado expiró"
#: src/views/domain/cert/CertInfo.vue:40 #: src/views/domain/cert/CertInfo.vue:39
msgid "Certificate is valid" msgid "Certificate is valid"
msgstr "El certificado es válido" msgstr "El certificado es válido"
#: src/views/cert/Cert.vue:132 src/views/domain/cert/Cert.vue:35 #: src/views/certificate/Certificate.vue:145 src/views/domain/cert/Cert.vue:35
msgid "Certificate Status" msgid "Certificate Status"
msgstr "Estado del Certificado" msgstr "Estado del Certificado"
#: src/routes/index.ts:101 src/views/cert/Cert.vue:84 #: src/routes/index.ts:100 src/views/certificate/Certificate.vue:96
msgid "Certification" #, fuzzy
msgstr "Certificación" msgid "Certificates"
msgstr "Estado del Certificado"
#: src/routes/index.ts:109 #: src/routes/index.ts:108
msgid "Certification List" #, fuzzy
msgid "Certificates List"
msgstr "Lista de Certificados" msgstr "Lista de Certificados"
#: src/views/domain/cert/components/AutoCertStepOne.vue:57 #: src/views/certificate/Certificate.vue:150
#: src/views/domain/cert/components/AutoCertStepOne.vue:63
msgid "Challenge Method" msgid "Challenge Method"
msgstr "Método de desafío" msgstr "Método de desafío"
@ -237,11 +237,11 @@ msgstr "Limpiar"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97
#: src/views/domain/ngx_conf/LocationEditor.vue:121 #: src/views/domain/ngx_conf/LocationEditor.vue:121
#: src/views/domain/ngx_conf/LocationEditor.vue:90 #: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:283 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:284
msgid "Comments" msgid "Comments"
msgstr "Comentarios" msgstr "Comentarios"
#: src/views/cert/Cert.vue:33 #: src/views/certificate/Certificate.vue:41
msgid "Config Name" msgid "Config Name"
msgstr "Nombre de la configuración" msgstr "Nombre de la configuración"
@ -249,7 +249,7 @@ msgstr "Nombre de la configuración"
msgid "Config Templates" msgid "Config Templates"
msgstr "Plantillas de configuración" msgstr "Plantillas de configuración"
#: src/views/config/InspectConfig.vue:31 #: src/views/config/InspectConfig.vue:30
msgid "Configuration file is test successful" msgid "Configuration file is test successful"
msgstr "El archivo de configuración se probó exitosamente" msgstr "El archivo de configuración se probó exitosamente"
@ -303,7 +303,7 @@ msgstr "La creación de un cliente facilita la comunicación con el servidor CA"
msgid "Credential" msgid "Credential"
msgstr "Credencial" msgstr "Credencial"
#: src/views/cert/DNSChallenge.vue:83 #: src/views/certificate/DNSChallenge.vue:83
msgid "Credentials" msgid "Credentials"
msgstr "Credenciales" msgstr "Credenciales"
@ -312,7 +312,7 @@ msgid "Current Version"
msgstr "Versión actual" msgstr "Versión actual"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:240 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:241
msgid "Custom" msgid "Custom"
msgstr "Personalizado" msgstr "Personalizado"
@ -320,13 +320,13 @@ msgstr "Personalizado"
msgid "Dashboard" msgid "Dashboard"
msgstr "Panel" msgstr "Panel"
#: src/views/other/Install.vue:122 #: src/views/other/Install.vue:124
msgid "Database (Optional, default: database)" msgid "Database (Optional, default: database)"
msgstr "Base de datos (Opcional, default: database)" msgstr "Base de datos (Opcional, default: database)"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:354 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:354
#: src/views/domain/DomainList.vue:153 #: src/views/domain/DomainList.vue:153
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:258 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:259
msgid "Delete" msgid "Delete"
msgstr "Eliminar" msgstr "Eliminar"
@ -340,19 +340,19 @@ msgid "Deleted successfully"
msgstr "Desactivado con éxito" msgstr "Desactivado con éxito"
#: src/views/domain/components/Deploy.vue:109 #: src/views/domain/components/Deploy.vue:109
#: src/views/domain/components/RightSettings.vue:89 #: src/views/domain/components/RightSettings.vue:91
msgid "Deploy" msgid "Deploy"
msgstr "Desplegar" msgstr "Desplegar"
#: src/views/domain/components/Deploy.vue:67 #: src/views/domain/components/Deploy.vue:66
msgid "Deploy %{conf_name} to %{node_name} failed" msgid "Deploy %{conf_name} to %{node_name} failed"
msgstr "Falló el desplegado de %{conf_name} a %{node_name}" msgstr "Falló el desplegado de %{conf_name} a %{node_name}"
#: src/views/domain/components/Deploy.vue:41 #: src/views/domain/components/Deploy.vue:40
msgid "Deploy %{conf_name} to %{node_name} successfully" msgid "Deploy %{conf_name} to %{node_name} successfully"
msgstr "Desplegado de %{conf_name} a %{node_name} exitoso" msgstr "Desplegado de %{conf_name} a %{node_name} exitoso"
#: src/views/domain/components/Deploy.vue:39 #: src/views/domain/components/Deploy.vue:38
msgid "Deploy successfully" msgid "Deploy successfully"
msgstr "Desplegado con éxito" msgstr "Desplegado con éxito"
@ -383,16 +383,17 @@ msgstr "Directiva"
msgid "Disable" msgid "Disable"
msgstr "Desactivado" msgstr "Desactivado"
#: src/views/domain/cert/components/ObtainCert.vue:127 #: src/views/domain/cert/components/ObtainCert.vue:128
msgid "Disable auto-renewal failed for %{name}" msgid "Disable auto-renewal failed for %{name}"
msgstr "No se pudo desactivar la renovación automática por %{name}" msgstr "No se pudo desactivar la renovación automática por %{name}"
#: src/views/cert/Cert.vue:49 src/views/domain/cert/ChangeCert.vue:48 #: src/views/certificate/Certificate.vue:57
#: src/views/domain/DomainEdit.vue:191 src/views/domain/DomainList.vue:123 #: src/views/domain/cert/ChangeCert.vue:48 src/views/domain/DomainEdit.vue:190
#: src/views/domain/DomainList.vue:123
msgid "Disabled" msgid "Disabled"
msgstr "Desactivado" msgstr "Desactivado"
#: src/views/domain/components/RightSettings.vue:38 #: src/views/domain/components/RightSettings.vue:39
#: src/views/domain/DomainList.vue:67 #: src/views/domain/DomainList.vue:67
msgid "Disabled successfully" msgid "Disabled successfully"
msgstr "Desactivado con éxito" msgstr "Desactivado con éxito"
@ -401,34 +402,34 @@ msgstr "Desactivado con éxito"
msgid "Disk IO" msgid "Disk IO"
msgstr "I/O del disco" msgstr "I/O del disco"
#: src/routes/index.ts:114 src/views/cert/DNSCredential.vue:39 #: src/routes/index.ts:113 src/views/certificate/DNSCredential.vue:39
msgid "DNS Credentials" msgid "DNS Credentials"
msgstr "Credenciales de DNS" msgstr "Credenciales de DNS"
#: src/views/cert/DNSChallenge.vue:74 #: src/views/certificate/DNSChallenge.vue:74
#: src/views/domain/cert/components/DNSChallenge.vue:79 #: src/views/domain/cert/components/DNSChallenge.vue:79
msgid "DNS Provider" msgid "DNS Provider"
msgstr "Proveedor DNS" msgstr "Proveedor DNS"
#: src/views/domain/cert/components/AutoCertStepOne.vue:63 #: src/views/domain/cert/components/AutoCertStepOne.vue:69
msgid "DNS01" msgid "DNS01"
msgstr "DNS01" msgstr "DNS01"
#: src/views/domain/components/Deploy.vue:20 #: src/views/domain/components/Deploy.vue:19
msgid "Do you want to deploy this file to remote server?" msgid "Do you want to deploy this file to remote server?"
msgid_plural "Do you want to deploy this file to remote servers?" msgid_plural "Do you want to deploy this file to remote servers?"
msgstr[0] "¿Desea desplegar este archivo en un servidor remoto?" msgstr[0] "¿Desea desplegar este archivo en un servidor remoto?"
msgstr[1] "¿Desea desplegar este archivo en los servidores remotos?" msgstr[1] "¿Desea desplegar este archivo en los servidores remotos?"
#: src/views/domain/cert/components/ObtainCert.vue:206 #: src/views/domain/cert/components/ObtainCert.vue:207
msgid "Do you want to disable auto-cert renewal?" msgid "Do you want to disable auto-cert renewal?"
msgstr "¿Desea deshabilitar la renovación automática de certificado?" msgstr "¿Desea deshabilitar la renovación automática de certificado?"
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
msgid "Do you want to disable this site?" msgid "Do you want to disable this site?"
msgstr "¿Quieres deshabilitar este sitio?" msgstr "¿Quieres deshabilitar este sitio?"
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
msgid "Do you want to enable this site?" msgid "Do you want to enable this site?"
msgstr "¿Quieres habilitar este sitio?" msgstr "¿Quieres habilitar este sitio?"
@ -444,8 +445,9 @@ msgstr "¿Quieres eliminar este servidor?"
msgid "Domain Config Created Successfully" msgid "Domain Config Created Successfully"
msgstr "Configuración de dominio creada con éxito" msgstr "Configuración de dominio creada con éxito"
#: src/views/cert/Cert.vue:112 #: src/views/certificate/Certificate.vue:125
msgid "Domains list is empty, try to reopen auto-cert for %{config}" #, fuzzy
msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
msgstr "" msgstr ""
"La lista de dominios está vacía, intente reabrir la certificación automática " "La lista de dominios está vacía, intente reabrir la certificación automática "
"para %{config}" "para %{config}"
@ -483,19 +485,19 @@ msgstr "Duplicado con éxito"
msgid "Duplicate to local successfully" msgid "Duplicate to local successfully"
msgstr "Duplicado con éxito a local" msgstr "Duplicado con éxito a local"
#: src/views/domain/DomainEdit.vue:180 #: src/views/domain/DomainEdit.vue:179
msgid "Edit %{n}" msgid "Edit %{n}"
msgstr "Editar %{n}" msgstr "Editar %{n}"
#: src/routes/index.ts:93 src/views/config/ConfigEdit.vue:83 #: src/routes/index.ts:92 src/views/config/ConfigEdit.vue:83
msgid "Edit Configuration" msgid "Edit Configuration"
msgstr "Editar Configuración" msgstr "Editar Configuración"
#: src/routes/index.ts:75 #: src/routes/index.ts:74
msgid "Edit Site" msgid "Edit Site"
msgstr "Editar Sitio" msgstr "Editar Sitio"
#: src/views/other/Install.vue:91 #: src/views/other/Install.vue:93
msgid "Email (*)" msgid "Email (*)"
msgstr "Correo (*)" msgstr "Correo (*)"
@ -504,15 +506,15 @@ msgstr "Correo (*)"
msgid "Enable" msgid "Enable"
msgstr "Habilitado" msgstr "Habilitado"
#: src/views/domain/components/Deploy.vue:56 #: src/views/domain/components/Deploy.vue:55
msgid "Enable %{conf_name} in %{node_name} failed" msgid "Enable %{conf_name} in %{node_name} failed"
msgstr "Falló el habilitado de %{conf_name} en %{node_name}" msgstr "Falló el habilitado de %{conf_name} en %{node_name}"
#: src/views/domain/components/Deploy.vue:50 #: src/views/domain/components/Deploy.vue:49
msgid "Enable %{conf_name} in %{node_name} successfully" msgid "Enable %{conf_name} in %{node_name} successfully"
msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" msgstr "Habilitado exitoso de %{conf_name} en %{node_name}"
#: src/views/domain/cert/components/ObtainCert.vue:120 #: src/views/domain/cert/components/ObtainCert.vue:121
msgid "Enable auto-renewal failed for %{name}" msgid "Enable auto-renewal failed for %{name}"
msgstr "No se pudo activar la renovación automática por %{name}" msgstr "No se pudo activar la renovación automática por %{name}"
@ -520,22 +522,23 @@ msgstr "No se pudo activar la renovación automática por %{name}"
msgid "Enable failed" msgid "Enable failed"
msgstr "Falló la habilitación" msgstr "Falló la habilitación"
#: src/views/domain/components/Deploy.vue:48 #: src/views/domain/components/Deploy.vue:47
msgid "Enable successfully" msgid "Enable successfully"
msgstr "Habilitado con éxito" msgstr "Habilitado con éxito"
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:235 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:236
msgid "Enable TLS" msgid "Enable TLS"
msgstr "Habilitar TLS" msgstr "Habilitar TLS"
#: src/views/cert/Cert.vue:45 src/views/domain/cert/ChangeCert.vue:44 #: src/views/certificate/Certificate.vue:53
#: src/views/domain/cert/ChangeCert.vue:44
#: src/views/domain/components/Deploy.vue:89 #: src/views/domain/components/Deploy.vue:89
#: src/views/domain/components/RightSettings.vue:73 #: src/views/domain/components/RightSettings.vue:75
#: src/views/domain/DomainEdit.vue:185 src/views/domain/DomainList.vue:131 #: src/views/domain/DomainEdit.vue:184 src/views/domain/DomainList.vue:131
msgid "Enabled" msgid "Enabled"
msgstr "Habilitado" msgstr "Habilitado"
#: src/views/domain/components/RightSettings.vue:29 #: src/views/domain/components/RightSettings.vue:30
#: src/views/domain/components/SiteDuplicate.vue:100 #: src/views/domain/components/SiteDuplicate.vue:100
#: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58 #: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58
msgid "Enabled successfully" msgid "Enabled successfully"
@ -545,7 +548,7 @@ msgstr "Habilitado con éxito"
msgid "Encrypt website with Let's Encrypt" msgid "Encrypt website with Let's Encrypt"
msgstr "Encriptar sitio web con Let's Encrypt" msgstr "Encriptar sitio web con Let's Encrypt"
#: src/routes/index.ts:152 src/views/environment/Environment.vue:113 #: src/routes/index.ts:151 src/views/environment/Environment.vue:113
msgid "Environment" msgid "Environment"
msgstr "Entorno" msgstr "Entorno"
@ -553,11 +556,11 @@ msgstr "Entorno"
msgid "Environments" msgid "Environments"
msgstr "Entornos" msgstr "Entornos"
#: src/views/config/InspectConfig.vue:48 #: src/views/config/InspectConfig.vue:47
msgid "Error" msgid "Error"
msgstr "Error" msgstr "Error"
#: src/routes/index.ts:139 src/views/domain/ngx_conf/LogEntry.vue:86 #: src/routes/index.ts:138 src/views/domain/ngx_conf/LogEntry.vue:86
msgid "Error Logs" msgid "Error Logs"
msgstr "Registros de acceso" msgstr "Registros de acceso"
@ -565,17 +568,22 @@ msgstr "Registros de acceso"
msgid "Executable Path" msgid "Executable Path"
msgstr "Ruta ejecutable" msgstr "Ruta ejecutable"
#: src/views/domain/cert/CertInfo.vue:27
#, fuzzy
msgid "Expired At: %{date}"
msgstr "Fecha de vencimiento: %{date}"
#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:296 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:296
msgid "Export" msgid "Export"
msgstr "Exportar" msgstr "Exportar"
#: src/views/domain/components/RightSettings.vue:41 #: src/views/domain/components/RightSettings.vue:42
#: src/views/domain/DomainList.vue:70 #: src/views/domain/DomainList.vue:70
msgid "Failed to disable %{msg}" msgid "Failed to disable %{msg}"
msgstr "Error al deshabilitar %{msg}" msgstr "Error al deshabilitar %{msg}"
#: src/views/domain/components/RightSettings.vue:32 #: src/views/domain/components/RightSettings.vue:33
#: src/views/domain/DomainList.vue:61 #: src/views/domain/DomainList.vue:61
msgid "Failed to enable %{msg}" msgid "Failed to enable %{msg}"
msgstr "Error al habilitar %{msg}" msgstr "Error al habilitar %{msg}"
@ -584,7 +592,7 @@ msgstr "Error al habilitar %{msg}"
msgid "Failed to get certificate information" msgid "Failed to get certificate information"
msgstr "No se pudo obtener la información del certificado" msgstr "No se pudo obtener la información del certificado"
#: src/views/domain/DomainEdit.vue:139 #: src/views/domain/DomainEdit.vue:138
msgid "Failed to save, syntax error(s) was detected in the configuration." msgid "Failed to save, syntax error(s) was detected in the configuration."
msgstr "" msgstr ""
"No se pudo guardar, se detectó un error(es) de sintaxis en la configuración." "No se pudo guardar, se detectó un error(es) de sintaxis en la configuración."
@ -601,7 +609,7 @@ msgstr "El archivo existe"
msgid "File Not Found" msgid "File Not Found"
msgstr "Archivo no encontrado" msgstr "Archivo no encontrado"
#: src/views/nginx_log/NginxLog.vue:153 #: src/views/nginx_log/NginxLog.vue:152
msgid "Filter" msgid "Filter"
msgstr "Filtro" msgstr "Filtro"
@ -633,7 +641,7 @@ msgstr "Generando clave privada para registrar cuenta"
msgid "Get release information error" msgid "Get release information error"
msgstr "Obtener error de información de versión" msgstr "Obtener error de información de versión"
#: src/views/domain/cert/components/ObtainCert.vue:63 #: src/views/domain/cert/components/ObtainCert.vue:64
msgid "Getting the certificate, please wait..." msgid "Getting the certificate, please wait..."
msgstr "Obteniendo el certificado, por favor espere..." msgstr "Obteniendo el certificado, por favor espere..."
@ -674,7 +682,7 @@ msgstr "Host HTTP"
msgid "HTTP Port" msgid "HTTP Port"
msgstr "Puerto HTTP" msgstr "Puerto HTTP"
#: src/views/domain/cert/components/AutoCertStepOne.vue:60 #: src/views/domain/cert/components/AutoCertStepOne.vue:66
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
@ -686,15 +694,15 @@ msgstr "Error de actualización de kernel inicial"
msgid "Initialing core upgrader" msgid "Initialing core upgrader"
msgstr "Inicializando la actualización del kernel" msgstr "Inicializando la actualización del kernel"
#: src/routes/index.ts:195 src/views/other/Install.vue:137 #: src/routes/index.ts:194 src/views/other/Install.vue:139
msgid "Install" msgid "Install"
msgstr "Instalar" msgstr "Instalar"
#: src/views/other/Install.vue:67 #: src/views/other/Install.vue:68
msgid "Install successfully" msgid "Install successfully"
msgstr "Instalación exitosa" msgstr "Instalación exitosa"
#: src/views/domain/cert/CertInfo.vue:22 #: src/views/domain/cert/CertInfo.vue:21
msgid "Intermediate Certification Authorities: %{issuer}" msgid "Intermediate Certification Authorities: %{issuer}"
msgstr "Autoridades de certificación intermedias: %{issuer}" msgstr "Autoridades de certificación intermedias: %{issuer}"
@ -745,11 +753,11 @@ msgstr "Ubicación"
msgid "Locations" msgid "Locations"
msgstr "Ubicaciones" msgstr "Ubicaciones"
#: src/routes/index.ts:201 src/views/other/Login.vue:147 #: src/routes/index.ts:200 src/views/other/Login.vue:147
msgid "Login" msgid "Login"
msgstr "Acceso" msgstr "Acceso"
#: src/views/other/Login.vue:53 src/views/other/Login.vue:99 #: src/views/other/Login.vue:51 src/views/other/Login.vue:97
msgid "Login successful" msgid "Login successful"
msgstr "Acceso exitoso" msgstr "Acceso exitoso"
@ -757,7 +765,7 @@ msgstr "Acceso exitoso"
msgid "Logout successful" msgid "Logout successful"
msgstr "Cierre de sesión exitoso" msgstr "Cierre de sesión exitoso"
#: src/views/domain/cert/components/AutoCertStepOne.vue:45 #: src/views/domain/cert/components/AutoCertStepOne.vue:51
msgid "" msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to " "Make sure you have configured a reverse proxy for .well-known directory to "
"HTTPChallengePort before obtaining the certificate." "HTTPChallengePort before obtaining the certificate."
@ -765,15 +773,15 @@ msgstr ""
"Asegúrese de haber configurado un proxy reverso para el directorio .well-" "Asegúrese de haber configurado un proxy reverso para el directorio .well-"
"known en HTTPChallengePort antes de obtener el certificado." "known en HTTPChallengePort antes de obtener el certificado."
#: src/routes/index.ts:84 #: src/routes/index.ts:83
msgid "Manage Configs" msgid "Manage Configs"
msgstr "Administrar configuraciones" msgstr "Administrar configuraciones"
#: src/routes/index.ts:59 src/views/domain/DomainList.vue:102 #: src/routes/index.ts:58 src/views/domain/DomainList.vue:102
msgid "Manage Sites" msgid "Manage Sites"
msgstr "Administrar sitios" msgstr "Administrar sitios"
#: src/routes/index.ts:160 src/views/user/User.vue:53 #: src/routes/index.ts:159 src/views/user/User.vue:53
msgid "Manage Users" msgid "Manage Users"
msgstr "Administrar usuarios" msgstr "Administrar usuarios"
@ -788,6 +796,7 @@ msgstr "Memoria y almacenamiento"
#: src/components/ChatGPT/ChatGPT.vue:256 #: src/components/ChatGPT/ChatGPT.vue:256
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:336 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:336
#: src/views/certificate/Certificate.vue:156
msgid "Modify" msgid "Modify"
msgstr "Modificar" msgstr "Modificar"
@ -799,9 +808,10 @@ msgstr "Modificar configuración"
msgid "Multi-line Directive" msgid "Multi-line Directive"
msgstr "Directiva multilínea" msgstr "Directiva multilínea"
#: src/views/cert/Cert.vue:17 src/views/cert/DNSCredential.vue:13 #: src/views/certificate/Certificate.vue:24
#: src/views/config/config.ts:9 src/views/domain/cert/ChangeCert.vue:21 #: src/views/certificate/DNSCredential.vue:13 src/views/config/config.ts:9
#: src/views/domain/components/RightSettings.vue:79 #: src/views/domain/cert/ChangeCert.vue:21
#: src/views/domain/components/RightSettings.vue:81
#: src/views/domain/components/SiteDuplicate.vue:135 #: src/views/domain/components/SiteDuplicate.vue:135
#: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15 #: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15
msgid "Name" msgid "Name"
@ -827,12 +837,12 @@ msgstr "Total enviado por la red"
msgid "New version released" msgid "New version released"
msgstr "Se liberó una nueva versión" msgstr "Se liberó una nueva versión"
#: src/views/domain/cert/components/ObtainCert.vue:278 #: src/views/domain/cert/components/ObtainCert.vue:281
#: src/views/domain/DomainAdd.vue:140 #: src/views/domain/DomainAdd.vue:140
msgid "Next" msgid "Next"
msgstr "Siguiente" msgstr "Siguiente"
#: src/views/preference/Preference.vue:98 #: src/views/preference/Preference.vue:96
msgid "Nginx" msgid "Nginx"
msgstr "Nginx" msgstr "Nginx"
@ -840,7 +850,7 @@ msgstr "Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Ruta de registro de acceso de Nginx" msgstr "Ruta de registro de acceso de Nginx"
#: src/views/domain/DomainEdit.vue:223 #: src/views/domain/DomainEdit.vue:222
msgid "Nginx Configuration Parse Error" msgid "Nginx Configuration Parse Error"
msgstr "Error de análisis de configuración de Nginx" msgstr "Error de análisis de configuración de Nginx"
@ -852,7 +862,7 @@ msgstr "Control de Nginx"
msgid "Nginx Error Log Path" msgid "Nginx Error Log Path"
msgstr "Ruta de registro de errores de Nginx" msgstr "Ruta de registro de errores de Nginx"
#: src/routes/index.ts:129 src/views/nginx_log/NginxLog.vue:146 #: src/routes/index.ts:128 src/views/nginx_log/NginxLog.vue:145
msgid "Nginx Log" msgid "Nginx Log"
msgstr "Registro Nginx" msgstr "Registro Nginx"
@ -876,20 +886,20 @@ msgstr "No"
msgid "Node Secret" msgid "Node Secret"
msgstr "Secreto del nodo" msgstr "Secreto del nodo"
#: src/routes/index.ts:207 src/routes/index.ts:209 #: src/routes/index.ts:206 src/routes/index.ts:208
msgid "Not Found" msgid "Not Found"
msgstr "No encontrado" msgstr "No encontrado"
#: src/views/domain/cert/CertInfo.vue:31 #: src/views/domain/cert/CertInfo.vue:30
msgid "Not Valid Before: %{date}" msgid "Not Valid Before: %{date}"
msgstr "No válido antes: %{date}" msgstr "No válido antes: %{date}"
#: src/views/cert/DNSCredential.vue:48 #: src/views/certificate/DNSCredential.vue:48
#: src/views/domain/cert/components/AutoCertStepOne.vue:32 #: src/views/domain/cert/components/AutoCertStepOne.vue:38
msgid "Note" msgid "Note"
msgstr "Nota" msgstr "Nota"
#: src/views/domain/cert/components/ObtainCert.vue:249 #: src/views/domain/cert/components/ObtainCert.vue:252
msgid "Obtain certificate" msgid "Obtain certificate"
msgstr "Obtener certificado" msgstr "Obtener certificado"
@ -908,15 +918,19 @@ msgstr "Desconectado"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:346 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:346
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
#: src/views/domain/cert/components/ObtainCert.vue:209 #: src/views/domain/cert/components/ObtainCert.vue:210
#: src/views/domain/components/Deploy.vue:24 #: src/views/domain/components/Deploy.vue:23
#: src/views/domain/components/RightSettings.vue:50 #: src/views/domain/components/RightSettings.vue:51
#: src/views/domain/DomainList.vue:144 #: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:215 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:215
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:47 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
msgid "OK" msgid "OK"
msgstr "OK" msgstr "OK"
#: src/views/certificate/DNSCredential.vue:58
msgid "Once the verification is complete, the records will be removed."
msgstr ""
#: src/components/NodeSelector/NodeSelector.vue:57 #: src/components/NodeSelector/NodeSelector.vue:57
#: src/components/NodeSelector/NodeSelector.vue:72 #: src/components/NodeSelector/NodeSelector.vue:72
#: src/views/dashboard/Environments.vue:100 #: src/views/dashboard/Environments.vue:100
@ -924,7 +938,7 @@ msgstr "OK"
msgid "Online" msgid "Online"
msgstr "Conectado" msgstr "Conectado"
#: src/views/preference/Preference.vue:104 #: src/views/preference/Preference.vue:102
msgid "OpenAI" msgid "OpenAI"
msgstr "OpenAI" msgstr "OpenAI"
@ -952,7 +966,7 @@ msgstr "Parámetros"
msgid "Password" msgid "Password"
msgstr "Contraseña" msgstr "Contraseña"
#: src/views/other/Install.vue:111 #: src/views/other/Install.vue:113
msgid "Password (*)" msgid "Password (*)"
msgstr "Contraseña (*)" msgstr "Contraseña (*)"
@ -970,23 +984,13 @@ msgstr "Error al ejecutar la actualización del kernel"
msgid "Performing core upgrade" msgid "Performing core upgrade"
msgstr "Realizando la actualizaciónd el kernel" msgstr "Realizando la actualizaciónd el kernel"
#: src/views/cert/DNSCredential.vue:52 #: src/views/certificate/DNSCredential.vue:52
#, fuzzy
msgid "" msgid ""
"Please fill in the API authentication credentials provided by your DNS " "Please fill in the API authentication credentials provided by your DNS "
"provider.\n" "provider."
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification.\n"
"Once the verification is complete, the records will be removed.\n"
"Please note that the time configurations below are all in seconds."
msgstr "" msgstr ""
"Complete las credenciales de autenticación de la API proporcionadas por su "
"proveedor de DNS. Agregaremos uno o más registros TXT a los registros DNS de "
"su dominio para verificar la propiedad. Una vez que se complete la "
"verificación, se eliminarán los registros. Tenga en cuenta que las "
"configuraciones de tiempo que aparecen debajo están todas en segundos."
#: src/views/domain/cert/components/AutoCertStepOne.vue:49 #: src/views/domain/cert/components/AutoCertStepOne.vue:55
#, fuzzy #, fuzzy
msgid "" msgid ""
"Please first add credentials in Certification > DNS Credentials, and then " "Please first add credentials in Certification > DNS Credentials, and then "
@ -1004,18 +1008,23 @@ msgstr ""
"Ingrese el nombre, ¡este se usará como el nombre de archivo de la nueva " "Ingrese el nombre, ¡este se usará como el nombre de archivo de la nueva "
"configuración!" "configuración!"
#: src/views/other/Install.vue:34 #: src/views/other/Install.vue:35
msgid "Please input your E-mail!" msgid "Please input your E-mail!"
msgstr "¡Por favor ingrese su correo electrónico!" msgstr "¡Por favor ingrese su correo electrónico!"
#: src/views/other/Install.vue:46 src/views/other/Login.vue:41 #: src/views/other/Install.vue:47 src/views/other/Login.vue:39
msgid "Please input your password!" msgid "Please input your password!"
msgstr "¡Por favor ingrese su contraseña!" msgstr "¡Por favor ingrese su contraseña!"
#: src/views/other/Install.vue:40 src/views/other/Login.vue:35 #: src/views/other/Install.vue:41 src/views/other/Login.vue:33
msgid "Please input your username!" msgid "Please input your username!"
msgstr "¡Por favor ingrese su nombre de usuario!" msgstr "¡Por favor ingrese su nombre de usuario!"
#: src/views/certificate/DNSCredential.vue:61
msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr ""
#: src/views/domain/components/SiteDuplicate.vue:47 #: src/views/domain/components/SiteDuplicate.vue:47
msgid "Please select at least one node!" msgid "Please select at least one node!"
msgstr "¡Seleccione al menos un nodo!" msgstr "¡Seleccione al menos un nodo!"
@ -1024,7 +1033,7 @@ msgstr "¡Seleccione al menos un nodo!"
msgid "Pre-release" msgid "Pre-release"
msgstr "Prelanzamiento" msgstr "Prelanzamiento"
#: src/routes/index.ts:168 src/views/preference/Preference.vue:87 #: src/routes/index.ts:167 src/views/preference/Preference.vue:85
msgid "Preference" msgid "Preference"
msgstr "Configuración" msgstr "Configuración"
@ -1044,7 +1053,7 @@ msgstr "Prohibir la eliminación del usuario predeterminado"
msgid "Project Team" msgid "Project Team"
msgstr "Grupo del proyecto" msgstr "Grupo del proyecto"
#: src/views/cert/DNSCredential.vue:21 #: src/views/certificate/DNSCredential.vue:21
msgid "Provider" msgid "Provider"
msgstr "Proveedor" msgstr "Proveedor"
@ -1112,9 +1121,9 @@ msgid "Running"
msgstr "Corriendo" msgstr "Corriendo"
#: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98 #: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98
#: src/views/domain/DomainEdit.vue:269 #: src/views/domain/DomainEdit.vue:268
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/preference/Preference.vue:115 #: src/views/preference/Preference.vue:113
msgid "Save" msgid "Save"
msgstr "Guardar" msgstr "Guardar"
@ -1128,7 +1137,7 @@ msgid "Save error %{msg}"
msgstr "Error al guardar %{msg}" msgstr "Error al guardar %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
#: src/views/preference/Preference.vue:60 #: src/views/preference/Preference.vue:58
msgid "Save successfully" msgid "Save successfully"
msgstr "Guardado con éxito" msgstr "Guardado con éxito"
@ -1137,7 +1146,7 @@ msgid "Save Successfully"
msgstr "Guardado con éxito" msgstr "Guardado con éxito"
#: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41 #: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41
#: src/views/domain/DomainEdit.vue:155 #: src/views/domain/DomainEdit.vue:154
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39
msgid "Saved successfully" msgid "Saved successfully"
msgstr "Guardado con éxito" msgstr "Guardado con éxito"
@ -1158,7 +1167,7 @@ msgstr "Enviado"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:157 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:157
#: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79 #: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79
#: src/views/other/Install.vue:71 src/views/preference/Preference.vue:62 #: src/views/other/Install.vue:72 src/views/preference/Preference.vue:60
#: src/views/system/Upgrade.vue:45 #: src/views/system/Upgrade.vue:45
msgid "Server error" msgid "Server error"
msgstr "Error del servidor" msgstr "Error del servidor"
@ -1167,11 +1176,11 @@ msgstr "Error del servidor"
msgid "Server Info" msgid "Server Info"
msgstr "Información del servidor" msgstr "Información del servidor"
#: src/views/domain/cert/components/ObtainCert.vue:164 #: src/views/domain/cert/components/ObtainCert.vue:165
msgid "server_name not found in directives" msgid "server_name not found in directives"
msgstr "No se encuentra server_name en las directivas" msgstr "No se encuentra server_name en las directivas"
#: src/views/domain/cert/components/AutoCertStepOne.vue:22 #: src/views/domain/cert/components/AutoCertStepOne.vue:27
#: src/views/domain/DomainAdd.vue:119 #: src/views/domain/DomainAdd.vue:119
msgid "server_name parameter is required" msgid "server_name parameter is required"
msgstr "Se requiere el parámetro server_name" msgstr "Se requiere el parámetro server_name"
@ -1184,30 +1193,32 @@ msgstr "Configuración de variables de entorno"
msgid "Single Directive" msgid "Single Directive"
msgstr "Directiva de una sola línea" msgstr "Directiva de una sola línea"
#: src/routes/index.ts:143 #: src/routes/index.ts:142
msgid "Site Logs" msgid "Site Logs"
msgstr "Registros del sitio" msgstr "Registros del sitio"
#: src/routes/index.ts:67 #: src/routes/index.ts:66
msgid "Sites List" msgid "Sites List"
msgstr "Lista de sitios" msgstr "Lista de sitios"
#: src/views/cert/Cert.vue:64 #: src/views/certificate/Certificate.vue:164
#, fuzzy
msgid "SSL Certificate Content"
msgstr "Contenido de certificado SSL"
#: src/views/certificate/Certificate.vue:171
#, fuzzy
msgid "SSL Certificate Key Content"
msgstr "Contenido de la llave del certificado SSL"
#: src/views/certificate/Certificate.vue:73
msgid "SSL Certificate Key Path" msgid "SSL Certificate Key Path"
msgstr "Ruta de la llave del certificado SSL" msgstr "Ruta de la llave del certificado SSL"
#: src/views/cert/Cert.vue:57 #: src/views/certificate/Certificate.vue:65
msgid "SSL Certificate Path" msgid "SSL Certificate Path"
msgstr "Ruta del certificado SSL" msgstr "Ruta del certificado SSL"
#: src/views/cert/Cert.vue:139
msgid "SSL Certification Content"
msgstr "Contenido de certificado SSL"
#: src/views/cert/Cert.vue:145
msgid "SSL Certification Key Content"
msgstr "Contenido de la llave del certificado SSL"
#: src/views/other/Login.vue:158 #: src/views/other/Login.vue:158
#, fuzzy #, fuzzy
msgid "SSO Login" msgid "SSO Login"
@ -1229,7 +1240,7 @@ msgstr "Detenido"
msgid "Storage" msgid "Storage"
msgstr "Almacenamiento" msgstr "Almacenamiento"
#: src/views/domain/cert/CertInfo.vue:25 #: src/views/domain/cert/CertInfo.vue:24
#, fuzzy #, fuzzy
msgid "Subject Name: %{subject}" msgid "Subject Name: %{subject}"
msgstr "Nombre del asunto: %{name}" msgstr "Nombre del asunto: %{name}"
@ -1246,7 +1257,7 @@ msgstr ""
msgid "Switch to light theme" msgid "Switch to light theme"
msgstr "" msgstr ""
#: src/routes/index.ts:176 #: src/routes/index.ts:175
msgid "System" msgid "System"
msgstr "Sistema" msgstr "Sistema"
@ -1258,7 +1269,7 @@ msgstr "Tabla"
msgid "Target" msgid "Target"
msgstr "Objetivo" msgstr "Objetivo"
#: src/routes/index.ts:121 src/views/pty/Terminal.vue:95 #: src/routes/index.ts:120 src/views/pty/Terminal.vue:95
msgid "Terminal" msgid "Terminal"
msgstr "Terminal" msgstr "Terminal"
@ -1266,7 +1277,7 @@ msgstr "Terminal"
msgid "Terminal Start Command" msgid "Terminal Start Command"
msgstr "Comando de inicio de terminal" msgstr "Comando de inicio de terminal"
#: src/views/domain/cert/components/AutoCertStepOne.vue:41 #: src/views/domain/cert/components/AutoCertStepOne.vue:47
#, fuzzy #, fuzzy
msgid "" msgid ""
"The certificate for the domain will be checked 5 minutes, and will be " "The certificate for the domain will be checked 5 minutes, and will be "
@ -1275,12 +1286,12 @@ msgstr ""
"El certificado de dominio se comprobará cada hora y se renovará si ha pasado " "El certificado de dominio se comprobará cada hora y se renovará si ha pasado "
"más de 1 semana desde su última emisión." "más de 1 semana desde su última emisión."
#: src/views/other/Install.vue:52 #: src/views/other/Install.vue:53
msgid "The filename cannot contain the following characters: %{c}" msgid "The filename cannot contain the following characters: %{c}"
msgstr "" msgstr ""
"El nombre del archivo no puede contener los siguientes caracteres: %{c}" "El nombre del archivo no puede contener los siguientes caracteres: %{c}"
#: src/views/domain/cert/components/AutoCertStepOne.vue:36 #: src/views/domain/cert/components/AutoCertStepOne.vue:42
#, fuzzy #, fuzzy
msgid "" msgid ""
"The server_name in the current configuration must be the domain name you " "The server_name in the current configuration must be the domain name you "
@ -1293,8 +1304,9 @@ msgstr ""
msgid "The username or password is incorrect" msgid "The username or password is incorrect"
msgstr "El nombre de usuario o contraseña son incorrectos" msgstr "El nombre de usuario o contraseña son incorrectos"
#: src/views/cert/Cert.vue:102 #: src/views/certificate/Certificate.vue:115
msgid "This auto-cert item is invalid, please remove it." #, fuzzy
msgid "This Auto Cert item is invalid, please remove it."
msgstr "Este elemento de auto-cert es inválido, elimínelo por favor." msgstr "Este elemento de auto-cert es inválido, elimínelo por favor."
#: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31 #: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31
@ -1317,9 +1329,10 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "Tipo" msgstr "Tipo"
#: src/views/cert/Cert.vue:71 src/views/cert/DNSCredential.vue:26 #: src/views/certificate/Certificate.vue:81
#: src/views/config/config.ts:29 src/views/config/ConfigEdit.vue:123 #: src/views/certificate/DNSCredential.vue:26 src/views/config/config.ts:29
#: src/views/domain/components/RightSettings.vue:82 #: src/views/config/ConfigEdit.vue:123
#: src/views/domain/components/RightSettings.vue:84
#: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98 #: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98
#: src/views/user/User.vue:40 #: src/views/user/User.vue:40
msgid "Updated at" msgid "Updated at"
@ -1329,7 +1342,7 @@ msgstr "Actualizado a"
msgid "Updated successfully" msgid "Updated successfully"
msgstr "Actualización exitosa" msgstr "Actualización exitosa"
#: src/routes/index.ts:187 src/views/system/Upgrade.vue:143 #: src/routes/index.ts:186 src/views/system/Upgrade.vue:143
#: src/views/system/Upgrade.vue:235 #: src/views/system/Upgrade.vue:235
msgid "Upgrade" msgid "Upgrade"
msgstr "Actualizar" msgstr "Actualizar"
@ -1358,7 +1371,7 @@ msgstr "Usuario"
msgid "Username" msgid "Username"
msgstr "Nombre de usuario" msgstr "Nombre de usuario"
#: src/views/other/Install.vue:101 #: src/views/other/Install.vue:103
msgid "Username (*)" msgid "Username (*)"
msgstr "Nombre de usuario (*)" msgstr "Nombre de usuario (*)"
@ -1374,13 +1387,19 @@ msgstr "Usando el proveedor de desafíos HTTP01"
msgid "View" msgid "View"
msgstr "Ver" msgstr "Ver"
#: src/views/config/InspectConfig.vue:37 #: src/views/config/InspectConfig.vue:36
#: src/views/domain/cert/components/AutoCertStepOne.vue:16 #: src/views/domain/cert/components/AutoCertStepOne.vue:21
#: src/views/domain/DomainAdd.vue:114 #: src/views/domain/DomainAdd.vue:114
msgid "Warning" msgid "Warning"
msgstr "Advertencia" msgstr "Advertencia"
#: src/views/domain/cert/components/ObtainCert.vue:207 #: src/views/certificate/DNSCredential.vue:55
msgid ""
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification."
msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:208
msgid "" msgid ""
"We will remove the HTTPChallenge configuration from this file and reload the " "We will remove the HTTPChallenge configuration from this file and reload the "
"Nginx. Are you sure you want to continue?" "Nginx. Are you sure you want to continue?"
@ -1414,6 +1433,29 @@ msgstr "Estás usando la última versión"
msgid "You can check Nginx UI upgrade at this page." msgid "You can check Nginx UI upgrade at this page."
msgstr "Puede consultar la actualización de Nginx UI en esta página." msgstr "Puede consultar la actualización de Nginx UI en esta página."
#~ msgid "Auto cert is enabled, please do not modify this certification."
#~ msgstr ""
#~ "Está habilitado el Certificado automático, por favor no modifique esta "
#~ "certificación."
#, fuzzy
#~ msgid ""
#~ "Please fill in the API authentication credentials provided by your DNS "
#~ "provider.\n"
#~ "We will add one or more TXT records to the DNS records of your domain for "
#~ "ownership verification.\n"
#~ "Once the verification is complete, the records will be removed.\n"
#~ "Please note that the unit of time configurations below are all in seconds."
#~ msgstr ""
#~ "Complete las credenciales de autenticación de la API proporcionadas por "
#~ "su proveedor de DNS. Agregaremos uno o más registros TXT a los registros "
#~ "DNS de su dominio para verificar la propiedad. Una vez que se complete la "
#~ "verificación, se eliminarán los registros. Tenga en cuenta que las "
#~ "configuraciones de tiempo que aparecen debajo están todas en segundos."
#~ msgid "Certification"
#~ msgstr "Certificación"
#~ msgid "Delete ID: %{id}" #~ msgid "Delete ID: %{id}"
#~ msgstr "Eliminar ID: %{id}" #~ msgstr "Eliminar ID: %{id}"

View file

@ -11,29 +11,25 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.3\n" "X-Generator: Poedit 3.3\n"
#: src/views/domain/cert/CertInfo.vue:28 #: src/routes/index.ts:182
#, fuzzy
msgid " Expiration Date: %{date}"
msgstr "Date d'expiration : %{date}"
#: src/routes/index.ts:183
msgid "About" msgid "About"
msgstr "À propos" msgstr "À propos"
#: src/routes/index.ts:135 src/views/domain/ngx_conf/LogEntry.vue:78 #: src/routes/index.ts:134 src/views/domain/ngx_conf/LogEntry.vue:78
msgid "Access Logs" msgid "Access Logs"
msgstr "Journaux d'accès" msgstr "Journaux d'accès"
#: src/views/cert/Cert.vue:77 src/views/cert/DNSCredential.vue:32 #: src/views/certificate/Certificate.vue:87
#: src/views/config/config.ts:36 src/views/domain/DomainList.vue:50 #: src/views/certificate/DNSCredential.vue:32 src/views/config/config.ts:36
#: src/views/environment/Environment.vue:105 src/views/user/User.vue:46 #: src/views/domain/DomainList.vue:50 src/views/environment/Environment.vue:105
#: src/views/user/User.vue:46
msgid "Action" msgid "Action"
msgstr "Action" msgstr "Action"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:307 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:308
msgid "Add" msgid "Add"
msgstr "Ajouter" msgstr "Ajouter"
@ -46,16 +42,16 @@ msgstr "Ajouter une directive"
msgid "Add Location" msgid "Add Location"
msgstr "Ajouter une localisation" msgstr "Ajouter une localisation"
#: src/routes/index.ts:71 src/views/domain/DomainAdd.vue:91 #: src/routes/index.ts:70 src/views/domain/DomainAdd.vue:91
msgid "Add Site" msgid "Add Site"
msgstr "Ajouter un site" msgstr "Ajouter un site"
#: src/views/cert/DNSChallenge.vue:95 #: src/views/certificate/DNSChallenge.vue:95
#, fuzzy #, fuzzy
msgid "Additional" msgid "Additional"
msgstr "Supplémentaire" msgstr "Supplémentaire"
#: src/views/domain/DomainEdit.vue:205 #: src/views/domain/DomainEdit.vue:204
msgid "Advance Mode" msgid "Advance Mode"
msgstr "Mode avancé" msgstr "Mode avancé"
@ -107,35 +103,35 @@ msgstr ""
msgid "Author" msgid "Author"
msgstr "Autheur" msgstr "Autheur"
#: src/views/cert/Cert.vue:38 src/views/domain/cert/ChangeCert.vue:37 #: src/views/certificate/Certificate.vue:46
#: src/views/domain/cert/ChangeCert.vue:37
msgid "Auto Cert" msgid "Auto Cert"
msgstr "Auto Cert" msgstr "Auto Cert"
#: src/views/cert/Cert.vue:92 #: src/views/certificate/Certificate.vue:105
msgid "Auto cert is enabled, please do not modify this certification." #, fuzzy
msgstr "" msgid "Auto Cert is enabled"
"La certification automatique est activée, veuillez ne pas modifier cette " msgstr "Auto Cert"
"certification."
#: src/views/nginx_log/NginxLog.vue:150 #: src/views/certificate/Certificate.vue:135
#, fuzzy
msgid "Auto Cert Log"
msgstr "Journal Auto-Cert"
#: src/views/nginx_log/NginxLog.vue:149
msgid "Auto Refresh" msgid "Auto Refresh"
msgstr "Actualisation automatique" msgstr "Actualisation automatique"
#: src/views/cert/Cert.vue:122 #: src/views/domain/cert/components/ObtainCert.vue:126
#, fuzzy
msgid "Auto-Cert Log"
msgstr "Journal Auto-Cert"
#: src/views/domain/cert/components/ObtainCert.vue:125
msgid "Auto-renewal disabled for %{name}" msgid "Auto-renewal disabled for %{name}"
msgstr "Renouvellement automatique désactivé pour %{name}" msgstr "Renouvellement automatique désactivé pour %{name}"
#: src/views/domain/cert/components/ObtainCert.vue:118 #: src/views/domain/cert/components/ObtainCert.vue:119
msgid "Auto-renewal enabled for %{name}" msgid "Auto-renewal enabled for %{name}"
msgstr "Renouvellement automatique activé pour %{name}" msgstr "Renouvellement automatique activé pour %{name}"
#: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89 #: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89
#: src/views/domain/DomainEdit.vue:262 src/views/nginx_log/NginxLog.vue:171 #: src/views/domain/DomainEdit.vue:261 src/views/nginx_log/NginxLog.vue:170
msgid "Back" msgid "Back"
msgstr "Retour" msgstr "Retour"
@ -148,12 +144,12 @@ msgid "Base information"
msgstr "Information générale" msgstr "Information générale"
#: src/views/config/ConfigEdit.vue:117 #: src/views/config/ConfigEdit.vue:117
#: src/views/domain/components/RightSettings.vue:71 #: src/views/domain/components/RightSettings.vue:73
#: src/views/preference/Preference.vue:92 #: src/views/preference/Preference.vue:90
msgid "Basic" msgid "Basic"
msgstr "Basique" msgstr "Basique"
#: src/views/domain/DomainEdit.vue:208 #: src/views/domain/DomainEdit.vue:207
msgid "Basic Mode" msgid "Basic Mode"
msgstr "Mode simple" msgstr "Mode simple"
@ -175,35 +171,38 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
#: src/views/domain/cert/components/ObtainCert.vue:210 #: src/views/domain/cert/components/ObtainCert.vue:211
#: src/views/domain/components/Deploy.vue:25 #: src/views/domain/components/Deploy.vue:24
#: src/views/domain/components/RightSettings.vue:51 #: src/views/domain/components/RightSettings.vue:52
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:216 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:216
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:48 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
msgid "Cancel" msgid "Cancel"
msgstr "Annuler" msgstr "Annuler"
#: src/views/domain/cert/CertInfo.vue:36 #: src/views/domain/cert/CertInfo.vue:35
msgid "Certificate has expired" msgid "Certificate has expired"
msgstr "Le certificat a expiré" msgstr "Le certificat a expiré"
#: src/views/domain/cert/CertInfo.vue:40 #: src/views/domain/cert/CertInfo.vue:39
msgid "Certificate is valid" msgid "Certificate is valid"
msgstr "Le certificat est valide" msgstr "Le certificat est valide"
#: src/views/cert/Cert.vue:132 src/views/domain/cert/Cert.vue:35 #: src/views/certificate/Certificate.vue:145 src/views/domain/cert/Cert.vue:35
msgid "Certificate Status" msgid "Certificate Status"
msgstr "État du certificat" msgstr "État du certificat"
#: src/routes/index.ts:101 src/views/cert/Cert.vue:84 #: src/routes/index.ts:100 src/views/certificate/Certificate.vue:96
msgid "Certification" #, fuzzy
msgstr "Certification" msgid "Certificates"
msgstr "État du certificat"
#: src/routes/index.ts:109 #: src/routes/index.ts:108
msgid "Certification List" #, fuzzy
msgid "Certificates List"
msgstr "Liste des certifications" msgstr "Liste des certifications"
#: src/views/domain/cert/components/AutoCertStepOne.vue:57 #: src/views/certificate/Certificate.vue:150
#: src/views/domain/cert/components/AutoCertStepOne.vue:63
msgid "Challenge Method" msgid "Challenge Method"
msgstr "Méthode de challenge" msgstr "Méthode de challenge"
@ -239,11 +238,11 @@ msgstr "Effacer"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97
#: src/views/domain/ngx_conf/LocationEditor.vue:121 #: src/views/domain/ngx_conf/LocationEditor.vue:121
#: src/views/domain/ngx_conf/LocationEditor.vue:90 #: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:283 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:284
msgid "Comments" msgid "Comments"
msgstr "Commentaires" msgstr "Commentaires"
#: src/views/cert/Cert.vue:33 #: src/views/certificate/Certificate.vue:41
msgid "Config Name" msgid "Config Name"
msgstr "Nom de la config" msgstr "Nom de la config"
@ -251,7 +250,7 @@ msgstr "Nom de la config"
msgid "Config Templates" msgid "Config Templates"
msgstr "Modèles de configuration" msgstr "Modèles de configuration"
#: src/views/config/InspectConfig.vue:31 #: src/views/config/InspectConfig.vue:30
msgid "Configuration file is test successful" msgid "Configuration file is test successful"
msgstr "Le fichier de configuration est testé avec succès" msgstr "Le fichier de configuration est testé avec succès"
@ -305,7 +304,7 @@ msgstr "La création du client facilite la communication avec le serveur CA"
msgid "Credential" msgid "Credential"
msgstr "Identifiant" msgstr "Identifiant"
#: src/views/cert/DNSChallenge.vue:83 #: src/views/certificate/DNSChallenge.vue:83
msgid "Credentials" msgid "Credentials"
msgstr "Identifiants" msgstr "Identifiants"
@ -314,7 +313,7 @@ msgid "Current Version"
msgstr "Version actuelle" msgstr "Version actuelle"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:240 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:241
msgid "Custom" msgid "Custom"
msgstr "Custom" msgstr "Custom"
@ -322,13 +321,13 @@ msgstr "Custom"
msgid "Dashboard" msgid "Dashboard"
msgstr "Dashboard" msgstr "Dashboard"
#: src/views/other/Install.vue:122 #: src/views/other/Install.vue:124
msgid "Database (Optional, default: database)" msgid "Database (Optional, default: database)"
msgstr "Base de données (Facultatif, par défaut : database)" msgstr "Base de données (Facultatif, par défaut : database)"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:354 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:354
#: src/views/domain/DomainList.vue:153 #: src/views/domain/DomainList.vue:153
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:258 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:259
msgid "Delete" msgid "Delete"
msgstr "Supprimer" msgstr "Supprimer"
@ -342,19 +341,19 @@ msgid "Deleted successfully"
msgstr "Désactivé avec succès" msgstr "Désactivé avec succès"
#: src/views/domain/components/Deploy.vue:109 #: src/views/domain/components/Deploy.vue:109
#: src/views/domain/components/RightSettings.vue:89 #: src/views/domain/components/RightSettings.vue:91
msgid "Deploy" msgid "Deploy"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:67 #: src/views/domain/components/Deploy.vue:66
msgid "Deploy %{conf_name} to %{node_name} failed" msgid "Deploy %{conf_name} to %{node_name} failed"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:41 #: src/views/domain/components/Deploy.vue:40
msgid "Deploy %{conf_name} to %{node_name} successfully" msgid "Deploy %{conf_name} to %{node_name} successfully"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:39 #: src/views/domain/components/Deploy.vue:38
#, fuzzy #, fuzzy
msgid "Deploy successfully" msgid "Deploy successfully"
msgstr "Sauvegarde réussie" msgstr "Sauvegarde réussie"
@ -386,16 +385,17 @@ msgstr "Directive"
msgid "Disable" msgid "Disable"
msgstr "Désactivé" msgstr "Désactivé"
#: src/views/domain/cert/components/ObtainCert.vue:127 #: src/views/domain/cert/components/ObtainCert.vue:128
msgid "Disable auto-renewal failed for %{name}" msgid "Disable auto-renewal failed for %{name}"
msgstr "La désactivation du renouvellement automatique a échoué pour %{name}" msgstr "La désactivation du renouvellement automatique a échoué pour %{name}"
#: src/views/cert/Cert.vue:49 src/views/domain/cert/ChangeCert.vue:48 #: src/views/certificate/Certificate.vue:57
#: src/views/domain/DomainEdit.vue:191 src/views/domain/DomainList.vue:123 #: src/views/domain/cert/ChangeCert.vue:48 src/views/domain/DomainEdit.vue:190
#: src/views/domain/DomainList.vue:123
msgid "Disabled" msgid "Disabled"
msgstr "Désactivé" msgstr "Désactivé"
#: src/views/domain/components/RightSettings.vue:38 #: src/views/domain/components/RightSettings.vue:39
#: src/views/domain/DomainList.vue:67 #: src/views/domain/DomainList.vue:67
msgid "Disabled successfully" msgid "Disabled successfully"
msgstr "Désactivé avec succès" msgstr "Désactivé avec succès"
@ -404,35 +404,35 @@ msgstr "Désactivé avec succès"
msgid "Disk IO" msgid "Disk IO"
msgstr "E/S disque" msgstr "E/S disque"
#: src/routes/index.ts:114 src/views/cert/DNSCredential.vue:39 #: src/routes/index.ts:113 src/views/certificate/DNSCredential.vue:39
msgid "DNS Credentials" msgid "DNS Credentials"
msgstr "Identifiants DNS" msgstr "Identifiants DNS"
#: src/views/cert/DNSChallenge.vue:74 #: src/views/certificate/DNSChallenge.vue:74
#: src/views/domain/cert/components/DNSChallenge.vue:79 #: src/views/domain/cert/components/DNSChallenge.vue:79
msgid "DNS Provider" msgid "DNS Provider"
msgstr "Fournisseur DNS" msgstr "Fournisseur DNS"
#: src/views/domain/cert/components/AutoCertStepOne.vue:63 #: src/views/domain/cert/components/AutoCertStepOne.vue:69
msgid "DNS01" msgid "DNS01"
msgstr "DNS01" msgstr "DNS01"
#: src/views/domain/components/Deploy.vue:20 #: src/views/domain/components/Deploy.vue:19
#, fuzzy #, fuzzy
msgid "Do you want to deploy this file to remote server?" msgid "Do you want to deploy this file to remote server?"
msgid_plural "Do you want to deploy this file to remote servers?" msgid_plural "Do you want to deploy this file to remote servers?"
msgstr[0] "Voulez-vous supprimer ce serveur ?" msgstr[0] "Voulez-vous supprimer ce serveur ?"
msgstr[1] "Voulez-vous supprimer ce serveur ?" msgstr[1] "Voulez-vous supprimer ce serveur ?"
#: src/views/domain/cert/components/ObtainCert.vue:206 #: src/views/domain/cert/components/ObtainCert.vue:207
msgid "Do you want to disable auto-cert renewal?" msgid "Do you want to disable auto-cert renewal?"
msgstr "Voulez-vous désactiver le renouvellement automatique des certificats ?" msgstr "Voulez-vous désactiver le renouvellement automatique des certificats ?"
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
msgid "Do you want to disable this site?" msgid "Do you want to disable this site?"
msgstr "Voulez-vous désactiver ce site ?" msgstr "Voulez-vous désactiver ce site ?"
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
msgid "Do you want to enable this site?" msgid "Do you want to enable this site?"
msgstr "Voulez-vous activer ce site ?" msgstr "Voulez-vous activer ce site ?"
@ -448,8 +448,9 @@ msgstr "Voulez-vous supprimer ce serveur ?"
msgid "Domain Config Created Successfully" msgid "Domain Config Created Successfully"
msgstr "La configuration du domaine a été créée avec succès" msgstr "La configuration du domaine a été créée avec succès"
#: src/views/cert/Cert.vue:112 #: src/views/certificate/Certificate.vue:125
msgid "Domains list is empty, try to reopen auto-cert for %{config}" #, fuzzy
msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
msgstr "" msgstr ""
"La liste des domaines est vide, essayez de rouvrir la certification " "La liste des domaines est vide, essayez de rouvrir la certification "
"automatique pour %{config}" "automatique pour %{config}"
@ -491,19 +492,19 @@ msgstr "Dupliqué avec succès"
msgid "Duplicate to local successfully" msgid "Duplicate to local successfully"
msgstr "Dupliqué avec succès" msgstr "Dupliqué avec succès"
#: src/views/domain/DomainEdit.vue:180 #: src/views/domain/DomainEdit.vue:179
msgid "Edit %{n}" msgid "Edit %{n}"
msgstr "Modifier %{n}" msgstr "Modifier %{n}"
#: src/routes/index.ts:93 src/views/config/ConfigEdit.vue:83 #: src/routes/index.ts:92 src/views/config/ConfigEdit.vue:83
msgid "Edit Configuration" msgid "Edit Configuration"
msgstr "Modifier la configuration" msgstr "Modifier la configuration"
#: src/routes/index.ts:75 #: src/routes/index.ts:74
msgid "Edit Site" msgid "Edit Site"
msgstr "Modifier le site" msgstr "Modifier le site"
#: src/views/other/Install.vue:91 #: src/views/other/Install.vue:93
msgid "Email (*)" msgid "Email (*)"
msgstr "Email (*)" msgstr "Email (*)"
@ -512,15 +513,15 @@ msgstr "Email (*)"
msgid "Enable" msgid "Enable"
msgstr "Activé" msgstr "Activé"
#: src/views/domain/components/Deploy.vue:56 #: src/views/domain/components/Deploy.vue:55
msgid "Enable %{conf_name} in %{node_name} failed" msgid "Enable %{conf_name} in %{node_name} failed"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:50 #: src/views/domain/components/Deploy.vue:49
msgid "Enable %{conf_name} in %{node_name} successfully" msgid "Enable %{conf_name} in %{node_name} successfully"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:120 #: src/views/domain/cert/components/ObtainCert.vue:121
msgid "Enable auto-renewal failed for %{name}" msgid "Enable auto-renewal failed for %{name}"
msgstr "Échec de l'activation du renouvellement automatique pour %{name}" msgstr "Échec de l'activation du renouvellement automatique pour %{name}"
@ -528,23 +529,24 @@ msgstr "Échec de l'activation du renouvellement automatique pour %{name}"
msgid "Enable failed" msgid "Enable failed"
msgstr "Échec de l'activation" msgstr "Échec de l'activation"
#: src/views/domain/components/Deploy.vue:48 #: src/views/domain/components/Deploy.vue:47
#, fuzzy #, fuzzy
msgid "Enable successfully" msgid "Enable successfully"
msgstr "Activé avec succès" msgstr "Activé avec succès"
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:235 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:236
msgid "Enable TLS" msgid "Enable TLS"
msgstr "Activer TLS" msgstr "Activer TLS"
#: src/views/cert/Cert.vue:45 src/views/domain/cert/ChangeCert.vue:44 #: src/views/certificate/Certificate.vue:53
#: src/views/domain/cert/ChangeCert.vue:44
#: src/views/domain/components/Deploy.vue:89 #: src/views/domain/components/Deploy.vue:89
#: src/views/domain/components/RightSettings.vue:73 #: src/views/domain/components/RightSettings.vue:75
#: src/views/domain/DomainEdit.vue:185 src/views/domain/DomainList.vue:131 #: src/views/domain/DomainEdit.vue:184 src/views/domain/DomainList.vue:131
msgid "Enabled" msgid "Enabled"
msgstr "Activé" msgstr "Activé"
#: src/views/domain/components/RightSettings.vue:29 #: src/views/domain/components/RightSettings.vue:30
#: src/views/domain/components/SiteDuplicate.vue:100 #: src/views/domain/components/SiteDuplicate.vue:100
#: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58 #: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58
msgid "Enabled successfully" msgid "Enabled successfully"
@ -554,7 +556,7 @@ msgstr "Activé avec succès"
msgid "Encrypt website with Let's Encrypt" msgid "Encrypt website with Let's Encrypt"
msgstr "Crypter le site Web avec Let's Encrypt" msgstr "Crypter le site Web avec Let's Encrypt"
#: src/routes/index.ts:152 src/views/environment/Environment.vue:113 #: src/routes/index.ts:151 src/views/environment/Environment.vue:113
msgid "Environment" msgid "Environment"
msgstr "" msgstr ""
@ -563,11 +565,11 @@ msgstr ""
msgid "Environments" msgid "Environments"
msgstr "Commentaires" msgstr "Commentaires"
#: src/views/config/InspectConfig.vue:48 #: src/views/config/InspectConfig.vue:47
msgid "Error" msgid "Error"
msgstr "Erreur" msgstr "Erreur"
#: src/routes/index.ts:139 src/views/domain/ngx_conf/LogEntry.vue:86 #: src/routes/index.ts:138 src/views/domain/ngx_conf/LogEntry.vue:86
msgid "Error Logs" msgid "Error Logs"
msgstr "Journaux d'erreurs" msgstr "Journaux d'erreurs"
@ -575,17 +577,22 @@ msgstr "Journaux d'erreurs"
msgid "Executable Path" msgid "Executable Path"
msgstr "Chemin exécutable" msgstr "Chemin exécutable"
#: src/views/domain/cert/CertInfo.vue:27
#, fuzzy
msgid "Expired At: %{date}"
msgstr "Date d'expiration : %{date}"
#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:296 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:296
msgid "Export" msgid "Export"
msgstr "Exporter" msgstr "Exporter"
#: src/views/domain/components/RightSettings.vue:41 #: src/views/domain/components/RightSettings.vue:42
#: src/views/domain/DomainList.vue:70 #: src/views/domain/DomainList.vue:70
msgid "Failed to disable %{msg}" msgid "Failed to disable %{msg}"
msgstr "Impossible de désactiver %{msg}" msgstr "Impossible de désactiver %{msg}"
#: src/views/domain/components/RightSettings.vue:32 #: src/views/domain/components/RightSettings.vue:33
#: src/views/domain/DomainList.vue:61 #: src/views/domain/DomainList.vue:61
msgid "Failed to enable %{msg}" msgid "Failed to enable %{msg}"
msgstr "Impossible d'activer %{msg}" msgstr "Impossible d'activer %{msg}"
@ -594,7 +601,7 @@ msgstr "Impossible d'activer %{msg}"
msgid "Failed to get certificate information" msgid "Failed to get certificate information"
msgstr "Échec de l'obtention des informations sur le certificat" msgstr "Échec de l'obtention des informations sur le certificat"
#: src/views/domain/DomainEdit.vue:139 #: src/views/domain/DomainEdit.vue:138
msgid "Failed to save, syntax error(s) was detected in the configuration." msgid "Failed to save, syntax error(s) was detected in the configuration."
msgstr "" msgstr ""
"Échec de l'enregistrement, une ou plusieurs erreurs de syntaxe ont été " "Échec de l'enregistrement, une ou plusieurs erreurs de syntaxe ont été "
@ -612,7 +619,7 @@ msgstr "Le fichier existe"
msgid "File Not Found" msgid "File Not Found"
msgstr "Fichier introuvable" msgstr "Fichier introuvable"
#: src/views/nginx_log/NginxLog.vue:153 #: src/views/nginx_log/NginxLog.vue:152
msgid "Filter" msgid "Filter"
msgstr "Filtrer" msgstr "Filtrer"
@ -644,7 +651,7 @@ msgstr "Génération de clé privée pour l'enregistrement du compte"
msgid "Get release information error" msgid "Get release information error"
msgstr "Erreur d'obtention des informations sur la version" msgstr "Erreur d'obtention des informations sur la version"
#: src/views/domain/cert/components/ObtainCert.vue:63 #: src/views/domain/cert/components/ObtainCert.vue:64
msgid "Getting the certificate, please wait..." msgid "Getting the certificate, please wait..."
msgstr "Obtention du certificat, veuillez patienter..." msgstr "Obtention du certificat, veuillez patienter..."
@ -685,7 +692,7 @@ msgstr "Host HTTP"
msgid "HTTP Port" msgid "HTTP Port"
msgstr "Port HTTP" msgstr "Port HTTP"
#: src/views/domain/cert/components/AutoCertStepOne.vue:60 #: src/views/domain/cert/components/AutoCertStepOne.vue:66
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
@ -697,15 +704,15 @@ msgstr "Erreur du programme de mise à niveau initial du core"
msgid "Initialing core upgrader" msgid "Initialing core upgrader"
msgstr "Initialisation du programme de mise à niveau du core" msgstr "Initialisation du programme de mise à niveau du core"
#: src/routes/index.ts:195 src/views/other/Install.vue:137 #: src/routes/index.ts:194 src/views/other/Install.vue:139
msgid "Install" msgid "Install"
msgstr "Installer" msgstr "Installer"
#: src/views/other/Install.vue:67 #: src/views/other/Install.vue:68
msgid "Install successfully" msgid "Install successfully"
msgstr "Installé avec succès" msgstr "Installé avec succès"
#: src/views/domain/cert/CertInfo.vue:22 #: src/views/domain/cert/CertInfo.vue:21
msgid "Intermediate Certification Authorities: %{issuer}" msgid "Intermediate Certification Authorities: %{issuer}"
msgstr "Autorités de certification intermédiaires : %{issuer}" msgstr "Autorités de certification intermédiaires : %{issuer}"
@ -759,11 +766,11 @@ msgstr "Localisation"
msgid "Locations" msgid "Locations"
msgstr "Localisations" msgstr "Localisations"
#: src/routes/index.ts:201 src/views/other/Login.vue:147 #: src/routes/index.ts:200 src/views/other/Login.vue:147
msgid "Login" msgid "Login"
msgstr "Connexion" msgstr "Connexion"
#: src/views/other/Login.vue:53 src/views/other/Login.vue:99 #: src/views/other/Login.vue:51 src/views/other/Login.vue:97
msgid "Login successful" msgid "Login successful"
msgstr "Connexion réussie" msgstr "Connexion réussie"
@ -771,7 +778,7 @@ msgstr "Connexion réussie"
msgid "Logout successful" msgid "Logout successful"
msgstr "Déconnexion réussie" msgstr "Déconnexion réussie"
#: src/views/domain/cert/components/AutoCertStepOne.vue:45 #: src/views/domain/cert/components/AutoCertStepOne.vue:51
#, fuzzy #, fuzzy
msgid "" msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to " "Make sure you have configured a reverse proxy for .well-known directory to "
@ -780,15 +787,15 @@ msgstr ""
"Assurez vous d'avoir configuré un reverse proxy pour le répertoire .well-" "Assurez vous d'avoir configuré un reverse proxy pour le répertoire .well-"
"known vers HTTPChallengePort avant d'obtenir le certificat." "known vers HTTPChallengePort avant d'obtenir le certificat."
#: src/routes/index.ts:84 #: src/routes/index.ts:83
msgid "Manage Configs" msgid "Manage Configs"
msgstr "Gérer les configurations" msgstr "Gérer les configurations"
#: src/routes/index.ts:59 src/views/domain/DomainList.vue:102 #: src/routes/index.ts:58 src/views/domain/DomainList.vue:102
msgid "Manage Sites" msgid "Manage Sites"
msgstr "Gérer les sites" msgstr "Gérer les sites"
#: src/routes/index.ts:160 src/views/user/User.vue:53 #: src/routes/index.ts:159 src/views/user/User.vue:53
msgid "Manage Users" msgid "Manage Users"
msgstr "Gérer les utilisateurs" msgstr "Gérer les utilisateurs"
@ -803,6 +810,7 @@ msgstr "Mémoire et stockage"
#: src/components/ChatGPT/ChatGPT.vue:256 #: src/components/ChatGPT/ChatGPT.vue:256
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:336 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:336
#: src/views/certificate/Certificate.vue:156
msgid "Modify" msgid "Modify"
msgstr "Modifier" msgstr "Modifier"
@ -814,9 +822,10 @@ msgstr "Modifier la configuration"
msgid "Multi-line Directive" msgid "Multi-line Directive"
msgstr "Directive multiligne" msgstr "Directive multiligne"
#: src/views/cert/Cert.vue:17 src/views/cert/DNSCredential.vue:13 #: src/views/certificate/Certificate.vue:24
#: src/views/config/config.ts:9 src/views/domain/cert/ChangeCert.vue:21 #: src/views/certificate/DNSCredential.vue:13 src/views/config/config.ts:9
#: src/views/domain/components/RightSettings.vue:79 #: src/views/domain/cert/ChangeCert.vue:21
#: src/views/domain/components/RightSettings.vue:81
#: src/views/domain/components/SiteDuplicate.vue:135 #: src/views/domain/components/SiteDuplicate.vue:135
#: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15 #: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15
msgid "Name" msgid "Name"
@ -842,12 +851,12 @@ msgstr "Envoi total réseau"
msgid "New version released" msgid "New version released"
msgstr "Nouvelle version publiée" msgstr "Nouvelle version publiée"
#: src/views/domain/cert/components/ObtainCert.vue:278 #: src/views/domain/cert/components/ObtainCert.vue:281
#: src/views/domain/DomainAdd.vue:140 #: src/views/domain/DomainAdd.vue:140
msgid "Next" msgid "Next"
msgstr "Suivant" msgstr "Suivant"
#: src/views/preference/Preference.vue:98 #: src/views/preference/Preference.vue:96
#, fuzzy #, fuzzy
msgid "Nginx" msgid "Nginx"
msgstr "Journal Nginx" msgstr "Journal Nginx"
@ -856,7 +865,7 @@ msgstr "Journal Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Chemin du journal d'accès Nginx" msgstr "Chemin du journal d'accès Nginx"
#: src/views/domain/DomainEdit.vue:223 #: src/views/domain/DomainEdit.vue:222
msgid "Nginx Configuration Parse Error" msgid "Nginx Configuration Parse Error"
msgstr "Erreur d'analyse de configuration Nginx" msgstr "Erreur d'analyse de configuration Nginx"
@ -868,7 +877,7 @@ msgstr "Contrôle Nginx"
msgid "Nginx Error Log Path" msgid "Nginx Error Log Path"
msgstr "Chemin du journal des erreurs Nginx" msgstr "Chemin du journal des erreurs Nginx"
#: src/routes/index.ts:129 src/views/nginx_log/NginxLog.vue:146 #: src/routes/index.ts:128 src/views/nginx_log/NginxLog.vue:145
msgid "Nginx Log" msgid "Nginx Log"
msgstr "Journal Nginx" msgstr "Journal Nginx"
@ -893,20 +902,20 @@ msgstr "Non"
msgid "Node Secret" msgid "Node Secret"
msgstr "Secret Jwt" msgstr "Secret Jwt"
#: src/routes/index.ts:207 src/routes/index.ts:209 #: src/routes/index.ts:206 src/routes/index.ts:208
msgid "Not Found" msgid "Not Found"
msgstr "Introuvable" msgstr "Introuvable"
#: src/views/domain/cert/CertInfo.vue:31 #: src/views/domain/cert/CertInfo.vue:30
msgid "Not Valid Before: %{date}" msgid "Not Valid Before: %{date}"
msgstr "Non valide avant : %{date}" msgstr "Non valide avant : %{date}"
#: src/views/cert/DNSCredential.vue:48 #: src/views/certificate/DNSCredential.vue:48
#: src/views/domain/cert/components/AutoCertStepOne.vue:32 #: src/views/domain/cert/components/AutoCertStepOne.vue:38
msgid "Note" msgid "Note"
msgstr "Note" msgstr "Note"
#: src/views/domain/cert/components/ObtainCert.vue:249 #: src/views/domain/cert/components/ObtainCert.vue:252
msgid "Obtain certificate" msgid "Obtain certificate"
msgstr "Obtenir un certificat" msgstr "Obtenir un certificat"
@ -925,15 +934,19 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:346 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:346
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
#: src/views/domain/cert/components/ObtainCert.vue:209 #: src/views/domain/cert/components/ObtainCert.vue:210
#: src/views/domain/components/Deploy.vue:24 #: src/views/domain/components/Deploy.vue:23
#: src/views/domain/components/RightSettings.vue:50 #: src/views/domain/components/RightSettings.vue:51
#: src/views/domain/DomainList.vue:144 #: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:215 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:215
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:47 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
msgid "OK" msgid "OK"
msgstr "OK" msgstr "OK"
#: src/views/certificate/DNSCredential.vue:58
msgid "Once the verification is complete, the records will be removed."
msgstr ""
#: src/components/NodeSelector/NodeSelector.vue:57 #: src/components/NodeSelector/NodeSelector.vue:57
#: src/components/NodeSelector/NodeSelector.vue:72 #: src/components/NodeSelector/NodeSelector.vue:72
#: src/views/dashboard/Environments.vue:100 #: src/views/dashboard/Environments.vue:100
@ -941,7 +954,7 @@ msgstr "OK"
msgid "Online" msgid "Online"
msgstr "" msgstr ""
#: src/views/preference/Preference.vue:104 #: src/views/preference/Preference.vue:102
msgid "OpenAI" msgid "OpenAI"
msgstr "OpenAI" msgstr "OpenAI"
@ -969,7 +982,7 @@ msgstr "Paramètres"
msgid "Password" msgid "Password"
msgstr "Mot de passe" msgstr "Mot de passe"
#: src/views/other/Install.vue:111 #: src/views/other/Install.vue:113
msgid "Password (*)" msgid "Password (*)"
msgstr "Mot de passe (*)" msgstr "Mot de passe (*)"
@ -987,24 +1000,13 @@ msgstr "Erreur lors de la mise a niveau du core"
msgid "Performing core upgrade" msgid "Performing core upgrade"
msgstr "Exécution de la mise à niveau du core" msgstr "Exécution de la mise à niveau du core"
#: src/views/cert/DNSCredential.vue:52 #: src/views/certificate/DNSCredential.vue:52
#, fuzzy
msgid "" msgid ""
"Please fill in the API authentication credentials provided by your DNS " "Please fill in the API authentication credentials provided by your DNS "
"provider.\n" "provider."
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification.\n"
"Once the verification is complete, the records will be removed.\n"
"Please note that the time configurations below are all in seconds."
msgstr "" msgstr ""
"Veuillez remplir les identifiants d'authentification de l'API fournis par "
"votre fournisseur DNS. Nous ajouterons un ou plusieurs enregistrements TXT "
"aux enregistrements DNS de votre domaine pour la vérification de la "
"propriété. Une fois la vérification terminée, les enregistrements seront "
"supprimés. Veuillez noter que les configurations de temps ci-dessous sont "
"toutes en secondes."
#: src/views/domain/cert/components/AutoCertStepOne.vue:49 #: src/views/domain/cert/components/AutoCertStepOne.vue:55
#, fuzzy #, fuzzy
msgid "" msgid ""
"Please first add credentials in Certification > DNS Credentials, and then " "Please first add credentials in Certification > DNS Credentials, and then "
@ -1023,18 +1025,23 @@ msgstr ""
"Veuillez entrer le nom, il sera utilisé comme nom de fichier de la nouvelle " "Veuillez entrer le nom, il sera utilisé comme nom de fichier de la nouvelle "
"configuration !" "configuration !"
#: src/views/other/Install.vue:34 #: src/views/other/Install.vue:35
msgid "Please input your E-mail!" msgid "Please input your E-mail!"
msgstr "Veuillez saisir votre e-mail !" msgstr "Veuillez saisir votre e-mail !"
#: src/views/other/Install.vue:46 src/views/other/Login.vue:41 #: src/views/other/Install.vue:47 src/views/other/Login.vue:39
msgid "Please input your password!" msgid "Please input your password!"
msgstr "Veuillez saisir votre mot de passe !" msgstr "Veuillez saisir votre mot de passe !"
#: src/views/other/Install.vue:40 src/views/other/Login.vue:35 #: src/views/other/Install.vue:41 src/views/other/Login.vue:33
msgid "Please input your username!" msgid "Please input your username!"
msgstr "Veuillez saisir votre nom d'utilisateur !" msgstr "Veuillez saisir votre nom d'utilisateur !"
#: src/views/certificate/DNSCredential.vue:61
msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr ""
#: src/views/domain/components/SiteDuplicate.vue:47 #: src/views/domain/components/SiteDuplicate.vue:47
msgid "Please select at least one node!" msgid "Please select at least one node!"
msgstr "" msgstr ""
@ -1043,7 +1050,7 @@ msgstr ""
msgid "Pre-release" msgid "Pre-release"
msgstr "" msgstr ""
#: src/routes/index.ts:168 src/views/preference/Preference.vue:87 #: src/routes/index.ts:167 src/views/preference/Preference.vue:85
msgid "Preference" msgid "Preference"
msgstr "Préférence" msgstr "Préférence"
@ -1064,7 +1071,7 @@ msgstr "Interdire la suppression de l'utilisateur par défaut"
msgid "Project Team" msgid "Project Team"
msgstr "Groupe de projet" msgstr "Groupe de projet"
#: src/views/cert/DNSCredential.vue:21 #: src/views/certificate/DNSCredential.vue:21
msgid "Provider" msgid "Provider"
msgstr "Fournisseur" msgstr "Fournisseur"
@ -1134,9 +1141,9 @@ msgid "Running"
msgstr "En cours d'éxécution" msgstr "En cours d'éxécution"
#: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98 #: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98
#: src/views/domain/DomainEdit.vue:269 #: src/views/domain/DomainEdit.vue:268
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/preference/Preference.vue:115 #: src/views/preference/Preference.vue:113
msgid "Save" msgid "Save"
msgstr "Enregistrer" msgstr "Enregistrer"
@ -1150,7 +1157,7 @@ msgid "Save error %{msg}"
msgstr "Enregistrer l'erreur %{msg}" msgstr "Enregistrer l'erreur %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
#: src/views/preference/Preference.vue:60 #: src/views/preference/Preference.vue:58
msgid "Save successfully" msgid "Save successfully"
msgstr "Sauvegarde réussie" msgstr "Sauvegarde réussie"
@ -1159,7 +1166,7 @@ msgid "Save Successfully"
msgstr "Sauvegarde Réussie" msgstr "Sauvegarde Réussie"
#: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41 #: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41
#: src/views/domain/DomainEdit.vue:155 #: src/views/domain/DomainEdit.vue:154
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39
msgid "Saved successfully" msgid "Saved successfully"
msgstr "Enregistré avec succès" msgstr "Enregistré avec succès"
@ -1180,7 +1187,7 @@ msgstr "Envoyer"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:157 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:157
#: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79 #: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79
#: src/views/other/Install.vue:71 src/views/preference/Preference.vue:62 #: src/views/other/Install.vue:72 src/views/preference/Preference.vue:60
#: src/views/system/Upgrade.vue:45 #: src/views/system/Upgrade.vue:45
msgid "Server error" msgid "Server error"
msgstr "Erreur du serveur" msgstr "Erreur du serveur"
@ -1189,11 +1196,11 @@ msgstr "Erreur du serveur"
msgid "Server Info" msgid "Server Info"
msgstr "Informations sur le serveur" msgstr "Informations sur le serveur"
#: src/views/domain/cert/components/ObtainCert.vue:164 #: src/views/domain/cert/components/ObtainCert.vue:165
msgid "server_name not found in directives" msgid "server_name not found in directives"
msgstr "server_name introuvable dans les directives" msgstr "server_name introuvable dans les directives"
#: src/views/domain/cert/components/AutoCertStepOne.vue:22 #: src/views/domain/cert/components/AutoCertStepOne.vue:27
#: src/views/domain/DomainAdd.vue:119 #: src/views/domain/DomainAdd.vue:119
msgid "server_name parameter is required" msgid "server_name parameter is required"
msgstr "Le paramètre server_name est obligatoire" msgstr "Le paramètre server_name est obligatoire"
@ -1206,30 +1213,32 @@ msgstr "Définition des variables d'environnement"
msgid "Single Directive" msgid "Single Directive"
msgstr "Directive unique" msgstr "Directive unique"
#: src/routes/index.ts:143 #: src/routes/index.ts:142
msgid "Site Logs" msgid "Site Logs"
msgstr "Journaux du site" msgstr "Journaux du site"
#: src/routes/index.ts:67 #: src/routes/index.ts:66
msgid "Sites List" msgid "Sites List"
msgstr "Liste des sites" msgstr "Liste des sites"
#: src/views/cert/Cert.vue:64 #: src/views/certificate/Certificate.vue:164
#, fuzzy
msgid "SSL Certificate Content"
msgstr "Contenu de la certification SSL"
#: src/views/certificate/Certificate.vue:171
#, fuzzy
msgid "SSL Certificate Key Content"
msgstr "Contenu de la clé de certification SSL"
#: src/views/certificate/Certificate.vue:73
msgid "SSL Certificate Key Path" msgid "SSL Certificate Key Path"
msgstr "Chemin de la clé du certificat SSL" msgstr "Chemin de la clé du certificat SSL"
#: src/views/cert/Cert.vue:57 #: src/views/certificate/Certificate.vue:65
msgid "SSL Certificate Path" msgid "SSL Certificate Path"
msgstr "Chemin du certificat SSL" msgstr "Chemin du certificat SSL"
#: src/views/cert/Cert.vue:139
msgid "SSL Certification Content"
msgstr "Contenu de la certification SSL"
#: src/views/cert/Cert.vue:145
msgid "SSL Certification Key Content"
msgstr "Contenu de la clé de certification SSL"
#: src/views/other/Login.vue:158 #: src/views/other/Login.vue:158
#, fuzzy #, fuzzy
msgid "SSO Login" msgid "SSO Login"
@ -1252,7 +1261,7 @@ msgstr "Arrêté"
msgid "Storage" msgid "Storage"
msgstr "Stockage" msgstr "Stockage"
#: src/views/domain/cert/CertInfo.vue:25 #: src/views/domain/cert/CertInfo.vue:24
#, fuzzy #, fuzzy
msgid "Subject Name: %{subject}" msgid "Subject Name: %{subject}"
msgstr "Nom du sujet : %{name}" msgstr "Nom du sujet : %{name}"
@ -1270,7 +1279,7 @@ msgstr ""
msgid "Switch to light theme" msgid "Switch to light theme"
msgstr "" msgstr ""
#: src/routes/index.ts:176 #: src/routes/index.ts:175
msgid "System" msgid "System"
msgstr "Système" msgstr "Système"
@ -1282,7 +1291,7 @@ msgstr "Tableau"
msgid "Target" msgid "Target"
msgstr "" msgstr ""
#: src/routes/index.ts:121 src/views/pty/Terminal.vue:95 #: src/routes/index.ts:120 src/views/pty/Terminal.vue:95
msgid "Terminal" msgid "Terminal"
msgstr "Terminal" msgstr "Terminal"
@ -1290,7 +1299,7 @@ msgstr "Terminal"
msgid "Terminal Start Command" msgid "Terminal Start Command"
msgstr "Commande de démarrage du terminal" msgstr "Commande de démarrage du terminal"
#: src/views/domain/cert/components/AutoCertStepOne.vue:41 #: src/views/domain/cert/components/AutoCertStepOne.vue:47
#, fuzzy #, fuzzy
msgid "" msgid ""
"The certificate for the domain will be checked 5 minutes, and will be " "The certificate for the domain will be checked 5 minutes, and will be "
@ -1299,11 +1308,11 @@ msgstr ""
"Le certificat du domaine sera vérifié toutes les heures et sera renouvelé " "Le certificat du domaine sera vérifié toutes les heures et sera renouvelé "
"s'il s'est écoulé plus d'une semaine depuis sa dernière émission." "s'il s'est écoulé plus d'une semaine depuis sa dernière émission."
#: src/views/other/Install.vue:52 #: src/views/other/Install.vue:53
msgid "The filename cannot contain the following characters: %{c}" msgid "The filename cannot contain the following characters: %{c}"
msgstr "Le nom de fichier ne peut pas contenir les caractères suivants : %{c}" msgstr "Le nom de fichier ne peut pas contenir les caractères suivants : %{c}"
#: src/views/domain/cert/components/AutoCertStepOne.vue:36 #: src/views/domain/cert/components/AutoCertStepOne.vue:42
#, fuzzy #, fuzzy
msgid "" msgid ""
"The server_name in the current configuration must be the domain name you " "The server_name in the current configuration must be the domain name you "
@ -1317,9 +1326,9 @@ msgstr ""
msgid "The username or password is incorrect" msgid "The username or password is incorrect"
msgstr "Le pseudo ou mot de passe est incorect" msgstr "Le pseudo ou mot de passe est incorect"
#: src/views/cert/Cert.vue:102 #: src/views/certificate/Certificate.vue:115
#, fuzzy #, fuzzy
msgid "This auto-cert item is invalid, please remove it." msgid "This Auto Cert item is invalid, please remove it."
msgstr "" msgstr ""
"Cet élément de certification automatique n'est pas valide, veuillez le " "Cet élément de certification automatique n'est pas valide, veuillez le "
"supprimer." "supprimer."
@ -1344,9 +1353,10 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "Type" msgstr "Type"
#: src/views/cert/Cert.vue:71 src/views/cert/DNSCredential.vue:26 #: src/views/certificate/Certificate.vue:81
#: src/views/config/config.ts:29 src/views/config/ConfigEdit.vue:123 #: src/views/certificate/DNSCredential.vue:26 src/views/config/config.ts:29
#: src/views/domain/components/RightSettings.vue:82 #: src/views/config/ConfigEdit.vue:123
#: src/views/domain/components/RightSettings.vue:84
#: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98 #: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98
#: src/views/user/User.vue:40 #: src/views/user/User.vue:40
msgid "Updated at" msgid "Updated at"
@ -1356,7 +1366,7 @@ msgstr "Mis à jour le"
msgid "Updated successfully" msgid "Updated successfully"
msgstr "Mis à jour avec succés" msgstr "Mis à jour avec succés"
#: src/routes/index.ts:187 src/views/system/Upgrade.vue:143 #: src/routes/index.ts:186 src/views/system/Upgrade.vue:143
#: src/views/system/Upgrade.vue:235 #: src/views/system/Upgrade.vue:235
msgid "Upgrade" msgid "Upgrade"
msgstr "Mettre à niveau" msgstr "Mettre à niveau"
@ -1386,7 +1396,7 @@ msgstr "Nom d'utilisateur"
msgid "Username" msgid "Username"
msgstr "Nom d'utilisateur" msgstr "Nom d'utilisateur"
#: src/views/other/Install.vue:101 #: src/views/other/Install.vue:103
msgid "Username (*)" msgid "Username (*)"
msgstr "Nom d'utilisateur (*)" msgstr "Nom d'utilisateur (*)"
@ -1402,13 +1412,19 @@ msgstr "Utilisation du fournisseur de challenge HTTP01"
msgid "View" msgid "View"
msgstr "Voir" msgstr "Voir"
#: src/views/config/InspectConfig.vue:37 #: src/views/config/InspectConfig.vue:36
#: src/views/domain/cert/components/AutoCertStepOne.vue:16 #: src/views/domain/cert/components/AutoCertStepOne.vue:21
#: src/views/domain/DomainAdd.vue:114 #: src/views/domain/DomainAdd.vue:114
msgid "Warning" msgid "Warning"
msgstr "Avertissement" msgstr "Avertissement"
#: src/views/domain/cert/components/ObtainCert.vue:207 #: src/views/certificate/DNSCredential.vue:55
msgid ""
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification."
msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:208
msgid "" msgid ""
"We will remove the HTTPChallenge configuration from this file and reload the " "We will remove the HTTPChallenge configuration from this file and reload the "
"Nginx. Are you sure you want to continue?" "Nginx. Are you sure you want to continue?"
@ -1442,6 +1458,30 @@ msgstr "Vous utilisez la dernière version"
msgid "You can check Nginx UI upgrade at this page." msgid "You can check Nginx UI upgrade at this page."
msgstr "Vous pouvez vérifier la mise à niveau de Nginx UI sur cette page." msgstr "Vous pouvez vérifier la mise à niveau de Nginx UI sur cette page."
#~ msgid "Auto cert is enabled, please do not modify this certification."
#~ msgstr ""
#~ "La certification automatique est activée, veuillez ne pas modifier cette "
#~ "certification."
#, fuzzy
#~ msgid ""
#~ "Please fill in the API authentication credentials provided by your DNS "
#~ "provider.\n"
#~ "We will add one or more TXT records to the DNS records of your domain for "
#~ "ownership verification.\n"
#~ "Once the verification is complete, the records will be removed.\n"
#~ "Please note that the unit of time configurations below are all in seconds."
#~ msgstr ""
#~ "Veuillez remplir les identifiants d'authentification de l'API fournis par "
#~ "votre fournisseur DNS. Nous ajouterons un ou plusieurs enregistrements "
#~ "TXT aux enregistrements DNS de votre domaine pour la vérification de la "
#~ "propriété. Une fois la vérification terminée, les enregistrements seront "
#~ "supprimés. Veuillez noter que les configurations de temps ci-dessous sont "
#~ "toutes en secondes."
#~ msgid "Certification"
#~ msgstr "Certification"
#~ msgid "Delete ID: %{id}" #~ msgid "Delete ID: %{id}"
#~ msgstr "Supprimer l'identifiant : %{id}" #~ msgstr "Supprimer l'identifiant : %{id}"

View file

@ -2,21 +2,17 @@ msgid ""
msgstr "" msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
#: src/views/domain/cert/CertInfo.vue:28 #: src/routes/index.ts:182
msgid " Expiration Date: %{date}"
msgstr ""
#: src/routes/index.ts:183
msgid "About" msgid "About"
msgstr "" msgstr ""
#: src/routes/index.ts:135 #: src/routes/index.ts:134
#: src/views/domain/ngx_conf/LogEntry.vue:78 #: src/views/domain/ngx_conf/LogEntry.vue:78
msgid "Access Logs" msgid "Access Logs"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:77 #: src/views/certificate/Certificate.vue:87
#: src/views/cert/DNSCredential.vue:32 #: src/views/certificate/DNSCredential.vue:32
#: src/views/config/config.ts:36 #: src/views/config/config.ts:36
#: src/views/domain/DomainList.vue:50 #: src/views/domain/DomainList.vue:50
#: src/views/environment/Environment.vue:105 #: src/views/environment/Environment.vue:105
@ -27,7 +23,7 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:307 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:308
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -40,16 +36,16 @@ msgstr ""
msgid "Add Location" msgid "Add Location"
msgstr "" msgstr ""
#: src/routes/index.ts:71 #: src/routes/index.ts:70
#: src/views/domain/DomainAdd.vue:91 #: src/views/domain/DomainAdd.vue:91
msgid "Add Site" msgid "Add Site"
msgstr "" msgstr ""
#: src/views/cert/DNSChallenge.vue:95 #: src/views/certificate/DNSChallenge.vue:95
msgid "Additional" msgid "Additional"
msgstr "" msgstr ""
#: src/views/domain/DomainEdit.vue:205 #: src/views/domain/DomainEdit.vue:204
msgid "Advance Mode" msgid "Advance Mode"
msgstr "" msgstr ""
@ -99,35 +95,35 @@ msgstr ""
msgid "Author" msgid "Author"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:38 #: src/views/certificate/Certificate.vue:46
#: src/views/domain/cert/ChangeCert.vue:37 #: src/views/domain/cert/ChangeCert.vue:37
msgid "Auto Cert" msgid "Auto Cert"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:92 #: src/views/certificate/Certificate.vue:105
msgid "Auto cert is enabled, please do not modify this certification." msgid "Auto Cert is enabled"
msgstr "" msgstr ""
#: src/views/nginx_log/NginxLog.vue:150 #: src/views/certificate/Certificate.vue:135
msgid "Auto Cert Log"
msgstr ""
#: src/views/nginx_log/NginxLog.vue:149
msgid "Auto Refresh" msgid "Auto Refresh"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:122 #: src/views/domain/cert/components/ObtainCert.vue:126
msgid "Auto-Cert Log"
msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:125
msgid "Auto-renewal disabled for %{name}" msgid "Auto-renewal disabled for %{name}"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:118 #: src/views/domain/cert/components/ObtainCert.vue:119
msgid "Auto-renewal enabled for %{name}" msgid "Auto-renewal enabled for %{name}"
msgstr "" msgstr ""
#: src/views/config/Config.vue:75 #: src/views/config/Config.vue:75
#: src/views/config/ConfigEdit.vue:89 #: src/views/config/ConfigEdit.vue:89
#: src/views/domain/DomainEdit.vue:262 #: src/views/domain/DomainEdit.vue:261
#: src/views/nginx_log/NginxLog.vue:171 #: src/views/nginx_log/NginxLog.vue:170
msgid "Back" msgid "Back"
msgstr "" msgstr ""
@ -140,12 +136,12 @@ msgid "Base information"
msgstr "" msgstr ""
#: src/views/config/ConfigEdit.vue:117 #: src/views/config/ConfigEdit.vue:117
#: src/views/domain/components/RightSettings.vue:71 #: src/views/domain/components/RightSettings.vue:73
#: src/views/preference/Preference.vue:92 #: src/views/preference/Preference.vue:90
msgid "Basic" msgid "Basic"
msgstr "" msgstr ""
#: src/views/domain/DomainEdit.vue:208 #: src/views/domain/DomainEdit.vue:207
msgid "Basic Mode" msgid "Basic Mode"
msgstr "" msgstr ""
@ -166,37 +162,38 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
#: src/views/domain/cert/components/ObtainCert.vue:210 #: src/views/domain/cert/components/ObtainCert.vue:211
#: src/views/domain/components/Deploy.vue:25 #: src/views/domain/components/Deploy.vue:24
#: src/views/domain/components/RightSettings.vue:51 #: src/views/domain/components/RightSettings.vue:52
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:216 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:216
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:48 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: src/views/domain/cert/CertInfo.vue:36 #: src/views/domain/cert/CertInfo.vue:35
msgid "Certificate has expired" msgid "Certificate has expired"
msgstr "" msgstr ""
#: src/views/domain/cert/CertInfo.vue:40 #: src/views/domain/cert/CertInfo.vue:39
msgid "Certificate is valid" msgid "Certificate is valid"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:132 #: src/views/certificate/Certificate.vue:145
#: src/views/domain/cert/Cert.vue:35 #: src/views/domain/cert/Cert.vue:35
msgid "Certificate Status" msgid "Certificate Status"
msgstr "" msgstr ""
#: src/routes/index.ts:101 #: src/routes/index.ts:100
#: src/views/cert/Cert.vue:84 #: src/views/certificate/Certificate.vue:96
msgid "Certification" msgid "Certificates"
msgstr "" msgstr ""
#: src/routes/index.ts:109 #: src/routes/index.ts:108
msgid "Certification List" msgid "Certificates List"
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:57 #: src/views/certificate/Certificate.vue:150
#: src/views/domain/cert/components/AutoCertStepOne.vue:63
msgid "Challenge Method" msgid "Challenge Method"
msgstr "" msgstr ""
@ -232,11 +229,11 @@ msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97
#: src/views/domain/ngx_conf/LocationEditor.vue:121 #: src/views/domain/ngx_conf/LocationEditor.vue:121
#: src/views/domain/ngx_conf/LocationEditor.vue:90 #: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:283 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:284
msgid "Comments" msgid "Comments"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:33 #: src/views/certificate/Certificate.vue:41
msgid "Config Name" msgid "Config Name"
msgstr "" msgstr ""
@ -244,7 +241,7 @@ msgstr ""
msgid "Config Templates" msgid "Config Templates"
msgstr "" msgstr ""
#: src/views/config/InspectConfig.vue:31 #: src/views/config/InspectConfig.vue:30
msgid "Configuration file is test successful" msgid "Configuration file is test successful"
msgstr "" msgstr ""
@ -298,7 +295,7 @@ msgstr ""
msgid "Credential" msgid "Credential"
msgstr "" msgstr ""
#: src/views/cert/DNSChallenge.vue:83 #: src/views/certificate/DNSChallenge.vue:83
msgid "Credentials" msgid "Credentials"
msgstr "" msgstr ""
@ -307,7 +304,7 @@ msgid "Current Version"
msgstr "" msgstr ""
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:240 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:241
msgid "Custom" msgid "Custom"
msgstr "" msgstr ""
@ -315,13 +312,13 @@ msgstr ""
msgid "Dashboard" msgid "Dashboard"
msgstr "" msgstr ""
#: src/views/other/Install.vue:122 #: src/views/other/Install.vue:124
msgid "Database (Optional, default: database)" msgid "Database (Optional, default: database)"
msgstr "" msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:354 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:354
#: src/views/domain/DomainList.vue:153 #: src/views/domain/DomainList.vue:153
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:258 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:259
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
@ -334,19 +331,19 @@ msgid "Deleted successfully"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:109 #: src/views/domain/components/Deploy.vue:109
#: src/views/domain/components/RightSettings.vue:89 #: src/views/domain/components/RightSettings.vue:91
msgid "Deploy" msgid "Deploy"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:67 #: src/views/domain/components/Deploy.vue:66
msgid "Deploy %{conf_name} to %{node_name} failed" msgid "Deploy %{conf_name} to %{node_name} failed"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:41 #: src/views/domain/components/Deploy.vue:40
msgid "Deploy %{conf_name} to %{node_name} successfully" msgid "Deploy %{conf_name} to %{node_name} successfully"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:39 #: src/views/domain/components/Deploy.vue:38
msgid "Deploy successfully" msgid "Deploy successfully"
msgstr "" msgstr ""
@ -375,18 +372,18 @@ msgstr ""
msgid "Disable" msgid "Disable"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:127 #: src/views/domain/cert/components/ObtainCert.vue:128
msgid "Disable auto-renewal failed for %{name}" msgid "Disable auto-renewal failed for %{name}"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:49 #: src/views/certificate/Certificate.vue:57
#: src/views/domain/cert/ChangeCert.vue:48 #: src/views/domain/cert/ChangeCert.vue:48
#: src/views/domain/DomainEdit.vue:191 #: src/views/domain/DomainEdit.vue:190
#: src/views/domain/DomainList.vue:123 #: src/views/domain/DomainList.vue:123
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#: src/views/domain/components/RightSettings.vue:38 #: src/views/domain/components/RightSettings.vue:39
#: src/views/domain/DomainList.vue:67 #: src/views/domain/DomainList.vue:67
msgid "Disabled successfully" msgid "Disabled successfully"
msgstr "" msgstr ""
@ -395,35 +392,35 @@ msgstr ""
msgid "Disk IO" msgid "Disk IO"
msgstr "" msgstr ""
#: src/routes/index.ts:114 #: src/routes/index.ts:113
#: src/views/cert/DNSCredential.vue:39 #: src/views/certificate/DNSCredential.vue:39
msgid "DNS Credentials" msgid "DNS Credentials"
msgstr "" msgstr ""
#: src/views/cert/DNSChallenge.vue:74 #: src/views/certificate/DNSChallenge.vue:74
#: src/views/domain/cert/components/DNSChallenge.vue:79 #: src/views/domain/cert/components/DNSChallenge.vue:79
msgid "DNS Provider" msgid "DNS Provider"
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:63 #: src/views/domain/cert/components/AutoCertStepOne.vue:69
msgid "DNS01" msgid "DNS01"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:20 #: src/views/domain/components/Deploy.vue:19
msgid "Do you want to deploy this file to remote server?" msgid "Do you want to deploy this file to remote server?"
msgid_plural "Do you want to deploy this file to remote servers?" msgid_plural "Do you want to deploy this file to remote servers?"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/views/domain/cert/components/ObtainCert.vue:206 #: src/views/domain/cert/components/ObtainCert.vue:207
msgid "Do you want to disable auto-cert renewal?" msgid "Do you want to disable auto-cert renewal?"
msgstr "" msgstr ""
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
msgid "Do you want to disable this site?" msgid "Do you want to disable this site?"
msgstr "" msgstr ""
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
msgid "Do you want to enable this site?" msgid "Do you want to enable this site?"
msgstr "" msgstr ""
@ -439,8 +436,8 @@ msgstr ""
msgid "Domain Config Created Successfully" msgid "Domain Config Created Successfully"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:112 #: src/views/certificate/Certificate.vue:125
msgid "Domains list is empty, try to reopen auto-cert for %{config}" msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
msgstr "" msgstr ""
#: src/language/constants.ts:29 #: src/language/constants.ts:29
@ -476,20 +473,20 @@ msgstr ""
msgid "Duplicate to local successfully" msgid "Duplicate to local successfully"
msgstr "" msgstr ""
#: src/views/domain/DomainEdit.vue:180 #: src/views/domain/DomainEdit.vue:179
msgid "Edit %{n}" msgid "Edit %{n}"
msgstr "" msgstr ""
#: src/routes/index.ts:93 #: src/routes/index.ts:92
#: src/views/config/ConfigEdit.vue:83 #: src/views/config/ConfigEdit.vue:83
msgid "Edit Configuration" msgid "Edit Configuration"
msgstr "" msgstr ""
#: src/routes/index.ts:75 #: src/routes/index.ts:74
msgid "Edit Site" msgid "Edit Site"
msgstr "" msgstr ""
#: src/views/other/Install.vue:91 #: src/views/other/Install.vue:93
msgid "Email (*)" msgid "Email (*)"
msgstr "" msgstr ""
@ -497,15 +494,15 @@ msgstr ""
msgid "Enable" msgid "Enable"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:56 #: src/views/domain/components/Deploy.vue:55
msgid "Enable %{conf_name} in %{node_name} failed" msgid "Enable %{conf_name} in %{node_name} failed"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:50 #: src/views/domain/components/Deploy.vue:49
msgid "Enable %{conf_name} in %{node_name} successfully" msgid "Enable %{conf_name} in %{node_name} successfully"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:120 #: src/views/domain/cert/components/ObtainCert.vue:121
msgid "Enable auto-renewal failed for %{name}" msgid "Enable auto-renewal failed for %{name}"
msgstr "" msgstr ""
@ -513,24 +510,24 @@ msgstr ""
msgid "Enable failed" msgid "Enable failed"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:48 #: src/views/domain/components/Deploy.vue:47
msgid "Enable successfully" msgid "Enable successfully"
msgstr "" msgstr ""
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:235 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:236
msgid "Enable TLS" msgid "Enable TLS"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:45 #: src/views/certificate/Certificate.vue:53
#: src/views/domain/cert/ChangeCert.vue:44 #: src/views/domain/cert/ChangeCert.vue:44
#: src/views/domain/components/Deploy.vue:89 #: src/views/domain/components/Deploy.vue:89
#: src/views/domain/components/RightSettings.vue:73 #: src/views/domain/components/RightSettings.vue:75
#: src/views/domain/DomainEdit.vue:185 #: src/views/domain/DomainEdit.vue:184
#: src/views/domain/DomainList.vue:131 #: src/views/domain/DomainList.vue:131
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
#: src/views/domain/components/RightSettings.vue:29 #: src/views/domain/components/RightSettings.vue:30
#: src/views/domain/components/SiteDuplicate.vue:100 #: src/views/domain/components/SiteDuplicate.vue:100
#: src/views/domain/DomainAdd.vue:45 #: src/views/domain/DomainAdd.vue:45
#: src/views/domain/DomainList.vue:58 #: src/views/domain/DomainList.vue:58
@ -541,7 +538,7 @@ msgstr ""
msgid "Encrypt website with Let's Encrypt" msgid "Encrypt website with Let's Encrypt"
msgstr "" msgstr ""
#: src/routes/index.ts:152 #: src/routes/index.ts:151
#: src/views/environment/Environment.vue:113 #: src/views/environment/Environment.vue:113
msgid "Environment" msgid "Environment"
msgstr "" msgstr ""
@ -550,11 +547,11 @@ msgstr ""
msgid "Environments" msgid "Environments"
msgstr "" msgstr ""
#: src/views/config/InspectConfig.vue:48 #: src/views/config/InspectConfig.vue:47
msgid "Error" msgid "Error"
msgstr "" msgstr ""
#: src/routes/index.ts:139 #: src/routes/index.ts:138
#: src/views/domain/ngx_conf/LogEntry.vue:86 #: src/views/domain/ngx_conf/LogEntry.vue:86
msgid "Error Logs" msgid "Error Logs"
msgstr "" msgstr ""
@ -563,17 +560,21 @@ msgstr ""
msgid "Executable Path" msgid "Executable Path"
msgstr "" msgstr ""
#: src/views/domain/cert/CertInfo.vue:27
msgid "Expired At: %{date}"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:296 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:296
msgid "Export" msgid "Export"
msgstr "" msgstr ""
#: src/views/domain/components/RightSettings.vue:41 #: src/views/domain/components/RightSettings.vue:42
#: src/views/domain/DomainList.vue:70 #: src/views/domain/DomainList.vue:70
msgid "Failed to disable %{msg}" msgid "Failed to disable %{msg}"
msgstr "" msgstr ""
#: src/views/domain/components/RightSettings.vue:32 #: src/views/domain/components/RightSettings.vue:33
#: src/views/domain/DomainList.vue:61 #: src/views/domain/DomainList.vue:61
msgid "Failed to enable %{msg}" msgid "Failed to enable %{msg}"
msgstr "" msgstr ""
@ -582,7 +583,7 @@ msgstr ""
msgid "Failed to get certificate information" msgid "Failed to get certificate information"
msgstr "" msgstr ""
#: src/views/domain/DomainEdit.vue:139 #: src/views/domain/DomainEdit.vue:138
msgid "Failed to save, syntax error(s) was detected in the configuration." msgid "Failed to save, syntax error(s) was detected in the configuration."
msgstr "" msgstr ""
@ -598,7 +599,7 @@ msgstr ""
msgid "File Not Found" msgid "File Not Found"
msgstr "" msgstr ""
#: src/views/nginx_log/NginxLog.vue:153 #: src/views/nginx_log/NginxLog.vue:152
msgid "Filter" msgid "Filter"
msgstr "" msgstr ""
@ -631,7 +632,7 @@ msgstr ""
msgid "Get release information error" msgid "Get release information error"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:63 #: src/views/domain/cert/components/ObtainCert.vue:64
msgid "Getting the certificate, please wait..." msgid "Getting the certificate, please wait..."
msgstr "" msgstr ""
@ -671,7 +672,7 @@ msgstr ""
msgid "HTTP Port" msgid "HTTP Port"
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:60 #: src/views/domain/cert/components/AutoCertStepOne.vue:66
msgid "HTTP01" msgid "HTTP01"
msgstr "" msgstr ""
@ -683,16 +684,16 @@ msgstr ""
msgid "Initialing core upgrader" msgid "Initialing core upgrader"
msgstr "" msgstr ""
#: src/routes/index.ts:195 #: src/routes/index.ts:194
#: src/views/other/Install.vue:137 #: src/views/other/Install.vue:139
msgid "Install" msgid "Install"
msgstr "" msgstr ""
#: src/views/other/Install.vue:67 #: src/views/other/Install.vue:68
msgid "Install successfully" msgid "Install successfully"
msgstr "" msgstr ""
#: src/views/domain/cert/CertInfo.vue:22 #: src/views/domain/cert/CertInfo.vue:21
msgid "Intermediate Certification Authorities: %{issuer}" msgid "Intermediate Certification Authorities: %{issuer}"
msgstr "" msgstr ""
@ -741,13 +742,13 @@ msgstr ""
msgid "Locations" msgid "Locations"
msgstr "" msgstr ""
#: src/routes/index.ts:201 #: src/routes/index.ts:200
#: src/views/other/Login.vue:147 #: src/views/other/Login.vue:147
msgid "Login" msgid "Login"
msgstr "" msgstr ""
#: src/views/other/Login.vue:53 #: src/views/other/Login.vue:51
#: src/views/other/Login.vue:99 #: src/views/other/Login.vue:97
msgid "Login successful" msgid "Login successful"
msgstr "" msgstr ""
@ -755,20 +756,20 @@ msgstr ""
msgid "Logout successful" msgid "Logout successful"
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:45 #: src/views/domain/cert/components/AutoCertStepOne.vue:51
msgid "Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort before obtaining the certificate." msgid "Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort before obtaining the certificate."
msgstr "" msgstr ""
#: src/routes/index.ts:84 #: src/routes/index.ts:83
msgid "Manage Configs" msgid "Manage Configs"
msgstr "" msgstr ""
#: src/routes/index.ts:59 #: src/routes/index.ts:58
#: src/views/domain/DomainList.vue:102 #: src/views/domain/DomainList.vue:102
msgid "Manage Sites" msgid "Manage Sites"
msgstr "" msgstr ""
#: src/routes/index.ts:160 #: src/routes/index.ts:159
#: src/views/user/User.vue:53 #: src/views/user/User.vue:53
msgid "Manage Users" msgid "Manage Users"
msgstr "" msgstr ""
@ -784,6 +785,7 @@ msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:256 #: src/components/ChatGPT/ChatGPT.vue:256
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:336 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:336
#: src/views/certificate/Certificate.vue:156
msgid "Modify" msgid "Modify"
msgstr "" msgstr ""
@ -795,11 +797,11 @@ msgstr ""
msgid "Multi-line Directive" msgid "Multi-line Directive"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:17 #: src/views/certificate/Certificate.vue:24
#: src/views/cert/DNSCredential.vue:13 #: src/views/certificate/DNSCredential.vue:13
#: src/views/config/config.ts:9 #: src/views/config/config.ts:9
#: src/views/domain/cert/ChangeCert.vue:21 #: src/views/domain/cert/ChangeCert.vue:21
#: src/views/domain/components/RightSettings.vue:79 #: src/views/domain/components/RightSettings.vue:81
#: src/views/domain/components/SiteDuplicate.vue:135 #: src/views/domain/components/SiteDuplicate.vue:135
#: src/views/domain/DomainList.vue:16 #: src/views/domain/DomainList.vue:16
#: src/views/environment/Environment.vue:15 #: src/views/environment/Environment.vue:15
@ -826,12 +828,12 @@ msgstr ""
msgid "New version released" msgid "New version released"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:278 #: src/views/domain/cert/components/ObtainCert.vue:281
#: src/views/domain/DomainAdd.vue:140 #: src/views/domain/DomainAdd.vue:140
msgid "Next" msgid "Next"
msgstr "" msgstr ""
#: src/views/preference/Preference.vue:98 #: src/views/preference/Preference.vue:96
msgid "Nginx" msgid "Nginx"
msgstr "" msgstr ""
@ -839,7 +841,7 @@ msgstr ""
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "" msgstr ""
#: src/views/domain/DomainEdit.vue:223 #: src/views/domain/DomainEdit.vue:222
msgid "Nginx Configuration Parse Error" msgid "Nginx Configuration Parse Error"
msgstr "" msgstr ""
@ -851,8 +853,8 @@ msgstr ""
msgid "Nginx Error Log Path" msgid "Nginx Error Log Path"
msgstr "" msgstr ""
#: src/routes/index.ts:129 #: src/routes/index.ts:128
#: src/views/nginx_log/NginxLog.vue:146 #: src/views/nginx_log/NginxLog.vue:145
msgid "Nginx Log" msgid "Nginx Log"
msgstr "" msgstr ""
@ -876,21 +878,21 @@ msgstr ""
msgid "Node Secret" msgid "Node Secret"
msgstr "" msgstr ""
#: src/routes/index.ts:207 #: src/routes/index.ts:206
#: src/routes/index.ts:209 #: src/routes/index.ts:208
msgid "Not Found" msgid "Not Found"
msgstr "" msgstr ""
#: src/views/domain/cert/CertInfo.vue:31 #: src/views/domain/cert/CertInfo.vue:30
msgid "Not Valid Before: %{date}" msgid "Not Valid Before: %{date}"
msgstr "" msgstr ""
#: src/views/cert/DNSCredential.vue:48 #: src/views/certificate/DNSCredential.vue:48
#: src/views/domain/cert/components/AutoCertStepOne.vue:32 #: src/views/domain/cert/components/AutoCertStepOne.vue:38
msgid "Note" msgid "Note"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:249 #: src/views/domain/cert/components/ObtainCert.vue:252
msgid "Obtain certificate" msgid "Obtain certificate"
msgstr "" msgstr ""
@ -909,15 +911,19 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:346 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:346
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
#: src/views/domain/cert/components/ObtainCert.vue:209 #: src/views/domain/cert/components/ObtainCert.vue:210
#: src/views/domain/components/Deploy.vue:24 #: src/views/domain/components/Deploy.vue:23
#: src/views/domain/components/RightSettings.vue:50 #: src/views/domain/components/RightSettings.vue:51
#: src/views/domain/DomainList.vue:144 #: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:215 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:215
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:47 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
msgid "OK" msgid "OK"
msgstr "" msgstr ""
#: src/views/certificate/DNSCredential.vue:58
msgid "Once the verification is complete, the records will be removed."
msgstr ""
#: src/components/NodeSelector/NodeSelector.vue:57 #: src/components/NodeSelector/NodeSelector.vue:57
#: src/components/NodeSelector/NodeSelector.vue:72 #: src/components/NodeSelector/NodeSelector.vue:72
#: src/views/dashboard/Environments.vue:100 #: src/views/dashboard/Environments.vue:100
@ -925,7 +931,7 @@ msgstr ""
msgid "Online" msgid "Online"
msgstr "" msgstr ""
#: src/views/preference/Preference.vue:104 #: src/views/preference/Preference.vue:102
msgid "OpenAI" msgid "OpenAI"
msgstr "" msgstr ""
@ -954,7 +960,7 @@ msgstr ""
msgid "Password" msgid "Password"
msgstr "" msgstr ""
#: src/views/other/Install.vue:111 #: src/views/other/Install.vue:113
msgid "Password (*)" msgid "Password (*)"
msgstr "" msgstr ""
@ -972,15 +978,11 @@ msgstr ""
msgid "Performing core upgrade" msgid "Performing core upgrade"
msgstr "" msgstr ""
#: src/views/cert/DNSCredential.vue:52 #: src/views/certificate/DNSCredential.vue:52
msgid "" msgid "Please fill in the API authentication credentials provided by your DNS provider."
"Please fill in the API authentication credentials provided by your DNS provider.\n"
"We will add one or more TXT records to the DNS records of your domain for ownership verification.\n"
"Once the verification is complete, the records will be removed.\n"
"Please note that the time configurations below are all in seconds."
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:49 #: src/views/domain/cert/components/AutoCertStepOne.vue:55
msgid "Please first add credentials in Certification > DNS Credentials, and then select one of the credentialsbelow to request the API of the DNS provider." msgid "Please first add credentials in Certification > DNS Credentials, and then select one of the credentialsbelow to request the API of the DNS provider."
msgstr "" msgstr ""
@ -988,20 +990,24 @@ msgstr ""
msgid "Please input name, this will be used as the filename of the new configuration!" msgid "Please input name, this will be used as the filename of the new configuration!"
msgstr "" msgstr ""
#: src/views/other/Install.vue:34 #: src/views/other/Install.vue:35
msgid "Please input your E-mail!" msgid "Please input your E-mail!"
msgstr "" msgstr ""
#: src/views/other/Install.vue:46 #: src/views/other/Install.vue:47
#: src/views/other/Login.vue:41 #: src/views/other/Login.vue:39
msgid "Please input your password!" msgid "Please input your password!"
msgstr "" msgstr ""
#: src/views/other/Install.vue:40 #: src/views/other/Install.vue:41
#: src/views/other/Login.vue:35 #: src/views/other/Login.vue:33
msgid "Please input your username!" msgid "Please input your username!"
msgstr "" msgstr ""
#: src/views/certificate/DNSCredential.vue:61
msgid "Please note that the unit of time configurations below are all in seconds."
msgstr ""
#: src/views/domain/components/SiteDuplicate.vue:47 #: src/views/domain/components/SiteDuplicate.vue:47
msgid "Please select at least one node!" msgid "Please select at least one node!"
msgstr "" msgstr ""
@ -1011,8 +1017,8 @@ msgstr ""
msgid "Pre-release" msgid "Pre-release"
msgstr "" msgstr ""
#: src/routes/index.ts:168 #: src/routes/index.ts:167
#: src/views/preference/Preference.vue:87 #: src/views/preference/Preference.vue:85
msgid "Preference" msgid "Preference"
msgstr "" msgstr ""
@ -1032,7 +1038,7 @@ msgstr ""
msgid "Project Team" msgid "Project Team"
msgstr "" msgstr ""
#: src/views/cert/DNSCredential.vue:21 #: src/views/certificate/DNSCredential.vue:21
msgid "Provider" msgid "Provider"
msgstr "" msgstr ""
@ -1101,9 +1107,9 @@ msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/ChatGPT/ChatGPT.vue:259
#: src/views/config/ConfigEdit.vue:98 #: src/views/config/ConfigEdit.vue:98
#: src/views/domain/DomainEdit.vue:269 #: src/views/domain/DomainEdit.vue:268
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/preference/Preference.vue:115 #: src/views/preference/Preference.vue:113
msgid "Save" msgid "Save"
msgstr "" msgstr ""
@ -1118,7 +1124,7 @@ msgid "Save error %{msg}"
msgstr "" msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
#: src/views/preference/Preference.vue:60 #: src/views/preference/Preference.vue:58
msgid "Save successfully" msgid "Save successfully"
msgstr "" msgstr ""
@ -1128,7 +1134,7 @@ msgstr ""
#: src/views/config/ConfigEdit.vue:57 #: src/views/config/ConfigEdit.vue:57
#: src/views/domain/DomainAdd.vue:41 #: src/views/domain/DomainAdd.vue:41
#: src/views/domain/DomainEdit.vue:155 #: src/views/domain/DomainEdit.vue:154
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39
msgid "Saved successfully" msgid "Saved successfully"
msgstr "" msgstr ""
@ -1150,8 +1156,8 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:157 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:157
#: src/views/config/ConfigEdit.vue:42 #: src/views/config/ConfigEdit.vue:42
#: src/views/domain/DomainList.vue:79 #: src/views/domain/DomainList.vue:79
#: src/views/other/Install.vue:71 #: src/views/other/Install.vue:72
#: src/views/preference/Preference.vue:62 #: src/views/preference/Preference.vue:60
#: src/views/system/Upgrade.vue:45 #: src/views/system/Upgrade.vue:45
msgid "Server error" msgid "Server error"
msgstr "" msgstr ""
@ -1160,11 +1166,11 @@ msgstr ""
msgid "Server Info" msgid "Server Info"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:164 #: src/views/domain/cert/components/ObtainCert.vue:165
msgid "server_name not found in directives" msgid "server_name not found in directives"
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:22 #: src/views/domain/cert/components/AutoCertStepOne.vue:27
#: src/views/domain/DomainAdd.vue:119 #: src/views/domain/DomainAdd.vue:119
msgid "server_name parameter is required" msgid "server_name parameter is required"
msgstr "" msgstr ""
@ -1177,30 +1183,30 @@ msgstr ""
msgid "Single Directive" msgid "Single Directive"
msgstr "" msgstr ""
#: src/routes/index.ts:143 #: src/routes/index.ts:142
msgid "Site Logs" msgid "Site Logs"
msgstr "" msgstr ""
#: src/routes/index.ts:67 #: src/routes/index.ts:66
msgid "Sites List" msgid "Sites List"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:64 #: src/views/certificate/Certificate.vue:164
msgid "SSL Certificate Content"
msgstr ""
#: src/views/certificate/Certificate.vue:171
msgid "SSL Certificate Key Content"
msgstr ""
#: src/views/certificate/Certificate.vue:73
msgid "SSL Certificate Key Path" msgid "SSL Certificate Key Path"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:57 #: src/views/certificate/Certificate.vue:65
msgid "SSL Certificate Path" msgid "SSL Certificate Path"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:139
msgid "SSL Certification Content"
msgstr ""
#: src/views/cert/Cert.vue:145
msgid "SSL Certification Key Content"
msgstr ""
#: src/views/other/Login.vue:158 #: src/views/other/Login.vue:158
msgid "SSO Login" msgid "SSO Login"
msgstr "" msgstr ""
@ -1223,7 +1229,7 @@ msgstr ""
msgid "Storage" msgid "Storage"
msgstr "" msgstr ""
#: src/views/domain/cert/CertInfo.vue:25 #: src/views/domain/cert/CertInfo.vue:24
msgid "Subject Name: %{subject}" msgid "Subject Name: %{subject}"
msgstr "" msgstr ""
@ -1239,7 +1245,7 @@ msgstr ""
msgid "Switch to light theme" msgid "Switch to light theme"
msgstr "" msgstr ""
#: src/routes/index.ts:176 #: src/routes/index.ts:175
msgid "System" msgid "System"
msgstr "" msgstr ""
@ -1251,7 +1257,7 @@ msgstr ""
msgid "Target" msgid "Target"
msgstr "" msgstr ""
#: src/routes/index.ts:121 #: src/routes/index.ts:120
#: src/views/pty/Terminal.vue:95 #: src/views/pty/Terminal.vue:95
msgid "Terminal" msgid "Terminal"
msgstr "" msgstr ""
@ -1260,15 +1266,15 @@ msgstr ""
msgid "Terminal Start Command" msgid "Terminal Start Command"
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:41 #: src/views/domain/cert/components/AutoCertStepOne.vue:47
msgid "The certificate for the domain will be checked 5 minutes, and will be renewed if it has been more than 1 week since it was last issued." msgid "The certificate for the domain will be checked 5 minutes, and will be renewed if it has been more than 1 week since it was last issued."
msgstr "" msgstr ""
#: src/views/other/Install.vue:52 #: src/views/other/Install.vue:53
msgid "The filename cannot contain the following characters: %{c}" msgid "The filename cannot contain the following characters: %{c}"
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:36 #: src/views/domain/cert/components/AutoCertStepOne.vue:42
msgid "The server_name in the current configuration must be the domain name you need to get the certificate, supportmultiple domains." msgid "The server_name in the current configuration must be the domain name you need to get the certificate, supportmultiple domains."
msgstr "" msgstr ""
@ -1276,8 +1282,8 @@ msgstr ""
msgid "The username or password is incorrect" msgid "The username or password is incorrect"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:102 #: src/views/certificate/Certificate.vue:115
msgid "This auto-cert item is invalid, please remove it." msgid "This Auto Cert item is invalid, please remove it."
msgstr "" msgstr ""
#: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31 #: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31
@ -1292,11 +1298,11 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "" msgstr ""
#: src/views/cert/Cert.vue:71 #: src/views/certificate/Certificate.vue:81
#: src/views/cert/DNSCredential.vue:26 #: src/views/certificate/DNSCredential.vue:26
#: src/views/config/config.ts:29 #: src/views/config/config.ts:29
#: src/views/config/ConfigEdit.vue:123 #: src/views/config/ConfigEdit.vue:123
#: src/views/domain/components/RightSettings.vue:82 #: src/views/domain/components/RightSettings.vue:84
#: src/views/domain/DomainList.vue:44 #: src/views/domain/DomainList.vue:44
#: src/views/environment/Environment.vue:98 #: src/views/environment/Environment.vue:98
#: src/views/user/User.vue:40 #: src/views/user/User.vue:40
@ -1307,7 +1313,7 @@ msgstr ""
msgid "Updated successfully" msgid "Updated successfully"
msgstr "" msgstr ""
#: src/routes/index.ts:187 #: src/routes/index.ts:186
#: src/views/system/Upgrade.vue:143 #: src/views/system/Upgrade.vue:143
#: src/views/system/Upgrade.vue:235 #: src/views/system/Upgrade.vue:235
msgid "Upgrade" msgid "Upgrade"
@ -1338,7 +1344,7 @@ msgstr ""
msgid "Username" msgid "Username"
msgstr "" msgstr ""
#: src/views/other/Install.vue:101 #: src/views/other/Install.vue:103
msgid "Username (*)" msgid "Username (*)"
msgstr "" msgstr ""
@ -1354,13 +1360,17 @@ msgstr ""
msgid "View" msgid "View"
msgstr "" msgstr ""
#: src/views/config/InspectConfig.vue:37 #: src/views/config/InspectConfig.vue:36
#: src/views/domain/cert/components/AutoCertStepOne.vue:16 #: src/views/domain/cert/components/AutoCertStepOne.vue:21
#: src/views/domain/DomainAdd.vue:114 #: src/views/domain/DomainAdd.vue:114
msgid "Warning" msgid "Warning"
msgstr "" msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:207 #: src/views/certificate/DNSCredential.vue:55
msgid "We will add one or more TXT records to the DNS records of your domain for ownership verification."
msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:208
msgid "We will remove the HTTPChallenge configuration from this file and reload the Nginx. Are you sure you want to continue?" msgid "We will remove the HTTPChallenge configuration from this file and reload the Nginx. Are you sure you want to continue?"
msgstr "" msgstr ""

View file

@ -9,29 +9,25 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/views/domain/cert/CertInfo.vue:28 #: src/routes/index.ts:182
#, fuzzy
msgid " Expiration Date: %{date}"
msgstr "Дата окончания срока: %{date}"
#: src/routes/index.ts:183
msgid "About" msgid "About"
msgstr "О проекте" msgstr "О проекте"
#: src/routes/index.ts:135 src/views/domain/ngx_conf/LogEntry.vue:78 #: src/routes/index.ts:134 src/views/domain/ngx_conf/LogEntry.vue:78
msgid "Access Logs" msgid "Access Logs"
msgstr "Журнал доступа" msgstr "Журнал доступа"
#: src/views/cert/Cert.vue:77 src/views/cert/DNSCredential.vue:32 #: src/views/certificate/Certificate.vue:87
#: src/views/config/config.ts:36 src/views/domain/DomainList.vue:50 #: src/views/certificate/DNSCredential.vue:32 src/views/config/config.ts:36
#: src/views/environment/Environment.vue:105 src/views/user/User.vue:46 #: src/views/domain/DomainList.vue:50 src/views/environment/Environment.vue:105
#: src/views/user/User.vue:46
msgid "Action" msgid "Action"
msgstr "Действие" msgstr "Действие"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:307 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:308
msgid "Add" msgid "Add"
msgstr "Добавить" msgstr "Добавить"
@ -44,16 +40,16 @@ msgstr "Добавить директиву ниже"
msgid "Add Location" msgid "Add Location"
msgstr "Добавить Location" msgstr "Добавить Location"
#: src/routes/index.ts:71 src/views/domain/DomainAdd.vue:91 #: src/routes/index.ts:70 src/views/domain/DomainAdd.vue:91
msgid "Add Site" msgid "Add Site"
msgstr "Добавть Сайт" msgstr "Добавть Сайт"
#: src/views/cert/DNSChallenge.vue:95 #: src/views/certificate/DNSChallenge.vue:95
#, fuzzy #, fuzzy
msgid "Additional" msgid "Additional"
msgstr "Дополнительно" msgstr "Дополнительно"
#: src/views/domain/DomainEdit.vue:205 #: src/views/domain/DomainEdit.vue:204
msgid "Advance Mode" msgid "Advance Mode"
msgstr "Расширенный режим" msgstr "Расширенный режим"
@ -106,32 +102,35 @@ msgstr ""
msgid "Author" msgid "Author"
msgstr "Автор" msgstr "Автор"
#: src/views/cert/Cert.vue:38 src/views/domain/cert/ChangeCert.vue:37 #: src/views/certificate/Certificate.vue:46
#: src/views/domain/cert/ChangeCert.vue:37
msgid "Auto Cert" msgid "Auto Cert"
msgstr "Авто Сертификат" msgstr "Авто Сертификат"
#: src/views/cert/Cert.vue:92 #: src/views/certificate/Certificate.vue:105
msgid "Auto cert is enabled, please do not modify this certification." #, fuzzy
msgstr "Включено автомотическое получения сертификата. Не правте руками." msgid "Auto Cert is enabled"
msgstr "Авто Сертификат"
#: src/views/nginx_log/NginxLog.vue:150 #: src/views/certificate/Certificate.vue:135
#, fuzzy
msgid "Auto Cert Log"
msgstr "Логирование авто-сертификата"
#: src/views/nginx_log/NginxLog.vue:149
msgid "Auto Refresh" msgid "Auto Refresh"
msgstr "Автообновление" msgstr "Автообновление"
#: src/views/cert/Cert.vue:122 #: src/views/domain/cert/components/ObtainCert.vue:126
msgid "Auto-Cert Log"
msgstr "Логирование авто-сертификата"
#: src/views/domain/cert/components/ObtainCert.vue:125
msgid "Auto-renewal disabled for %{name}" msgid "Auto-renewal disabled for %{name}"
msgstr "Автообновление отключено для %{name}" msgstr "Автообновление отключено для %{name}"
#: src/views/domain/cert/components/ObtainCert.vue:118 #: src/views/domain/cert/components/ObtainCert.vue:119
msgid "Auto-renewal enabled for %{name}" msgid "Auto-renewal enabled for %{name}"
msgstr "Автообновление включено для %{name}" msgstr "Автообновление включено для %{name}"
#: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89 #: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89
#: src/views/domain/DomainEdit.vue:262 src/views/nginx_log/NginxLog.vue:171 #: src/views/domain/DomainEdit.vue:261 src/views/nginx_log/NginxLog.vue:170
msgid "Back" msgid "Back"
msgstr "Назад" msgstr "Назад"
@ -145,13 +144,13 @@ msgid "Base information"
msgstr "Основная информация" msgstr "Основная информация"
#: src/views/config/ConfigEdit.vue:117 #: src/views/config/ConfigEdit.vue:117
#: src/views/domain/components/RightSettings.vue:71 #: src/views/domain/components/RightSettings.vue:73
#: src/views/preference/Preference.vue:92 #: src/views/preference/Preference.vue:90
#, fuzzy #, fuzzy
msgid "Basic" msgid "Basic"
msgstr "Простой режим" msgstr "Простой режим"
#: src/views/domain/DomainEdit.vue:208 #: src/views/domain/DomainEdit.vue:207
msgid "Basic Mode" msgid "Basic Mode"
msgstr "Простой режим" msgstr "Простой режим"
@ -173,37 +172,38 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
#: src/views/domain/cert/components/ObtainCert.vue:210 #: src/views/domain/cert/components/ObtainCert.vue:211
#: src/views/domain/components/Deploy.vue:25 #: src/views/domain/components/Deploy.vue:24
#: src/views/domain/components/RightSettings.vue:51 #: src/views/domain/components/RightSettings.vue:52
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:216 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:216
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:48 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
msgid "Cancel" msgid "Cancel"
msgstr "Отмена" msgstr "Отмена"
#: src/views/domain/cert/CertInfo.vue:36 #: src/views/domain/cert/CertInfo.vue:35
msgid "Certificate has expired" msgid "Certificate has expired"
msgstr "Срок действия сертификата истек" msgstr "Срок действия сертификата истек"
#: src/views/domain/cert/CertInfo.vue:40 #: src/views/domain/cert/CertInfo.vue:39
msgid "Certificate is valid" msgid "Certificate is valid"
msgstr "Сертификат действителен" msgstr "Сертификат действителен"
#: src/views/cert/Cert.vue:132 src/views/domain/cert/Cert.vue:35 #: src/views/certificate/Certificate.vue:145 src/views/domain/cert/Cert.vue:35
msgid "Certificate Status" msgid "Certificate Status"
msgstr "Статус сертификата" msgstr "Статус сертификата"
#: src/routes/index.ts:101 src/views/cert/Cert.vue:84 #: src/routes/index.ts:100 src/views/certificate/Certificate.vue:96
#, fuzzy #, fuzzy
msgid "Certification" msgid "Certificates"
msgstr "Сертификат" msgstr "Статус сертификата"
#: src/routes/index.ts:109 #: src/routes/index.ts:108
#, fuzzy #, fuzzy
msgid "Certification List" msgid "Certificates List"
msgstr "Список" msgstr "Список"
#: src/views/domain/cert/components/AutoCertStepOne.vue:57 #: src/views/certificate/Certificate.vue:150
#: src/views/domain/cert/components/AutoCertStepOne.vue:63
msgid "Challenge Method" msgid "Challenge Method"
msgstr "Метод Challenge" msgstr "Метод Challenge"
@ -240,11 +240,11 @@ msgstr "Очистить"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97
#: src/views/domain/ngx_conf/LocationEditor.vue:121 #: src/views/domain/ngx_conf/LocationEditor.vue:121
#: src/views/domain/ngx_conf/LocationEditor.vue:90 #: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:283 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:284
msgid "Comments" msgid "Comments"
msgstr "Комментарии" msgstr "Комментарии"
#: src/views/cert/Cert.vue:33 #: src/views/certificate/Certificate.vue:41
#, fuzzy #, fuzzy
msgid "Config Name" msgid "Config Name"
msgstr "Название конфигурации" msgstr "Название конфигурации"
@ -254,7 +254,7 @@ msgstr "Название конфигурации"
msgid "Config Templates" msgid "Config Templates"
msgstr "Шаблоны конфигураций" msgstr "Шаблоны конфигураций"
#: src/views/config/InspectConfig.vue:31 #: src/views/config/InspectConfig.vue:30
msgid "Configuration file is test successful" msgid "Configuration file is test successful"
msgstr "Проверка конфигурации успешна" msgstr "Проверка конфигурации успешна"
@ -308,7 +308,7 @@ msgstr ""
msgid "Credential" msgid "Credential"
msgstr "Учетные данные" msgstr "Учетные данные"
#: src/views/cert/DNSChallenge.vue:83 #: src/views/certificate/DNSChallenge.vue:83
msgid "Credentials" msgid "Credentials"
msgstr "Учетные данные" msgstr "Учетные данные"
@ -317,7 +317,7 @@ msgid "Current Version"
msgstr "Текущяя версия" msgstr "Текущяя версия"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:240 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:241
msgid "Custom" msgid "Custom"
msgstr "Пользовательский" msgstr "Пользовательский"
@ -325,13 +325,13 @@ msgstr "Пользовательский"
msgid "Dashboard" msgid "Dashboard"
msgstr "Доска" msgstr "Доска"
#: src/views/other/Install.vue:122 #: src/views/other/Install.vue:124
msgid "Database (Optional, default: database)" msgid "Database (Optional, default: database)"
msgstr "База данных (Опционально, по умолчанию: database)" msgstr "База данных (Опционально, по умолчанию: database)"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:354 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:354
#: src/views/domain/DomainList.vue:153 #: src/views/domain/DomainList.vue:153
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:258 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:259
msgid "Delete" msgid "Delete"
msgstr "Удалить" msgstr "Удалить"
@ -345,19 +345,19 @@ msgid "Deleted successfully"
msgstr "Отключено успешно" msgstr "Отключено успешно"
#: src/views/domain/components/Deploy.vue:109 #: src/views/domain/components/Deploy.vue:109
#: src/views/domain/components/RightSettings.vue:89 #: src/views/domain/components/RightSettings.vue:91
msgid "Deploy" msgid "Deploy"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:67 #: src/views/domain/components/Deploy.vue:66
msgid "Deploy %{conf_name} to %{node_name} failed" msgid "Deploy %{conf_name} to %{node_name} failed"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:41 #: src/views/domain/components/Deploy.vue:40
msgid "Deploy %{conf_name} to %{node_name} successfully" msgid "Deploy %{conf_name} to %{node_name} successfully"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:39 #: src/views/domain/components/Deploy.vue:38
#, fuzzy #, fuzzy
msgid "Deploy successfully" msgid "Deploy successfully"
msgstr "Saved successfully" msgstr "Saved successfully"
@ -389,16 +389,17 @@ msgstr "Деректива"
msgid "Disable" msgid "Disable"
msgstr "Отключить" msgstr "Отключить"
#: src/views/domain/cert/components/ObtainCert.vue:127 #: src/views/domain/cert/components/ObtainCert.vue:128
msgid "Disable auto-renewal failed for %{name}" msgid "Disable auto-renewal failed for %{name}"
msgstr "Не удалось отключить автоматическое продление для %{name}" msgstr "Не удалось отключить автоматическое продление для %{name}"
#: src/views/cert/Cert.vue:49 src/views/domain/cert/ChangeCert.vue:48 #: src/views/certificate/Certificate.vue:57
#: src/views/domain/DomainEdit.vue:191 src/views/domain/DomainList.vue:123 #: src/views/domain/cert/ChangeCert.vue:48 src/views/domain/DomainEdit.vue:190
#: src/views/domain/DomainList.vue:123
msgid "Disabled" msgid "Disabled"
msgstr "Отключено" msgstr "Отключено"
#: src/views/domain/components/RightSettings.vue:38 #: src/views/domain/components/RightSettings.vue:39
#: src/views/domain/DomainList.vue:67 #: src/views/domain/DomainList.vue:67
msgid "Disabled successfully" msgid "Disabled successfully"
msgstr "Отключено успешно" msgstr "Отключено успешно"
@ -407,36 +408,36 @@ msgstr "Отключено успешно"
msgid "Disk IO" msgid "Disk IO"
msgstr "Нагрузка на Диск IO" msgstr "Нагрузка на Диск IO"
#: src/routes/index.ts:114 src/views/cert/DNSCredential.vue:39 #: src/routes/index.ts:113 src/views/certificate/DNSCredential.vue:39
msgid "DNS Credentials" msgid "DNS Credentials"
msgstr "" msgstr ""
#: src/views/cert/DNSChallenge.vue:74 #: src/views/certificate/DNSChallenge.vue:74
#: src/views/domain/cert/components/DNSChallenge.vue:79 #: src/views/domain/cert/components/DNSChallenge.vue:79
msgid "DNS Provider" msgid "DNS Provider"
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:63 #: src/views/domain/cert/components/AutoCertStepOne.vue:69
msgid "DNS01" msgid "DNS01"
msgstr "" msgstr ""
#: src/views/domain/components/Deploy.vue:20 #: src/views/domain/components/Deploy.vue:19
#, fuzzy #, fuzzy
msgid "Do you want to deploy this file to remote server?" msgid "Do you want to deploy this file to remote server?"
msgid_plural "Do you want to deploy this file to remote servers?" msgid_plural "Do you want to deploy this file to remote servers?"
msgstr[0] "Are you sure you want to remove this directive?" msgstr[0] "Are you sure you want to remove this directive?"
msgstr[1] "Are you sure you want to remove this directive?" msgstr[1] "Are you sure you want to remove this directive?"
#: src/views/domain/cert/components/ObtainCert.vue:206 #: src/views/domain/cert/components/ObtainCert.vue:207
msgid "Do you want to disable auto-cert renewal?" msgid "Do you want to disable auto-cert renewal?"
msgstr "Вы хотите отключить автоматическое обновление сертификата?" msgstr "Вы хотите отключить автоматическое обновление сертификата?"
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
#, fuzzy #, fuzzy
msgid "Do you want to disable this site?" msgid "Do you want to disable this site?"
msgstr "Вы хотите отключить этот сайт?" msgstr "Вы хотите отключить этот сайт?"
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
#, fuzzy #, fuzzy
msgid "Do you want to enable this site?" msgid "Do you want to enable this site?"
msgstr "Вы хотите включить этот сайт?" msgstr "Вы хотите включить этот сайт?"
@ -455,8 +456,9 @@ msgstr "Вы хотите удалить этот сервер?"
msgid "Domain Config Created Successfully" msgid "Domain Config Created Successfully"
msgstr "Конфигурация домена успешно создана" msgstr "Конфигурация домена успешно создана"
#: src/views/cert/Cert.vue:112 #: src/views/certificate/Certificate.vue:125
msgid "Domains list is empty, try to reopen auto-cert for %{config}" #, fuzzy
msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
msgstr "" msgstr ""
"Список доменов пуст, попробуйте заново открыть авто-сертификат для %{config}" "Список доменов пуст, попробуйте заново открыть авто-сертификат для %{config}"
@ -497,19 +499,19 @@ msgstr "Продублированно"
msgid "Duplicate to local successfully" msgid "Duplicate to local successfully"
msgstr "Saved successfully" msgstr "Saved successfully"
#: src/views/domain/DomainEdit.vue:180 #: src/views/domain/DomainEdit.vue:179
msgid "Edit %{n}" msgid "Edit %{n}"
msgstr "Редактировать %{n}" msgstr "Редактировать %{n}"
#: src/routes/index.ts:93 src/views/config/ConfigEdit.vue:83 #: src/routes/index.ts:92 src/views/config/ConfigEdit.vue:83
msgid "Edit Configuration" msgid "Edit Configuration"
msgstr "Редактировать Конфигурацию" msgstr "Редактировать Конфигурацию"
#: src/routes/index.ts:75 #: src/routes/index.ts:74
msgid "Edit Site" msgid "Edit Site"
msgstr "Редактировать Сайт" msgstr "Редактировать Сайт"
#: src/views/other/Install.vue:91 #: src/views/other/Install.vue:93
msgid "Email (*)" msgid "Email (*)"
msgstr "Email (*)" msgstr "Email (*)"
@ -518,15 +520,15 @@ msgstr "Email (*)"
msgid "Enable" msgid "Enable"
msgstr "Включить" msgstr "Включить"
#: src/views/domain/components/Deploy.vue:56 #: src/views/domain/components/Deploy.vue:55
msgid "Enable %{conf_name} in %{node_name} failed" msgid "Enable %{conf_name} in %{node_name} failed"
msgstr "Включение %{conf_name} in %{node_name} нипалучилася" msgstr "Включение %{conf_name} in %{node_name} нипалучилася"
#: src/views/domain/components/Deploy.vue:50 #: src/views/domain/components/Deploy.vue:49
msgid "Enable %{conf_name} in %{node_name} successfully" msgid "Enable %{conf_name} in %{node_name} successfully"
msgstr "Включение %{conf_name} in %{node_name} успешно" msgstr "Включение %{conf_name} in %{node_name} успешно"
#: src/views/domain/cert/components/ObtainCert.vue:120 #: src/views/domain/cert/components/ObtainCert.vue:121
msgid "Enable auto-renewal failed for %{name}" msgid "Enable auto-renewal failed for %{name}"
msgstr "Не удалось включить автоматическое продление для %{name}" msgstr "Не удалось включить автоматическое продление для %{name}"
@ -534,23 +536,24 @@ msgstr "Не удалось включить автоматическое про
msgid "Enable failed" msgid "Enable failed"
msgstr "Включить не удалось" msgstr "Включить не удалось"
#: src/views/domain/components/Deploy.vue:48 #: src/views/domain/components/Deploy.vue:47
#, fuzzy #, fuzzy
msgid "Enable successfully" msgid "Enable successfully"
msgstr "Активировано успешно" msgstr "Активировано успешно"
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:235 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:236
msgid "Enable TLS" msgid "Enable TLS"
msgstr "Включить TLS" msgstr "Включить TLS"
#: src/views/cert/Cert.vue:45 src/views/domain/cert/ChangeCert.vue:44 #: src/views/certificate/Certificate.vue:53
#: src/views/domain/cert/ChangeCert.vue:44
#: src/views/domain/components/Deploy.vue:89 #: src/views/domain/components/Deploy.vue:89
#: src/views/domain/components/RightSettings.vue:73 #: src/views/domain/components/RightSettings.vue:75
#: src/views/domain/DomainEdit.vue:185 src/views/domain/DomainList.vue:131 #: src/views/domain/DomainEdit.vue:184 src/views/domain/DomainList.vue:131
msgid "Enabled" msgid "Enabled"
msgstr "Включено" msgstr "Включено"
#: src/views/domain/components/RightSettings.vue:29 #: src/views/domain/components/RightSettings.vue:30
#: src/views/domain/components/SiteDuplicate.vue:100 #: src/views/domain/components/SiteDuplicate.vue:100
#: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58 #: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58
msgid "Enabled successfully" msgid "Enabled successfully"
@ -560,7 +563,7 @@ msgstr "Активировано успешно"
msgid "Encrypt website with Let's Encrypt" msgid "Encrypt website with Let's Encrypt"
msgstr "Использовать для сайта Let's Encrypt" msgstr "Использовать для сайта Let's Encrypt"
#: src/routes/index.ts:152 src/views/environment/Environment.vue:113 #: src/routes/index.ts:151 src/views/environment/Environment.vue:113
msgid "Environment" msgid "Environment"
msgstr "Окружение" msgstr "Окружение"
@ -569,11 +572,11 @@ msgstr "Окружение"
msgid "Environments" msgid "Environments"
msgstr "Комментарии" msgstr "Комментарии"
#: src/views/config/InspectConfig.vue:48 #: src/views/config/InspectConfig.vue:47
msgid "Error" msgid "Error"
msgstr "Ошибка" msgstr "Ошибка"
#: src/routes/index.ts:139 src/views/domain/ngx_conf/LogEntry.vue:86 #: src/routes/index.ts:138 src/views/domain/ngx_conf/LogEntry.vue:86
msgid "Error Logs" msgid "Error Logs"
msgstr "Ошибка логирования" msgstr "Ошибка логирования"
@ -581,17 +584,22 @@ msgstr "Ошибка логирования"
msgid "Executable Path" msgid "Executable Path"
msgstr "Исполняемый путь" msgstr "Исполняемый путь"
#: src/views/domain/cert/CertInfo.vue:27
#, fuzzy
msgid "Expired At: %{date}"
msgstr "Дата окончания срока: %{date}"
#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:296 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:296
msgid "Export" msgid "Export"
msgstr "Экспорт" msgstr "Экспорт"
#: src/views/domain/components/RightSettings.vue:41 #: src/views/domain/components/RightSettings.vue:42
#: src/views/domain/DomainList.vue:70 #: src/views/domain/DomainList.vue:70
msgid "Failed to disable %{msg}" msgid "Failed to disable %{msg}"
msgstr "Не удалось отключить %{msg}" msgstr "Не удалось отключить %{msg}"
#: src/views/domain/components/RightSettings.vue:32 #: src/views/domain/components/RightSettings.vue:33
#: src/views/domain/DomainList.vue:61 #: src/views/domain/DomainList.vue:61
msgid "Failed to enable %{msg}" msgid "Failed to enable %{msg}"
msgstr "Не удалось включить %{msg}" msgstr "Не удалось включить %{msg}"
@ -600,7 +608,7 @@ msgstr "Не удалось включить %{msg}"
msgid "Failed to get certificate information" msgid "Failed to get certificate information"
msgstr "Не удалось получить информацию о сертификате" msgstr "Не удалось получить информацию о сертификате"
#: src/views/domain/DomainEdit.vue:139 #: src/views/domain/DomainEdit.vue:138
msgid "Failed to save, syntax error(s) was detected in the configuration." msgid "Failed to save, syntax error(s) was detected in the configuration."
msgstr "Не удалось сохранить, обнаружены синтаксические ошибки в конфигурации." msgstr "Не удалось сохранить, обнаружены синтаксические ошибки в конфигурации."
@ -616,7 +624,7 @@ msgstr "Файл существует"
msgid "File Not Found" msgid "File Not Found"
msgstr "Файл не найден" msgstr "Файл не найден"
#: src/views/nginx_log/NginxLog.vue:153 #: src/views/nginx_log/NginxLog.vue:152
msgid "Filter" msgid "Filter"
msgstr "Фильтр" msgstr "Фильтр"
@ -651,7 +659,7 @@ msgstr "Генерация приватного ключа для регистр
msgid "Get release information error" msgid "Get release information error"
msgstr "Ошибка получения информации о релизе" msgstr "Ошибка получения информации о релизе"
#: src/views/domain/cert/components/ObtainCert.vue:63 #: src/views/domain/cert/components/ObtainCert.vue:64
msgid "Getting the certificate, please wait..." msgid "Getting the certificate, please wait..."
msgstr "Получение сертификата, пожалуйста, подождите..." msgstr "Получение сертификата, пожалуйста, подождите..."
@ -691,7 +699,7 @@ msgstr "Хостинг HTTP"
msgid "HTTP Port" msgid "HTTP Port"
msgstr "Порт HTTP" msgstr "Порт HTTP"
#: src/views/domain/cert/components/AutoCertStepOne.vue:60 #: src/views/domain/cert/components/AutoCertStepOne.vue:66
msgid "HTTP01" msgid "HTTP01"
msgstr "" msgstr ""
@ -703,16 +711,16 @@ msgstr "Ошибка первоначального обновления ядр
msgid "Initialing core upgrader" msgid "Initialing core upgrader"
msgstr "Инициализация программы обновления ядра" msgstr "Инициализация программы обновления ядра"
#: src/routes/index.ts:195 src/views/other/Install.vue:137 #: src/routes/index.ts:194 src/views/other/Install.vue:139
msgid "Install" msgid "Install"
msgstr "Установить" msgstr "Установить"
#: src/views/other/Install.vue:67 #: src/views/other/Install.vue:68
#, fuzzy #, fuzzy
msgid "Install successfully" msgid "Install successfully"
msgstr "Установленно" msgstr "Установленно"
#: src/views/domain/cert/CertInfo.vue:22 #: src/views/domain/cert/CertInfo.vue:21
msgid "Intermediate Certification Authorities: %{issuer}" msgid "Intermediate Certification Authorities: %{issuer}"
msgstr "Промежуточные центры сертификации: %{issuer}" msgstr "Промежуточные центры сертификации: %{issuer}"
@ -765,11 +773,11 @@ msgstr "Location"
msgid "Locations" msgid "Locations"
msgstr "Locations" msgstr "Locations"
#: src/routes/index.ts:201 src/views/other/Login.vue:147 #: src/routes/index.ts:200 src/views/other/Login.vue:147
msgid "Login" msgid "Login"
msgstr "Логин" msgstr "Логин"
#: src/views/other/Login.vue:53 src/views/other/Login.vue:99 #: src/views/other/Login.vue:51 src/views/other/Login.vue:97
msgid "Login successful" msgid "Login successful"
msgstr "Авторизация успешна" msgstr "Авторизация успешна"
@ -777,7 +785,7 @@ msgstr "Авторизация успешна"
msgid "Logout successful" msgid "Logout successful"
msgstr "Выход выполнен успешно" msgstr "Выход выполнен успешно"
#: src/views/domain/cert/components/AutoCertStepOne.vue:45 #: src/views/domain/cert/components/AutoCertStepOne.vue:51
#, fuzzy #, fuzzy
msgid "" msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to " "Make sure you have configured a reverse proxy for .well-known directory to "
@ -786,15 +794,15 @@ msgstr ""
"Убедитесь, что вы настроили обратный прокси-сервер для каталога .well-known " "Убедитесь, что вы настроили обратный прокси-сервер для каталога .well-known "
"на HTTPChallengePort перед получением сертификата»." "на HTTPChallengePort перед получением сертификата»."
#: src/routes/index.ts:84 #: src/routes/index.ts:83
msgid "Manage Configs" msgid "Manage Configs"
msgstr "Конфигурации" msgstr "Конфигурации"
#: src/routes/index.ts:59 src/views/domain/DomainList.vue:102 #: src/routes/index.ts:58 src/views/domain/DomainList.vue:102
msgid "Manage Sites" msgid "Manage Sites"
msgstr "Сайты" msgstr "Сайты"
#: src/routes/index.ts:160 src/views/user/User.vue:53 #: src/routes/index.ts:159 src/views/user/User.vue:53
msgid "Manage Users" msgid "Manage Users"
msgstr "Пользователи" msgstr "Пользователи"
@ -809,6 +817,7 @@ msgstr "Память и хранилище"
#: src/components/ChatGPT/ChatGPT.vue:256 #: src/components/ChatGPT/ChatGPT.vue:256
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:336 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:336
#: src/views/certificate/Certificate.vue:156
#, fuzzy #, fuzzy
msgid "Modify" msgid "Modify"
msgstr "Изменить" msgstr "Изменить"
@ -822,9 +831,10 @@ msgstr "Изменить конфигурацию"
msgid "Multi-line Directive" msgid "Multi-line Directive"
msgstr "Одиночная директива" msgstr "Одиночная директива"
#: src/views/cert/Cert.vue:17 src/views/cert/DNSCredential.vue:13 #: src/views/certificate/Certificate.vue:24
#: src/views/config/config.ts:9 src/views/domain/cert/ChangeCert.vue:21 #: src/views/certificate/DNSCredential.vue:13 src/views/config/config.ts:9
#: src/views/domain/components/RightSettings.vue:79 #: src/views/domain/cert/ChangeCert.vue:21
#: src/views/domain/components/RightSettings.vue:81
#: src/views/domain/components/SiteDuplicate.vue:135 #: src/views/domain/components/SiteDuplicate.vue:135
#: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15 #: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15
msgid "Name" msgid "Name"
@ -850,12 +860,12 @@ msgstr "Всего отправлено"
msgid "New version released" msgid "New version released"
msgstr "Вышла новая версия" msgstr "Вышла новая версия"
#: src/views/domain/cert/components/ObtainCert.vue:278 #: src/views/domain/cert/components/ObtainCert.vue:281
#: src/views/domain/DomainAdd.vue:140 #: src/views/domain/DomainAdd.vue:140
msgid "Next" msgid "Next"
msgstr "Дальше" msgstr "Дальше"
#: src/views/preference/Preference.vue:98 #: src/views/preference/Preference.vue:96
#, fuzzy #, fuzzy
msgid "Nginx" msgid "Nginx"
msgstr "Журнал" msgstr "Журнал"
@ -864,7 +874,7 @@ msgstr "Журнал"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Путь для Nginx Access Log" msgstr "Путь для Nginx Access Log"
#: src/views/domain/DomainEdit.vue:223 #: src/views/domain/DomainEdit.vue:222
#, fuzzy #, fuzzy
msgid "Nginx Configuration Parse Error" msgid "Nginx Configuration Parse Error"
msgstr "Ошибка синтаксического анализа конфигурации Nginx" msgstr "Ошибка синтаксического анализа конфигурации Nginx"
@ -877,7 +887,7 @@ msgstr "Управление Nginx"
msgid "Nginx Error Log Path" msgid "Nginx Error Log Path"
msgstr "Путь для Nginx Error Log" msgstr "Путь для Nginx Error Log"
#: src/routes/index.ts:129 src/views/nginx_log/NginxLog.vue:146 #: src/routes/index.ts:128 src/views/nginx_log/NginxLog.vue:145
msgid "Nginx Log" msgid "Nginx Log"
msgstr "Журнал" msgstr "Журнал"
@ -903,20 +913,20 @@ msgstr "Нет"
msgid "Node Secret" msgid "Node Secret"
msgstr "" msgstr ""
#: src/routes/index.ts:207 src/routes/index.ts:209 #: src/routes/index.ts:206 src/routes/index.ts:208
msgid "Not Found" msgid "Not Found"
msgstr "Не найден" msgstr "Не найден"
#: src/views/domain/cert/CertInfo.vue:31 #: src/views/domain/cert/CertInfo.vue:30
msgid "Not Valid Before: %{date}" msgid "Not Valid Before: %{date}"
msgstr "Недействительно до: %{date}" msgstr "Недействительно до: %{date}"
#: src/views/cert/DNSCredential.vue:48 #: src/views/certificate/DNSCredential.vue:48
#: src/views/domain/cert/components/AutoCertStepOne.vue:32 #: src/views/domain/cert/components/AutoCertStepOne.vue:38
msgid "Note" msgid "Note"
msgstr "Заметка" msgstr "Заметка"
#: src/views/domain/cert/components/ObtainCert.vue:249 #: src/views/domain/cert/components/ObtainCert.vue:252
#, fuzzy #, fuzzy
msgid "Obtain certificate" msgid "Obtain certificate"
msgstr "Получить сертификат" msgstr "Получить сертификат"
@ -936,15 +946,19 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:346 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:346
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
#: src/views/domain/cert/components/ObtainCert.vue:209 #: src/views/domain/cert/components/ObtainCert.vue:210
#: src/views/domain/components/Deploy.vue:24 #: src/views/domain/components/Deploy.vue:23
#: src/views/domain/components/RightSettings.vue:50 #: src/views/domain/components/RightSettings.vue:51
#: src/views/domain/DomainList.vue:144 #: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:215 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:215
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:47 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
msgid "OK" msgid "OK"
msgstr "" msgstr ""
#: src/views/certificate/DNSCredential.vue:58
msgid "Once the verification is complete, the records will be removed."
msgstr ""
#: src/components/NodeSelector/NodeSelector.vue:57 #: src/components/NodeSelector/NodeSelector.vue:57
#: src/components/NodeSelector/NodeSelector.vue:72 #: src/components/NodeSelector/NodeSelector.vue:72
#: src/views/dashboard/Environments.vue:100 #: src/views/dashboard/Environments.vue:100
@ -952,7 +966,7 @@ msgstr ""
msgid "Online" msgid "Online"
msgstr "" msgstr ""
#: src/views/preference/Preference.vue:104 #: src/views/preference/Preference.vue:102
msgid "OpenAI" msgid "OpenAI"
msgstr "" msgstr ""
@ -981,7 +995,7 @@ msgstr "Параметры"
msgid "Password" msgid "Password"
msgstr "Пароль" msgstr "Пароль"
#: src/views/other/Install.vue:111 #: src/views/other/Install.vue:113
msgid "Password (*)" msgid "Password (*)"
msgstr "Пароль (*)" msgstr "Пароль (*)"
@ -999,17 +1013,13 @@ msgstr ""
msgid "Performing core upgrade" msgid "Performing core upgrade"
msgstr "" msgstr ""
#: src/views/cert/DNSCredential.vue:52 #: src/views/certificate/DNSCredential.vue:52
msgid "" msgid ""
"Please fill in the API authentication credentials provided by your DNS " "Please fill in the API authentication credentials provided by your DNS "
"provider.\n" "provider."
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification.\n"
"Once the verification is complete, the records will be removed.\n"
"Please note that the time configurations below are all in seconds."
msgstr "" msgstr ""
#: src/views/domain/cert/components/AutoCertStepOne.vue:49 #: src/views/domain/cert/components/AutoCertStepOne.vue:55
msgid "" msgid ""
"Please first add credentials in Certification > DNS Credentials, and then " "Please first add credentials in Certification > DNS Credentials, and then "
"select one of the credentialsbelow to request the API of the DNS provider." "select one of the credentialsbelow to request the API of the DNS provider."
@ -1023,18 +1033,23 @@ msgstr ""
"Введите имя, оно будет использоваться в качестве имени файла нового " "Введите имя, оно будет использоваться в качестве имени файла нового "
"поздравляем!" "поздравляем!"
#: src/views/other/Install.vue:34 #: src/views/other/Install.vue:35
msgid "Please input your E-mail!" msgid "Please input your E-mail!"
msgstr "Введите ваш E-mail!" msgstr "Введите ваш E-mail!"
#: src/views/other/Install.vue:46 src/views/other/Login.vue:41 #: src/views/other/Install.vue:47 src/views/other/Login.vue:39
msgid "Please input your password!" msgid "Please input your password!"
msgstr "Введите ваш пароль!" msgstr "Введите ваш пароль!"
#: src/views/other/Install.vue:40 src/views/other/Login.vue:35 #: src/views/other/Install.vue:41 src/views/other/Login.vue:33
msgid "Please input your username!" msgid "Please input your username!"
msgstr "Введите ваше имя пользователя!" msgstr "Введите ваше имя пользователя!"
#: src/views/certificate/DNSCredential.vue:61
msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr ""
#: src/views/domain/components/SiteDuplicate.vue:47 #: src/views/domain/components/SiteDuplicate.vue:47
msgid "Please select at least one node!" msgid "Please select at least one node!"
msgstr "" msgstr ""
@ -1043,7 +1058,7 @@ msgstr ""
msgid "Pre-release" msgid "Pre-release"
msgstr "" msgstr ""
#: src/routes/index.ts:168 src/views/preference/Preference.vue:87 #: src/routes/index.ts:167 src/views/preference/Preference.vue:85
msgid "Preference" msgid "Preference"
msgstr "Настройки" msgstr "Настройки"
@ -1064,7 +1079,7 @@ msgstr "Запретить удаление пользователя по умо
msgid "Project Team" msgid "Project Team"
msgstr "Команда проекта" msgstr "Команда проекта"
#: src/views/cert/DNSCredential.vue:21 #: src/views/certificate/DNSCredential.vue:21
msgid "Provider" msgid "Provider"
msgstr "Провайдер" msgstr "Провайдер"
@ -1134,9 +1149,9 @@ msgid "Running"
msgstr "Выполняется" msgstr "Выполняется"
#: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98 #: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98
#: src/views/domain/DomainEdit.vue:269 #: src/views/domain/DomainEdit.vue:268
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/preference/Preference.vue:115 #: src/views/preference/Preference.vue:113
msgid "Save" msgid "Save"
msgstr "Сохранить" msgstr "Сохранить"
@ -1150,7 +1165,7 @@ msgid "Save error %{msg}"
msgstr "Ошибка сохранения %{msg}" msgstr "Ошибка сохранения %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
#: src/views/preference/Preference.vue:60 #: src/views/preference/Preference.vue:58
#, fuzzy #, fuzzy
msgid "Save successfully" msgid "Save successfully"
msgstr "Успешно сохранено" msgstr "Успешно сохранено"
@ -1161,7 +1176,7 @@ msgid "Save Successfully"
msgstr "Успешно сохранено" msgstr "Успешно сохранено"
#: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41 #: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41
#: src/views/domain/DomainEdit.vue:155 #: src/views/domain/DomainEdit.vue:154
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39
msgid "Saved successfully" msgid "Saved successfully"
msgstr "Успешно сохранено" msgstr "Успешно сохранено"
@ -1182,7 +1197,7 @@ msgstr "Отправлено"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:157 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:157
#: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79 #: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79
#: src/views/other/Install.vue:71 src/views/preference/Preference.vue:62 #: src/views/other/Install.vue:72 src/views/preference/Preference.vue:60
#: src/views/system/Upgrade.vue:45 #: src/views/system/Upgrade.vue:45
msgid "Server error" msgid "Server error"
msgstr "Ошибка сервера" msgstr "Ошибка сервера"
@ -1191,11 +1206,11 @@ msgstr "Ошибка сервера"
msgid "Server Info" msgid "Server Info"
msgstr "Информация о сервере" msgstr "Информация о сервере"
#: src/views/domain/cert/components/ObtainCert.vue:164 #: src/views/domain/cert/components/ObtainCert.vue:165
msgid "server_name not found in directives" msgid "server_name not found in directives"
msgstr "server_name не нашел в директивах" msgstr "server_name не нашел в директивах"
#: src/views/domain/cert/components/AutoCertStepOne.vue:22 #: src/views/domain/cert/components/AutoCertStepOne.vue:27
#: src/views/domain/DomainAdd.vue:119 #: src/views/domain/DomainAdd.vue:119
msgid "server_name parameter is required" msgid "server_name parameter is required"
msgstr "server_name параметр обязателен" msgstr "server_name параметр обязателен"
@ -1208,35 +1223,35 @@ msgstr "Настройка переменных сред"
msgid "Single Directive" msgid "Single Directive"
msgstr "Одиночная Директива" msgstr "Одиночная Директива"
#: src/routes/index.ts:143 #: src/routes/index.ts:142
#, fuzzy #, fuzzy
msgid "Site Logs" msgid "Site Logs"
msgstr "Логи сайтов" msgstr "Логи сайтов"
#: src/routes/index.ts:67 #: src/routes/index.ts:66
msgid "Sites List" msgid "Sites List"
msgstr "Список сайтов" msgstr "Список сайтов"
#: src/views/cert/Cert.vue:64 #: src/views/certificate/Certificate.vue:164
#, fuzzy
msgid "SSL Certificate Content"
msgstr "Содержание сертификата SSL"
#: src/views/certificate/Certificate.vue:171
#, fuzzy
msgid "SSL Certificate Key Content"
msgstr "Содержание ключа сертификата SSL"
#: src/views/certificate/Certificate.vue:73
#, fuzzy #, fuzzy
msgid "SSL Certificate Key Path" msgid "SSL Certificate Key Path"
msgstr "Путь к ключу сертификата SSL" msgstr "Путь к ключу сертификата SSL"
#: src/views/cert/Cert.vue:57 #: src/views/certificate/Certificate.vue:65
#, fuzzy #, fuzzy
msgid "SSL Certificate Path" msgid "SSL Certificate Path"
msgstr "Путь к сертификату SSL" msgstr "Путь к сертификату SSL"
#: src/views/cert/Cert.vue:139
#, fuzzy
msgid "SSL Certification Content"
msgstr "Содержание сертификата SSL"
#: src/views/cert/Cert.vue:145
#, fuzzy
msgid "SSL Certification Key Content"
msgstr "Содержание ключа сертификата SSL"
#: src/views/other/Login.vue:158 #: src/views/other/Login.vue:158
#, fuzzy #, fuzzy
msgid "SSO Login" msgid "SSO Login"
@ -1259,7 +1274,7 @@ msgstr "Остановлен"
msgid "Storage" msgid "Storage"
msgstr "Хранилище" msgstr "Хранилище"
#: src/views/domain/cert/CertInfo.vue:25 #: src/views/domain/cert/CertInfo.vue:24
#, fuzzy #, fuzzy
msgid "Subject Name: %{subject}" msgid "Subject Name: %{subject}"
msgstr "Название темы: %{name}" msgstr "Название темы: %{name}"
@ -1276,7 +1291,7 @@ msgstr ""
msgid "Switch to light theme" msgid "Switch to light theme"
msgstr "" msgstr ""
#: src/routes/index.ts:176 #: src/routes/index.ts:175
msgid "System" msgid "System"
msgstr "Система" msgstr "Система"
@ -1289,7 +1304,7 @@ msgstr "Таблица"
msgid "Target" msgid "Target"
msgstr "" msgstr ""
#: src/routes/index.ts:121 src/views/pty/Terminal.vue:95 #: src/routes/index.ts:120 src/views/pty/Terminal.vue:95
msgid "Terminal" msgid "Terminal"
msgstr "Терминал" msgstr "Терминал"
@ -1297,7 +1312,7 @@ msgstr "Терминал"
msgid "Terminal Start Command" msgid "Terminal Start Command"
msgstr "Терминальная команда запуска" msgstr "Терминальная команда запуска"
#: src/views/domain/cert/components/AutoCertStepOne.vue:41 #: src/views/domain/cert/components/AutoCertStepOne.vue:47
#, fuzzy #, fuzzy
msgid "" msgid ""
"The certificate for the domain will be checked 5 minutes, and will be " "The certificate for the domain will be checked 5 minutes, and will be "
@ -1306,11 +1321,11 @@ msgstr ""
"The certificate for the domain will be checked every hour, and will be " "The certificate for the domain will be checked every hour, and will be "
"renewed if it has been more than 1 month since it was last issued." "renewed if it has been more than 1 month since it was last issued."
#: src/views/other/Install.vue:52 #: src/views/other/Install.vue:53
msgid "The filename cannot contain the following characters: %{c}" msgid "The filename cannot contain the following characters: %{c}"
msgstr "The filename cannot contain the following characters: %{c}" msgstr "The filename cannot contain the following characters: %{c}"
#: src/views/domain/cert/components/AutoCertStepOne.vue:36 #: src/views/domain/cert/components/AutoCertStepOne.vue:42
#, fuzzy #, fuzzy
msgid "" msgid ""
"The server_name in the current configuration must be the domain name you " "The server_name in the current configuration must be the domain name you "
@ -1323,8 +1338,9 @@ msgstr ""
msgid "The username or password is incorrect" msgid "The username or password is incorrect"
msgstr "Имя пользователя или пароль неверны" msgstr "Имя пользователя или пароль неверны"
#: src/views/cert/Cert.vue:102 #: src/views/certificate/Certificate.vue:115
msgid "This auto-cert item is invalid, please remove it." #, fuzzy
msgid "This Auto Cert item is invalid, please remove it."
msgstr "Этот элемент автосертификата недействителен, удалите его.." msgstr "Этот элемент автосертификата недействителен, удалите его.."
#: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31 #: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31
@ -1343,9 +1359,10 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "Тип" msgstr "Тип"
#: src/views/cert/Cert.vue:71 src/views/cert/DNSCredential.vue:26 #: src/views/certificate/Certificate.vue:81
#: src/views/config/config.ts:29 src/views/config/ConfigEdit.vue:123 #: src/views/certificate/DNSCredential.vue:26 src/views/config/config.ts:29
#: src/views/domain/components/RightSettings.vue:82 #: src/views/config/ConfigEdit.vue:123
#: src/views/domain/components/RightSettings.vue:84
#: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98 #: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98
#: src/views/user/User.vue:40 #: src/views/user/User.vue:40
msgid "Updated at" msgid "Updated at"
@ -1356,7 +1373,7 @@ msgstr "Обновлено в"
msgid "Updated successfully" msgid "Updated successfully"
msgstr "Обновлено успешно" msgstr "Обновлено успешно"
#: src/routes/index.ts:187 src/views/system/Upgrade.vue:143 #: src/routes/index.ts:186 src/views/system/Upgrade.vue:143
#: src/views/system/Upgrade.vue:235 #: src/views/system/Upgrade.vue:235
msgid "Upgrade" msgid "Upgrade"
msgstr "Обновление" msgstr "Обновление"
@ -1387,7 +1404,7 @@ msgstr "Имя пользователя"
msgid "Username" msgid "Username"
msgstr "Имя пользователя" msgstr "Имя пользователя"
#: src/views/other/Install.vue:101 #: src/views/other/Install.vue:103
msgid "Username (*)" msgid "Username (*)"
msgstr "Имя пользователя (*)" msgstr "Имя пользователя (*)"
@ -1403,13 +1420,19 @@ msgstr ""
msgid "View" msgid "View"
msgstr "Просмотр" msgstr "Просмотр"
#: src/views/config/InspectConfig.vue:37 #: src/views/config/InspectConfig.vue:36
#: src/views/domain/cert/components/AutoCertStepOne.vue:16 #: src/views/domain/cert/components/AutoCertStepOne.vue:21
#: src/views/domain/DomainAdd.vue:114 #: src/views/domain/DomainAdd.vue:114
msgid "Warning" msgid "Warning"
msgstr "Внимание" msgstr "Внимание"
#: src/views/domain/cert/components/ObtainCert.vue:207 #: src/views/certificate/DNSCredential.vue:55
msgid ""
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification."
msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:208
msgid "" msgid ""
"We will remove the HTTPChallenge configuration from this file and reload the " "We will remove the HTTPChallenge configuration from this file and reload the "
"Nginx. Are you sure you want to continue?" "Nginx. Are you sure you want to continue?"
@ -1441,6 +1464,13 @@ msgstr "Вы используете последнюю версию"
msgid "You can check Nginx UI upgrade at this page." msgid "You can check Nginx UI upgrade at this page."
msgstr "Вы можете проверить обновление Nginx UI на этой странице." msgstr "Вы можете проверить обновление Nginx UI на этой странице."
#~ msgid "Auto cert is enabled, please do not modify this certification."
#~ msgstr "Включено автомотическое получения сертификата. Не правте руками."
#, fuzzy
#~ msgid "Certification"
#~ msgstr "Сертификат"
#~ msgid "Delete ID: %{id}" #~ msgid "Delete ID: %{id}"
#~ msgstr "Удалить ID: %{id}" #~ msgstr "Удалить ID: %{id}"

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -13,28 +13,25 @@ msgstr ""
"Generated-By: easygettext\n" "Generated-By: easygettext\n"
"X-Generator: Poedit 3.4.1\n" "X-Generator: Poedit 3.4.1\n"
#: src/views/domain/cert/CertInfo.vue:28 #: src/routes/index.ts:182
msgid " Expiration Date: %{date}"
msgstr "过期时间: %{date}"
#: src/routes/index.ts:183
msgid "About" msgid "About"
msgstr "关于" msgstr "关于"
#: src/routes/index.ts:135 src/views/domain/ngx_conf/LogEntry.vue:78 #: src/routes/index.ts:134 src/views/domain/ngx_conf/LogEntry.vue:78
msgid "Access Logs" msgid "Access Logs"
msgstr "访问日志" msgstr "访问日志"
#: src/views/cert/Cert.vue:77 src/views/cert/DNSCredential.vue:32 #: src/views/certificate/Certificate.vue:87
#: src/views/config/config.ts:36 src/views/domain/DomainList.vue:50 #: src/views/certificate/DNSCredential.vue:32 src/views/config/config.ts:36
#: src/views/environment/Environment.vue:105 src/views/user/User.vue:46 #: src/views/domain/DomainList.vue:50 src/views/environment/Environment.vue:105
#: src/views/user/User.vue:46
msgid "Action" msgid "Action"
msgstr "操作" msgstr "操作"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:307 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:308
msgid "Add" msgid "Add"
msgstr "添加" msgstr "添加"
@ -47,15 +44,15 @@ msgstr "在下面添加指令"
msgid "Add Location" msgid "Add Location"
msgstr "添加 Location" msgstr "添加 Location"
#: src/routes/index.ts:71 src/views/domain/DomainAdd.vue:91 #: src/routes/index.ts:70 src/views/domain/DomainAdd.vue:91
msgid "Add Site" msgid "Add Site"
msgstr "添加站点" msgstr "添加站点"
#: src/views/cert/DNSChallenge.vue:95 #: src/views/certificate/DNSChallenge.vue:95
msgid "Additional" msgid "Additional"
msgstr "额外选项" msgstr "额外选项"
#: src/views/domain/DomainEdit.vue:205 #: src/views/domain/DomainEdit.vue:204
msgid "Advance Mode" msgid "Advance Mode"
msgstr "高级模式" msgstr "高级模式"
@ -105,32 +102,33 @@ msgstr "助手"
msgid "Author" msgid "Author"
msgstr "作者" msgstr "作者"
#: src/views/cert/Cert.vue:38 src/views/domain/cert/ChangeCert.vue:37 #: src/views/certificate/Certificate.vue:46
#: src/views/domain/cert/ChangeCert.vue:37
msgid "Auto Cert" msgid "Auto Cert"
msgstr "自动更新" msgstr "自动更新"
#: src/views/cert/Cert.vue:92 #: src/views/certificate/Certificate.vue:105
msgid "Auto cert is enabled, please do not modify this certification." msgid "Auto Cert is enabled"
msgstr "自动更新已启用,请勿修改此证书配置。" msgstr "自动更新已启用"
#: src/views/nginx_log/NginxLog.vue:150 #: src/views/certificate/Certificate.vue:135
msgid "Auto Cert Log"
msgstr "证书自动续期日志"
#: src/views/nginx_log/NginxLog.vue:149
msgid "Auto Refresh" msgid "Auto Refresh"
msgstr "自动刷新" msgstr "自动刷新"
#: src/views/cert/Cert.vue:122 #: src/views/domain/cert/components/ObtainCert.vue:126
msgid "Auto-Cert Log"
msgstr "证书自动续期日志"
#: src/views/domain/cert/components/ObtainCert.vue:125
msgid "Auto-renewal disabled for %{name}" msgid "Auto-renewal disabled for %{name}"
msgstr "成功关闭 %{name} 自动续签" msgstr "成功关闭 %{name} 自动续签"
#: src/views/domain/cert/components/ObtainCert.vue:118 #: src/views/domain/cert/components/ObtainCert.vue:119
msgid "Auto-renewal enabled for %{name}" msgid "Auto-renewal enabled for %{name}"
msgstr "成功启用 %{name} 自动续签" msgstr "成功启用 %{name} 自动续签"
#: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89 #: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89
#: src/views/domain/DomainEdit.vue:262 src/views/nginx_log/NginxLog.vue:171 #: src/views/domain/DomainEdit.vue:261 src/views/nginx_log/NginxLog.vue:170
msgid "Back" msgid "Back"
msgstr "返回" msgstr "返回"
@ -143,12 +141,12 @@ msgid "Base information"
msgstr "基本信息" msgstr "基本信息"
#: src/views/config/ConfigEdit.vue:117 #: src/views/config/ConfigEdit.vue:117
#: src/views/domain/components/RightSettings.vue:71 #: src/views/domain/components/RightSettings.vue:73
#: src/views/preference/Preference.vue:92 #: src/views/preference/Preference.vue:90
msgid "Basic" msgid "Basic"
msgstr "基本" msgstr "基本"
#: src/views/domain/DomainEdit.vue:208 #: src/views/domain/DomainEdit.vue:207
msgid "Basic Mode" msgid "Basic Mode"
msgstr "基本模式" msgstr "基本模式"
@ -169,35 +167,36 @@ msgstr "CADir"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
#: src/views/domain/cert/components/ObtainCert.vue:210 #: src/views/domain/cert/components/ObtainCert.vue:211
#: src/views/domain/components/Deploy.vue:25 #: src/views/domain/components/Deploy.vue:24
#: src/views/domain/components/RightSettings.vue:51 #: src/views/domain/components/RightSettings.vue:52
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:216 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:216
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:48 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
msgid "Cancel" msgid "Cancel"
msgstr "取消" msgstr "取消"
#: src/views/domain/cert/CertInfo.vue:36 #: src/views/domain/cert/CertInfo.vue:35
msgid "Certificate has expired" msgid "Certificate has expired"
msgstr "此证书已过期" msgstr "此证书已过期"
#: src/views/domain/cert/CertInfo.vue:40 #: src/views/domain/cert/CertInfo.vue:39
msgid "Certificate is valid" msgid "Certificate is valid"
msgstr "此证书有效" msgstr "此证书有效"
#: src/views/cert/Cert.vue:132 src/views/domain/cert/Cert.vue:35 #: src/views/certificate/Certificate.vue:145 src/views/domain/cert/Cert.vue:35
msgid "Certificate Status" msgid "Certificate Status"
msgstr "证书状态" msgstr "证书状态"
#: src/routes/index.ts:101 src/views/cert/Cert.vue:84 #: src/routes/index.ts:100 src/views/certificate/Certificate.vue:96
msgid "Certification" msgid "Certificates"
msgstr "证书" msgstr "证书"
#: src/routes/index.ts:109 #: src/routes/index.ts:108
msgid "Certification List" msgid "Certificates List"
msgstr "证书列表" msgstr "证书列表"
#: src/views/domain/cert/components/AutoCertStepOne.vue:57 #: src/views/certificate/Certificate.vue:150
#: src/views/domain/cert/components/AutoCertStepOne.vue:63
msgid "Challenge Method" msgid "Challenge Method"
msgstr "挑战方法" msgstr "挑战方法"
@ -233,11 +232,11 @@ msgstr "清空"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97
#: src/views/domain/ngx_conf/LocationEditor.vue:121 #: src/views/domain/ngx_conf/LocationEditor.vue:121
#: src/views/domain/ngx_conf/LocationEditor.vue:90 #: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:283 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:284
msgid "Comments" msgid "Comments"
msgstr "注释" msgstr "注释"
#: src/views/cert/Cert.vue:33 #: src/views/certificate/Certificate.vue:41
msgid "Config Name" msgid "Config Name"
msgstr "配置文件名称" msgstr "配置文件名称"
@ -245,7 +244,7 @@ msgstr "配置文件名称"
msgid "Config Templates" msgid "Config Templates"
msgstr "配置" msgstr "配置"
#: src/views/config/InspectConfig.vue:31 #: src/views/config/InspectConfig.vue:30
msgid "Configuration file is test successful" msgid "Configuration file is test successful"
msgstr "配置文件测试成功" msgstr "配置文件测试成功"
@ -299,7 +298,7 @@ msgstr "正在创建客户端用于与 CA 服务器通信"
msgid "Credential" msgid "Credential"
msgstr "DNS 凭证" msgstr "DNS 凭证"
#: src/views/cert/DNSChallenge.vue:83 #: src/views/certificate/DNSChallenge.vue:83
msgid "Credentials" msgid "Credentials"
msgstr "凭证" msgstr "凭证"
@ -308,7 +307,7 @@ msgid "Current Version"
msgstr "当前版本" msgstr "当前版本"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:240 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:241
msgid "Custom" msgid "Custom"
msgstr "自定义" msgstr "自定义"
@ -316,13 +315,13 @@ msgstr "自定义"
msgid "Dashboard" msgid "Dashboard"
msgstr "仪表盘" msgstr "仪表盘"
#: src/views/other/Install.vue:122 #: src/views/other/Install.vue:124
msgid "Database (Optional, default: database)" msgid "Database (Optional, default: database)"
msgstr "数据库 (可选,默认: database)" msgstr "数据库 (可选,默认: database)"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:354 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:354
#: src/views/domain/DomainList.vue:153 #: src/views/domain/DomainList.vue:153
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:258 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:259
msgid "Delete" msgid "Delete"
msgstr "删除" msgstr "删除"
@ -335,19 +334,19 @@ msgid "Deleted successfully"
msgstr "删除成功" msgstr "删除成功"
#: src/views/domain/components/Deploy.vue:109 #: src/views/domain/components/Deploy.vue:109
#: src/views/domain/components/RightSettings.vue:89 #: src/views/domain/components/RightSettings.vue:91
msgid "Deploy" msgid "Deploy"
msgstr "部署" msgstr "部署"
#: src/views/domain/components/Deploy.vue:67 #: src/views/domain/components/Deploy.vue:66
msgid "Deploy %{conf_name} to %{node_name} failed" msgid "Deploy %{conf_name} to %{node_name} failed"
msgstr "部署%{conf_name}到%{node_name}失败" msgstr "部署%{conf_name}到%{node_name}失败"
#: src/views/domain/components/Deploy.vue:41 #: src/views/domain/components/Deploy.vue:40
msgid "Deploy %{conf_name} to %{node_name} successfully" msgid "Deploy %{conf_name} to %{node_name} successfully"
msgstr "成功地将%{conf_name}部署到%{node_name}" msgstr "成功地将%{conf_name}部署到%{node_name}"
#: src/views/domain/components/Deploy.vue:39 #: src/views/domain/components/Deploy.vue:38
msgid "Deploy successfully" msgid "Deploy successfully"
msgstr "部署成功" msgstr "部署成功"
@ -376,16 +375,17 @@ msgstr "目录"
msgid "Disable" msgid "Disable"
msgstr "禁用" msgstr "禁用"
#: src/views/domain/cert/components/ObtainCert.vue:127 #: src/views/domain/cert/components/ObtainCert.vue:128
msgid "Disable auto-renewal failed for %{name}" msgid "Disable auto-renewal failed for %{name}"
msgstr "关闭 %{name} 自动续签失败" msgstr "关闭 %{name} 自动续签失败"
#: src/views/cert/Cert.vue:49 src/views/domain/cert/ChangeCert.vue:48 #: src/views/certificate/Certificate.vue:57
#: src/views/domain/DomainEdit.vue:191 src/views/domain/DomainList.vue:123 #: src/views/domain/cert/ChangeCert.vue:48 src/views/domain/DomainEdit.vue:190
#: src/views/domain/DomainList.vue:123
msgid "Disabled" msgid "Disabled"
msgstr "禁用" msgstr "禁用"
#: src/views/domain/components/RightSettings.vue:38 #: src/views/domain/components/RightSettings.vue:39
#: src/views/domain/DomainList.vue:67 #: src/views/domain/DomainList.vue:67
msgid "Disabled successfully" msgid "Disabled successfully"
msgstr "禁用成功" msgstr "禁用成功"
@ -394,33 +394,33 @@ msgstr "禁用成功"
msgid "Disk IO" msgid "Disk IO"
msgstr "磁盘 IO" msgstr "磁盘 IO"
#: src/routes/index.ts:114 src/views/cert/DNSCredential.vue:39 #: src/routes/index.ts:113 src/views/certificate/DNSCredential.vue:39
msgid "DNS Credentials" msgid "DNS Credentials"
msgstr "DNS 凭证" msgstr "DNS 凭证"
#: src/views/cert/DNSChallenge.vue:74 #: src/views/certificate/DNSChallenge.vue:74
#: src/views/domain/cert/components/DNSChallenge.vue:79 #: src/views/domain/cert/components/DNSChallenge.vue:79
msgid "DNS Provider" msgid "DNS Provider"
msgstr "DNS供应商" msgstr "DNS供应商"
#: src/views/domain/cert/components/AutoCertStepOne.vue:63 #: src/views/domain/cert/components/AutoCertStepOne.vue:69
msgid "DNS01" msgid "DNS01"
msgstr "DNS01" msgstr "DNS01"
#: src/views/domain/components/Deploy.vue:20 #: src/views/domain/components/Deploy.vue:19
msgid "Do you want to deploy this file to remote server?" msgid "Do you want to deploy this file to remote server?"
msgid_plural "Do you want to deploy this file to remote servers?" msgid_plural "Do you want to deploy this file to remote servers?"
msgstr[0] "你想把这个文件部署到远程服务器上吗?" msgstr[0] "你想把这个文件部署到远程服务器上吗?"
#: src/views/domain/cert/components/ObtainCert.vue:206 #: src/views/domain/cert/components/ObtainCert.vue:207
msgid "Do you want to disable auto-cert renewal?" msgid "Do you want to disable auto-cert renewal?"
msgstr "你想禁用自动更新证书吗?" msgstr "你想禁用自动更新证书吗?"
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
msgid "Do you want to disable this site?" msgid "Do you want to disable this site?"
msgstr "你想停用这个网站吗?" msgstr "你想停用这个网站吗?"
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
msgid "Do you want to enable this site?" msgid "Do you want to enable this site?"
msgstr "你想启用这个网站吗?" msgstr "你想启用这个网站吗?"
@ -436,9 +436,9 @@ msgstr "你想删除这个服务器吗?"
msgid "Domain Config Created Successfully" msgid "Domain Config Created Successfully"
msgstr "域名配置文件创建成功" msgstr "域名配置文件创建成功"
#: src/views/cert/Cert.vue:112 #: src/views/certificate/Certificate.vue:125
msgid "Domains list is empty, try to reopen auto-cert for %{config}" msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
msgstr "域名列表为空,请尝试为%{config}重新打开证书自动续期。" msgstr "域名列表为空,请尝试为 %{config} 重新打开证书自动续期。"
#: src/language/constants.ts:29 #: src/language/constants.ts:29
msgid "Download latest release error" msgid "Download latest release error"
@ -473,19 +473,19 @@ msgstr "复制成功"
msgid "Duplicate to local successfully" msgid "Duplicate to local successfully"
msgstr "成功复制到本地" msgstr "成功复制到本地"
#: src/views/domain/DomainEdit.vue:180 #: src/views/domain/DomainEdit.vue:179
msgid "Edit %{n}" msgid "Edit %{n}"
msgstr "编辑 %{n}" msgstr "编辑 %{n}"
#: src/routes/index.ts:93 src/views/config/ConfigEdit.vue:83 #: src/routes/index.ts:92 src/views/config/ConfigEdit.vue:83
msgid "Edit Configuration" msgid "Edit Configuration"
msgstr "编辑配置" msgstr "编辑配置"
#: src/routes/index.ts:75 #: src/routes/index.ts:74
msgid "Edit Site" msgid "Edit Site"
msgstr "编辑站点" msgstr "编辑站点"
#: src/views/other/Install.vue:91 #: src/views/other/Install.vue:93
msgid "Email (*)" msgid "Email (*)"
msgstr "邮箱 (*)" msgstr "邮箱 (*)"
@ -493,15 +493,15 @@ msgstr "邮箱 (*)"
msgid "Enable" msgid "Enable"
msgstr "启用" msgstr "启用"
#: src/views/domain/components/Deploy.vue:56 #: src/views/domain/components/Deploy.vue:55
msgid "Enable %{conf_name} in %{node_name} failed" msgid "Enable %{conf_name} in %{node_name} failed"
msgstr "在%{node_name}中启用%{conf_name}失败" msgstr "在%{node_name}中启用%{conf_name}失败"
#: src/views/domain/components/Deploy.vue:50 #: src/views/domain/components/Deploy.vue:49
msgid "Enable %{conf_name} in %{node_name} successfully" msgid "Enable %{conf_name} in %{node_name} successfully"
msgstr "成功启用%{node_name}中的%{conf_name}" msgstr "成功启用%{node_name}中的%{conf_name}"
#: src/views/domain/cert/components/ObtainCert.vue:120 #: src/views/domain/cert/components/ObtainCert.vue:121
msgid "Enable auto-renewal failed for %{name}" msgid "Enable auto-renewal failed for %{name}"
msgstr "启用 %{name} 自动续签失败" msgstr "启用 %{name} 自动续签失败"
@ -509,22 +509,23 @@ msgstr "启用 %{name} 自动续签失败"
msgid "Enable failed" msgid "Enable failed"
msgstr "启用失败" msgstr "启用失败"
#: src/views/domain/components/Deploy.vue:48 #: src/views/domain/components/Deploy.vue:47
msgid "Enable successfully" msgid "Enable successfully"
msgstr "启用成功" msgstr "启用成功"
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:235 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:236
msgid "Enable TLS" msgid "Enable TLS"
msgstr "启用 TLS" msgstr "启用 TLS"
#: src/views/cert/Cert.vue:45 src/views/domain/cert/ChangeCert.vue:44 #: src/views/certificate/Certificate.vue:53
#: src/views/domain/cert/ChangeCert.vue:44
#: src/views/domain/components/Deploy.vue:89 #: src/views/domain/components/Deploy.vue:89
#: src/views/domain/components/RightSettings.vue:73 #: src/views/domain/components/RightSettings.vue:75
#: src/views/domain/DomainEdit.vue:185 src/views/domain/DomainList.vue:131 #: src/views/domain/DomainEdit.vue:184 src/views/domain/DomainList.vue:131
msgid "Enabled" msgid "Enabled"
msgstr "启用" msgstr "启用"
#: src/views/domain/components/RightSettings.vue:29 #: src/views/domain/components/RightSettings.vue:30
#: src/views/domain/components/SiteDuplicate.vue:100 #: src/views/domain/components/SiteDuplicate.vue:100
#: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58 #: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58
msgid "Enabled successfully" msgid "Enabled successfully"
@ -534,7 +535,7 @@ msgstr "启用成功"
msgid "Encrypt website with Let's Encrypt" msgid "Encrypt website with Let's Encrypt"
msgstr "用 Let's Encrypt 对网站进行加密" msgstr "用 Let's Encrypt 对网站进行加密"
#: src/routes/index.ts:152 src/views/environment/Environment.vue:113 #: src/routes/index.ts:151 src/views/environment/Environment.vue:113
msgid "Environment" msgid "Environment"
msgstr "环境" msgstr "环境"
@ -542,11 +543,11 @@ msgstr "环境"
msgid "Environments" msgid "Environments"
msgstr "环境" msgstr "环境"
#: src/views/config/InspectConfig.vue:48 #: src/views/config/InspectConfig.vue:47
msgid "Error" msgid "Error"
msgstr "错误" msgstr "错误"
#: src/routes/index.ts:139 src/views/domain/ngx_conf/LogEntry.vue:86 #: src/routes/index.ts:138 src/views/domain/ngx_conf/LogEntry.vue:86
msgid "Error Logs" msgid "Error Logs"
msgstr "错误日志" msgstr "错误日志"
@ -554,17 +555,21 @@ msgstr "错误日志"
msgid "Executable Path" msgid "Executable Path"
msgstr "可执行文件路径" msgstr "可执行文件路径"
#: src/views/domain/cert/CertInfo.vue:27
msgid "Expired At: %{date}"
msgstr "过期时间: %{date}"
#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:296 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:296
msgid "Export" msgid "Export"
msgstr "导出" msgstr "导出"
#: src/views/domain/components/RightSettings.vue:41 #: src/views/domain/components/RightSettings.vue:42
#: src/views/domain/DomainList.vue:70 #: src/views/domain/DomainList.vue:70
msgid "Failed to disable %{msg}" msgid "Failed to disable %{msg}"
msgstr "禁用失败 %{msg}" msgstr "禁用失败 %{msg}"
#: src/views/domain/components/RightSettings.vue:32 #: src/views/domain/components/RightSettings.vue:33
#: src/views/domain/DomainList.vue:61 #: src/views/domain/DomainList.vue:61
msgid "Failed to enable %{msg}" msgid "Failed to enable %{msg}"
msgstr "启用失败 %{msg}" msgstr "启用失败 %{msg}"
@ -573,7 +578,7 @@ msgstr "启用失败 %{msg}"
msgid "Failed to get certificate information" msgid "Failed to get certificate information"
msgstr "获取证书信息失败" msgstr "获取证书信息失败"
#: src/views/domain/DomainEdit.vue:139 #: src/views/domain/DomainEdit.vue:138
msgid "Failed to save, syntax error(s) was detected in the configuration." msgid "Failed to save, syntax error(s) was detected in the configuration."
msgstr "保存失败,在配置中检测到语法错误。" msgstr "保存失败,在配置中检测到语法错误。"
@ -589,7 +594,7 @@ msgstr "文件已存在"
msgid "File Not Found" msgid "File Not Found"
msgstr "未找到文件" msgstr "未找到文件"
#: src/views/nginx_log/NginxLog.vue:153 #: src/views/nginx_log/NginxLog.vue:152
msgid "Filter" msgid "Filter"
msgstr "过滤" msgstr "过滤"
@ -621,7 +626,7 @@ msgstr "正在生成私钥用于注册账户"
msgid "Get release information error" msgid "Get release information error"
msgstr "获取发布信息错误" msgstr "获取发布信息错误"
#: src/views/domain/cert/components/ObtainCert.vue:63 #: src/views/domain/cert/components/ObtainCert.vue:64
msgid "Getting the certificate, please wait..." msgid "Getting the certificate, please wait..."
msgstr "正在获取证书,请稍等..." msgstr "正在获取证书,请稍等..."
@ -661,7 +666,7 @@ msgstr "HTTP 监听主机"
msgid "HTTP Port" msgid "HTTP Port"
msgstr "HTTP 监听端口" msgstr "HTTP 监听端口"
#: src/views/domain/cert/components/AutoCertStepOne.vue:60 #: src/views/domain/cert/components/AutoCertStepOne.vue:66
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
@ -673,15 +678,15 @@ msgstr "初始化核心升级程序错误"
msgid "Initialing core upgrader" msgid "Initialing core upgrader"
msgstr "初始化核心升级器" msgstr "初始化核心升级器"
#: src/routes/index.ts:195 src/views/other/Install.vue:137 #: src/routes/index.ts:194 src/views/other/Install.vue:139
msgid "Install" msgid "Install"
msgstr "安装" msgstr "安装"
#: src/views/other/Install.vue:67 #: src/views/other/Install.vue:68
msgid "Install successfully" msgid "Install successfully"
msgstr "安装成功" msgstr "安装成功"
#: src/views/domain/cert/CertInfo.vue:22 #: src/views/domain/cert/CertInfo.vue:21
msgid "Intermediate Certification Authorities: %{issuer}" msgid "Intermediate Certification Authorities: %{issuer}"
msgstr "中级证书颁发机构: %{issuer}" msgstr "中级证书颁发机构: %{issuer}"
@ -730,11 +735,11 @@ msgstr "Location"
msgid "Locations" msgid "Locations"
msgstr "Locations" msgstr "Locations"
#: src/routes/index.ts:201 src/views/other/Login.vue:147 #: src/routes/index.ts:200 src/views/other/Login.vue:147
msgid "Login" msgid "Login"
msgstr "登录" msgstr "登录"
#: src/views/other/Login.vue:53 src/views/other/Login.vue:99 #: src/views/other/Login.vue:51 src/views/other/Login.vue:97
msgid "Login successful" msgid "Login successful"
msgstr "登录成功" msgstr "登录成功"
@ -742,7 +747,7 @@ msgstr "登录成功"
msgid "Logout successful" msgid "Logout successful"
msgstr "登出成功" msgstr "登出成功"
#: src/views/domain/cert/components/AutoCertStepOne.vue:45 #: src/views/domain/cert/components/AutoCertStepOne.vue:51
msgid "" msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to " "Make sure you have configured a reverse proxy for .well-known directory to "
"HTTPChallengePort before obtaining the certificate." "HTTPChallengePort before obtaining the certificate."
@ -750,15 +755,15 @@ msgstr ""
"在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到 " "在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到 "
"HTTPChallengePort。" "HTTPChallengePort。"
#: src/routes/index.ts:84 #: src/routes/index.ts:83
msgid "Manage Configs" msgid "Manage Configs"
msgstr "配置管理" msgstr "配置管理"
#: src/routes/index.ts:59 src/views/domain/DomainList.vue:102 #: src/routes/index.ts:58 src/views/domain/DomainList.vue:102
msgid "Manage Sites" msgid "Manage Sites"
msgstr "网站管理" msgstr "网站管理"
#: src/routes/index.ts:160 src/views/user/User.vue:53 #: src/routes/index.ts:159 src/views/user/User.vue:53
msgid "Manage Users" msgid "Manage Users"
msgstr "用户管理" msgstr "用户管理"
@ -773,6 +778,7 @@ msgstr "内存与存储"
#: src/components/ChatGPT/ChatGPT.vue:256 #: src/components/ChatGPT/ChatGPT.vue:256
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:336 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:336
#: src/views/certificate/Certificate.vue:156
msgid "Modify" msgid "Modify"
msgstr "修改" msgstr "修改"
@ -784,9 +790,10 @@ msgstr "修改配置文件"
msgid "Multi-line Directive" msgid "Multi-line Directive"
msgstr "多行指令" msgstr "多行指令"
#: src/views/cert/Cert.vue:17 src/views/cert/DNSCredential.vue:13 #: src/views/certificate/Certificate.vue:24
#: src/views/config/config.ts:9 src/views/domain/cert/ChangeCert.vue:21 #: src/views/certificate/DNSCredential.vue:13 src/views/config/config.ts:9
#: src/views/domain/components/RightSettings.vue:79 #: src/views/domain/cert/ChangeCert.vue:21
#: src/views/domain/components/RightSettings.vue:81
#: src/views/domain/components/SiteDuplicate.vue:135 #: src/views/domain/components/SiteDuplicate.vue:135
#: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15 #: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15
msgid "Name" msgid "Name"
@ -812,12 +819,12 @@ msgstr "上传流量"
msgid "New version released" msgid "New version released"
msgstr "新版本发布" msgstr "新版本发布"
#: src/views/domain/cert/components/ObtainCert.vue:278 #: src/views/domain/cert/components/ObtainCert.vue:281
#: src/views/domain/DomainAdd.vue:140 #: src/views/domain/DomainAdd.vue:140
msgid "Next" msgid "Next"
msgstr "下一步" msgstr "下一步"
#: src/views/preference/Preference.vue:98 #: src/views/preference/Preference.vue:96
msgid "Nginx" msgid "Nginx"
msgstr "Nginx" msgstr "Nginx"
@ -825,7 +832,7 @@ msgstr "Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Nginx 访问日志路径" msgstr "Nginx 访问日志路径"
#: src/views/domain/DomainEdit.vue:223 #: src/views/domain/DomainEdit.vue:222
msgid "Nginx Configuration Parse Error" msgid "Nginx Configuration Parse Error"
msgstr "Nginx 配置解析错误" msgstr "Nginx 配置解析错误"
@ -837,7 +844,7 @@ msgstr "控制 Nginx"
msgid "Nginx Error Log Path" msgid "Nginx Error Log Path"
msgstr "Nginx 错误日志路径" msgstr "Nginx 错误日志路径"
#: src/routes/index.ts:129 src/views/nginx_log/NginxLog.vue:146 #: src/routes/index.ts:128 src/views/nginx_log/NginxLog.vue:145
msgid "Nginx Log" msgid "Nginx Log"
msgstr "Nginx 日志" msgstr "Nginx 日志"
@ -861,20 +868,20 @@ msgstr "取消"
msgid "Node Secret" msgid "Node Secret"
msgstr "节点密钥" msgstr "节点密钥"
#: src/routes/index.ts:207 src/routes/index.ts:209 #: src/routes/index.ts:206 src/routes/index.ts:208
msgid "Not Found" msgid "Not Found"
msgstr "找不到页面" msgstr "找不到页面"
#: src/views/domain/cert/CertInfo.vue:31 #: src/views/domain/cert/CertInfo.vue:30
msgid "Not Valid Before: %{date}" msgid "Not Valid Before: %{date}"
msgstr "此前无效: %{date}" msgstr "此前无效: %{date}"
#: src/views/cert/DNSCredential.vue:48 #: src/views/certificate/DNSCredential.vue:48
#: src/views/domain/cert/components/AutoCertStepOne.vue:32 #: src/views/domain/cert/components/AutoCertStepOne.vue:38
msgid "Note" msgid "Note"
msgstr "注意" msgstr "注意"
#: src/views/domain/cert/components/ObtainCert.vue:249 #: src/views/domain/cert/components/ObtainCert.vue:252
msgid "Obtain certificate" msgid "Obtain certificate"
msgstr "获取证书" msgstr "获取证书"
@ -893,15 +900,19 @@ msgstr "离线"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:346 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:346
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
#: src/views/domain/cert/components/ObtainCert.vue:209 #: src/views/domain/cert/components/ObtainCert.vue:210
#: src/views/domain/components/Deploy.vue:24 #: src/views/domain/components/Deploy.vue:23
#: src/views/domain/components/RightSettings.vue:50 #: src/views/domain/components/RightSettings.vue:51
#: src/views/domain/DomainList.vue:144 #: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:215 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:215
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:47 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
msgid "OK" msgid "OK"
msgstr "确定" msgstr "确定"
#: src/views/certificate/DNSCredential.vue:58
msgid "Once the verification is complete, the records will be removed."
msgstr "一旦验证完成,这些记录将被删除。"
#: src/components/NodeSelector/NodeSelector.vue:57 #: src/components/NodeSelector/NodeSelector.vue:57
#: src/components/NodeSelector/NodeSelector.vue:72 #: src/components/NodeSelector/NodeSelector.vue:72
#: src/views/dashboard/Environments.vue:100 #: src/views/dashboard/Environments.vue:100
@ -909,7 +920,7 @@ msgstr "确定"
msgid "Online" msgid "Online"
msgstr "在线" msgstr "在线"
#: src/views/preference/Preference.vue:104 #: src/views/preference/Preference.vue:102
msgid "OpenAI" msgid "OpenAI"
msgstr "OpenAI" msgstr "OpenAI"
@ -937,7 +948,7 @@ msgstr "参数"
msgid "Password" msgid "Password"
msgstr "密码" msgstr "密码"
#: src/views/other/Install.vue:111 #: src/views/other/Install.vue:113
msgid "Password (*)" msgid "Password (*)"
msgstr "密码 (*)" msgstr "密码 (*)"
@ -955,20 +966,13 @@ msgstr "执行核心升级错误"
msgid "Performing core upgrade" msgid "Performing core upgrade"
msgstr "正在进行核心升级" msgstr "正在进行核心升级"
#: src/views/cert/DNSCredential.vue:52 #: src/views/certificate/DNSCredential.vue:52
msgid "" msgid ""
"Please fill in the API authentication credentials provided by your DNS " "Please fill in the API authentication credentials provided by your DNS "
"provider.\n" "provider."
"We will add one or more TXT records to the DNS records of your domain for " msgstr "请填写 DNS 提供商提供的 API 验证凭据。"
"ownership verification.\n"
"Once the verification is complete, the records will be removed.\n"
"Please note that the time configurations below are all in seconds."
msgstr ""
"请填写您的DNS提供商提供的API认证凭证。我们将在你的域名的DNS记录中添加一个或多"
"个TXT记录以进行所有权验证。一旦验证完成这些记录将被删除。请注意下面的时"
"间配置都是以秒为单位。"
#: src/views/domain/cert/components/AutoCertStepOne.vue:49 #: src/views/domain/cert/components/AutoCertStepOne.vue:55
msgid "" msgid ""
"Please first add credentials in Certification > DNS Credentials, and then " "Please first add credentials in Certification > DNS Credentials, and then "
"select one of the credentialsbelow to request the API of the DNS provider." "select one of the credentialsbelow to request the API of the DNS provider."
@ -982,18 +986,23 @@ msgid ""
"configuration!" "configuration!"
msgstr "请输入名称,这将被用作新配置的文件名!" msgstr "请输入名称,这将被用作新配置的文件名!"
#: src/views/other/Install.vue:34 #: src/views/other/Install.vue:35
msgid "Please input your E-mail!" msgid "Please input your E-mail!"
msgstr "请输入您的邮箱!" msgstr "请输入您的邮箱!"
#: src/views/other/Install.vue:46 src/views/other/Login.vue:41 #: src/views/other/Install.vue:47 src/views/other/Login.vue:39
msgid "Please input your password!" msgid "Please input your password!"
msgstr "请输入您的密码!" msgstr "请输入您的密码!"
#: src/views/other/Install.vue:40 src/views/other/Login.vue:35 #: src/views/other/Install.vue:41 src/views/other/Login.vue:33
msgid "Please input your username!" msgid "Please input your username!"
msgstr "请输入您的用户名!" msgstr "请输入您的用户名!"
#: src/views/certificate/DNSCredential.vue:61
msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr "请注意,下面的时间单位配置均以秒为单位。"
#: src/views/domain/components/SiteDuplicate.vue:47 #: src/views/domain/components/SiteDuplicate.vue:47
msgid "Please select at least one node!" msgid "Please select at least one node!"
msgstr "请至少选择一个节点!" msgstr "请至少选择一个节点!"
@ -1002,7 +1011,7 @@ msgstr "请至少选择一个节点!"
msgid "Pre-release" msgid "Pre-release"
msgstr "预发布" msgstr "预发布"
#: src/routes/index.ts:168 src/views/preference/Preference.vue:87 #: src/routes/index.ts:167 src/views/preference/Preference.vue:85
msgid "Preference" msgid "Preference"
msgstr "偏好设置" msgstr "偏好设置"
@ -1022,7 +1031,7 @@ msgstr "禁止删除默认用户"
msgid "Project Team" msgid "Project Team"
msgstr "项目团队" msgstr "项目团队"
#: src/views/cert/DNSCredential.vue:21 #: src/views/certificate/DNSCredential.vue:21
msgid "Provider" msgid "Provider"
msgstr "提供商" msgstr "提供商"
@ -1090,9 +1099,9 @@ msgid "Running"
msgstr "运行中" msgstr "运行中"
#: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98 #: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98
#: src/views/domain/DomainEdit.vue:269 #: src/views/domain/DomainEdit.vue:268
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/preference/Preference.vue:115 #: src/views/preference/Preference.vue:113
msgid "Save" msgid "Save"
msgstr "保存" msgstr "保存"
@ -1106,7 +1115,7 @@ msgid "Save error %{msg}"
msgstr "保存错误 %{msg}" msgstr "保存错误 %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
#: src/views/preference/Preference.vue:60 #: src/views/preference/Preference.vue:58
msgid "Save successfully" msgid "Save successfully"
msgstr "保存成功" msgstr "保存成功"
@ -1115,7 +1124,7 @@ msgid "Save Successfully"
msgstr "保存成功" msgstr "保存成功"
#: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41 #: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41
#: src/views/domain/DomainEdit.vue:155 #: src/views/domain/DomainEdit.vue:154
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39
msgid "Saved successfully" msgid "Saved successfully"
msgstr "保存成功" msgstr "保存成功"
@ -1136,7 +1145,7 @@ msgstr "上传"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:157 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:157
#: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79 #: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79
#: src/views/other/Install.vue:71 src/views/preference/Preference.vue:62 #: src/views/other/Install.vue:72 src/views/preference/Preference.vue:60
#: src/views/system/Upgrade.vue:45 #: src/views/system/Upgrade.vue:45
msgid "Server error" msgid "Server error"
msgstr "服务器错误" msgstr "服务器错误"
@ -1145,11 +1154,11 @@ msgstr "服务器错误"
msgid "Server Info" msgid "Server Info"
msgstr "服务器信息" msgstr "服务器信息"
#: src/views/domain/cert/components/ObtainCert.vue:164 #: src/views/domain/cert/components/ObtainCert.vue:165
msgid "server_name not found in directives" msgid "server_name not found in directives"
msgstr "未在指令集合中找到 server_name" msgstr "未在指令集合中找到 server_name"
#: src/views/domain/cert/components/AutoCertStepOne.vue:22 #: src/views/domain/cert/components/AutoCertStepOne.vue:27
#: src/views/domain/DomainAdd.vue:119 #: src/views/domain/DomainAdd.vue:119
msgid "server_name parameter is required" msgid "server_name parameter is required"
msgstr "必须为 server_name 指令指明参数" msgstr "必须为 server_name 指令指明参数"
@ -1162,30 +1171,30 @@ msgstr "正在设置环境变量"
msgid "Single Directive" msgid "Single Directive"
msgstr "单行指令" msgstr "单行指令"
#: src/routes/index.ts:143 #: src/routes/index.ts:142
msgid "Site Logs" msgid "Site Logs"
msgstr "站点列表" msgstr "站点列表"
#: src/routes/index.ts:67 #: src/routes/index.ts:66
msgid "Sites List" msgid "Sites List"
msgstr "站点列表" msgstr "站点列表"
#: src/views/cert/Cert.vue:64 #: src/views/certificate/Certificate.vue:164
msgid "SSL Certificate Content"
msgstr "SSL 证书内容"
#: src/views/certificate/Certificate.vue:171
msgid "SSL Certificate Key Content"
msgstr "SSL 证书密钥内容"
#: src/views/certificate/Certificate.vue:73
msgid "SSL Certificate Key Path" msgid "SSL Certificate Key Path"
msgstr "SSL证书密钥路径" msgstr "SSL证书密钥路径"
#: src/views/cert/Cert.vue:57 #: src/views/certificate/Certificate.vue:65
msgid "SSL Certificate Path" msgid "SSL Certificate Path"
msgstr "SSL证书路径" msgstr "SSL证书路径"
#: src/views/cert/Cert.vue:139
msgid "SSL Certification Content"
msgstr "SSL证书内容"
#: src/views/cert/Cert.vue:145
msgid "SSL Certification Key Content"
msgstr "SSL证书密钥内容"
#: src/views/other/Login.vue:158 #: src/views/other/Login.vue:158
msgid "SSO Login" msgid "SSO Login"
msgstr "SSO 登录" msgstr "SSO 登录"
@ -1206,7 +1215,7 @@ msgstr "已停止"
msgid "Storage" msgid "Storage"
msgstr "存储" msgstr "存储"
#: src/views/domain/cert/CertInfo.vue:25 #: src/views/domain/cert/CertInfo.vue:24
msgid "Subject Name: %{subject}" msgid "Subject Name: %{subject}"
msgstr "主体名称: %{subject}" msgstr "主体名称: %{subject}"
@ -1222,7 +1231,7 @@ msgstr "切换到深色主题"
msgid "Switch to light theme" msgid "Switch to light theme"
msgstr "切换到浅色" msgstr "切换到浅色"
#: src/routes/index.ts:176 #: src/routes/index.ts:175
msgid "System" msgid "System"
msgstr "系统" msgstr "系统"
@ -1234,7 +1243,7 @@ msgstr "列表"
msgid "Target" msgid "Target"
msgstr "目标" msgstr "目标"
#: src/routes/index.ts:121 src/views/pty/Terminal.vue:95 #: src/routes/index.ts:120 src/views/pty/Terminal.vue:95
msgid "Terminal" msgid "Terminal"
msgstr "终端" msgstr "终端"
@ -1242,7 +1251,7 @@ msgstr "终端"
msgid "Terminal Start Command" msgid "Terminal Start Command"
msgstr "终端启动命令" msgstr "终端启动命令"
#: src/views/domain/cert/components/AutoCertStepOne.vue:41 #: src/views/domain/cert/components/AutoCertStepOne.vue:47
msgid "" msgid ""
"The certificate for the domain will be checked 5 minutes, and will be " "The certificate for the domain will be checked 5 minutes, and will be "
"renewed if it has been more than 1 week since it was last issued." "renewed if it has been more than 1 week since it was last issued."
@ -1250,11 +1259,11 @@ msgstr ""
"域名证书将在 5 分钟内检查一次,如果距离上次签发证书已超过 1 周,则将更新证" "域名证书将在 5 分钟内检查一次,如果距离上次签发证书已超过 1 周,则将更新证"
"书。" "书。"
#: src/views/other/Install.vue:52 #: src/views/other/Install.vue:53
msgid "The filename cannot contain the following characters: %{c}" msgid "The filename cannot contain the following characters: %{c}"
msgstr "文件名不能包含以下字符: %{c}" msgstr "文件名不能包含以下字符: %{c}"
#: src/views/domain/cert/components/AutoCertStepOne.vue:36 #: src/views/domain/cert/components/AutoCertStepOne.vue:42
msgid "" msgid ""
"The server_name in the current configuration must be the domain name you " "The server_name in the current configuration must be the domain name you "
"need to get the certificate, supportmultiple domains." "need to get the certificate, supportmultiple domains."
@ -1264,8 +1273,8 @@ msgstr "当前配置中的 server_name 必须是获取证书所需的域名,
msgid "The username or password is incorrect" msgid "The username or password is incorrect"
msgstr "用户名或密码错误" msgstr "用户名或密码错误"
#: src/views/cert/Cert.vue:102 #: src/views/certificate/Certificate.vue:115
msgid "This auto-cert item is invalid, please remove it." msgid "This Auto Cert item is invalid, please remove it."
msgstr "这个证书自动续期项目是无效的,请删除。" msgstr "这个证书自动续期项目是无效的,请删除。"
#: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31 #: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31
@ -1286,9 +1295,10 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "类型" msgstr "类型"
#: src/views/cert/Cert.vue:71 src/views/cert/DNSCredential.vue:26 #: src/views/certificate/Certificate.vue:81
#: src/views/config/config.ts:29 src/views/config/ConfigEdit.vue:123 #: src/views/certificate/DNSCredential.vue:26 src/views/config/config.ts:29
#: src/views/domain/components/RightSettings.vue:82 #: src/views/config/ConfigEdit.vue:123
#: src/views/domain/components/RightSettings.vue:84
#: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98 #: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98
#: src/views/user/User.vue:40 #: src/views/user/User.vue:40
msgid "Updated at" msgid "Updated at"
@ -1298,7 +1308,7 @@ msgstr "修改时间"
msgid "Updated successfully" msgid "Updated successfully"
msgstr "更新成功" msgstr "更新成功"
#: src/routes/index.ts:187 src/views/system/Upgrade.vue:143 #: src/routes/index.ts:186 src/views/system/Upgrade.vue:143
#: src/views/system/Upgrade.vue:235 #: src/views/system/Upgrade.vue:235
msgid "Upgrade" msgid "Upgrade"
msgstr "升级" msgstr "升级"
@ -1327,7 +1337,7 @@ msgstr "用户"
msgid "Username" msgid "Username"
msgstr "用户名" msgstr "用户名"
#: src/views/other/Install.vue:101 #: src/views/other/Install.vue:103
msgid "Username (*)" msgid "Username (*)"
msgstr "用户名 (*)" msgstr "用户名 (*)"
@ -1343,13 +1353,19 @@ msgstr "使用 HTTP01 challenge provider"
msgid "View" msgid "View"
msgstr "查看" msgstr "查看"
#: src/views/config/InspectConfig.vue:37 #: src/views/config/InspectConfig.vue:36
#: src/views/domain/cert/components/AutoCertStepOne.vue:16 #: src/views/domain/cert/components/AutoCertStepOne.vue:21
#: src/views/domain/DomainAdd.vue:114 #: src/views/domain/DomainAdd.vue:114
msgid "Warning" msgid "Warning"
msgstr "警告" msgstr "警告"
#: src/views/domain/cert/components/ObtainCert.vue:207 #: src/views/certificate/DNSCredential.vue:55
msgid ""
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification."
msgstr "我们将在您域名的 DNS 记录中添加一个或多个 TXT 记录,以核实域名所有权。"
#: src/views/domain/cert/components/ObtainCert.vue:208
msgid "" msgid ""
"We will remove the HTTPChallenge configuration from this file and reload the " "We will remove the HTTPChallenge configuration from this file and reload the "
"Nginx. Are you sure you want to continue?" "Nginx. Are you sure you want to continue?"
@ -1382,6 +1398,24 @@ msgstr "您使用的是最新版本"
msgid "You can check Nginx UI upgrade at this page." msgid "You can check Nginx UI upgrade at this page."
msgstr "你可以在这个页面检查Nginx UI的升级。" msgstr "你可以在这个页面检查Nginx UI的升级。"
#~ msgid "Auto cert is enabled, please do not modify this certification."
#~ msgstr "自动更新已启用,请勿修改此证书配置。"
#~ msgid ""
#~ "Please fill in the API authentication credentials provided by your DNS "
#~ "provider.\n"
#~ "We will add one or more TXT records to the DNS records of your domain for "
#~ "ownership verification.\n"
#~ "Once the verification is complete, the records will be removed.\n"
#~ "Please note that the unit of time configurations below are all in seconds."
#~ msgstr ""
#~ "请填写您的DNS提供商提供的API认证凭证。我们将在你的域名的DNS记录中添加一个"
#~ "或多个TXT记录以进行所有权验证。一旦验证完成这些记录将被删除。请注意"
#~ "下面的时间配置都是以秒为单位。"
#~ msgid "Certification"
#~ msgstr "证书"
#~ msgid "Delete ID: %{id}" #~ msgid "Delete ID: %{id}"
#~ msgstr "删除 ID: %{id}" #~ msgstr "删除 ID: %{id}"

View file

@ -14,29 +14,25 @@ msgstr ""
"Generated-By: easygettext\n" "Generated-By: easygettext\n"
"X-Generator: Poedit 3.4.1\n" "X-Generator: Poedit 3.4.1\n"
#: src/views/domain/cert/CertInfo.vue:28 #: src/routes/index.ts:182
#, fuzzy
msgid " Expiration Date: %{date}"
msgstr "到期日期: %{date}"
#: src/routes/index.ts:183
msgid "About" msgid "About"
msgstr "關於" msgstr "關於"
#: src/routes/index.ts:135 src/views/domain/ngx_conf/LogEntry.vue:78 #: src/routes/index.ts:134 src/views/domain/ngx_conf/LogEntry.vue:78
msgid "Access Logs" msgid "Access Logs"
msgstr "存取日誌" msgstr "存取日誌"
#: src/views/cert/Cert.vue:77 src/views/cert/DNSCredential.vue:32 #: src/views/certificate/Certificate.vue:87
#: src/views/config/config.ts:36 src/views/domain/DomainList.vue:50 #: src/views/certificate/DNSCredential.vue:32 src/views/config/config.ts:36
#: src/views/environment/Environment.vue:105 src/views/user/User.vue:46 #: src/views/domain/DomainList.vue:50 src/views/environment/Environment.vue:105
#: src/views/user/User.vue:46
msgid "Action" msgid "Action"
msgstr "操作" msgstr "操作"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:114
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:115
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:307 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:308
msgid "Add" msgid "Add"
msgstr "新增" msgstr "新增"
@ -49,15 +45,15 @@ msgstr "在下方新增指令"
msgid "Add Location" msgid "Add Location"
msgstr "新增 Location" msgstr "新增 Location"
#: src/routes/index.ts:71 src/views/domain/DomainAdd.vue:91 #: src/routes/index.ts:70 src/views/domain/DomainAdd.vue:91
msgid "Add Site" msgid "Add Site"
msgstr "新增網站" msgstr "新增網站"
#: src/views/cert/DNSChallenge.vue:95 #: src/views/certificate/DNSChallenge.vue:95
msgid "Additional" msgid "Additional"
msgstr "其他設定" msgstr "其他設定"
#: src/views/domain/DomainEdit.vue:205 #: src/views/domain/DomainEdit.vue:204
msgid "Advance Mode" msgid "Advance Mode"
msgstr "進階模式" msgstr "進階模式"
@ -107,32 +103,35 @@ msgstr "助理"
msgid "Author" msgid "Author"
msgstr "作者" msgstr "作者"
#: src/views/cert/Cert.vue:38 src/views/domain/cert/ChangeCert.vue:37 #: src/views/certificate/Certificate.vue:46
#: src/views/domain/cert/ChangeCert.vue:37
msgid "Auto Cert" msgid "Auto Cert"
msgstr "自動憑證" msgstr "自動憑證"
#: src/views/cert/Cert.vue:92 #: src/views/certificate/Certificate.vue:105
msgid "Auto cert is enabled, please do not modify this certification." #, fuzzy
msgstr "自動憑證已啟用,請勿修改此憑證。" msgid "Auto Cert is enabled"
msgstr "自動憑證"
#: src/views/nginx_log/NginxLog.vue:150 #: src/views/certificate/Certificate.vue:135
#, fuzzy
msgid "Auto Cert Log"
msgstr "自動憑證日誌"
#: src/views/nginx_log/NginxLog.vue:149
msgid "Auto Refresh" msgid "Auto Refresh"
msgstr "自動重新整理" msgstr "自動重新整理"
#: src/views/cert/Cert.vue:122 #: src/views/domain/cert/components/ObtainCert.vue:126
msgid "Auto-Cert Log"
msgstr "自動憑證日誌"
#: src/views/domain/cert/components/ObtainCert.vue:125
msgid "Auto-renewal disabled for %{name}" msgid "Auto-renewal disabled for %{name}"
msgstr "已關閉 %{name} 的自動續簽" msgstr "已關閉 %{name} 的自動續簽"
#: src/views/domain/cert/components/ObtainCert.vue:118 #: src/views/domain/cert/components/ObtainCert.vue:119
msgid "Auto-renewal enabled for %{name}" msgid "Auto-renewal enabled for %{name}"
msgstr "已啟用 %{name} 的自動續簽" msgstr "已啟用 %{name} 的自動續簽"
#: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89 #: src/views/config/Config.vue:75 src/views/config/ConfigEdit.vue:89
#: src/views/domain/DomainEdit.vue:262 src/views/nginx_log/NginxLog.vue:171 #: src/views/domain/DomainEdit.vue:261 src/views/nginx_log/NginxLog.vue:170
msgid "Back" msgid "Back"
msgstr "返回" msgstr "返回"
@ -145,12 +144,12 @@ msgid "Base information"
msgstr "基本資訊" msgstr "基本資訊"
#: src/views/config/ConfigEdit.vue:117 #: src/views/config/ConfigEdit.vue:117
#: src/views/domain/components/RightSettings.vue:71 #: src/views/domain/components/RightSettings.vue:73
#: src/views/preference/Preference.vue:92 #: src/views/preference/Preference.vue:90
msgid "Basic" msgid "Basic"
msgstr "基本" msgstr "基本"
#: src/views/domain/DomainEdit.vue:208 #: src/views/domain/DomainEdit.vue:207
msgid "Basic Mode" msgid "Basic Mode"
msgstr "基本模式" msgstr "基本模式"
@ -171,35 +170,38 @@ msgstr "CADir"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:58
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:139
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
#: src/views/domain/cert/components/ObtainCert.vue:210 #: src/views/domain/cert/components/ObtainCert.vue:211
#: src/views/domain/components/Deploy.vue:25 #: src/views/domain/components/Deploy.vue:24
#: src/views/domain/components/RightSettings.vue:51 #: src/views/domain/components/RightSettings.vue:52
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:216 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:216
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:48 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
msgid "Cancel" msgid "Cancel"
msgstr "取消" msgstr "取消"
#: src/views/domain/cert/CertInfo.vue:36 #: src/views/domain/cert/CertInfo.vue:35
msgid "Certificate has expired" msgid "Certificate has expired"
msgstr "此憑證已過期" msgstr "此憑證已過期"
#: src/views/domain/cert/CertInfo.vue:40 #: src/views/domain/cert/CertInfo.vue:39
msgid "Certificate is valid" msgid "Certificate is valid"
msgstr "此憑證有效" msgstr "此憑證有效"
#: src/views/cert/Cert.vue:132 src/views/domain/cert/Cert.vue:35 #: src/views/certificate/Certificate.vue:145 src/views/domain/cert/Cert.vue:35
msgid "Certificate Status" msgid "Certificate Status"
msgstr "憑證狀態" msgstr "憑證狀態"
#: src/routes/index.ts:101 src/views/cert/Cert.vue:84 #: src/routes/index.ts:100 src/views/certificate/Certificate.vue:96
msgid "Certification" #, fuzzy
msgstr "憑證" msgid "Certificates"
msgstr "憑證狀態"
#: src/routes/index.ts:109 #: src/routes/index.ts:108
msgid "Certification List" #, fuzzy
msgid "Certificates List"
msgstr "憑證清單" msgstr "憑證清單"
#: src/views/domain/cert/components/AutoCertStepOne.vue:57 #: src/views/certificate/Certificate.vue:150
#: src/views/domain/cert/components/AutoCertStepOne.vue:63
msgid "Challenge Method" msgid "Challenge Method"
msgstr "驗證方式" msgstr "驗證方式"
@ -235,11 +237,11 @@ msgstr "清除"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:97
#: src/views/domain/ngx_conf/LocationEditor.vue:121 #: src/views/domain/ngx_conf/LocationEditor.vue:121
#: src/views/domain/ngx_conf/LocationEditor.vue:90 #: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:283 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:284
msgid "Comments" msgid "Comments"
msgstr "備註" msgstr "備註"
#: src/views/cert/Cert.vue:33 #: src/views/certificate/Certificate.vue:41
msgid "Config Name" msgid "Config Name"
msgstr "設定名稱" msgstr "設定名稱"
@ -247,7 +249,7 @@ msgstr "設定名稱"
msgid "Config Templates" msgid "Config Templates"
msgstr "設定模板" msgstr "設定模板"
#: src/views/config/InspectConfig.vue:31 #: src/views/config/InspectConfig.vue:30
msgid "Configuration file is test successful" msgid "Configuration file is test successful"
msgstr "設定檔案測試成功" msgstr "設定檔案測試成功"
@ -301,7 +303,7 @@ msgstr "建立客戶端方便與CA伺服器通訊"
msgid "Credential" msgid "Credential"
msgstr "認證" msgstr "認證"
#: src/views/cert/DNSChallenge.vue:83 #: src/views/certificate/DNSChallenge.vue:83
msgid "Credentials" msgid "Credentials"
msgstr "認證資訊" msgstr "認證資訊"
@ -310,7 +312,7 @@ msgid "Current Version"
msgstr "目前版本" msgstr "目前版本"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:122
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:240 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:241
msgid "Custom" msgid "Custom"
msgstr "自訂" msgstr "自訂"
@ -318,13 +320,13 @@ msgstr "自訂"
msgid "Dashboard" msgid "Dashboard"
msgstr "儀表板" msgstr "儀表板"
#: src/views/other/Install.vue:122 #: src/views/other/Install.vue:124
msgid "Database (Optional, default: database)" msgid "Database (Optional, default: database)"
msgstr "資料庫 (可選,預設: database)" msgstr "資料庫 (可選,預設: database)"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:354 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:354
#: src/views/domain/DomainList.vue:153 #: src/views/domain/DomainList.vue:153
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:258 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:259
msgid "Delete" msgid "Delete"
msgstr "刪除" msgstr "刪除"
@ -338,19 +340,19 @@ msgid "Deleted successfully"
msgstr "成功停用" msgstr "成功停用"
#: src/views/domain/components/Deploy.vue:109 #: src/views/domain/components/Deploy.vue:109
#: src/views/domain/components/RightSettings.vue:89 #: src/views/domain/components/RightSettings.vue:91
msgid "Deploy" msgid "Deploy"
msgstr "部署" msgstr "部署"
#: src/views/domain/components/Deploy.vue:67 #: src/views/domain/components/Deploy.vue:66
msgid "Deploy %{conf_name} to %{node_name} failed" msgid "Deploy %{conf_name} to %{node_name} failed"
msgstr "部署 %{conf_name} 至 %{node_name} 失敗" msgstr "部署 %{conf_name} 至 %{node_name} 失敗"
#: src/views/domain/components/Deploy.vue:41 #: src/views/domain/components/Deploy.vue:40
msgid "Deploy %{conf_name} to %{node_name} successfully" msgid "Deploy %{conf_name} to %{node_name} successfully"
msgstr "成功部署 %{conf_name} 至 %{node_name}" msgstr "成功部署 %{conf_name} 至 %{node_name}"
#: src/views/domain/components/Deploy.vue:39 #: src/views/domain/components/Deploy.vue:38
msgid "Deploy successfully" msgid "Deploy successfully"
msgstr "部署成功" msgstr "部署成功"
@ -380,16 +382,17 @@ msgstr "指令"
msgid "Disable" msgid "Disable"
msgstr "停用" msgstr "停用"
#: src/views/domain/cert/components/ObtainCert.vue:127 #: src/views/domain/cert/components/ObtainCert.vue:128
msgid "Disable auto-renewal failed for %{name}" msgid "Disable auto-renewal failed for %{name}"
msgstr "關閉 %{name} 自動續簽失敗" msgstr "關閉 %{name} 自動續簽失敗"
#: src/views/cert/Cert.vue:49 src/views/domain/cert/ChangeCert.vue:48 #: src/views/certificate/Certificate.vue:57
#: src/views/domain/DomainEdit.vue:191 src/views/domain/DomainList.vue:123 #: src/views/domain/cert/ChangeCert.vue:48 src/views/domain/DomainEdit.vue:190
#: src/views/domain/DomainList.vue:123
msgid "Disabled" msgid "Disabled"
msgstr "停用" msgstr "停用"
#: src/views/domain/components/RightSettings.vue:38 #: src/views/domain/components/RightSettings.vue:39
#: src/views/domain/DomainList.vue:67 #: src/views/domain/DomainList.vue:67
msgid "Disabled successfully" msgid "Disabled successfully"
msgstr "成功停用" msgstr "成功停用"
@ -398,33 +401,33 @@ msgstr "成功停用"
msgid "Disk IO" msgid "Disk IO"
msgstr "磁碟 IO" msgstr "磁碟 IO"
#: src/routes/index.ts:114 src/views/cert/DNSCredential.vue:39 #: src/routes/index.ts:113 src/views/certificate/DNSCredential.vue:39
msgid "DNS Credentials" msgid "DNS Credentials"
msgstr "DNS 認證" msgstr "DNS 認證"
#: src/views/cert/DNSChallenge.vue:74 #: src/views/certificate/DNSChallenge.vue:74
#: src/views/domain/cert/components/DNSChallenge.vue:79 #: src/views/domain/cert/components/DNSChallenge.vue:79
msgid "DNS Provider" msgid "DNS Provider"
msgstr "DNS 供應商" msgstr "DNS 供應商"
#: src/views/domain/cert/components/AutoCertStepOne.vue:63 #: src/views/domain/cert/components/AutoCertStepOne.vue:69
msgid "DNS01" msgid "DNS01"
msgstr "DNS01" msgstr "DNS01"
#: src/views/domain/components/Deploy.vue:20 #: src/views/domain/components/Deploy.vue:19
msgid "Do you want to deploy this file to remote server?" msgid "Do you want to deploy this file to remote server?"
msgid_plural "Do you want to deploy this file to remote servers?" msgid_plural "Do you want to deploy this file to remote servers?"
msgstr[0] "您要將此檔案部署至遠端伺服器嗎?" msgstr[0] "您要將此檔案部署至遠端伺服器嗎?"
#: src/views/domain/cert/components/ObtainCert.vue:206 #: src/views/domain/cert/components/ObtainCert.vue:207
msgid "Do you want to disable auto-cert renewal?" msgid "Do you want to disable auto-cert renewal?"
msgstr "您要停用自動憑證續訂嗎?" msgstr "您要停用自動憑證續訂嗎?"
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
msgid "Do you want to disable this site?" msgid "Do you want to disable this site?"
msgstr "您想停用這個網站嗎?" msgstr "您想停用這個網站嗎?"
#: src/views/domain/components/RightSettings.vue:47 #: src/views/domain/components/RightSettings.vue:48
msgid "Do you want to enable this site?" msgid "Do you want to enable this site?"
msgstr "您要啟用此網站嗎?" msgstr "您要啟用此網站嗎?"
@ -440,8 +443,9 @@ msgstr "您要移除此伺服器嗎?"
msgid "Domain Config Created Successfully" msgid "Domain Config Created Successfully"
msgstr "網域設定檔成功建立" msgstr "網域設定檔成功建立"
#: src/views/cert/Cert.vue:112 #: src/views/certificate/Certificate.vue:125
msgid "Domains list is empty, try to reopen auto-cert for %{config}" #, fuzzy
msgid "Domains list is empty, try to reopen Auto Cert for %{config}"
msgstr "網域列表為空,請嘗試重新開啟 %{config} 的自動憑證" msgstr "網域列表為空,請嘗試重新開啟 %{config} 的自動憑證"
#: src/language/constants.ts:29 #: src/language/constants.ts:29
@ -477,19 +481,19 @@ msgstr "複製成功"
msgid "Duplicate to local successfully" msgid "Duplicate to local successfully"
msgstr "成功複製至本機" msgstr "成功複製至本機"
#: src/views/domain/DomainEdit.vue:180 #: src/views/domain/DomainEdit.vue:179
msgid "Edit %{n}" msgid "Edit %{n}"
msgstr "編輯 %{n}" msgstr "編輯 %{n}"
#: src/routes/index.ts:93 src/views/config/ConfigEdit.vue:83 #: src/routes/index.ts:92 src/views/config/ConfigEdit.vue:83
msgid "Edit Configuration" msgid "Edit Configuration"
msgstr "編輯設定" msgstr "編輯設定"
#: src/routes/index.ts:75 #: src/routes/index.ts:74
msgid "Edit Site" msgid "Edit Site"
msgstr "編輯網站" msgstr "編輯網站"
#: src/views/other/Install.vue:91 #: src/views/other/Install.vue:93
msgid "Email (*)" msgid "Email (*)"
msgstr "電子郵件 (*)" msgstr "電子郵件 (*)"
@ -497,15 +501,15 @@ msgstr "電子郵件 (*)"
msgid "Enable" msgid "Enable"
msgstr "啟用" msgstr "啟用"
#: src/views/domain/components/Deploy.vue:56 #: src/views/domain/components/Deploy.vue:55
msgid "Enable %{conf_name} in %{node_name} failed" msgid "Enable %{conf_name} in %{node_name} failed"
msgstr "在 %{node_name} 啟用 %{conf_name} 失敗" msgstr "在 %{node_name} 啟用 %{conf_name} 失敗"
#: src/views/domain/components/Deploy.vue:50 #: src/views/domain/components/Deploy.vue:49
msgid "Enable %{conf_name} in %{node_name} successfully" msgid "Enable %{conf_name} in %{node_name} successfully"
msgstr "成功在 %{node_name} 啟用 %{conf_name}" msgstr "成功在 %{node_name} 啟用 %{conf_name}"
#: src/views/domain/cert/components/ObtainCert.vue:120 #: src/views/domain/cert/components/ObtainCert.vue:121
msgid "Enable auto-renewal failed for %{name}" msgid "Enable auto-renewal failed for %{name}"
msgstr "啟用 %{name} 自動續簽失敗" msgstr "啟用 %{name} 自動續簽失敗"
@ -513,22 +517,23 @@ msgstr "啟用 %{name} 自動續簽失敗"
msgid "Enable failed" msgid "Enable failed"
msgstr "啟用失敗" msgstr "啟用失敗"
#: src/views/domain/components/Deploy.vue:48 #: src/views/domain/components/Deploy.vue:47
msgid "Enable successfully" msgid "Enable successfully"
msgstr "啟用成功" msgstr "啟用成功"
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:235 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:236
msgid "Enable TLS" msgid "Enable TLS"
msgstr "啟用 TLS" msgstr "啟用 TLS"
#: src/views/cert/Cert.vue:45 src/views/domain/cert/ChangeCert.vue:44 #: src/views/certificate/Certificate.vue:53
#: src/views/domain/cert/ChangeCert.vue:44
#: src/views/domain/components/Deploy.vue:89 #: src/views/domain/components/Deploy.vue:89
#: src/views/domain/components/RightSettings.vue:73 #: src/views/domain/components/RightSettings.vue:75
#: src/views/domain/DomainEdit.vue:185 src/views/domain/DomainList.vue:131 #: src/views/domain/DomainEdit.vue:184 src/views/domain/DomainList.vue:131
msgid "Enabled" msgid "Enabled"
msgstr "已啟用" msgstr "已啟用"
#: src/views/domain/components/RightSettings.vue:29 #: src/views/domain/components/RightSettings.vue:30
#: src/views/domain/components/SiteDuplicate.vue:100 #: src/views/domain/components/SiteDuplicate.vue:100
#: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58 #: src/views/domain/DomainAdd.vue:45 src/views/domain/DomainList.vue:58
msgid "Enabled successfully" msgid "Enabled successfully"
@ -538,7 +543,7 @@ msgstr "成功啟用"
msgid "Encrypt website with Let's Encrypt" msgid "Encrypt website with Let's Encrypt"
msgstr "用 Let's Encrypt 對網站進行加密" msgstr "用 Let's Encrypt 對網站進行加密"
#: src/routes/index.ts:152 src/views/environment/Environment.vue:113 #: src/routes/index.ts:151 src/views/environment/Environment.vue:113
msgid "Environment" msgid "Environment"
msgstr "環境" msgstr "環境"
@ -546,11 +551,11 @@ msgstr "環境"
msgid "Environments" msgid "Environments"
msgstr "環境" msgstr "環境"
#: src/views/config/InspectConfig.vue:48 #: src/views/config/InspectConfig.vue:47
msgid "Error" msgid "Error"
msgstr "錯誤" msgstr "錯誤"
#: src/routes/index.ts:139 src/views/domain/ngx_conf/LogEntry.vue:86 #: src/routes/index.ts:138 src/views/domain/ngx_conf/LogEntry.vue:86
msgid "Error Logs" msgid "Error Logs"
msgstr "錯誤日誌" msgstr "錯誤日誌"
@ -558,17 +563,22 @@ msgstr "錯誤日誌"
msgid "Executable Path" msgid "Executable Path"
msgstr "可執行檔路徑" msgstr "可執行檔路徑"
#: src/views/domain/cert/CertInfo.vue:27
#, fuzzy
msgid "Expired At: %{date}"
msgstr "到期日期: %{date}"
#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:296 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:296
msgid "Export" msgid "Export"
msgstr "匯出" msgstr "匯出"
#: src/views/domain/components/RightSettings.vue:41 #: src/views/domain/components/RightSettings.vue:42
#: src/views/domain/DomainList.vue:70 #: src/views/domain/DomainList.vue:70
msgid "Failed to disable %{msg}" msgid "Failed to disable %{msg}"
msgstr "停用 %{msg} 失敗" msgstr "停用 %{msg} 失敗"
#: src/views/domain/components/RightSettings.vue:32 #: src/views/domain/components/RightSettings.vue:33
#: src/views/domain/DomainList.vue:61 #: src/views/domain/DomainList.vue:61
msgid "Failed to enable %{msg}" msgid "Failed to enable %{msg}"
msgstr "啟用 %{msg} 失敗" msgstr "啟用 %{msg} 失敗"
@ -577,7 +587,7 @@ msgstr "啟用 %{msg} 失敗"
msgid "Failed to get certificate information" msgid "Failed to get certificate information"
msgstr "取得憑證資訊失敗" msgstr "取得憑證資訊失敗"
#: src/views/domain/DomainEdit.vue:139 #: src/views/domain/DomainEdit.vue:138
msgid "Failed to save, syntax error(s) was detected in the configuration." msgid "Failed to save, syntax error(s) was detected in the configuration."
msgstr "儲存失敗,在設定中檢測到語法錯誤。" msgstr "儲存失敗,在設定中檢測到語法錯誤。"
@ -593,7 +603,7 @@ msgstr "檔案已存在"
msgid "File Not Found" msgid "File Not Found"
msgstr "找不到檔案" msgstr "找不到檔案"
#: src/views/nginx_log/NginxLog.vue:153 #: src/views/nginx_log/NginxLog.vue:152
msgid "Filter" msgid "Filter"
msgstr "篩選" msgstr "篩選"
@ -625,7 +635,7 @@ msgstr "產生註冊帳號的私鑰"
msgid "Get release information error" msgid "Get release information error"
msgstr "取得發布資訊錯誤" msgstr "取得發布資訊錯誤"
#: src/views/domain/cert/components/ObtainCert.vue:63 #: src/views/domain/cert/components/ObtainCert.vue:64
msgid "Getting the certificate, please wait..." msgid "Getting the certificate, please wait..."
msgstr "正在取得憑證,請稍候..." msgstr "正在取得憑證,請稍候..."
@ -665,7 +675,7 @@ msgstr "HTTP 監聽主機"
msgid "HTTP Port" msgid "HTTP Port"
msgstr "HTTP 監聽埠" msgstr "HTTP 監聽埠"
#: src/views/domain/cert/components/AutoCertStepOne.vue:60 #: src/views/domain/cert/components/AutoCertStepOne.vue:66
msgid "HTTP01" msgid "HTTP01"
msgstr "HTTP01" msgstr "HTTP01"
@ -677,15 +687,15 @@ msgstr "初始化核心升級程式錯誤"
msgid "Initialing core upgrader" msgid "Initialing core upgrader"
msgstr "正在初始化核心升級程式" msgstr "正在初始化核心升級程式"
#: src/routes/index.ts:195 src/views/other/Install.vue:137 #: src/routes/index.ts:194 src/views/other/Install.vue:139
msgid "Install" msgid "Install"
msgstr "安裝" msgstr "安裝"
#: src/views/other/Install.vue:67 #: src/views/other/Install.vue:68
msgid "Install successfully" msgid "Install successfully"
msgstr "安裝成功" msgstr "安裝成功"
#: src/views/domain/cert/CertInfo.vue:22 #: src/views/domain/cert/CertInfo.vue:21
msgid "Intermediate Certification Authorities: %{issuer}" msgid "Intermediate Certification Authorities: %{issuer}"
msgstr "中級憑證頒發機構: %{issuer}" msgstr "中級憑證頒發機構: %{issuer}"
@ -736,11 +746,11 @@ msgstr "Location"
msgid "Locations" msgid "Locations"
msgstr "Locations" msgstr "Locations"
#: src/routes/index.ts:201 src/views/other/Login.vue:147 #: src/routes/index.ts:200 src/views/other/Login.vue:147
msgid "Login" msgid "Login"
msgstr "登入" msgstr "登入"
#: src/views/other/Login.vue:53 src/views/other/Login.vue:99 #: src/views/other/Login.vue:51 src/views/other/Login.vue:97
msgid "Login successful" msgid "Login successful"
msgstr "登入成功" msgstr "登入成功"
@ -748,22 +758,22 @@ msgstr "登入成功"
msgid "Logout successful" msgid "Logout successful"
msgstr "登出成功" msgstr "登出成功"
#: src/views/domain/cert/components/AutoCertStepOne.vue:45 #: src/views/domain/cert/components/AutoCertStepOne.vue:51
msgid "" msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to " "Make sure you have configured a reverse proxy for .well-known directory to "
"HTTPChallengePort before obtaining the certificate." "HTTPChallengePort before obtaining the certificate."
msgstr "" msgstr ""
"在取得憑證前,請確保您已將 .well-known 目錄反向代理到 HTTPChallengePort。" "在取得憑證前,請確保您已將 .well-known 目錄反向代理到 HTTPChallengePort。"
#: src/routes/index.ts:84 #: src/routes/index.ts:83
msgid "Manage Configs" msgid "Manage Configs"
msgstr "管理設定" msgstr "管理設定"
#: src/routes/index.ts:59 src/views/domain/DomainList.vue:102 #: src/routes/index.ts:58 src/views/domain/DomainList.vue:102
msgid "Manage Sites" msgid "Manage Sites"
msgstr "管理網站" msgstr "管理網站"
#: src/routes/index.ts:160 src/views/user/User.vue:53 #: src/routes/index.ts:159 src/views/user/User.vue:53
msgid "Manage Users" msgid "Manage Users"
msgstr "管理使用者" msgstr "管理使用者"
@ -778,6 +788,7 @@ msgstr "記憶體與儲存"
#: src/components/ChatGPT/ChatGPT.vue:256 #: src/components/ChatGPT/ChatGPT.vue:256
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:137
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:336 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:336
#: src/views/certificate/Certificate.vue:156
msgid "Modify" msgid "Modify"
msgstr "修改" msgstr "修改"
@ -789,9 +800,10 @@ msgstr "修改設定"
msgid "Multi-line Directive" msgid "Multi-line Directive"
msgstr "多行指令" msgstr "多行指令"
#: src/views/cert/Cert.vue:17 src/views/cert/DNSCredential.vue:13 #: src/views/certificate/Certificate.vue:24
#: src/views/config/config.ts:9 src/views/domain/cert/ChangeCert.vue:21 #: src/views/certificate/DNSCredential.vue:13 src/views/config/config.ts:9
#: src/views/domain/components/RightSettings.vue:79 #: src/views/domain/cert/ChangeCert.vue:21
#: src/views/domain/components/RightSettings.vue:81
#: src/views/domain/components/SiteDuplicate.vue:135 #: src/views/domain/components/SiteDuplicate.vue:135
#: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15 #: src/views/domain/DomainList.vue:16 src/views/environment/Environment.vue:15
msgid "Name" msgid "Name"
@ -817,12 +829,12 @@ msgstr "上傳流量"
msgid "New version released" msgid "New version released"
msgstr "新版本發布" msgstr "新版本發布"
#: src/views/domain/cert/components/ObtainCert.vue:278 #: src/views/domain/cert/components/ObtainCert.vue:281
#: src/views/domain/DomainAdd.vue:140 #: src/views/domain/DomainAdd.vue:140
msgid "Next" msgid "Next"
msgstr "下一步" msgstr "下一步"
#: src/views/preference/Preference.vue:98 #: src/views/preference/Preference.vue:96
msgid "Nginx" msgid "Nginx"
msgstr "Nginx" msgstr "Nginx"
@ -830,7 +842,7 @@ msgstr "Nginx"
msgid "Nginx Access Log Path" msgid "Nginx Access Log Path"
msgstr "Nginx 存取日誌路徑" msgstr "Nginx 存取日誌路徑"
#: src/views/domain/DomainEdit.vue:223 #: src/views/domain/DomainEdit.vue:222
msgid "Nginx Configuration Parse Error" msgid "Nginx Configuration Parse Error"
msgstr "Nginx 設定解析錯誤" msgstr "Nginx 設定解析錯誤"
@ -842,7 +854,7 @@ msgstr "Nginx 控制元件"
msgid "Nginx Error Log Path" msgid "Nginx Error Log Path"
msgstr "Nginx 錯誤日誌路徑" msgstr "Nginx 錯誤日誌路徑"
#: src/routes/index.ts:129 src/views/nginx_log/NginxLog.vue:146 #: src/routes/index.ts:128 src/views/nginx_log/NginxLog.vue:145
msgid "Nginx Log" msgid "Nginx Log"
msgstr "Nginx 日誌" msgstr "Nginx 日誌"
@ -866,20 +878,20 @@ msgstr "取消"
msgid "Node Secret" msgid "Node Secret"
msgstr "Node Secret" msgstr "Node Secret"
#: src/routes/index.ts:207 src/routes/index.ts:209 #: src/routes/index.ts:206 src/routes/index.ts:208
msgid "Not Found" msgid "Not Found"
msgstr "找不到頁面" msgstr "找不到頁面"
#: src/views/domain/cert/CertInfo.vue:31 #: src/views/domain/cert/CertInfo.vue:30
msgid "Not Valid Before: %{date}" msgid "Not Valid Before: %{date}"
msgstr "此前無效: %{date}" msgstr "此前無效: %{date}"
#: src/views/cert/DNSCredential.vue:48 #: src/views/certificate/DNSCredential.vue:48
#: src/views/domain/cert/components/AutoCertStepOne.vue:32 #: src/views/domain/cert/components/AutoCertStepOne.vue:38
msgid "Note" msgid "Note"
msgstr "備註" msgstr "備註"
#: src/views/domain/cert/components/ObtainCert.vue:249 #: src/views/domain/cert/components/ObtainCert.vue:252
msgid "Obtain certificate" msgid "Obtain certificate"
msgstr "取得憑證" msgstr "取得憑證"
@ -898,15 +910,19 @@ msgstr "離線"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:140
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:346 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:346
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
#: src/views/domain/cert/components/ObtainCert.vue:209 #: src/views/domain/cert/components/ObtainCert.vue:210
#: src/views/domain/components/Deploy.vue:24 #: src/views/domain/components/Deploy.vue:23
#: src/views/domain/components/RightSettings.vue:50 #: src/views/domain/components/RightSettings.vue:51
#: src/views/domain/DomainList.vue:144 #: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:215 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:215
#: src/views/domain/ngx_conf/NgxConfigEditor.vue:47 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
msgid "OK" msgid "OK"
msgstr "確定" msgstr "確定"
#: src/views/certificate/DNSCredential.vue:58
msgid "Once the verification is complete, the records will be removed."
msgstr ""
#: src/components/NodeSelector/NodeSelector.vue:57 #: src/components/NodeSelector/NodeSelector.vue:57
#: src/components/NodeSelector/NodeSelector.vue:72 #: src/components/NodeSelector/NodeSelector.vue:72
#: src/views/dashboard/Environments.vue:100 #: src/views/dashboard/Environments.vue:100
@ -914,7 +930,7 @@ msgstr "確定"
msgid "Online" msgid "Online"
msgstr "線上" msgstr "線上"
#: src/views/preference/Preference.vue:104 #: src/views/preference/Preference.vue:102
msgid "OpenAI" msgid "OpenAI"
msgstr "OpenAI" msgstr "OpenAI"
@ -942,7 +958,7 @@ msgstr "參數"
msgid "Password" msgid "Password"
msgstr "密碼" msgstr "密碼"
#: src/views/other/Install.vue:111 #: src/views/other/Install.vue:113
msgid "Password (*)" msgid "Password (*)"
msgstr "密碼 (*)" msgstr "密碼 (*)"
@ -960,21 +976,13 @@ msgstr "執行核心升級錯誤"
msgid "Performing core upgrade" msgid "Performing core upgrade"
msgstr "正在執行核心升級" msgstr "正在執行核心升級"
#: src/views/cert/DNSCredential.vue:52 #: src/views/certificate/DNSCredential.vue:52
#, fuzzy
msgid "" msgid ""
"Please fill in the API authentication credentials provided by your DNS " "Please fill in the API authentication credentials provided by your DNS "
"provider.\n" "provider."
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification.\n"
"Once the verification is complete, the records will be removed.\n"
"Please note that the time configurations below are all in seconds."
msgstr "" msgstr ""
"請填寫您的 DNS 供應商提供的 API 身份驗證認證。我們會將一個或多個 TXT 記錄新增"
"到您網域的 DNS 記錄中以進行所有權驗證。驗證完成後,記錄將被刪除。請注意,以下"
"時間設定均以秒為單位。"
#: src/views/domain/cert/components/AutoCertStepOne.vue:49 #: src/views/domain/cert/components/AutoCertStepOne.vue:55
#, fuzzy #, fuzzy
msgid "" msgid ""
"Please first add credentials in Certification > DNS Credentials, and then " "Please first add credentials in Certification > DNS Credentials, and then "
@ -989,18 +997,23 @@ msgid ""
"configuration!" "configuration!"
msgstr "請輸入名稱,這將作為新設定的檔名!" msgstr "請輸入名稱,這將作為新設定的檔名!"
#: src/views/other/Install.vue:34 #: src/views/other/Install.vue:35
msgid "Please input your E-mail!" msgid "Please input your E-mail!"
msgstr "請輸入您的電子郵件!" msgstr "請輸入您的電子郵件!"
#: src/views/other/Install.vue:46 src/views/other/Login.vue:41 #: src/views/other/Install.vue:47 src/views/other/Login.vue:39
msgid "Please input your password!" msgid "Please input your password!"
msgstr "請輸入您的密碼!" msgstr "請輸入您的密碼!"
#: src/views/other/Install.vue:40 src/views/other/Login.vue:35 #: src/views/other/Install.vue:41 src/views/other/Login.vue:33
msgid "Please input your username!" msgid "Please input your username!"
msgstr "請輸入您的使用者名稱!" msgstr "請輸入您的使用者名稱!"
#: src/views/certificate/DNSCredential.vue:61
msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr ""
#: src/views/domain/components/SiteDuplicate.vue:47 #: src/views/domain/components/SiteDuplicate.vue:47
msgid "Please select at least one node!" msgid "Please select at least one node!"
msgstr "請至少選擇一個節點!" msgstr "請至少選擇一個節點!"
@ -1009,7 +1022,7 @@ msgstr "請至少選擇一個節點!"
msgid "Pre-release" msgid "Pre-release"
msgstr "預先發布" msgstr "預先發布"
#: src/routes/index.ts:168 src/views/preference/Preference.vue:87 #: src/routes/index.ts:167 src/views/preference/Preference.vue:85
msgid "Preference" msgid "Preference"
msgstr "偏好設定" msgstr "偏好設定"
@ -1029,7 +1042,7 @@ msgstr "禁止刪除預設使用者"
msgid "Project Team" msgid "Project Team"
msgstr "專案團隊" msgstr "專案團隊"
#: src/views/cert/DNSCredential.vue:21 #: src/views/certificate/DNSCredential.vue:21
msgid "Provider" msgid "Provider"
msgstr "供應商" msgstr "供應商"
@ -1097,9 +1110,9 @@ msgid "Running"
msgstr "執行中" msgstr "執行中"
#: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98 #: src/components/ChatGPT/ChatGPT.vue:259 src/views/config/ConfigEdit.vue:98
#: src/views/domain/DomainEdit.vue:269 #: src/views/domain/DomainEdit.vue:268
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/preference/Preference.vue:115 #: src/views/preference/Preference.vue:113
msgid "Save" msgid "Save"
msgstr "儲存" msgstr "儲存"
@ -1113,7 +1126,7 @@ msgid "Save error %{msg}"
msgstr "儲存錯誤 %{msg}" msgstr "儲存錯誤 %{msg}"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
#: src/views/preference/Preference.vue:60 #: src/views/preference/Preference.vue:58
msgid "Save successfully" msgid "Save successfully"
msgstr "儲存成功" msgstr "儲存成功"
@ -1122,7 +1135,7 @@ msgid "Save Successfully"
msgstr "儲存成功" msgstr "儲存成功"
#: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41 #: src/views/config/ConfigEdit.vue:57 src/views/domain/DomainAdd.vue:41
#: src/views/domain/DomainEdit.vue:155 #: src/views/domain/DomainEdit.vue:154
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39
msgid "Saved successfully" msgid "Saved successfully"
msgstr "儲存成功" msgstr "儲存成功"
@ -1143,7 +1156,7 @@ msgstr "傳送"
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:45
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:157 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:157
#: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79 #: src/views/config/ConfigEdit.vue:42 src/views/domain/DomainList.vue:79
#: src/views/other/Install.vue:71 src/views/preference/Preference.vue:62 #: src/views/other/Install.vue:72 src/views/preference/Preference.vue:60
#: src/views/system/Upgrade.vue:45 #: src/views/system/Upgrade.vue:45
msgid "Server error" msgid "Server error"
msgstr "伺服器錯誤" msgstr "伺服器錯誤"
@ -1152,11 +1165,11 @@ msgstr "伺服器錯誤"
msgid "Server Info" msgid "Server Info"
msgstr "伺服器資訊" msgstr "伺服器資訊"
#: src/views/domain/cert/components/ObtainCert.vue:164 #: src/views/domain/cert/components/ObtainCert.vue:165
msgid "server_name not found in directives" msgid "server_name not found in directives"
msgstr "在指令中未找到 server_name" msgstr "在指令中未找到 server_name"
#: src/views/domain/cert/components/AutoCertStepOne.vue:22 #: src/views/domain/cert/components/AutoCertStepOne.vue:27
#: src/views/domain/DomainAdd.vue:119 #: src/views/domain/DomainAdd.vue:119
msgid "server_name parameter is required" msgid "server_name parameter is required"
msgstr "必須提供 server_name 參數" msgstr "必須提供 server_name 參數"
@ -1169,30 +1182,32 @@ msgstr "設定環境變數中"
msgid "Single Directive" msgid "Single Directive"
msgstr "單一指令" msgstr "單一指令"
#: src/routes/index.ts:143 #: src/routes/index.ts:142
msgid "Site Logs" msgid "Site Logs"
msgstr "網站日誌" msgstr "網站日誌"
#: src/routes/index.ts:67 #: src/routes/index.ts:66
msgid "Sites List" msgid "Sites List"
msgstr "網站列表" msgstr "網站列表"
#: src/views/cert/Cert.vue:64 #: src/views/certificate/Certificate.vue:164
#, fuzzy
msgid "SSL Certificate Content"
msgstr "SSL 認證內容"
#: src/views/certificate/Certificate.vue:171
#, fuzzy
msgid "SSL Certificate Key Content"
msgstr "SSL 憑證金鑰內容"
#: src/views/certificate/Certificate.vue:73
msgid "SSL Certificate Key Path" msgid "SSL Certificate Key Path"
msgstr "SSL 憑證金鑰路徑" msgstr "SSL 憑證金鑰路徑"
#: src/views/cert/Cert.vue:57 #: src/views/certificate/Certificate.vue:65
msgid "SSL Certificate Path" msgid "SSL Certificate Path"
msgstr "SSL 憑證路徑" msgstr "SSL 憑證路徑"
#: src/views/cert/Cert.vue:139
msgid "SSL Certification Content"
msgstr "SSL 認證內容"
#: src/views/cert/Cert.vue:145
msgid "SSL Certification Key Content"
msgstr "SSL 憑證金鑰內容"
#: src/views/other/Login.vue:158 #: src/views/other/Login.vue:158
#, fuzzy #, fuzzy
msgid "SSO Login" msgid "SSO Login"
@ -1214,7 +1229,7 @@ msgstr "已停止"
msgid "Storage" msgid "Storage"
msgstr "儲存空間" msgstr "儲存空間"
#: src/views/domain/cert/CertInfo.vue:25 #: src/views/domain/cert/CertInfo.vue:24
#, fuzzy #, fuzzy
msgid "Subject Name: %{subject}" msgid "Subject Name: %{subject}"
msgstr "主體名稱: %{name}" msgstr "主體名稱: %{name}"
@ -1231,7 +1246,7 @@ msgstr ""
msgid "Switch to light theme" msgid "Switch to light theme"
msgstr "" msgstr ""
#: src/routes/index.ts:176 #: src/routes/index.ts:175
msgid "System" msgid "System"
msgstr "系統" msgstr "系統"
@ -1243,7 +1258,7 @@ msgstr "表格"
msgid "Target" msgid "Target"
msgstr "目標" msgstr "目標"
#: src/routes/index.ts:121 src/views/pty/Terminal.vue:95 #: src/routes/index.ts:120 src/views/pty/Terminal.vue:95
msgid "Terminal" msgid "Terminal"
msgstr "終端機" msgstr "終端機"
@ -1251,7 +1266,7 @@ msgstr "終端機"
msgid "Terminal Start Command" msgid "Terminal Start Command"
msgstr "終端機啟動指令" msgstr "終端機啟動指令"
#: src/views/domain/cert/components/AutoCertStepOne.vue:41 #: src/views/domain/cert/components/AutoCertStepOne.vue:47
#, fuzzy #, fuzzy
msgid "" msgid ""
"The certificate for the domain will be checked 5 minutes, and will be " "The certificate for the domain will be checked 5 minutes, and will be "
@ -1260,11 +1275,11 @@ msgstr ""
"系統將會每小時檢測一次該域名的憑證,若距離上次簽發已超過 1 週,則將自動續簽。" "系統將會每小時檢測一次該域名的憑證,若距離上次簽發已超過 1 週,則將自動續簽。"
"<br/>如果您之前沒有憑證,請先點選「從 Let's Encrypt 取得憑證」。" "<br/>如果您之前沒有憑證,請先點選「從 Let's Encrypt 取得憑證」。"
#: src/views/other/Install.vue:52 #: src/views/other/Install.vue:53
msgid "The filename cannot contain the following characters: %{c}" msgid "The filename cannot contain the following characters: %{c}"
msgstr "檔名不能包含以下字元: %{c}" msgstr "檔名不能包含以下字元: %{c}"
#: src/views/domain/cert/components/AutoCertStepOne.vue:36 #: src/views/domain/cert/components/AutoCertStepOne.vue:42
#, fuzzy #, fuzzy
msgid "" msgid ""
"The server_name in the current configuration must be the domain name you " "The server_name in the current configuration must be the domain name you "
@ -1275,8 +1290,9 @@ msgstr "注意:目前設定中的 server_name 必須為需要申請憑證的
msgid "The username or password is incorrect" msgid "The username or password is incorrect"
msgstr "使用者名稱或密碼不正確" msgstr "使用者名稱或密碼不正確"
#: src/views/cert/Cert.vue:102 #: src/views/certificate/Certificate.vue:115
msgid "This auto-cert item is invalid, please remove it." #, fuzzy
msgid "This Auto Cert item is invalid, please remove it."
msgstr "此自動憑證項目無效,請將其移除。" msgstr "此自動憑證項目無效,請將其移除。"
#: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31 #: src/components/StdDesign/StdDataEntry/StdFormItem.vue:31
@ -1297,9 +1313,10 @@ msgstr ""
msgid "Type" msgid "Type"
msgstr "類型" msgstr "類型"
#: src/views/cert/Cert.vue:71 src/views/cert/DNSCredential.vue:26 #: src/views/certificate/Certificate.vue:81
#: src/views/config/config.ts:29 src/views/config/ConfigEdit.vue:123 #: src/views/certificate/DNSCredential.vue:26 src/views/config/config.ts:29
#: src/views/domain/components/RightSettings.vue:82 #: src/views/config/ConfigEdit.vue:123
#: src/views/domain/components/RightSettings.vue:84
#: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98 #: src/views/domain/DomainList.vue:44 src/views/environment/Environment.vue:98
#: src/views/user/User.vue:40 #: src/views/user/User.vue:40
msgid "Updated at" msgid "Updated at"
@ -1309,7 +1326,7 @@ msgstr "更新時間"
msgid "Updated successfully" msgid "Updated successfully"
msgstr "更新成功" msgstr "更新成功"
#: src/routes/index.ts:187 src/views/system/Upgrade.vue:143 #: src/routes/index.ts:186 src/views/system/Upgrade.vue:143
#: src/views/system/Upgrade.vue:235 #: src/views/system/Upgrade.vue:235
msgid "Upgrade" msgid "Upgrade"
msgstr "升級" msgstr "升級"
@ -1338,7 +1355,7 @@ msgstr "使用者名稱"
msgid "Username" msgid "Username"
msgstr "使用者名稱" msgstr "使用者名稱"
#: src/views/other/Install.vue:101 #: src/views/other/Install.vue:103
msgid "Username (*)" msgid "Username (*)"
msgstr "使用者名稱 (*)" msgstr "使用者名稱 (*)"
@ -1354,13 +1371,19 @@ msgstr "使用 HTTP01 挑戰提供者"
msgid "View" msgid "View"
msgstr "檢視" msgstr "檢視"
#: src/views/config/InspectConfig.vue:37 #: src/views/config/InspectConfig.vue:36
#: src/views/domain/cert/components/AutoCertStepOne.vue:16 #: src/views/domain/cert/components/AutoCertStepOne.vue:21
#: src/views/domain/DomainAdd.vue:114 #: src/views/domain/DomainAdd.vue:114
msgid "Warning" msgid "Warning"
msgstr "警告" msgstr "警告"
#: src/views/domain/cert/components/ObtainCert.vue:207 #: src/views/certificate/DNSCredential.vue:55
msgid ""
"We will add one or more TXT records to the DNS records of your domain for "
"ownership verification."
msgstr ""
#: src/views/domain/cert/components/ObtainCert.vue:208
msgid "" msgid ""
"We will remove the HTTPChallenge configuration from this file and reload the " "We will remove the HTTPChallenge configuration from this file and reload the "
"Nginx. Are you sure you want to continue?" "Nginx. Are you sure you want to continue?"
@ -1394,6 +1417,25 @@ msgstr "您正在使用最新版本"
msgid "You can check Nginx UI upgrade at this page." msgid "You can check Nginx UI upgrade at this page."
msgstr "您可以在此頁面檢查 Nginx UI 的升級。" msgstr "您可以在此頁面檢查 Nginx UI 的升級。"
#~ msgid "Auto cert is enabled, please do not modify this certification."
#~ msgstr "自動憑證已啟用,請勿修改此憑證。"
#, fuzzy
#~ msgid ""
#~ "Please fill in the API authentication credentials provided by your DNS "
#~ "provider.\n"
#~ "We will add one or more TXT records to the DNS records of your domain for "
#~ "ownership verification.\n"
#~ "Once the verification is complete, the records will be removed.\n"
#~ "Please note that the unit of time configurations below are all in seconds."
#~ msgstr ""
#~ "請填寫您的 DNS 供應商提供的 API 身份驗證認證。我們會將一個或多個 TXT 記錄"
#~ "新增到您網域的 DNS 記錄中以進行所有權驗證。驗證完成後,記錄將被刪除。請注"
#~ "意,以下時間設定均以秒為單位。"
#~ msgid "Certification"
#~ msgstr "憑證"
#~ msgid "Delete ID: %{id}" #~ msgid "Delete ID: %{id}"
#~ msgstr "刪除 ID: %{id}" #~ msgstr "刪除 ID: %{id}"

View file

@ -96,8 +96,8 @@ export const routes: Route[] = [
}, },
}, },
{ {
path: 'cert', path: 'certificates',
name: () => $gettext('Certification'), name: () => $gettext('Certificates'),
component: () => import('@/layouts/BaseRouterView.vue'), component: () => import('@/layouts/BaseRouterView.vue'),
meta: { meta: {
icon: SafetyCertificateOutlined, icon: SafetyCertificateOutlined,
@ -105,13 +105,13 @@ export const routes: Route[] = [
children: [ children: [
{ {
path: 'list', path: 'list',
name: () => $gettext('Certification List'), name: () => $gettext('Certificates List'),
component: () => import('@/views/cert/Cert.vue'), component: () => import('@/views/certificate/Certificate.vue'),
}, },
{ {
path: 'dns_credential', path: 'dns_credential',
name: () => $gettext('DNS Credentials'), name: () => $gettext('DNS Credentials'),
component: () => import('@/views/cert/DNSCredential.vue'), component: () => import('@/views/certificate/DNSCredential.vue'),
}, },
], ],
}, },

View file

@ -1,7 +1,7 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { useGettext } from 'vue3-gettext' import { useGettext } from 'vue3-gettext'
import { Badge } from 'ant-design-vue' import { Badge } from 'ant-design-vue'
import { h } from 'vue' import { h, provide } from 'vue'
import { input } from '@/components/StdDesign/StdDataEntry' import { input } from '@/components/StdDesign/StdDataEntry'
import type { customRender } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer' import type { customRender } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer'
import { datetime } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer' import { datetime } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer'
@ -10,9 +10,16 @@ import StdCurd from '@/components/StdDesign/StdDataDisplay/StdCurd.vue'
import CodeEditor from '@/components/CodeEditor/CodeEditor.vue' import CodeEditor from '@/components/CodeEditor/CodeEditor.vue'
import CertInfo from '@/views/domain/cert/CertInfo.vue' import CertInfo from '@/views/domain/cert/CertInfo.vue'
import type { Column } from '@/components/StdDesign/types' import type { Column } from '@/components/StdDesign/types'
import type { Cert } from '@/api/cert'
import { AutoCertState } from '@/constants'
import AutoCertStepOne from '@/views/domain/cert/components/AutoCertStepOne.vue'
const { $gettext } = useGettext() const { $gettext } = useGettext()
function notShowInAutoCert(record: Cert) {
return record.auto_cert !== AutoCertState.Enable
}
const columns: Column[] = [{ const columns: Column[] = [{
title: () => $gettext('Name'), title: () => $gettext('Name'),
dataIndex: 'name', dataIndex: 'name',
@ -27,6 +34,7 @@ const columns: Column[] = [{
}, },
edit: { edit: {
type: input, type: input,
show: notShowInAutoCert,
}, },
search: true, search: true,
}, { }, {
@ -58,6 +66,7 @@ const columns: Column[] = [{
dataIndex: 'ssl_certificate_path', dataIndex: 'ssl_certificate_path',
edit: { edit: {
type: input, type: input,
show: notShowInAutoCert,
}, },
hidden: true, hidden: true,
}, { }, {
@ -65,6 +74,7 @@ const columns: Column[] = [{
dataIndex: 'ssl_certificate_key_path', dataIndex: 'ssl_certificate_key_path',
edit: { edit: {
type: input, type: input,
show: notShowInAutoCert,
}, },
hidden: true, hidden: true,
}, { }, {
@ -77,49 +87,56 @@ const columns: Column[] = [{
title: () => $gettext('Action'), title: () => $gettext('Action'),
dataIndex: 'action', dataIndex: 'action',
}] }]
const no_server_name = computed(() => {
return false
})
provide('no_server_name', no_server_name)
</script> </script>
<template> <template>
<StdCurd <StdCurd
:title="$gettext('Certification')" :title="$gettext('Certificates')"
:api="cert" :api="cert"
:columns="columns" :columns="columns"
:modal-max-width="600"
> >
<template #beforeEdit="{ data }"> <template #beforeEdit="{ data }: {data: Cert}">
<template v-if="data.auto_cert === 1"> <template v-if="data.auto_cert === AutoCertState.Enable">
<div style="margin-bottom: 15px"> <div class="mt-4 mb-4">
<AAlert <AAlert
:message="$gettext('Auto cert is enabled, please do not modify this certification.')" :message="$gettext('Auto Cert is enabled')"
type="info" type="success"
show-icon show-icon
/> />
</div> </div>
<div <div
v-if="!data.filename" v-if="!data.filename"
style="margin-bottom: 15px" class="mt-4 mb-4"
> >
<AAlert <AAlert
:message="$gettext('This auto-cert item is invalid, please remove it.')" :message="$gettext('This Auto Cert item is invalid, please remove it.')"
type="error" type="error"
show-icon show-icon
/> />
</div> </div>
<div <div
v-else-if="!data.domains" v-else-if="!data.domains"
style="margin-bottom: 15px" class="mt-4 mb-4"
> >
<AAlert <AAlert
:message="$gettext('Domains list is empty, try to reopen auto-cert for %{config}', { config: data.filename })" :message="$gettext('Domains list is empty, try to reopen Auto Cert for %{config}', { config: data.filename })"
type="error" type="error"
show-icon show-icon
/> />
</div> </div>
<div <div
v-if="data.log" v-if="data.log"
style="margin-bottom: 15px" class="mt-4 mb-4"
> >
<AForm layout="vertical"> <AForm layout="vertical">
<AFormItem :label="$gettext('Auto-Cert Log')"> <AFormItem :label="$gettext('Auto Cert Log')">
<p>{{ data.log }}</p> <p>{{ data.log }}</p>
</AFormItem> </AFormItem>
</AForm> </AForm>
@ -133,19 +150,23 @@ const columns: Column[] = [{
<CertInfo :cert="data.certificate_info" /> <CertInfo :cert="data.certificate_info" />
</AFormItem> </AFormItem>
</AForm> </AForm>
<AutoCertStepOne hide-note />
</template> </template>
<template #edit="{ data }"> <template #edit="{ data }: {data: Cert}">
<AForm layout="vertical"> <AForm layout="vertical">
<AFormItem :label="$gettext('SSL Certification Content')"> <AFormItem :label="$gettext('SSL Certificate Content')">
<CodeEditor <CodeEditor
v-model:content="data.ssl_certification" v-model:content="data.ssl_certificate"
default-height="200px" default-height="200px"
:readonly="!notShowInAutoCert(data)"
/> />
</AFormItem> </AFormItem>
<AFormItem :label="$gettext('SSL Certification Key Content')"> <AFormItem :label="$gettext('SSL Certificate Key Content')">
<CodeEditor <CodeEditor
v-model:content="data.ssl_certification_key" v-model:content="data.ssl_certificate_key"
default-height="200px" default-height="200px"
:readonly="!notShowInAutoCert(data)"
/> />
</AFormItem> </AFormItem>
</AForm> </AForm>

View file

@ -24,8 +24,8 @@ function init() {
additional: {}, additional: {},
} }
} }
providers.value?.forEach((v: { code: string }, k: number) => { providers.value?.forEach((v: { code?: string }, k: number) => {
if (v.code === code.value) if (v?.code === code.value)
provider_idx.value = k provider_idx.value = k
}) })
} }
@ -46,7 +46,7 @@ watch(current, () => {
data.code = current.value.code data.code = current.value.code
data.provider = current.value.name data.provider = current.value.name
auto_cert.get_dns_provider(current.value.code).then(r => { auto_cert.get_dns_provider(current.value.code!).then(r => {
Object.assign(current.value, r) Object.assign(current.value, r)
}) })
}) })

View file

@ -49,10 +49,16 @@ const columns: Column[] = [{
> >
<template #description> <template #description>
<p> <p>
{{ $gettext('Please fill in the API authentication credentials provided by your DNS provider.\n' {{ $gettext('Please fill in the API authentication credentials provided by your DNS provider.') }}
+ 'We will add one or more TXT records to the DNS records of your domain for ownership verification.\n' </p>
+ 'Once the verification is complete, the records will be removed.\n' <p>
+ 'Please note that the time configurations below are all in seconds.') }} {{ $gettext('We will add one or more TXT records to the DNS records of your domain for ownership verification.') }}
</p>
<p>
{{ $gettext('Once the verification is complete, the records will be removed.') }}
</p>
<p>
{{ $gettext('Please note that the unit of time configurations below are all in seconds.') }}
</p> </p>
</template> </template>
</AAlert> </AAlert>

View file

@ -24,7 +24,7 @@ const { $gettext } = useGettext()
{{ $gettext('Subject Name: %{subject}', { subject: cert.subject_name }) }} {{ $gettext('Subject Name: %{subject}', { subject: cert.subject_name }) }}
</p> </p>
<p> <p>
{{ $gettext('Expiration Date: %{date}', { date: dayjs(cert.not_after).format('YYYY-MM-DD HH:mm:ss').toString() }) }} {{ $gettext('Expired At: %{date}', { date: dayjs(cert.not_after).format('YYYY-MM-DD HH:mm:ss').toString() }) }}
</p> </p>
<p> <p>
{{ $gettext('Not Valid Before: %{date}', { date: dayjs(cert.not_before).format('YYYY-MM-DD HH:mm:ss').toString() }) }} {{ $gettext('Not Valid Before: %{date}', { date: dayjs(cert.not_before).format('YYYY-MM-DD HH:mm:ss').toString() }) }}

View file

@ -3,7 +3,12 @@ import { useGettext } from 'vue3-gettext'
import type { DnsChallenge } from '@/api/auto_cert' import type { DnsChallenge } from '@/api/auto_cert'
import DNSChallenge from '@/views/domain/cert/components/DNSChallenge.vue' import DNSChallenge from '@/views/domain/cert/components/DNSChallenge.vue'
defineProps<{
hideNote?: boolean
}>()
const { $gettext } = useGettext() const { $gettext } = useGettext()
const no_server_name = inject('no_server_name') const no_server_name = inject('no_server_name')
// Provide by ObtainCert.vue // Provide by ObtainCert.vue
@ -27,9 +32,11 @@ const data = inject('data') as DnsChallenge
</template> </template>
<AAlert <AAlert
v-if="!hideNote"
type="info" type="info"
show-icon show-icon
:message="$gettext('Note')" :message="$gettext('Note')"
class="mb-4"
> >
<template #description> <template #description>
<p> <p>
@ -52,7 +59,6 @@ const data = inject('data') as DnsChallenge
</p> </p>
</template> </template>
</AAlert> </AAlert>
<br>
<AForm layout="vertical"> <AForm layout="vertical">
<AFormItem :label="$gettext('Challenge Method')"> <AFormItem :label="$gettext('Challenge Method')">
<ASelect v-model:value="data.challenge_method"> <ASelect v-model:value="data.challenge_method">

View file

@ -28,23 +28,20 @@ function init() {
}) })
} }
auto_cert.get_dns_providers().then(r => {
providers.value = r
}).then(() => {
init()
})
const current = computed(() => { const current = computed(() => {
return providers.value?.[provider_idx.value] return providers.value?.[provider_idx.value]
}) })
const mounted = ref(false)
watch(code, init) watch(code, init)
watch(current, () => { watch(current, () => {
credentials.value = [] credentials.value = []
data.code = current.value.code data.code = current.value.code
data.provider = current.value.name data.provider = current.value.name
data.dns_credential_id = null if (mounted.value)
data.dns_credential_id = null
dns_credential.get_list({ provider: data.provider }).then(r => { dns_credential.get_list({ provider: data.provider }).then(r => {
r.data.forEach(v => { r.data.forEach(v => {
@ -56,6 +53,25 @@ watch(current, () => {
}) })
}) })
onMounted(async () => {
await auto_cert.get_dns_providers().then(r => {
providers.value = r
}).then(() => {
init()
})
if (data.dns_credential_id) {
await dns_credential.get(data.dns_credential_id).then(r => {
data.code = r.code
data.provider = r.provider
provider_idx.value = providers.value.findIndex(v => v.code === r.code)
})
}
// prevent the dns_credential_id from being overwritten
mounted.value = true
})
const options = computed<SelectProps['options']>(() => { const options = computed<SelectProps['options']>(() => {
const list: SelectProps['options'] = [] const list: SelectProps['options'] = []

View file

@ -2,7 +2,6 @@ package model
import ( import (
"github.com/0xJacky/Nginx-UI/settings" "github.com/0xJacky/Nginx-UI/settings"
"github.com/gin-gonic/gin"
"github.com/golang-jwt/jwt" "github.com/golang-jwt/jwt"
"time" "time"
) )
@ -31,23 +30,6 @@ func GetUser(name string) (user Auth, err error) {
return user, err return user, err
} }
func GetUserList(c *gin.Context, username interface{}) (data DataList) {
var total int64
db.Model(&Auth{}).Count(&total)
var users []Auth
result := db.Model(&Auth{}).Scopes(orderAndPaginate(c))
if username != "" {
result = result.Where("name LIKE ?", "%"+username.(string)+"%")
}
result.Find(&users)
data = GetListWithPagination(&users, c, total)
return
}
func DeleteToken(token string) error { func DeleteToken(token string) error {
return db.Where("token = ?", token).Delete(&AuthToken{}).Error return db.Where("token = ?", token).Delete(&AuthToken{}).Error
} }

View file

@ -11,6 +11,7 @@ import (
"gorm.io/gorm" "gorm.io/gorm"
gormlogger "gorm.io/gorm/logger" gormlogger "gorm.io/gorm/logger"
"path" "path"
"strings"
"time" "time"
) )
@ -74,35 +75,6 @@ func Init() *gorm.DB {
return db return db
} }
func orderAndPaginate(c *gin.Context) func(db *gorm.DB) *gorm.DB {
return func(db *gorm.DB) *gorm.DB {
sort := c.DefaultQuery("sort", "desc")
order := c.DefaultQuery("order_by", "id") +
" " + sort
page := cast.ToInt(c.Query("page"))
if page == 0 {
page = 1
}
pageSize := settings.ServerSettings.PageSize
reqPageSize := c.Query("page_size")
if reqPageSize != "" {
pageSize = cast.ToInt(reqPageSize)
}
offset := (page - 1) * pageSize
return db.Order(order).Offset(offset).Limit(pageSize)
}
}
func totalPage(total int64, pageSize int) int64 {
n := total / int64(pageSize)
if total%int64(pageSize) > 0 {
n++
}
return n
}
type Pagination struct { type Pagination struct {
Total int64 `json:"total"` Total int64 `json:"total"`
PerPage int `json:"per_page"` PerPage int `json:"per_page"`
@ -115,32 +87,206 @@ type DataList struct {
Pagination Pagination `json:"pagination,omitempty"` Pagination Pagination `json:"pagination,omitempty"`
} }
func GetListWithPagination(models interface{}, func SortOrder(c *gin.Context) func(db *gorm.DB) *gorm.DB {
c *gin.Context, totalRecords int64) (result DataList) { return func(db *gorm.DB) *gorm.DB {
sort := c.DefaultQuery("order", "desc")
order := fmt.Sprintf("`%s` %s", DefaultQuery(c, "sort_by", "id"), sort)
return db.Order(order)
}
}
page := cast.ToInt(c.Query("page")) func OrderAndPaginate(c *gin.Context) func(db *gorm.DB) *gorm.DB {
if page == 0 { return func(db *gorm.DB) *gorm.DB {
page = 1 sort := c.DefaultQuery("order", "desc")
sortBy := DefaultQuery(c, "sort_by", "")
if sortBy != "" {
order := fmt.Sprintf("`%s` %s", DefaultQuery(c, "sort_by", "id"), sort)
db = db.Order(order)
}
page := cast.ToInt(c.Query("page"))
if page == 0 {
page = 1
}
pageSize := settings.ServerSettings.PageSize
reqPageSize := c.Query("page_size")
if reqPageSize != "" {
pageSize = cast.ToInt(reqPageSize)
}
offset := (page - 1) * pageSize
return db.Offset(offset).Limit(pageSize)
}
}
func QueryToInSearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
for _, v := range keys {
queryArray := c.QueryArray(v + "[]")
if len(queryArray) == 0 {
queryArray = c.QueryArray(v)
}
if len(queryArray) > 0 {
var sb strings.Builder
_, err := fmt.Fprintf(&sb, "`%s` IN ?", v)
if err != nil {
logger.Error(err)
continue
}
db = db.Where(sb.String(), queryArray)
}
}
return db
}
func QueryToEqualSearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
for _, v := range keys {
if c.Query(v) != "" {
var sb strings.Builder
_, err := fmt.Fprintf(&sb, "`%s` = ?", v)
if err != nil {
logger.Error(err)
continue
}
db = db.Where(sb.String(), c.Query(v))
}
}
return db
}
func QueryToFussySearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
for _, v := range keys {
if c.Query(v) != "" {
var sb strings.Builder
_, err := fmt.Fprintf(&sb, "`%s` LIKE ?", v)
if err != nil {
logger.Error(err)
continue
}
var sbValue strings.Builder
_, err = fmt.Fprintf(&sbValue, "%%%s%%", c.Query(v))
if err != nil {
logger.Error(err)
continue
}
db = db.Where(sb.String(), sbValue.String())
}
}
return db
}
func QueryToFussyKeysSearch(c *gin.Context, db *gorm.DB, value string, keys ...string) *gorm.DB {
if c.Query(value) == "" {
return db
} }
result = DataList{} var condition *gorm.DB
for i, v := range keys {
sb := v + " LIKE ?"
sv := "%" + c.Query(value) + "%"
result.Data = models switch i {
case 0:
pageSize := settings.ServerSettings.PageSize condition = db.Where(db.Where(sb, sv))
reqPageSize := c.Query("page_size") default:
if reqPageSize != "" { condition = condition.Or(sb, sv)
pageSize = cast.ToInt(reqPageSize) }
} }
result.Pagination = Pagination{ return db.Where(condition)
Total: totalRecords, }
PerPage: pageSize,
CurrentPage: page,
TotalPages: totalPage(totalRecords, pageSize),
}
return func QueryToOrInSearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
for _, v := range keys {
queryArray := c.QueryArray(v + "[]")
if len(queryArray) == 0 {
queryArray = c.QueryArray(v)
}
if len(queryArray) > 0 {
var sb strings.Builder
_, err := fmt.Fprintf(&sb, "`%s` IN ?", v)
if err != nil {
logger.Error(err)
continue
}
db = db.Or(sb.String(), queryArray)
}
}
return db
}
func QueryToOrEqualSearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
for _, v := range keys {
if c.Query(v) != "" {
var sb strings.Builder
_, err := fmt.Fprintf(&sb, "`%s` = ?", v)
if err != nil {
logger.Error(err)
continue
}
db = db.Or(sb.String(), c.Query(v))
}
}
return db
}
func QueryToOrFussySearch(c *gin.Context, db *gorm.DB, keys ...string) *gorm.DB {
for _, v := range keys {
if c.Query(v) != "" {
var sb strings.Builder
_, err := fmt.Fprintf(&sb, "`%s` LIKE ?", v)
if err != nil {
logger.Error(err)
continue
}
var sbValue strings.Builder
_, err = fmt.Fprintf(&sbValue, "%%%s%%", c.Query(v))
if err != nil {
logger.Error(err)
continue
}
db = db.Or(sb.String(), sbValue.String())
}
}
return db
}
func TotalPage(total int64, pageSize int) int64 {
n := total / int64(pageSize)
if total%int64(pageSize) > 0 {
n++
}
return n
}
func DefaultValue(c *gin.Context, key string, defaultValue any) any {
if value, ok := c.Get(key); ok {
return value
}
return defaultValue
}
func DefaultQuery(c *gin.Context, key string, defaultValue any) string {
return c.DefaultQuery(key, DefaultValue(c, key, defaultValue).(string))
} }
type Method interface { type Method interface {