Преглед на файлове

chore: update translation files

Jacky преди 2 месеца
родител
ревизия
9d90ed8f4a
променени са 6 файла, в които са добавени 541 реда и са изтрити 799 реда
  1. 299 169
      app/src/language/de_DE/app.po
  2. 23 28
      app/src/language/es/app.po
  3. 48 141
      app/src/language/ko_KR/app.po
  4. 57 152
      app/src/language/ru_RU/app.po
  5. 57 150
      app/src/language/tr_TR/app.po
  6. 57 159
      app/src/language/vi_VN/app.po

Файловите разлики са ограничени, защото са твърде много
+ 299 - 169
app/src/language/de_DE/app.po


+ 23 - 28
app/src/language/es/app.po

@@ -1065,9 +1065,8 @@ msgid "Failed to parse nginx.conf"
 msgstr ""
 
 #: src/constants/errors/self_check.ts:3
-#, fuzzy
 msgid "Failed to read nginx.conf"
-msgstr "Error al habilitar %{msg}"
+msgstr ""
 
 #: src/views/site/site_edit/SiteEdit.vue:135
 #: src/views/stream/StreamEdit.vue:122
@@ -1291,9 +1290,8 @@ msgid "Invalid recovery code"
 msgstr "Código 2FA o de recuperación inválido"
 
 #: src/constants/errors/middleware.ts:2
-#, fuzzy
 msgid "Invalid request format"
-msgstr "Código 2FA o de recuperación inválido"
+msgstr ""
 
 #: src/views/preference/AuthSettings.vue:18
 msgid "IP"
@@ -2448,14 +2446,12 @@ msgid "Sites List"
 msgstr "Lista de sitios"
 
 #: src/constants/errors/self_check.ts:10
-#, fuzzy
 msgid "Sites-available directory not exist"
-msgstr "Directorio"
+msgstr ""
 
 #: src/constants/errors/self_check.ts:11
-#, fuzzy
 msgid "Sites-enabled directory not exist"
-msgstr "Directorio"
+msgstr ""
 
 #: src/views/certificate/CertificateEditor.vue:211
 msgid "SSL Certificate Content"
@@ -2505,9 +2501,8 @@ msgid "Streams Directory"
 msgstr "Directorio"
 
 #: src/constants/errors/self_check.ts:12
-#, fuzzy
 msgid "Streams-available directory not exist"
-msgstr "Directorio"
+msgstr ""
 
 #: src/constants/errors/self_check.ts:13
 #, fuzzy
@@ -3116,22 +3111,6 @@ msgstr ""
 msgid "Your passkeys"
 msgstr "Sus llaves de acceso"
 
-#~ msgid ""
-#~ "If you lose your mobile phone, you can use the recovery code to reset "
-#~ "your 2FA."
-#~ msgstr ""
-#~ "Si pierde su teléfono móvil, puede usar el código de recuperación para "
-#~ "restablecer su 2FA."
-
-#~ msgid "Recovery Code:"
-#~ msgstr "Código de Recuperación:"
-
-#~ msgid ""
-#~ "The recovery code is only displayed once, please save it in a safe place."
-#~ msgstr ""
-#~ "El código de recuperación se muestra solo una vez, por favor guárdalo en "
-#~ "un lugar seguro."
-
 #~ msgid "Can't scan? Use text key binding"
 #~ msgstr "¿No puede escanear? Utilice la vinculación con una llave de texto"
 
@@ -3144,12 +3123,28 @@ msgstr "Sus llaves de acceso"
 #~ msgid "File"
 #~ msgstr "Archivo"
 
-#~ msgid "Server error"
-#~ msgstr "Error del servidor"
+#~ msgid ""
+#~ "If you lose your mobile phone, you can use the recovery code to reset "
+#~ "your 2FA."
+#~ msgstr ""
+#~ "Si pierde su teléfono móvil, puede usar el código de recuperación para "
+#~ "restablecer su 2FA."
 
 #~ msgid "Incorrect username or password"
 #~ msgstr "Nombre de usuario o contraseña incorrectos"
 
+#~ msgid "Recovery Code:"
+#~ msgstr "Código de Recuperación:"
+
+#~ msgid "Server error"
+#~ msgstr "Error del servidor"
+
+#~ msgid ""
+#~ "The recovery code is only displayed once, please save it in a safe place."
+#~ msgstr ""
+#~ "El código de recuperación se muestra solo una vez, por favor guárdalo en "
+#~ "un lugar seguro."
+
 #~ msgid "Too many login failed attempts, please try again later"
 #~ msgstr ""
 #~ "Demasiados intentos fallidos de inicio de sesión, por favor intente "

+ 48 - 141
app/src/language/ko_KR/app.po

@@ -107,7 +107,11 @@ msgstr ""
 msgid "All"
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:44
+#: src/language/constants.ts:57
+msgid "All Recovery Codes Have Been Used"
+msgstr ""
+
+#: src/views/preference/OpenAISettings.vue:32
 msgid "API Base Url"
 msgstr "API 기본 URL"
 
@@ -115,15 +119,15 @@ msgstr "API 기본 URL"
 msgid "API Document"
 msgstr "API 문서"
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:46
 msgid "API Proxy"
 msgstr "API 프록시"
 
-#: src/views/preference/OpenAISettings.vue:69
+#: src/views/preference/OpenAISettings.vue:58
 msgid "API Token"
 msgstr "API 토큰"
 
-#: src/views/preference/OpenAISettings.vue:78
+#: src/views/preference/OpenAISettings.vue:67
 #, fuzzy
 msgid "API Type"
 msgstr "API 토큰"
@@ -224,7 +228,7 @@ msgstr "시도 횟수"
 msgid "Auth"
 msgstr "인증"
 
-#: src/components/TwoFA/Authorization.vue:121
+#: src/components/TwoFA/Authorization.vue:109
 msgid "Authenticate with a passkey"
 msgstr ""
 
@@ -327,13 +331,6 @@ msgstr "CA 디렉토리"
 msgid "CADir"
 msgstr "CA 디렉토리"
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:129
-msgid "Can't scan? Use text key binding"
-msgstr ""
-
->>>>>>> remotes/origin/dev
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -586,19 +583,11 @@ msgstr "인증 정보"
 msgid "Credentials"
 msgstr "인증 정보들"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:72
 msgid "Current account is enabled TOTP."
 msgstr ""
 
 #: src/views/preference/components/TOTP.vue:70
-=======
-#: src/views/preference/components/TOTP.vue:77
-msgid "Current account is enabled TOTP."
-msgstr ""
-
-#: src/views/preference/components/TOTP.vue:74
->>>>>>> remotes/origin/dev
 msgid "Current account is not enabled TOTP."
 msgstr ""
 
@@ -939,11 +928,7 @@ msgstr "%{node_name}에서 %{conf_name} 활성화 실패"
 msgid "Enable %{conf_name} in %{node_name} successfully"
 msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:45
-=======
-#: src/views/preference/components/TOTP.vue:38
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Enable 2FA successfully"
 msgstr "성공적으로 활성화"
@@ -984,11 +969,7 @@ msgstr "성공적으로 활성화"
 msgid "Enable TLS"
 msgstr "TLS 활성화"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:81
-=======
-#: src/views/preference/components/TOTP.vue:103
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Enable TOTP"
 msgstr "TLS 활성화"
@@ -1088,9 +1069,8 @@ msgid "Failed to parse nginx.conf"
 msgstr ""
 
 #: src/constants/errors/self_check.ts:3
-#, fuzzy
 msgid "Failed to read nginx.conf"
-msgstr "%{msg} 활성화 실패"
+msgstr ""
 
 #: src/views/site/site_edit/SiteEdit.vue:135
 #: src/views/stream/StreamEdit.vue:122
@@ -1165,9 +1145,8 @@ msgid "Generate New Recovery Codes"
 msgstr ""
 
 #: src/views/preference/components/RecoveryCodes.vue:161
-#, fuzzy
 msgid "Generate Recovery Codes"
-msgstr "유효함"
+msgstr ""
 
 #: src/views/preference/components/RecoveryCodes.vue:32
 #, fuzzy
@@ -1229,15 +1208,6 @@ msgid ""
 "ban threshold minutes, the ip will be banned for a period of time."
 msgstr ""
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:89
-msgid ""
-"If you lose your mobile phone, you can use the recovery code to reset your "
-"2FA."
-msgstr ""
-
->>>>>>> remotes/origin/dev
 #: src/views/preference/components/AddPasskey.vue:70
 msgid "If your browser supports WebAuthn Passkey, a dialog box will appear."
 msgstr ""
@@ -1270,19 +1240,11 @@ msgstr "초기 코어 업그레이더 오류"
 msgid "Initialing core upgrader"
 msgstr "코어 업그레이더 초기화"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:119
-=======
-#: src/views/preference/components/TOTP.vue:136
->>>>>>> remotes/origin/dev
 msgid "Input the code from the app:"
 msgstr ""
 
-#: src/components/TwoFA/Authorization.vue:82
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:149
->>>>>>> remotes/origin/dev
+#: src/components/TwoFA/Authorization.vue:72
 msgid "Input the recovery code:"
 msgstr ""
 
@@ -1311,9 +1273,8 @@ msgid "Invalid filename"
 msgstr "Invalid E-mail!"
 
 #: src/views/config/components/Mkdir.vue:57
-#, fuzzy
 msgid "Invalid folder name"
-msgstr "Invalid E-mail!"
+msgstr ""
 
 #: src/constants/errors/user.ts:4
 #, fuzzy
@@ -1325,19 +1286,14 @@ msgid "Invalid passcode or recovery code"
 msgstr ""
 
 #: src/constants/errors/user.ts:5
-#, fuzzy
 msgid "Invalid recovery code"
-msgstr "유효함"
+msgstr ""
 
-<<<<<<< HEAD
-#: src/views/preference/AuthSettings.vue:18
-=======
 #: src/constants/errors/middleware.ts:2
 msgid "Invalid request format"
 msgstr ""
 
-#: src/views/preference/AuthSettings.vue:14
->>>>>>> remotes/origin/dev
+#: src/views/preference/AuthSettings.vue:18
 msgid "IP"
 msgstr ""
 
@@ -1388,7 +1344,7 @@ msgstr "마지막 확인 시간"
 msgid "Leave blank for no change"
 msgstr "변경사항이 없으면 비워두세요"
 
-#: src/views/preference/OpenAISettings.vue:53
+#: src/views/preference/OpenAISettings.vue:41
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr "기본값을 사용하려면 비워 두세요: https://api.openai.com/"
 
@@ -1459,7 +1415,7 @@ msgstr "위치들"
 msgid "Log"
 msgstr "로그인"
 
-#: src/routes/index.ts:318 src/views/other/Login.vue:222
+#: src/routes/index.ts:318 src/views/other/Login.vue:223
 msgid "Login"
 msgstr "로그인"
 
@@ -1523,9 +1479,8 @@ msgid "Managed Certificate"
 msgstr "인증서 유효"
 
 #: src/views/preference/AuthSettings.vue:135
-#, fuzzy
 msgid "Max Attempts"
-msgstr "시도 횟수"
+msgstr ""
 
 #: src/views/dashboard/ServerAnalytic.vue:222
 #: src/views/dashboard/ServerAnalytic.vue:223
@@ -1540,7 +1495,7 @@ msgstr "메모리 및 저장소"
 msgid "Minutes"
 msgstr "분"
 
-#: src/views/preference/OpenAISettings.vue:32
+#: src/views/preference/OpenAISettings.vue:20
 #, fuzzy
 msgid "Model"
 msgstr "실행 모드"
@@ -1687,9 +1642,8 @@ msgid "Nginx Log"
 msgstr "Nginx 로그"
 
 #: src/views/preference/NginxSettings.vue:18
-#, fuzzy
 msgid "Nginx Log Directory Whitelist"
-msgstr "Nginx 구성 오류름"
+msgstr ""
 
 #: src/views/preference/NginxSettings.vue:27
 #, fuzzy
@@ -1697,9 +1651,8 @@ msgid "Nginx PID Path"
 msgstr "Nginx 오류 로그 경로"
 
 #: src/views/preference/NginxSettings.vue:30
-#, fuzzy
 msgid "Nginx Reload Command"
-msgstr "터미널 시작 명령"
+msgstr ""
 
 #: src/components/NginxControl/NginxControl.vue:26
 #, fuzzy
@@ -1839,7 +1792,7 @@ msgstr "온라인"
 msgid "OpenAI"
 msgstr "오픈AI"
 
-#: src/components/TwoFA/Authorization.vue:112 src/views/other/Login.vue:231
+#: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:232
 msgid "Or"
 msgstr ""
 
@@ -1942,7 +1895,7 @@ msgid ""
 "button below."
 msgstr ""
 
-#: src/components/TwoFA/Authorization.vue:70
+#: src/components/TwoFA/Authorization.vue:85
 msgid "Please enter the OTP code:"
 msgstr ""
 
@@ -1964,6 +1917,12 @@ msgstr ""
 "먼저 인증서 > DNS 자격 증명에 자격 증명을 추가한 다음,DNS 제공자의 API를 요청"
 "하려면 아래 자격 증명 중 하나를 선택해주세요."
 
+#: src/language/constants.ts:58
+msgid ""
+"Please generate new recovery codes in the preferences immediately to prevent "
+"lockout."
+msgstr ""
+
 #: src/views/config/components/Rename.vue:63
 #: src/views/config/ConfigEditor.vue:249
 #, fuzzy
@@ -2089,32 +2048,18 @@ msgstr ""
 msgid "Recovered Successfully"
 msgstr "성공적으로 제거됨"
 
-#: src/components/TwoFA/Authorization.vue:89
-<<<<<<< HEAD
+#: src/components/TwoFA/Authorization.vue:79
 msgid "Recovery"
 msgstr ""
 
 #: src/views/preference/components/RecoveryCodes.vue:68
-#, fuzzy
 msgid "Recovery Codes"
-msgstr "유효함"
+msgstr ""
 
 #: src/views/preference/components/RecoveryCodes.vue:73
 msgid ""
 "Recovery codes are used to access your account when you lose access to your "
 "2FA device. Each code can only be used once."
-=======
-#: src/views/preference/components/TOTP.vue:156
-msgid "Recovery"
-msgstr ""
-
-#: src/views/preference/components/TOTP.vue:82
-msgid "Recovery Code"
-msgstr ""
-
-#: src/views/preference/components/TOTP.vue:91
-msgid "Recovery Code:"
->>>>>>> remotes/origin/dev
 msgstr ""
 
 #: src/views/preference/CertSettings.vue:37
@@ -2307,11 +2252,7 @@ msgstr "잘못된 매개변수로 요청됨"
 msgid "Reset"
 msgstr "재설정"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:93
-=======
-#: src/views/preference/components/TOTP.vue:111
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Reset 2FA"
 msgstr "재설정"
@@ -2405,11 +2346,7 @@ msgstr "성공적으로 저장됨"
 msgid "Saved successfully"
 msgstr "성공적으로 저장됨"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:69
-=======
-#: src/views/preference/components/TOTP.vue:72
->>>>>>> remotes/origin/dev
 msgid "Scan the QR code with your mobile phone to add the account to the app."
 msgstr ""
 
@@ -2417,11 +2354,7 @@ msgstr ""
 msgid "SDK"
 msgstr ""
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:109
-=======
-#: src/views/preference/components/TOTP.vue:128
->>>>>>> remotes/origin/dev
 msgid "Secret has been copied"
 msgstr ""
 
@@ -2493,7 +2426,7 @@ msgstr ""
 msgid "Show"
 msgstr ""
 
-#: src/views/other/Login.vue:240
+#: src/views/other/Login.vue:241
 msgid "Sign in with a passkey"
 msgstr ""
 
@@ -2530,14 +2463,12 @@ msgid "Sites List"
 msgstr "사이트 목록"
 
 #: src/constants/errors/self_check.ts:10
-#, fuzzy
 msgid "Sites-available directory not exist"
-msgstr "디렉토리"
+msgstr ""
 
 #: src/constants/errors/self_check.ts:11
-#, fuzzy
 msgid "Sites-enabled directory not exist"
-msgstr "디렉토리"
+msgstr ""
 
 #: src/views/certificate/CertificateEditor.vue:211
 #, fuzzy
@@ -2592,9 +2523,8 @@ msgid "Streams Directory"
 msgstr "디렉토리"
 
 #: src/constants/errors/self_check.ts:12
-#, fuzzy
 msgid "Streams-available directory not exist"
-msgstr "디렉토리"
+msgstr ""
 
 #: src/constants/errors/self_check.ts:13
 #, fuzzy
@@ -2693,9 +2623,8 @@ msgid "Sync strategy"
 msgstr "인증서 갱신"
 
 #: src/views/certificate/CertificateEditor.vue:204
-#, fuzzy
 msgid "Sync to"
-msgstr "인증서 갱신"
+msgstr ""
 
 #: src/views/site/site_edit/RightSettings.vue:110
 msgid "Synchronization"
@@ -2760,7 +2689,7 @@ msgid ""
 "The log path is not under the paths in settings.NginxSettings.LogDirWhiteList"
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:35
+#: src/views/preference/OpenAISettings.vue:23
 msgid ""
 "The model name should only contain letters, unicode, numbers, hyphens, "
 "dashes, colons, and dots."
@@ -2787,14 +2716,6 @@ msgid ""
 "hyphens, dashes, colons, and dots."
 msgstr ""
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:90
-msgid ""
-"The recovery code is only displayed once, please save it in a safe place."
-msgstr ""
-
->>>>>>> remotes/origin/dev
 #: src/views/dashboard/Environments.vue:148
 msgid ""
 "The remote Nginx UI version is not compatible with the local Nginx UI "
@@ -2817,8 +2738,8 @@ msgstr ""
 msgid "The url is invalid"
 msgstr "유효한 URL이 아닙니다"
 
-#: src/views/preference/OpenAISettings.vue:47
-#: src/views/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:35
+#: src/views/preference/OpenAISettings.vue:49
 #, fuzzy
 msgid "The url is invalid."
 msgstr "유효한 URL이 아닙니다"
@@ -2873,10 +2794,9 @@ msgid "This value is already taken"
 msgstr ""
 
 #: src/views/environment/BatchUpgrader.vue:182
-#, fuzzy
 msgid ""
 "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
-msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함"
+msgstr ""
 
 #: src/views/preference/AuthSettings.vue:124
 msgid "Throttle"
@@ -2892,11 +2812,7 @@ msgstr "팁"
 msgid "Title"
 msgstr "제목"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:68
-=======
-#: src/views/preference/components/TOTP.vue:71
->>>>>>> remotes/origin/dev
 msgid ""
 "To enable it, you need to install the Google or Microsoft Authenticator app "
 "on your mobile phone."
@@ -2920,14 +2836,14 @@ msgstr ""
 "시할 수 있는 위치를 추가해야 하며,이 파일을 저장하고 Nginx를 다시로드해야 합"
 "니다.계속하시겠습니까?"
 
-#: src/views/preference/OpenAISettings.vue:48
+#: src/views/preference/OpenAISettings.vue:36
 msgid ""
 "To use a local large model, deploy it with ollama, vllm or lmdeploy. They "
 "provide an OpenAI-compatible API endpoint, so just set the baseUrl to your "
 "local API."
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:72
+#: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr "토큰이 유효하지 않습니다"
 
@@ -2937,19 +2853,11 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr ""
 
 #: src/views/preference/components/TOTP.vue:67
-=======
-#: src/views/preference/components/TOTP.vue:69
-msgid "TOTP"
-msgstr ""
-
-#: src/views/preference/components/TOTP.vue:70
->>>>>>> remotes/origin/dev
 msgid ""
 "TOTP is a two-factor authentication method that uses a time-based one-time "
 "password algorithm."
@@ -3021,11 +2929,11 @@ msgstr "가동 시간:"
 msgid "URL"
 msgstr "URL"
 
-#: src/components/TwoFA/Authorization.vue:102
+#: src/components/TwoFA/Authorization.vue:121
 msgid "Use OTP"
 msgstr ""
 
-#: src/components/TwoFA/Authorization.vue:98
+#: src/components/TwoFA/Authorization.vue:117
 msgid "Use recovery code"
 msgstr ""
 
@@ -3083,9 +2991,8 @@ msgid "View Mode"
 msgstr "기본 모드"
 
 #: src/views/preference/components/RecoveryCodes.vue:134
-#, fuzzy
 msgid "View Recovery Codes"
-msgstr "유효함"
+msgstr ""
 
 #: src/views/preference/components/RecoveryCodes.vue:70
 #, fuzzy
@@ -3209,13 +3116,13 @@ msgstr ""
 #~ msgid "File"
 #~ msgstr "파일"
 
-#~ msgid "Server error"
-#~ msgstr "서버 오류"
-
 #, fuzzy
 #~ msgid "Incorrect username or password"
 #~ msgstr "사용자 이름 또는 비밀번호가 올바르지 않습니다"
 
+#~ msgid "Server error"
+#~ msgstr "서버 오류"
+
 #, fuzzy
 #~ msgid ""
 #~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "

+ 57 - 152
app/src/language/ru_RU/app.po

@@ -108,7 +108,11 @@ msgstr "Затем, обновите эту страницу и снова на
 msgid "All"
 msgstr "Все"
 
-#: src/views/preference/OpenAISettings.vue:44
+#: src/language/constants.ts:57
+msgid "All Recovery Codes Have Been Used"
+msgstr ""
+
+#: src/views/preference/OpenAISettings.vue:32
 msgid "API Base Url"
 msgstr "Базовый URL API"
 
@@ -116,15 +120,15 @@ msgstr "Базовый URL API"
 msgid "API Document"
 msgstr "API Документ"
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:46
 msgid "API Proxy"
 msgstr "API Прокси"
 
-#: src/views/preference/OpenAISettings.vue:69
+#: src/views/preference/OpenAISettings.vue:58
 msgid "API Token"
 msgstr "API токен"
 
-#: src/views/preference/OpenAISettings.vue:78
+#: src/views/preference/OpenAISettings.vue:67
 #, fuzzy
 msgid "API Type"
 msgstr "API токен"
@@ -226,7 +230,7 @@ msgstr "Попытки"
 msgid "Auth"
 msgstr "Авторизация"
 
-#: src/components/TwoFA/Authorization.vue:121
+#: src/components/TwoFA/Authorization.vue:109
 msgid "Authenticate with a passkey"
 msgstr "Аутентификация с помощью ключа доступа"
 
@@ -330,13 +334,6 @@ msgstr "Директория корневого сертификата"
 msgid "CADir"
 msgstr ""
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:129
-msgid "Can't scan? Use text key binding"
-msgstr ""
-
->>>>>>> remotes/origin/dev
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -586,20 +583,12 @@ msgstr "Учетные данные"
 msgid "Credentials"
 msgstr "Учетные данные"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:72
-=======
-#: src/views/preference/components/TOTP.vue:77
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Current account is enabled TOTP."
 msgstr "Текущая учетная запись имеет включенную 2ФА."
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:70
-=======
-#: src/views/preference/components/TOTP.vue:74
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Current account is not enabled TOTP."
 msgstr ""
@@ -947,11 +936,7 @@ msgstr "Включение %{conf_name} in %{node_name} нипалучилася
 msgid "Enable %{conf_name} in %{node_name} successfully"
 msgstr "Включение %{conf_name} in %{node_name} успешно"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:45
-=======
-#: src/views/preference/components/TOTP.vue:38
->>>>>>> remotes/origin/dev
 msgid "Enable 2FA successfully"
 msgstr "Двухфакторная аутентификация успешно включена"
 
@@ -991,11 +976,7 @@ msgstr "Включено успешно"
 msgid "Enable TLS"
 msgstr "Включить TLS"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:81
-=======
-#: src/views/preference/components/TOTP.vue:103
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Enable TOTP"
 msgstr "Включить TLS"
@@ -1092,9 +1073,8 @@ msgid "Failed to parse nginx.conf"
 msgstr ""
 
 #: src/constants/errors/self_check.ts:3
-#, fuzzy
 msgid "Failed to read nginx.conf"
-msgstr "Не удалось включить %{msg}"
+msgstr ""
 
 #: src/views/site/site_edit/SiteEdit.vue:135
 #: src/views/stream/StreamEdit.vue:122
@@ -1235,17 +1215,6 @@ msgstr ""
 "количества попыток в течение пороговых минут блокировки, IP будет "
 "заблокирован на определенный период времени."
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:89
-msgid ""
-"If you lose your mobile phone, you can use the recovery code to reset your "
-"2FA."
-msgstr ""
-"Если вы потеряете свой мобильный телефон, вы можете использовать код "
-"восстановления для сброса 2FA."
-
->>>>>>> remotes/origin/dev
 #: src/views/preference/components/AddPasskey.vue:70
 msgid "If your browser supports WebAuthn Passkey, a dialog box will appear."
 msgstr ""
@@ -1280,19 +1249,11 @@ msgstr "Ошибка первоначального обновления ядр
 msgid "Initialing core upgrader"
 msgstr "Инициализация программы обновления ядра"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:119
-=======
-#: src/views/preference/components/TOTP.vue:136
->>>>>>> remotes/origin/dev
 msgid "Input the code from the app:"
 msgstr "Введите код из приложения:"
 
-#: src/components/TwoFA/Authorization.vue:82
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:149
->>>>>>> remotes/origin/dev
+#: src/components/TwoFA/Authorization.vue:72
 msgid "Input the recovery code:"
 msgstr "Введите код восстановления:"
 
@@ -1335,16 +1296,11 @@ msgstr "Неверный пароль или код восстановления
 msgid "Invalid recovery code"
 msgstr "Неверный 2FA или код восстановления"
 
-<<<<<<< HEAD
-#: src/views/preference/AuthSettings.vue:18
-=======
 #: src/constants/errors/middleware.ts:2
-#, fuzzy
 msgid "Invalid request format"
-msgstr "Неверный 2FA или код восстановления"
+msgstr ""
 
-#: src/views/preference/AuthSettings.vue:14
->>>>>>> remotes/origin/dev
+#: src/views/preference/AuthSettings.vue:18
 msgid "IP"
 msgstr "IP"
 
@@ -1392,7 +1348,7 @@ msgstr "Последняя проверка в"
 msgid "Leave blank for no change"
 msgstr "Оставьте пустым без изменений"
 
-#: src/views/preference/OpenAISettings.vue:53
+#: src/views/preference/OpenAISettings.vue:41
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr "Оставьте пустым для значения по умолчанию: https://api.openai.com/"
 
@@ -1456,7 +1412,7 @@ msgstr "Локации"
 msgid "Log"
 msgstr "Журнал"
 
-#: src/routes/index.ts:318 src/views/other/Login.vue:222
+#: src/routes/index.ts:318 src/views/other/Login.vue:223
 msgid "Login"
 msgstr "Логин"
 
@@ -1534,7 +1490,7 @@ msgstr "Память и хранилище"
 msgid "Minutes"
 msgstr "Минуты"
 
-#: src/views/preference/OpenAISettings.vue:32
+#: src/views/preference/OpenAISettings.vue:20
 msgid "Model"
 msgstr "Модель"
 
@@ -1721,9 +1677,8 @@ msgid "Node name"
 msgstr "Новое имя"
 
 #: src/views/preference/BasicSettings.vue:23
-#, fuzzy
 msgid "Node Secret"
-msgstr "Jwt секрет"
+msgstr ""
 
 #: src/views/certificate/CertificateList/certColumns.tsx:91
 msgid "Not After"
@@ -1821,7 +1776,7 @@ msgstr "Онлайн"
 msgid "OpenAI"
 msgstr "OpenAI"
 
-#: src/components/TwoFA/Authorization.vue:112 src/views/other/Login.vue:231
+#: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:232
 msgid "Or"
 msgstr ""
 
@@ -1861,9 +1816,8 @@ msgid "Params"
 msgstr "Параметры"
 
 #: src/views/preference/components/Passkey.vue:59
-#, fuzzy
 msgid "Passkey"
-msgstr "Добавить ключ доступа"
+msgstr ""
 
 #: src/views/preference/components/Passkey.vue:62
 msgid ""
@@ -1925,7 +1879,7 @@ msgid ""
 "button below."
 msgstr ""
 
-#: src/components/TwoFA/Authorization.vue:70
+#: src/components/TwoFA/Authorization.vue:85
 #, fuzzy
 msgid "Please enter the OTP code:"
 msgstr "Пожалуйста, введите код 2FA:"
@@ -1951,6 +1905,12 @@ msgstr ""
 "Credentials, а затем выберите одну из учетных данных ниже, чтобы запросить "
 "API провайдера DNS."
 
+#: src/language/constants.ts:58
+msgid ""
+"Please generate new recovery codes in the preferences immediately to prevent "
+"lockout."
+msgstr ""
+
 #: src/views/config/components/Rename.vue:63
 #: src/views/config/ConfigEditor.vue:249
 msgid "Please input a filename"
@@ -2047,9 +2007,8 @@ msgid "Provider"
 msgstr "Провайдер"
 
 #: src/views/certificate/ACMEUser.vue:51
-#, fuzzy
 msgid "Proxy"
-msgstr "API Прокси"
+msgstr ""
 
 #: src/views/preference/BasicSettings.vue:63
 msgid "Public Security Number"
@@ -2078,8 +2037,7 @@ msgstr "Восстановить"
 msgid "Recovered Successfully"
 msgstr "Восстановлено успешно"
 
-#: src/components/TwoFA/Authorization.vue:89
-<<<<<<< HEAD
+#: src/components/TwoFA/Authorization.vue:79
 msgid "Recovery"
 msgstr "Восстановление"
 
@@ -2093,19 +2051,6 @@ msgid ""
 "Recovery codes are used to access your account when you lose access to your "
 "2FA device. Each code can only be used once."
 msgstr ""
-=======
-#: src/views/preference/components/TOTP.vue:156
-msgid "Recovery"
-msgstr "Восстановление"
-
-#: src/views/preference/components/TOTP.vue:82
-msgid "Recovery Code"
-msgstr "Код восстановления"
-
-#: src/views/preference/components/TOTP.vue:91
-msgid "Recovery Code:"
-msgstr "Код восстановления:"
->>>>>>> remotes/origin/dev
 
 #: src/views/preference/CertSettings.vue:37
 msgid "Recursive Nameservers"
@@ -2282,11 +2227,7 @@ msgstr "Запрос с неправильными параметрами"
 msgid "Reset"
 msgstr "Сброс"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:93
-=======
-#: src/views/preference/components/TOTP.vue:111
->>>>>>> remotes/origin/dev
 msgid "Reset 2FA"
 msgstr "Сброс 2FA"
 
@@ -2379,11 +2320,7 @@ msgstr "Сохранено успешно"
 msgid "Saved successfully"
 msgstr "Успешно сохранено"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:69
-=======
-#: src/views/preference/components/TOTP.vue:72
->>>>>>> remotes/origin/dev
 msgid "Scan the QR code with your mobile phone to add the account to the app."
 msgstr ""
 "Отсканируйте QR-код с помощью мобильного телефона, чтобы добавить учетную "
@@ -2393,11 +2330,7 @@ msgstr ""
 msgid "SDK"
 msgstr "SDK"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:109
-=======
-#: src/views/preference/components/TOTP.vue:128
->>>>>>> remotes/origin/dev
 msgid "Secret has been copied"
 msgstr ""
 
@@ -2471,19 +2404,17 @@ msgstr ""
 msgid "Show"
 msgstr "Показать"
 
-#: src/views/other/Login.vue:240
-#, fuzzy
+#: src/views/other/Login.vue:241
 msgid "Sign in with a passkey"
-msgstr "Аутентификация с помощью ключа доступа"
+msgstr ""
 
 #: src/views/site/ngx_conf/directive/DirectiveAdd.vue:65
 msgid "Single Directive"
 msgstr "Одиночная Директива"
 
 #: src/routes/index.ts:71 src/views/site/site_category/SiteCategory.vue:10
-#, fuzzy
 msgid "Site Categories"
-msgstr "Категория"
+msgstr ""
 
 #: src/constants/errors/site.ts:4
 #, fuzzy
@@ -2509,14 +2440,12 @@ msgid "Sites List"
 msgstr "Список сайтов"
 
 #: src/constants/errors/self_check.ts:10
-#, fuzzy
 msgid "Sites-available directory not exist"
-msgstr "Каталог"
+msgstr ""
 
 #: src/constants/errors/self_check.ts:11
-#, fuzzy
 msgid "Sites-enabled directory not exist"
-msgstr "Каталог"
+msgstr ""
 
 #: src/views/certificate/CertificateEditor.vue:211
 msgid "SSL Certificate Content"
@@ -2566,9 +2495,8 @@ msgid "Streams Directory"
 msgstr "Каталог"
 
 #: src/constants/errors/self_check.ts:12
-#, fuzzy
 msgid "Streams-available directory not exist"
-msgstr "Каталог"
+msgstr ""
 
 #: src/constants/errors/self_check.ts:13
 #, fuzzy
@@ -2732,7 +2660,7 @@ msgid ""
 "The log path is not under the paths in settings.NginxSettings.LogDirWhiteList"
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:35
+#: src/views/preference/OpenAISettings.vue:23
 #, fuzzy
 msgid ""
 "The model name should only contain letters, unicode, numbers, hyphens, "
@@ -2767,16 +2695,6 @@ msgstr ""
 "Имя сервера должно содержать только буквы, юникод, цифры, дефисы, тире и "
 "точки."
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:90
-msgid ""
-"The recovery code is only displayed once, please save it in a safe place."
-msgstr ""
-"Код восстановления отображается только один раз, пожалуйста, сохраните его в "
-"безопасном месте."
-
->>>>>>> remotes/origin/dev
 #: src/views/dashboard/Environments.vue:148
 msgid ""
 "The remote Nginx UI version is not compatible with the local Nginx UI "
@@ -2800,8 +2718,8 @@ msgstr ""
 msgid "The url is invalid"
 msgstr "URL недействителен"
 
-#: src/views/preference/OpenAISettings.vue:47
-#: src/views/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:35
+#: src/views/preference/OpenAISettings.vue:49
 msgid "The url is invalid."
 msgstr "URL недействителен."
 
@@ -2878,11 +2796,7 @@ msgstr "Советы"
 msgid "Title"
 msgstr "Заголовок"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:68
-=======
-#: src/views/preference/components/TOTP.vue:71
->>>>>>> remotes/origin/dev
 msgid ""
 "To enable it, you need to install the Google or Microsoft Authenticator app "
 "on your mobile phone."
@@ -2909,14 +2823,14 @@ msgstr ""
 "запрос от авторитета к бэкенду, и нам нужно сохранить этот файл и "
 "перезагрузить Nginx. Вы уверены, что хотите продолжить?"
 
-#: src/views/preference/OpenAISettings.vue:48
+#: src/views/preference/OpenAISettings.vue:36
 msgid ""
 "To use a local large model, deploy it with ollama, vllm or lmdeploy. They "
 "provide an OpenAI-compatible API endpoint, so just set the baseUrl to your "
 "local API."
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:72
+#: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr "Токен недействителен"
 
@@ -2926,19 +2840,11 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr ""
 
 #: src/views/preference/components/TOTP.vue:67
-=======
-#: src/views/preference/components/TOTP.vue:69
-msgid "TOTP"
-msgstr ""
-
-#: src/views/preference/components/TOTP.vue:70
->>>>>>> remotes/origin/dev
 msgid ""
 "TOTP is a two-factor authentication method that uses a time-based one-time "
 "password algorithm."
@@ -3009,11 +2915,11 @@ msgstr "Аптайм:"
 msgid "URL"
 msgstr "URL"
 
-#: src/components/TwoFA/Authorization.vue:102
+#: src/components/TwoFA/Authorization.vue:121
 msgid "Use OTP"
 msgstr "Использовать OTP"
 
-#: src/components/TwoFA/Authorization.vue:98
+#: src/components/TwoFA/Authorization.vue:117
 msgid "Use recovery code"
 msgstr "Использовать код восстановления"
 
@@ -3181,9 +3087,17 @@ msgid "Your old codes won't work anymore."
 msgstr ""
 
 #: src/views/preference/components/Passkey.vue:75
-#, fuzzy
 msgid "Your passkeys"
-msgstr "Добавить ключ доступа"
+msgstr ""
+
+#~ msgid "Directory"
+#~ msgstr "Каталог"
+
+#~ msgid "Environment"
+#~ msgstr "Окружение"
+
+#~ msgid "File"
+#~ msgstr "Файл"
 
 #~ msgid ""
 #~ "If you lose your mobile phone, you can use the recovery code to reset "
@@ -3192,30 +3106,21 @@ msgstr "Добавить ключ доступа"
 #~ "Если вы потеряете свой мобильный телефон, вы можете использовать код "
 #~ "восстановления для сброса 2FA."
 
+#~ msgid "Incorrect username or password"
+#~ msgstr "Неверное имя пользователя или пароль"
+
 #~ msgid "Recovery Code:"
 #~ msgstr "Код восстановления:"
 
+#~ msgid "Server error"
+#~ msgstr "Ошибка сервера"
+
 #~ msgid ""
 #~ "The recovery code is only displayed once, please save it in a safe place."
 #~ msgstr ""
 #~ "Код восстановления отображается только один раз, пожалуйста, сохраните "
 #~ "его в безопасном месте."
 
-#~ msgid "Directory"
-#~ msgstr "Каталог"
-
-#~ msgid "Environment"
-#~ msgstr "Окружение"
-
-#~ msgid "File"
-#~ msgstr "Файл"
-
-#~ msgid "Server error"
-#~ msgstr "Ошибка сервера"
-
-#~ msgid "Incorrect username or password"
-#~ msgstr "Неверное имя пользователя или пароль"
-
 #~ msgid "Too many login failed attempts, please try again later"
 #~ msgstr "Слишком много неудачных попыток входа, попробуйте позже"
 

+ 57 - 150
app/src/language/tr_TR/app.po

@@ -106,7 +106,11 @@ msgstr ""
 msgid "All"
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:44
+#: src/language/constants.ts:57
+msgid "All Recovery Codes Have Been Used"
+msgstr ""
+
+#: src/views/preference/OpenAISettings.vue:32
 msgid "API Base Url"
 msgstr "API Temel Bağlantı Adresi"
 
@@ -114,15 +118,15 @@ msgstr "API Temel Bağlantı Adresi"
 msgid "API Document"
 msgstr "API Dökümanı"
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:46
 msgid "API Proxy"
 msgstr "API Proxy"
 
-#: src/views/preference/OpenAISettings.vue:69
+#: src/views/preference/OpenAISettings.vue:58
 msgid "API Token"
 msgstr "API Token"
 
-#: src/views/preference/OpenAISettings.vue:78
+#: src/views/preference/OpenAISettings.vue:67
 #, fuzzy
 msgid "API Type"
 msgstr "API Token"
@@ -222,7 +226,7 @@ msgstr "Girişimler"
 msgid "Auth"
 msgstr "Kimlik Doğrulama"
 
-#: src/components/TwoFA/Authorization.vue:121
+#: src/components/TwoFA/Authorization.vue:109
 msgid "Authenticate with a passkey"
 msgstr "Geçiş anahtarıyla kimlik doğrulama"
 
@@ -325,13 +329,6 @@ msgstr "CA Dizini"
 msgid "CADir"
 msgstr "CADizini"
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:129
-msgid "Can't scan? Use text key binding"
-msgstr "Tarayamıyor musunuz? Metin anahtar bağlamasını kullanın"
-
->>>>>>> remotes/origin/dev
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -580,19 +577,11 @@ msgstr "Kimlik bilgisi"
 msgid "Credentials"
 msgstr "Kimlik bilgileri"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:72
 msgid "Current account is enabled TOTP."
 msgstr "Mevcut hesap için TOTP etkinleştirildi."
 
 #: src/views/preference/components/TOTP.vue:70
-=======
-#: src/views/preference/components/TOTP.vue:77
-msgid "Current account is enabled TOTP."
-msgstr "Mevcut hesap için TOTP etkinleştirildi."
-
-#: src/views/preference/components/TOTP.vue:74
->>>>>>> remotes/origin/dev
 msgid "Current account is not enabled TOTP."
 msgstr "Mevcut hesap için TOTP etkin değil."
 
@@ -945,11 +934,7 @@ msgstr ""
 "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı "
 "oldu"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:45
-=======
-#: src/views/preference/components/TOTP.vue:38
->>>>>>> remotes/origin/dev
 msgid "Enable 2FA successfully"
 msgstr "2FA'yı başarıyla etkinleştirildi"
 
@@ -993,11 +978,7 @@ msgstr "Başarıyla etkinleştirildi"
 msgid "Enable TLS"
 msgstr "TLS'yi Etkinleştir"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:81
-=======
-#: src/views/preference/components/TOTP.vue:103
->>>>>>> remotes/origin/dev
 msgid "Enable TOTP"
 msgstr "TOTP'yi Etkinleştir"
 
@@ -1093,9 +1074,8 @@ msgid "Failed to parse nginx.conf"
 msgstr ""
 
 #: src/constants/errors/self_check.ts:3
-#, fuzzy
 msgid "Failed to read nginx.conf"
-msgstr "Etkinleştirilemedi %{msg}"
+msgstr ""
 
 #: src/views/site/site_edit/SiteEdit.vue:135
 #: src/views/stream/StreamEdit.vue:122
@@ -1236,17 +1216,6 @@ msgstr ""
 "yasaklama eşiği dakikaları içinde maksimum deneme sayısına ulaşırsa, IP "
 "adresi belirli bir süre için yasaklanacaktır."
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:89
-msgid ""
-"If you lose your mobile phone, you can use the recovery code to reset your "
-"2FA."
-msgstr ""
-"Cep telefonunuzu kaybederseniz, 2FA'nızı sıfırlamak için kurtarma kodunu "
-"kullanabilirsiniz."
-
->>>>>>> remotes/origin/dev
 #: src/views/preference/components/AddPasskey.vue:70
 msgid "If your browser supports WebAuthn Passkey, a dialog box will appear."
 msgstr ""
@@ -1282,19 +1251,11 @@ msgstr "İlk çekirdek yükseltici hatası"
 msgid "Initialing core upgrader"
 msgstr "Çekirdek yükseltici başlatılıyor"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:119
-=======
-#: src/views/preference/components/TOTP.vue:136
->>>>>>> remotes/origin/dev
 msgid "Input the code from the app:"
 msgstr "Uygulamadan kodu girin:"
 
-#: src/components/TwoFA/Authorization.vue:82
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:149
->>>>>>> remotes/origin/dev
+#: src/components/TwoFA/Authorization.vue:72
 msgid "Input the recovery code:"
 msgstr "Kurtarma kodunu girin:"
 
@@ -1337,16 +1298,11 @@ msgstr "Geçersiz parola veya kurtarma kodu"
 msgid "Invalid recovery code"
 msgstr "Geçersiz 2FA veya kurtarma kodu"
 
-<<<<<<< HEAD
-#: src/views/preference/AuthSettings.vue:18
-=======
 #: src/constants/errors/middleware.ts:2
-#, fuzzy
 msgid "Invalid request format"
-msgstr "Geçersiz 2FA veya kurtarma kodu"
+msgstr ""
 
-#: src/views/preference/AuthSettings.vue:14
->>>>>>> remotes/origin/dev
+#: src/views/preference/AuthSettings.vue:18
 msgid "IP"
 msgstr "IP"
 
@@ -1393,7 +1349,7 @@ msgstr "En son kullanıldığı zaman"
 msgid "Leave blank for no change"
 msgstr "Değişiklik olmaması için boş bırakın"
 
-#: src/views/preference/OpenAISettings.vue:53
+#: src/views/preference/OpenAISettings.vue:41
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr "Varsayılan için boş bırakın: https://api.openai.com/"
 
@@ -1457,7 +1413,7 @@ msgstr "Konumlar"
 msgid "Log"
 msgstr "Günlük"
 
-#: src/routes/index.ts:318 src/views/other/Login.vue:222
+#: src/routes/index.ts:318 src/views/other/Login.vue:223
 msgid "Login"
 msgstr "Giriş"
 
@@ -1545,7 +1501,7 @@ msgstr "Bellek ve Depolama"
 msgid "Minutes"
 msgstr "Dakika"
 
-#: src/views/preference/OpenAISettings.vue:32
+#: src/views/preference/OpenAISettings.vue:20
 #, fuzzy
 msgid "Model"
 msgstr "Model"
@@ -1706,9 +1662,8 @@ msgid "Nginx Log"
 msgstr "Nginx Günlüğü"
 
 #: src/views/preference/NginxSettings.vue:18
-#, fuzzy
 msgid "Nginx Log Directory Whitelist"
-msgstr "Nginx Yapılandırma Ayrıştırma Hatası"
+msgstr ""
 
 #: src/views/preference/NginxSettings.vue:27
 #, fuzzy
@@ -1716,9 +1671,8 @@ msgid "Nginx PID Path"
 msgstr "Nginx Hata Günlüğü Yolu"
 
 #: src/views/preference/NginxSettings.vue:30
-#, fuzzy
 msgid "Nginx Reload Command"
-msgstr "Terminal Başlatma Komutu"
+msgstr ""
 
 #: src/components/NginxControl/NginxControl.vue:26
 #, fuzzy
@@ -1875,7 +1829,7 @@ msgstr "Çevrimiçi"
 msgid "OpenAI"
 msgstr "OpenAI"
 
-#: src/components/TwoFA/Authorization.vue:112 src/views/other/Login.vue:231
+#: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:232
 #, fuzzy
 msgid "Or"
 msgstr "Veya"
@@ -1999,7 +1953,7 @@ msgstr ""
 "Lütfen oluşturmak istediğiniz geçiş anahtarı için bir ad girin ve aşağıdaki "
 "Tamam düğmesine tıklayın."
 
-#: src/components/TwoFA/Authorization.vue:70
+#: src/components/TwoFA/Authorization.vue:85
 #, fuzzy
 msgid "Please enter the OTP code:"
 msgstr "Lütfen OTP kodunu girin:"
@@ -2028,6 +1982,12 @@ msgstr ""
 "ekleyin ve ardından DNS sağlayıcısının API'sini istemek için aşağıdaki "
 "kimlik bilgilerinden birini seçin."
 
+#: src/language/constants.ts:58
+msgid ""
+"Please generate new recovery codes in the preferences immediately to prevent "
+"lockout."
+msgstr ""
+
 #: src/views/config/components/Rename.vue:63
 #: src/views/config/ConfigEditor.vue:249
 #, fuzzy
@@ -2174,36 +2134,21 @@ msgstr "Kurtar"
 msgid "Recovered Successfully"
 msgstr "Başarıyla Kurtarıldı"
 
-#: src/components/TwoFA/Authorization.vue:89
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:156
->>>>>>> remotes/origin/dev
+#: src/components/TwoFA/Authorization.vue:79
 #, fuzzy
 msgid "Recovery"
 msgstr "Kurtarma"
 
-<<<<<<< HEAD
 #: src/views/preference/components/RecoveryCodes.vue:68
-=======
-#: src/views/preference/components/TOTP.vue:82
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Recovery Codes"
 msgstr "Kurtarma Kodu"
 
-<<<<<<< HEAD
 #: src/views/preference/components/RecoveryCodes.vue:73
 msgid ""
 "Recovery codes are used to access your account when you lose access to your "
 "2FA device. Each code can only be used once."
 msgstr ""
-=======
-#: src/views/preference/components/TOTP.vue:91
-#, fuzzy
-msgid "Recovery Code:"
-msgstr "Kurtarma Kodu:"
->>>>>>> remotes/origin/dev
 
 #: src/views/preference/CertSettings.vue:37
 #, fuzzy
@@ -2413,11 +2358,7 @@ msgstr "Yanlış parametrelerle talep edildi"
 msgid "Reset"
 msgstr "Sıfırla"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:93
-=======
-#: src/views/preference/components/TOTP.vue:111
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Reset 2FA"
 msgstr "2FA'yı Sıfırla"
@@ -2520,11 +2461,7 @@ msgstr "Başarıyla kaydedin"
 msgid "Saved successfully"
 msgstr "Başarıyla Kaydedildi"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:69
-=======
-#: src/views/preference/components/TOTP.vue:72
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Scan the QR code with your mobile phone to add the account to the app."
 msgstr "Hesabı uygulamaya eklemek için QR kodunu cep telefonunuzla tarayın."
@@ -2534,11 +2471,7 @@ msgstr "Hesabı uygulamaya eklemek için QR kodunu cep telefonunuzla tarayın."
 msgid "SDK"
 msgstr "SDK"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:109
-=======
-#: src/views/preference/components/TOTP.vue:128
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Secret has been copied"
 msgstr "Sır kopyalandı"
@@ -2623,7 +2556,7 @@ msgstr ""
 msgid "Show"
 msgstr "Göster"
 
-#: src/views/other/Login.vue:240
+#: src/views/other/Login.vue:241
 #, fuzzy
 msgid "Sign in with a passkey"
 msgstr "Bir geçiş anahtarı ile oturum açın"
@@ -2663,14 +2596,12 @@ msgid "Sites List"
 msgstr "Site Listesi"
 
 #: src/constants/errors/self_check.ts:10
-#, fuzzy
 msgid "Sites-available directory not exist"
-msgstr "Dizin"
+msgstr ""
 
 #: src/constants/errors/self_check.ts:11
-#, fuzzy
 msgid "Sites-enabled directory not exist"
-msgstr "Dizin"
+msgstr ""
 
 #: src/views/certificate/CertificateEditor.vue:211
 #, fuzzy
@@ -2729,9 +2660,8 @@ msgid "Streams Directory"
 msgstr "Dizin"
 
 #: src/constants/errors/self_check.ts:12
-#, fuzzy
 msgid "Streams-available directory not exist"
-msgstr "Dizin"
+msgstr ""
 
 #: src/constants/errors/self_check.ts:13
 #, fuzzy
@@ -2919,7 +2849,7 @@ msgid ""
 "The log path is not under the paths in settings.NginxSettings.LogDirWhiteList"
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:35
+#: src/views/preference/OpenAISettings.vue:23
 #, fuzzy
 msgid ""
 "The model name should only contain letters, unicode, numbers, hyphens, "
@@ -2954,17 +2884,6 @@ msgstr ""
 "Sunucu adı yalnızca harf, unicode, sayı, kısa çizgi, tire ve nokta "
 "içermelidir."
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:90
-#, fuzzy
-msgid ""
-"The recovery code is only displayed once, please save it in a safe place."
-msgstr ""
-"Kurtarma kodu yalnızca bir kez görüntülenir, lütfen güvenli bir yere "
-"kaydedin."
-
->>>>>>> remotes/origin/dev
 #: src/views/dashboard/Environments.vue:148
 #, fuzzy
 msgid ""
@@ -2991,8 +2910,8 @@ msgstr ""
 msgid "The url is invalid"
 msgstr "URL geçersiz"
 
-#: src/views/preference/OpenAISettings.vue:47
-#: src/views/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:35
+#: src/views/preference/OpenAISettings.vue:49
 #, fuzzy
 msgid "The url is invalid."
 msgstr "URL geçersiz."
@@ -3077,11 +2996,7 @@ msgstr "İpuçları"
 msgid "Title"
 msgstr "Başlık"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:68
-=======
-#: src/views/preference/components/TOTP.vue:71
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid ""
 "To enable it, you need to install the Google or Microsoft Authenticator app "
@@ -3114,7 +3029,7 @@ msgstr ""
 "dosyayı kaydedip Nginx'i yeniden yüklememiz gerekir. Devam etmek "
 "istediğinizden emin misiniz?"
 
-#: src/views/preference/OpenAISettings.vue:48
+#: src/views/preference/OpenAISettings.vue:36
 #, fuzzy
 msgid ""
 "To use a local large model, deploy it with ollama, vllm or lmdeploy. They "
@@ -3125,7 +3040,7 @@ msgstr ""
 "uyumlu bir API uç noktası sağlarlar, bu nedenle baseUrl'yi yerel API'nize "
 "ayarlamanız yeterlidir."
 
-#: src/views/preference/OpenAISettings.vue:72
+#: src/views/preference/OpenAISettings.vue:61
 #, fuzzy
 msgid "Token is not valid"
 msgstr "Belirteç geçerli değil"
@@ -3136,20 +3051,12 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:66
-=======
-#: src/views/preference/components/TOTP.vue:69
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "TOTP"
 msgstr "TOTP"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:67
-=======
-#: src/views/preference/components/TOTP.vue:70
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid ""
 "TOTP is a two-factor authentication method that uses a time-based one-time "
@@ -3233,12 +3140,12 @@ msgstr "Çalışma süresi:"
 msgid "URL"
 msgstr "URL"
 
-#: src/components/TwoFA/Authorization.vue:102
+#: src/components/TwoFA/Authorization.vue:121
 #, fuzzy
 msgid "Use OTP"
 msgstr "OTP kullanın"
 
-#: src/components/TwoFA/Authorization.vue:98
+#: src/components/TwoFA/Authorization.vue:117
 #, fuzzy
 msgid "Use recovery code"
 msgstr "Kurtarma kodunu kullanın"
@@ -3435,6 +3342,18 @@ msgstr ""
 msgid "Your passkeys"
 msgstr "Geçiş anahtarlarınız"
 
+#~ msgid "Can't scan? Use text key binding"
+#~ msgstr "Tarayamıyor musunuz? Metin anahtar bağlamasını kullanın"
+
+#~ msgid "Directory"
+#~ msgstr "Dizin"
+
+#~ msgid "Environment"
+#~ msgstr "Ortam"
+
+#~ msgid "File"
+#~ msgstr "Dosya"
+
 #~ msgid ""
 #~ "If you lose your mobile phone, you can use the recovery code to reset "
 #~ "your 2FA."
@@ -3442,10 +3361,17 @@ msgstr "Geçiş anahtarlarınız"
 #~ "Cep telefonunuzu kaybederseniz, 2FA'nızı sıfırlamak için kurtarma kodunu "
 #~ "kullanabilirsiniz."
 
+#~ msgid "Incorrect username or password"
+#~ msgstr "Kullanıcı adı veya şifre yanlış"
+
 #, fuzzy
 #~ msgid "Recovery Code:"
 #~ msgstr "Kurtarma Kodu:"
 
+#, fuzzy
+#~ msgid "Server error"
+#~ msgstr "Server hatası"
+
 #, fuzzy
 #~ msgid ""
 #~ "The recovery code is only displayed once, please save it in a safe place."
@@ -3453,25 +3379,6 @@ msgstr "Geçiş anahtarlarınız"
 #~ "Kurtarma kodu yalnızca bir kez görüntülenir, lütfen güvenli bir yere "
 #~ "kaydedin."
 
-#~ msgid "Can't scan? Use text key binding"
-#~ msgstr "Tarayamıyor musunuz? Metin anahtar bağlamasını kullanın"
-
-#~ msgid "Directory"
-#~ msgstr "Dizin"
-
-#~ msgid "Environment"
-#~ msgstr "Ortam"
-
-#~ msgid "File"
-#~ msgstr "Dosya"
-
-#, fuzzy
-#~ msgid "Server error"
-#~ msgstr "Server hatası"
-
-#~ msgid "Incorrect username or password"
-#~ msgstr "Kullanıcı adı veya şifre yanlış"
-
 #, fuzzy
 #~ msgid "Too many login failed attempts, please try again later"
 #~ msgstr ""

+ 57 - 159
app/src/language/vi_VN/app.po

@@ -107,25 +107,27 @@ msgstr ""
 msgid "All"
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:44
+#: src/language/constants.ts:57
+msgid "All Recovery Codes Have Been Used"
+msgstr ""
+
+#: src/views/preference/OpenAISettings.vue:32
 msgid "API Base Url"
 msgstr ""
 
 #: src/views/certificate/DNSChallenge.vue:83
-#, fuzzy
 msgid "API Document"
-msgstr "Bình luận"
+msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:46
 msgid "API Proxy"
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:69
-#, fuzzy
+#: src/views/preference/OpenAISettings.vue:58
 msgid "API Token"
-msgstr "Loại"
+msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:78
+#: src/views/preference/OpenAISettings.vue:67
 #, fuzzy
 msgid "API Type"
 msgstr "Loại"
@@ -235,7 +237,7 @@ msgstr ""
 msgid "Auth"
 msgstr "Tác giả"
 
-#: src/components/TwoFA/Authorization.vue:121
+#: src/components/TwoFA/Authorization.vue:109
 msgid "Authenticate with a passkey"
 msgstr ""
 
@@ -342,13 +344,6 @@ msgstr ""
 msgid "CADir"
 msgstr ""
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:129
-msgid "Can't scan? Use text key binding"
-msgstr ""
-
->>>>>>> remotes/origin/dev
 #: src/components/ChatGPT/ChatGPT.vue:356
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:246
 #: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:187
@@ -610,19 +605,11 @@ msgstr "Chứng chỉ"
 msgid "Credentials"
 msgstr "Chứng chỉ"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:72
 msgid "Current account is enabled TOTP."
 msgstr ""
 
 #: src/views/preference/components/TOTP.vue:70
-=======
-#: src/views/preference/components/TOTP.vue:77
-msgid "Current account is enabled TOTP."
-msgstr ""
-
-#: src/views/preference/components/TOTP.vue:74
->>>>>>> remotes/origin/dev
 msgid "Current account is not enabled TOTP."
 msgstr ""
 
@@ -981,11 +968,7 @@ msgstr "Không thể bật %{conf_name} trên %{node_name}"
 msgid "Enable %{conf_name} in %{node_name} successfully"
 msgstr "Đã bật %{conf_name} trên %{node_name}"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:45
-=======
-#: src/views/preference/components/TOTP.vue:38
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Enable 2FA successfully"
 msgstr "Đã bật"
@@ -1027,11 +1010,7 @@ msgstr "Đã bật"
 msgid "Enable TLS"
 msgstr "Bật TLS"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:81
-=======
-#: src/views/preference/components/TOTP.vue:103
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Enable TOTP"
 msgstr "Bật TLS"
@@ -1132,9 +1111,8 @@ msgid "Failed to parse nginx.conf"
 msgstr ""
 
 #: src/constants/errors/self_check.ts:3
-#, fuzzy
 msgid "Failed to read nginx.conf"
-msgstr "Không thể bật %{msg}"
+msgstr ""
 
 #: src/views/site/site_edit/SiteEdit.vue:135
 #: src/views/stream/StreamEdit.vue:122
@@ -1210,9 +1188,8 @@ msgid "Generate New Recovery Codes"
 msgstr ""
 
 #: src/views/preference/components/RecoveryCodes.vue:161
-#, fuzzy
 msgid "Generate Recovery Codes"
-msgstr "Hợp lệ"
+msgstr ""
 
 #: src/views/preference/components/RecoveryCodes.vue:32
 #, fuzzy
@@ -1245,9 +1222,8 @@ msgid "Home"
 msgstr "Trang chủ"
 
 #: src/views/preference/CertSettings.vue:12
-#, fuzzy
 msgid "HTTP Challenge Port"
-msgstr "Phương pháp xác thực"
+msgstr ""
 
 #: src/views/preference/BasicSettings.vue:11
 msgid "HTTP Host"
@@ -1275,15 +1251,6 @@ msgid ""
 "ban threshold minutes, the ip will be banned for a period of time."
 msgstr ""
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:89
-msgid ""
-"If you lose your mobile phone, you can use the recovery code to reset your "
-"2FA."
-msgstr ""
-
->>>>>>> remotes/origin/dev
 #: src/views/preference/components/AddPasskey.vue:70
 msgid "If your browser supports WebAuthn Passkey, a dialog box will appear."
 msgstr ""
@@ -1317,19 +1284,11 @@ msgstr "Không thể khởi tạo trình nâng cấp"
 msgid "Initialing core upgrader"
 msgstr "Đang khởi tạo trình nâng cấp"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:119
-=======
-#: src/views/preference/components/TOTP.vue:136
->>>>>>> remotes/origin/dev
 msgid "Input the code from the app:"
 msgstr ""
 
-#: src/components/TwoFA/Authorization.vue:82
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:149
->>>>>>> remotes/origin/dev
+#: src/components/TwoFA/Authorization.vue:72
 msgid "Input the recovery code:"
 msgstr ""
 
@@ -1358,9 +1317,8 @@ msgid "Invalid filename"
 msgstr "E-mail không chính xác!"
 
 #: src/views/config/components/Mkdir.vue:57
-#, fuzzy
 msgid "Invalid folder name"
-msgstr "E-mail không chính xác!"
+msgstr ""
 
 #: src/constants/errors/user.ts:4
 #, fuzzy
@@ -1372,19 +1330,14 @@ msgid "Invalid passcode or recovery code"
 msgstr ""
 
 #: src/constants/errors/user.ts:5
-#, fuzzy
 msgid "Invalid recovery code"
-msgstr "Hợp lệ"
+msgstr ""
 
-<<<<<<< HEAD
-#: src/views/preference/AuthSettings.vue:18
-=======
 #: src/constants/errors/middleware.ts:2
 msgid "Invalid request format"
 msgstr ""
 
-#: src/views/preference/AuthSettings.vue:14
->>>>>>> remotes/origin/dev
+#: src/views/preference/AuthSettings.vue:18
 msgid "IP"
 msgstr ""
 
@@ -1436,7 +1389,7 @@ msgstr "Kiểm tra lần cuối lúc"
 msgid "Leave blank for no change"
 msgstr "Bỏ trống nếu không thay đổi"
 
-#: src/views/preference/OpenAISettings.vue:53
+#: src/views/preference/OpenAISettings.vue:41
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr "Bỏ trống để sử dụng địa chỉ mặc định: https://api.openai.com/"
 
@@ -1507,7 +1460,7 @@ msgstr "Locations"
 msgid "Log"
 msgstr "Log"
 
-#: src/routes/index.ts:318 src/views/other/Login.vue:222
+#: src/routes/index.ts:318 src/views/other/Login.vue:223
 msgid "Login"
 msgstr "Đăng nhập"
 
@@ -1561,9 +1514,8 @@ msgid "Manage Users"
 msgstr "Người dùng"
 
 #: src/views/certificate/CertificateList/certColumns.tsx:31
-#, fuzzy
 msgid "Managed Certificate"
-msgstr "Thay đổi chứng chỉ"
+msgstr ""
 
 #: src/views/preference/AuthSettings.vue:135
 msgid "Max Attempts"
@@ -1582,7 +1534,7 @@ msgstr "Memory và Storage"
 msgid "Minutes"
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:32
+#: src/views/preference/OpenAISettings.vue:20
 #, fuzzy
 msgid "Model"
 msgstr "Run Mode"
@@ -1725,14 +1677,12 @@ msgid "Nginx is not running"
 msgstr ""
 
 #: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:148
-#, fuzzy
 msgid "Nginx Log"
-msgstr "Vị trí lưu log lỗi (Error log) của Nginx"
+msgstr ""
 
 #: src/views/preference/NginxSettings.vue:18
-#, fuzzy
 msgid "Nginx Log Directory Whitelist"
-msgstr "Lỗi phân tích cú pháp cấu hình Nginx"
+msgstr ""
 
 #: src/views/preference/NginxSettings.vue:27
 #, fuzzy
@@ -1780,9 +1730,8 @@ msgid "Node name"
 msgstr "Username"
 
 #: src/views/preference/BasicSettings.vue:23
-#, fuzzy
 msgid "Node Secret"
-msgstr "Username"
+msgstr ""
 
 #: src/views/certificate/CertificateList/certColumns.tsx:91
 msgid "Not After"
@@ -1881,7 +1830,7 @@ msgstr "Trực tuyến"
 msgid "OpenAI"
 msgstr ""
 
-#: src/components/TwoFA/Authorization.vue:112 src/views/other/Login.vue:231
+#: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:232
 msgid "Or"
 msgstr ""
 
@@ -1984,7 +1933,7 @@ msgid ""
 "button below."
 msgstr ""
 
-#: src/components/TwoFA/Authorization.vue:70
+#: src/components/TwoFA/Authorization.vue:85
 msgid "Please enter the OTP code:"
 msgstr ""
 
@@ -2007,6 +1956,12 @@ msgstr ""
 "Trước tiên, vui lòng thêm thông tin xác thực trong Chứng chỉ > Thông tin xác "
 "thực DNS, sau đó chọn nhà cung cấp DNS"
 
+#: src/language/constants.ts:58
+msgid ""
+"Please generate new recovery codes in the preferences immediately to prevent "
+"lockout."
+msgstr ""
+
 #: src/views/config/components/Rename.vue:63
 #: src/views/config/ConfigEditor.vue:249
 #, fuzzy
@@ -2132,32 +2087,18 @@ msgstr ""
 msgid "Recovered Successfully"
 msgstr "Xoá thành công"
 
-#: src/components/TwoFA/Authorization.vue:89
-<<<<<<< HEAD
+#: src/components/TwoFA/Authorization.vue:79
 msgid "Recovery"
 msgstr ""
 
 #: src/views/preference/components/RecoveryCodes.vue:68
-#, fuzzy
 msgid "Recovery Codes"
-msgstr "Hợp lệ"
+msgstr ""
 
 #: src/views/preference/components/RecoveryCodes.vue:73
 msgid ""
 "Recovery codes are used to access your account when you lose access to your "
 "2FA device. Each code can only be used once."
-=======
-#: src/views/preference/components/TOTP.vue:156
-msgid "Recovery"
-msgstr ""
-
-#: src/views/preference/components/TOTP.vue:82
-msgid "Recovery Code"
-msgstr ""
-
-#: src/views/preference/components/TOTP.vue:91
-msgid "Recovery Code:"
->>>>>>> remotes/origin/dev
 msgstr ""
 
 #: src/views/preference/CertSettings.vue:37
@@ -2350,11 +2291,7 @@ msgstr "Yêu cầu có chứa tham số sai"
 msgid "Reset"
 msgstr "Đặt lại"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:93
-=======
-#: src/views/preference/components/TOTP.vue:111
->>>>>>> remotes/origin/dev
 #, fuzzy
 msgid "Reset 2FA"
 msgstr "Đặt lại"
@@ -2448,11 +2385,7 @@ msgstr "Lưu thành công"
 msgid "Saved successfully"
 msgstr "Lưu thành công"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:69
-=======
-#: src/views/preference/components/TOTP.vue:72
->>>>>>> remotes/origin/dev
 msgid "Scan the QR code with your mobile phone to add the account to the app."
 msgstr ""
 
@@ -2460,11 +2393,7 @@ msgstr ""
 msgid "SDK"
 msgstr ""
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:109
-=======
-#: src/views/preference/components/TOTP.vue:128
->>>>>>> remotes/origin/dev
 msgid "Secret has been copied"
 msgstr ""
 
@@ -2537,7 +2466,7 @@ msgstr ""
 msgid "Show"
 msgstr ""
 
-#: src/views/other/Login.vue:240
+#: src/views/other/Login.vue:241
 msgid "Sign in with a passkey"
 msgstr ""
 
@@ -2574,39 +2503,32 @@ msgid "Sites List"
 msgstr "Danh sách Website"
 
 #: src/constants/errors/self_check.ts:10
-#, fuzzy
 msgid "Sites-available directory not exist"
-msgstr "Thư mục"
+msgstr ""
 
 #: src/constants/errors/self_check.ts:11
-#, fuzzy
 msgid "Sites-enabled directory not exist"
-msgstr "Thư mục"
+msgstr ""
 
 #: src/views/certificate/CertificateEditor.vue:211
-#, fuzzy
 msgid "SSL Certificate Content"
-msgstr "Trạng thái chứng chỉ"
+msgstr ""
 
 #: src/views/certificate/CertificateEditor.vue:224
-#, fuzzy
 msgid "SSL Certificate Key Content"
-msgstr "Trạng thái chứng chỉ"
+msgstr ""
 
 #: src/views/certificate/CertificateEditor.vue:190
-#, fuzzy
 msgid "SSL Certificate Key Path"
-msgstr "Trạng thái chứng chỉ"
+msgstr ""
 
 #: src/views/certificate/CertificateEditor.vue:175
-#, fuzzy
 msgid "SSL Certificate Path"
-msgstr "Trạng thái chứng chỉ"
+msgstr ""
 
 #: src/views/other/Login.vue:198
-#, fuzzy
 msgid "SSO Login"
-msgstr "Đăng nhập"
+msgstr ""
 
 #: src/views/environment/BatchUpgrader.vue:164
 #: src/views/environment/BatchUpgrader.vue:214 src/views/system/Upgrade.vue:191
@@ -2637,9 +2559,8 @@ msgid "Streams Directory"
 msgstr "Thư mục"
 
 #: src/constants/errors/self_check.ts:12
-#, fuzzy
 msgid "Streams-available directory not exist"
-msgstr "Thư mục"
+msgstr ""
 
 #: src/constants/errors/self_check.ts:13
 #, fuzzy
@@ -2738,9 +2659,8 @@ msgid "Sync strategy"
 msgstr "Gia hạn chứng chỉ SSL"
 
 #: src/views/certificate/CertificateEditor.vue:204
-#, fuzzy
 msgid "Sync to"
-msgstr "Gia hạn chứng chỉ SSL"
+msgstr ""
 
 #: src/views/site/site_edit/RightSettings.vue:110
 msgid "Synchronization"
@@ -2804,7 +2724,7 @@ msgid ""
 "The log path is not under the paths in settings.NginxSettings.LogDirWhiteList"
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:35
+#: src/views/preference/OpenAISettings.vue:23
 msgid ""
 "The model name should only contain letters, unicode, numbers, hyphens, "
 "dashes, colons, and dots."
@@ -2830,14 +2750,6 @@ msgid ""
 "hyphens, dashes, colons, and dots."
 msgstr ""
 
-<<<<<<< HEAD
-=======
-#: src/views/preference/components/TOTP.vue:90
-msgid ""
-"The recovery code is only displayed once, please save it in a safe place."
-msgstr ""
-
->>>>>>> remotes/origin/dev
 #: src/views/dashboard/Environments.vue:148
 msgid ""
 "The remote Nginx UI version is not compatible with the local Nginx UI "
@@ -2858,8 +2770,8 @@ msgstr ""
 msgid "The url is invalid"
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:47
-#: src/views/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:35
+#: src/views/preference/OpenAISettings.vue:49
 msgid "The url is invalid."
 msgstr ""
 
@@ -2913,10 +2825,9 @@ msgid "This value is already taken"
 msgstr ""
 
 #: src/views/environment/BatchUpgrader.vue:182
-#, fuzzy
 msgid ""
 "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
-msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"
+msgstr ""
 
 #: src/views/preference/AuthSettings.vue:124
 msgid "Throttle"
@@ -2932,11 +2843,7 @@ msgstr ""
 msgid "Title"
 msgstr "Tiêu đề"
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:68
-=======
-#: src/views/preference/components/TOTP.vue:71
->>>>>>> remotes/origin/dev
 msgid ""
 "To enable it, you need to install the Google or Microsoft Authenticator app "
 "on your mobile phone."
@@ -2961,14 +2868,14 @@ msgstr ""
 "quyền đến chương trình phụ trợ và chúng tôi cần lưu tệp này và tải lại "
 "Nginx. Bạn có chắc chắn muốn Tiếp tục?"
 
-#: src/views/preference/OpenAISettings.vue:48
+#: src/views/preference/OpenAISettings.vue:36
 msgid ""
 "To use a local large model, deploy it with ollama, vllm or lmdeploy. They "
 "provide an OpenAI-compatible API endpoint, so just set the baseUrl to your "
 "local API."
 msgstr ""
 
-#: src/views/preference/OpenAISettings.vue:72
+#: src/views/preference/OpenAISettings.vue:61
 msgid "Token is not valid"
 msgstr ""
 
@@ -2978,19 +2885,11 @@ msgid_plural "Total %{total} items"
 msgstr[0] ""
 msgstr[1] ""
 
-<<<<<<< HEAD
 #: src/views/preference/components/TOTP.vue:66
 msgid "TOTP"
 msgstr ""
 
 #: src/views/preference/components/TOTP.vue:67
-=======
-#: src/views/preference/components/TOTP.vue:69
-msgid "TOTP"
-msgstr ""
-
-#: src/views/preference/components/TOTP.vue:70
->>>>>>> remotes/origin/dev
 msgid ""
 "TOTP is a two-factor authentication method that uses a time-based one-time "
 "password algorithm."
@@ -3062,11 +2961,11 @@ msgstr "Thời gian hoạt động:"
 msgid "URL"
 msgstr ""
 
-#: src/components/TwoFA/Authorization.vue:102
+#: src/components/TwoFA/Authorization.vue:121
 msgid "Use OTP"
 msgstr ""
 
-#: src/components/TwoFA/Authorization.vue:98
+#: src/components/TwoFA/Authorization.vue:117
 msgid "Use recovery code"
 msgstr ""
 
@@ -3124,9 +3023,8 @@ msgid "View Mode"
 msgstr "Cơ bản"
 
 #: src/views/preference/components/RecoveryCodes.vue:134
-#, fuzzy
 msgid "View Recovery Codes"
-msgstr "Hợp lệ"
+msgstr ""
 
 #: src/views/preference/components/RecoveryCodes.vue:70
 #, fuzzy
@@ -3251,13 +3149,13 @@ msgstr ""
 #~ msgid "File"
 #~ msgstr "Tệp tin"
 
-#~ msgid "Server error"
-#~ msgstr "Lỗi máy chủ"
-
 #, fuzzy
 #~ msgid "Incorrect username or password"
 #~ msgstr "Tên người dùng hoặc mật khẩu không chính xác"
 
+#~ msgid "Server error"
+#~ msgstr "Lỗi máy chủ"
+
 #, fuzzy
 #~ msgid ""
 #~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "

Някои файлове не бяха показани, защото твърде много файлове са промени