feat(smtp): allow unauthorized mail server certificates (#525)

* Update config.seed.ts

Added Config Option "allowUnauthenticatedCertificates".

* Update email.service.ts

Now using new Config Option "allowUnauthenticatedCertificates".

* Update en-US.ts

* Update ar-EG.ts

* Update da-DK.ts

* Update el-GR.ts

* Update es-ES.ts

* Update fi-FI.ts

* Update fr-FR.ts

* Update hu-HU.ts

* Update it-IT.ts

* Update ja-JP.ts

* Update ko-KR.ts

* Update nl-BE.ts

* Update pl-PL.ts

* Update pt-BR.ts

* Update ru-RU.ts

* Update sl-SI.ts

* Update sr-SP.ts

* Update sv-SE.ts

* Update th-TH.ts

* Update tr-TR.ts

* Update uk-UA.ts

* Update zh-CN.ts

* Update zh-TW.ts

* Update config.seed.ts

* Update email.service.ts

* Update de-DE.ts

* Add files via upload

rename allow-unauthenticated-certificates to allow-unauthorized-certificates

* Add files via upload

rename allowUnauthenticatedCertificates to allowUnauthorizedCertificates

* Add files via upload

rename allowUnauthenticatedCertificates to allowUnauthorizedCertificates

* rename "unauthenticated" to "unauthorized"

* refactor: run formatter

---------

Co-authored-by: Elias Schneider <login@eliasschneider.com>
This commit is contained in:
thecrafterjt
2024-07-11 21:50:09 +02:00
committed by GitHub
parent 046c630abf
commit 083d82c28b
26 changed files with 4222 additions and 2084 deletions

View File

@@ -12,13 +12,16 @@ export default {
// END navbar
// /
"home.title": "แพลตฟอร์มสำหรับแชร์ไฟล์ที่คุณสามารถโฮสต์ด้วยตนเอง.",
"home.description": "คุณอยากให้บริษัทภายนอกเช่น WeTransfer เข้าถึงไฟล์ส่วนตัวของคุณหรือเปล่า?",
"home.description":
"คุณอยากให้บริษัทภายนอกเช่น WeTransfer เข้าถึงไฟล์ส่วนตัวของคุณหรือเปล่า?",
"home.bullet.a.name": "Self-Hosted",
"home.bullet.a.description": "โฮสต์ Pingvin Share บนเครื่องของคุณเอง.",
"home.bullet.b.name": "ความเป็นส่วนตัว",
"home.bullet.b.description": "ไฟล์ของคุณคือไฟล์ของคุณ มันไม่ควรตกอยู่บนมือของบุคคลที่สาม",
"home.bullet.b.description":
"ไฟล์ของคุณคือไฟล์ของคุณ มันไม่ควรตกอยู่บนมือของบุคคลที่สาม",
"home.bullet.c.name": "ไม่มีการจำกัดขนาดไฟล์ที่น่ารำคาญ",
"home.bullet.c.description": "อัพโหลดใหญ่เท่าไหนก็ได้ จำกัดอย่างเดียวคือความจุของเคื่องคุณ",
"home.bullet.c.description":
"อัพโหลดใหญ่เท่าไหนก็ได้ จำกัดอย่างเดียวคือความจุของเคื่องคุณ",
"home.button.start": "เริ่มต้น",
"home.button.source": "ซอร์สโค้ด",
// END /
@@ -27,7 +30,8 @@ export default {
"signin.description": "ยังไม่มีบัญชี?",
"signin.button.signup": "สมัครบัญชี",
"signin.input.email-or-username": "อีเมล์์์์์์์์หรือชื่อผู้ใช้",
"signin.input.email-or-username.placeholder": "อีเมล์์์์์์์หรือชื่อผู้ใช้ของคุณ",
"signin.input.email-or-username.placeholder":
"อีเมล์์์์์์์หรือชื่อผู้ใช้ของคุณ",
"signin.input.password": "รหัสผ่าน",
"signin.input.password.placeholder": "รหัสผ่านของคุณ",
"signin.button.submit": "เข้าสู่ระบบ",
@@ -57,7 +61,8 @@ export default {
// /auth/reset-password
"resetPassword.title": "ลืมรหัสผ่าน?",
"resetPassword.description": "กรุณาใส่อีเมล์์์์์์์ของคุณเพื่อรีเซ็ตรหัสผ่าน",
"resetPassword.notify.success": "A message with a link to reset your password has been sent if the email exists.",
"resetPassword.notify.success":
"A message with a link to reset your password has been sent if the email exists.",
"resetPassword.button.back": "กลับไปที่หน้าลงชื่อเข้าใช้",
"resetPassword.text.resetPassword": "รีเซ็ตรหัสผ่าน",
"resetPassword.text.enterNewPassword": "ป้อนรหัสผ่านใหม่ของคุณ",
@@ -72,7 +77,8 @@ export default {
"account.card.password.title": "รหัสผ่าน",
"account.card.password.old": "รหัสผ่านเก่า",
"account.card.password.new": "รหัสผ่านใหม่",
"account.card.password.noPasswordSet": "You don't have a password set. If you want to sign in with email and password you need to set a password.",
"account.card.password.noPasswordSet":
"You don't have a password set. If you want to sign in with email and password you need to set a password.",
"account.notify.password.success": "อัปเดตรหัสผ่านเรียบร้อยแล้ว",
"account.card.oauth.title": "Social login",
"account.card.oauth.github": "GitHub",
@@ -84,11 +90,14 @@ export default {
"account.card.oauth.unlink": "Unlink",
"account.card.oauth.unlinked": "Unlinked",
"account.modal.unlink.title": "Unlink account",
"account.modal.unlink.description": "Unlinking your social accounts may cause you to lose your account if you don't remember your username and password.",
"account.modal.unlink.description":
"Unlinking your social accounts may cause you to lose your account if you don't remember your username and password.",
"account.notify.oauth.unlinked.success": "Unlinked successfully",
"account.card.security.title": "ความปลอดภัย",
"account.card.security.totp.enable.description": "ใส่รหัสผ่านปัจจุบันของคุณเพื่อเริ่มต้นการเปิดใช้งาน TOTP",
"account.card.security.totp.disable.description": "ใส่รหัสผ่านปัจจุบันของคุณเพื่อปิดใช้งาน TOTP",
"account.card.security.totp.enable.description":
"ใส่รหัสผ่านปัจจุบันของคุณเพื่อเริ่มต้นการเปิดใช้งาน TOTP",
"account.card.security.totp.disable.description":
"ใส่รหัสผ่านปัจจุบันของคุณเพื่อปิดใช้งาน TOTP",
"account.card.security.totp.button.start": "เริ่มต้น",
"account.modal.totp.title": "เปิดใช้งาน TOTP",
"account.modal.totp.step1": "ขั้นตอนที่ 1: สแกนรหัส QR",
@@ -100,7 +109,8 @@ export default {
"account.notify.totp.disable": "TOTP ถูกปิดใช้งานเรียบร้อยแล้ว",
"account.notify.totp.enable": "TOTP ถูกเปิดใช้งานเรียบร้อยแล้ว",
"account.card.language.title": "ภาษา",
"account.card.language.description": "โปรเจคนี้ถูกแปลโดยชุมชน บางภาษาอาจยังไม่สมบูรณ์",
"account.card.language.description":
"โปรเจคนี้ถูกแปลโดยชุมชน บางภาษาอาจยังไม่สมบูรณ์",
"account.card.color.title": "ธีมสี",
// ThemeSwitcher.tsx
"account.theme.dark": "มืด",
@@ -108,7 +118,8 @@ export default {
"account.theme.system": "ตามระบบ",
"account.button.delete": "ลบบัญชี",
"account.modal.delete.title": "ลบบัญชีของคุณ",
"account.modal.delete.description": "คุณต้องการลบบัญชีของคุณหรือไม่ รวมถึงแชร์ที่คุณสร้างไว้ทั้งหมด?",
"account.modal.delete.description":
"คุณต้องการลบบัญชีของคุณหรือไม่ รวมถึงแชร์ที่คุณสร้างไว้ทั้งหมด?",
// END /account
// /account/shares
"account.shares.title": "แชร์ของฉัน",
@@ -130,7 +141,8 @@ export default {
// END /account/shares
// /account/reverseShares
"account.reverseShares.title": "รีเวิร์สแชร์ของฉัน",
"account.reverseShares.description": "รีเวิร์สแชร์สร้างลิงค์สำหรับคนภายนอกเพื่อที่จะแชร์ไฟล์ให้คุณ",
"account.reverseShares.description":
"รีเวิร์สแชร์สร้างลิงค์สำหรับคนภายนอกเพื่อที่จะแชร์ไฟล์ให้คุณ",
"account.reverseShares.title.empty": "มันว่างเปล่าที่นี่ 👀",
"account.reverseShares.description.empty": "คุณยังไม่ได้สร้างรีเวิร์สแชร์ใดๆ",
// showCreateReverseShareModal.tsx
@@ -150,9 +162,11 @@ export default {
"account.reverseShares.modal.expiration.year-plural": "ปี",
"account.reverseShares.modal.max-size.label": "ขนาดสูงสุดของแชร์",
"account.reverseShares.modal.send-email": "ส่งอีเมล์์์์์์์แจ้งเตือน",
"account.reverseShares.modal.send-email.description": "ส่งอีเมล์์์์์์์แจ้งเตือนเมื่อมีการสร้างแชร์ด้วยลิงค์รีเวิร์สนี้",
"account.reverseShares.modal.send-email.description":
"ส่งอีเมล์์์์์์์แจ้งเตือนเมื่อมีการสร้างแชร์ด้วยลิงค์รีเวิร์สนี้",
"account.reverseShares.modal.max-use.label": "จำนวนการใช้งานสูงสุด",
"account.reverseShares.modal.max-use.description": "จำนวนครั้งสูงสุดที่ลิงค์นี้สามารถใช้งานได้",
"account.reverseShares.modal.max-use.description":
"จำนวนครั้งสูงสุดที่ลิงค์นี้สามารถใช้งานได้",
"account.reverseShare.never-expires": "ลิงค์นี้ไม่มีวันหมดอายุ",
"account.reverseShare.expires-on": "ลิงค์นี้จะหมดอายุใน {expiration}.",
"account.reverseShares.table.no-shares": "ยังไม่มีการสร้างแชร์",
@@ -164,7 +178,8 @@ export default {
"account.reverseShares.table.expires": "หมดอายุ",
"account.reverseShares.modal.reverse-share-link": "ลิงค์รีเวิร์สแชร์",
"account.reverseShares.modal.delete.title": "ลบลิงค์รีเวิร์สแชร์",
"account.reverseShares.modal.delete.description": "คุณต้องการลบลิงค์รีเวิร์สแชร์นี้หรือไม่? หากคุณทำเช่นนั้นแชร์ที่เกี่ยวข้องจะถูกลบด้วย",
"account.reverseShares.modal.delete.description":
"คุณต้องการลบลิงค์รีเวิร์สแชร์นี้หรือไม่? หากคุณทำเช่นนั้นแชร์ที่เกี่ยวข้องจะถูกลบด้วย",
// END /account/reverseShares
// /admin
"admin.title": "แผงควบคุมระบบ",
@@ -183,18 +198,22 @@ export default {
"admin.users.edit.update.change-password.title": "เปลี่ยนรหัสผ่าน",
"admin.users.edit.update.change-password.field": "รหัสผ่านใหม่",
"admin.users.edit.update.change-password.button": "บันทึกรหัสผ่านใหม่",
"admin.users.edit.update.notify.password.success": "รหัสผ่านเปลี่ยนเรียบร้อยแล้ว",
"admin.users.edit.update.notify.password.success":
"รหัสผ่านเปลี่ยนเรียบร้อยแล้ว",
"admin.users.edit.delete.title": "ลบผู้ใช้ {username}",
"admin.users.edit.delete.description": "คุณต้องการลบผู้ใช้นี้และการแชร์ทั้งหมดของเขาหรือไม่?",
"admin.users.edit.delete.description":
"คุณต้องการลบผู้ใช้นี้และการแชร์ทั้งหมดของเขาหรือไม่?",
// showCreateUserModal.tsx
"admin.users.modal.create.title": "สร้างผู้ใช้",
"admin.users.modal.create.username": "ชื่อผู้ใช้",
"admin.users.modal.create.email": "อีเมล์",
"admin.users.modal.create.password": "รหัสผ่าน",
"admin.users.modal.create.manual-password": "ตั้งรหัสผ่านด้วยตนเอง",
"admin.users.modal.create.manual-password.description": "หากไม่ติ๊กเลือก ผู้ใช้จะได้รับอีเมล์พร้อมลิงก์เพื่อตั้งรหัสผ่านด้วยตนเอง",
"admin.users.modal.create.manual-password.description":
"หากไม่ติ๊กเลือก ผู้ใช้จะได้รับอีเมล์พร้อมลิงก์เพื่อตั้งรหัสผ่านด้วยตนเอง",
"admin.users.modal.create.admin": "สิทธิ์ของผู้ดูแลระบบ",
"admin.users.modal.create.admin.description": "หากติ๊กเลือก ผู้ใช้จะสามารถเข้าถึงแผงควบคุมระบบได้",
"admin.users.modal.create.admin.description":
"หากติ๊กเลือก ผู้ใช้จะสามารถเข้าถึงแผงควบคุมระบบได้",
// END /admin/users
// /admin/shares
"admin.shares.title": "Share management",
@@ -203,28 +222,35 @@ export default {
"admin.shares.table.visitors": "Visitors",
"admin.shares.table.expires": "Expires At",
"admin.shares.edit.delete.title": "Delete share {id}",
"admin.shares.edit.delete.description": "Do you really want to delete this share?",
"admin.shares.edit.delete.description":
"Do you really want to delete this share?",
// END /admin/shares
// /upload
"upload.title": "อัปโหลด",
"upload.notify.generic-error": "เกิดข้อผิดพลาดขณะที่กำลังจัดการการแชร์ของคุณ",
"upload.notify.count-failed": "มีไฟล์จำนวน {count} ไฟล์ที่ไม่สามารถอัปโหลดได้ กำลังลองอีกครั้ง",
"upload.notify.count-failed":
"มีไฟล์จำนวน {count} ไฟล์ที่ไม่สามารถอัปโหลดได้ กำลังลองอีกครั้ง",
// Dropzone.tsx
"upload.dropzone.title": "อัปโหลดไฟล์",
"upload.dropzone.description": "ลากและวางไฟล์ที่นี่เพื่อเริ่มการแชร์ของคุณ สามารถรับไฟล์ที่มีขนาดรวมไม่เกิน {maxSize} เท่านั้น",
"upload.dropzone.notify.file-too-big": "ไฟล์ของคุณเกินขนาดสูงสุดของการแชร์ {maxSize}",
"upload.dropzone.description":
"ลากและวางไฟล์ที่นี่เพื่อเริ่มการแชร์ของคุณ สามารถรับไฟล์ที่มีขนาดรวมไม่เกิน {maxSize} เท่านั้น",
"upload.dropzone.notify.file-too-big":
"ไฟล์ของคุณเกินขนาดสูงสุดของการแชร์ {maxSize}",
// FileList.tsx
"upload.filelist.name": "ชื่อ",
"upload.filelist.size": "ขนาด",
// showCreateUploadModal.tsx
"upload.modal.title": "สร้างการแชร์",
"upload.modal.link.error.invalid": "สามารถใช้ได้เฉพาะตัวอักษร ตัวเลข ขีดล่าง และขีดเส้น",
"upload.modal.link.error.invalid":
"สามารถใช้ได้เฉพาะตัวอักษร ตัวเลข ขีดล่าง และขีดเส้น",
"upload.modal.link.error.taken": "ลิงก์นี้ถูกใช้งานแล้ว",
"upload.modal.not-signed-in": "คุณยังไม่ได้เข้าสู่ระบบ",
"upload.modal.not-signed-in-description": "คุณจะไม่สามารถลบการแชร์ของคุณด้วยตนเองและดูจำนวนผู้เข้าชมได้",
"upload.modal.not-signed-in-description":
"คุณจะไม่สามารถลบการแชร์ของคุณด้วยตนเองและดูจำนวนผู้เข้าชมได้",
"upload.modal.expires.never": "ไม่มีกำหนด",
"upload.modal.expires.never-long": "ไม่มีกำหนดหมดอายุ",
"upload.modal.expires.error.too-long": "Expiration exceeds maximum expiration date of {max}.",
"upload.modal.expires.error.too-long":
"Expiration exceeds maximum expiration date of {max}.",
"upload.modal.link.label": "ลิงค์",
"upload.modal.expires.label": "หมดอายุ",
"upload.modal.expires.minute-singular": "นาที",
@@ -241,7 +267,8 @@ export default {
"upload.modal.expires.year-plural": "ปี",
"upload.modal.accordion.name-and-description.title": "Name and description",
"upload.modal.accordion.name-and-description.name.placeholder": "Name",
"upload.modal.accordion.name-and-description.description.placeholder": "Note for the recipients of this share",
"upload.modal.accordion.name-and-description.description.placeholder":
"Note for the recipients of this share",
"upload.modal.accordion.email.title": "ผู้รับอีเมล์",
"upload.modal.accordion.email.placeholder": "ป้อนผู้รับอีเมล์",
"upload.modal.accordion.email.invalid-email": "ที่อยู่อีเมล์ไม่ถูกต้อง",
@@ -252,14 +279,16 @@ export default {
"upload.modal.accordion.security.max-views.placeholder": "ไม่จำกัด",
// showCompletedUploadModal.tsx
"upload.modal.completed.never-expires": "การแชร์นี้จะไม่มีวันหมดอายุ",
"upload.modal.completed.expires-on": "การแชร์นี้จะหมดอายุเมื่อวันที่ {expiration}",
"upload.modal.completed.expires-on":
"การแชร์นี้จะหมดอายุเมื่อวันที่ {expiration}",
"upload.modal.completed.share-ready": "แชร์พร้อมใช้งาน",
// END /upload
// /share/[id]
"share.title": "แชร์ {shareId}",
"share.description": "ดูสิ่งที่ฉันแชร์กับคุณ!",
"share.error.visitor-limit-exceeded.title": "เกินขีดจำกัดผู้เข้าชม",
"share.error.visitor-limit-exceeded.description": "การแชร์นี้ได้เกินขีดจำกัดผู้เข้าชมแล้ว",
"share.error.visitor-limit-exceeded.description":
"การแชร์นี้ได้เกินขีดจำกัดผู้เข้าชมแล้ว",
"share.error.removed.title": "การแชร์ถูกลบ",
"share.error.not-found.title": "ไม่พบการแชร์นี้",
"share.error.not-found.description": "การแชร์ที่คุณกำลังมองหาไม่มีอยู่จริง",
@@ -268,17 +297,21 @@ export default {
"share.modal.password": "รหัสผ่าน",
"share.modal.error.invalid-password": "รหัสผ่านไม่ถูกต้อง",
"share.button.download-all": "ดาวน์โหลดทั้งหมด",
"share.notify.download-all-preparing": "กำลังเตรียมการแชร์นี้ โปรดลองอีกครั้งในไม่กี่นาที",
"share.notify.download-all-preparing":
"กำลังเตรียมการแชร์นี้ โปรดลองอีกครั้งในไม่กี่นาที",
"share.modal.file-link": "ลิงค์ไฟล์",
"share.table.name": "ชื่อ",
"share.table.size": "ขนาด",
"share.modal.file-preview.error.not-supported.title": "ไม่รองรับการแสดงตัวอย่าง",
"share.modal.file-preview.error.not-supported.description": "A preview for this file type is unsupported. Please download the file to view it.",
"share.modal.file-preview.error.not-supported.title":
"ไม่รองรับการแสดงตัวอย่าง",
"share.modal.file-preview.error.not-supported.description":
"A preview for this file type is unsupported. Please download the file to view it.",
// END /share/[id]
// /share/[id]/edit
"share.edit.title": "Edit {shareId}",
"share.edit.append-upload": "Append file",
"share.edit.notify.generic-error": "An error occurred while finishing your share.",
"share.edit.notify.generic-error":
"An error occurred while finishing your share.",
"share.edit.notify.save-success": "Share updated successfully",
// END /share/[id]/edit
// /admin/config
@@ -291,101 +324,151 @@ export default {
"admin.config.general.app-name": "ชื่อแอพ",
"admin.config.general.app-name.description": "ชื่อแอพพลิเคชัน",
"admin.config.general.app-url": "URL ของแอพ",
"admin.config.general.app-url.description": "URL ที่สามารถเข้าถึงแอพพลิเคชัน Pingvin Share ได้",
"admin.config.general.app-url.description":
"URL ที่สามารถเข้าถึงแอพพลิเคชัน Pingvin Share ได้",
"admin.config.general.show-home-page": "แสดงหน้าแรก",
"admin.config.general.show-home-page.description": "หากติ๊ก เว็บไซต์จะแสดงหน้าหลักเวลาเข้าถึง URL หลัก",
"admin.config.general.show-home-page.description":
"หากติ๊ก เว็บไซต์จะแสดงหน้าหลักเวลาเข้าถึง URL หลัก",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description": "Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "โลโก้",
"admin.config.general.logo.description": "เปลี่ยนโลโก้โดยอัปโหลดรูปภาพใหม่ รูปภาพต้องเป็น PNG และควรมีขนาดอัตราส่วน 1:1",
"admin.config.general.logo.description":
"เปลี่ยนโลโก้โดยอัปโหลดรูปภาพใหม่ รูปภาพต้องเป็น PNG และควรมีขนาดอัตราส่วน 1:1",
"admin.config.general.logo.placeholder": "คลิกที่นี่หรือลากไฟล์มา",
"admin.config.email.enable-share-email-recipients": "เปิดใช้งานผู้รับอีเมล์์์์์์ของการแชร์",
"admin.config.email.enable-share-email-recipients.description": "เมื่อเปิดใช้งานผู้รับอีเมล์์์์์์ของการแชร์ ผู้ใช้ที่สร้างการแชร์จะสามารถเพิ่มผู้รับอีเมล์์์์์์์ของการแชร์ได้ เปิดเฉพาะเมื่อคุณเปิดใช้งาน SMTP",
"admin.config.email.share-recipients-subject": "หัวเรื่องผู้รับอีเมล์์์์์์ของการแชร์",
"admin.config.email.share-recipients-subject.description": "หัวเรื่องของอีเมล์์์์์์์์ที่ส่งไปยังผู้รับอีเมล์์์์์์ของการแชร์",
"admin.config.email.share-recipients-message": "ข้อความผู้รับอีเมล์์์์์์ของการแชร์",
"admin.config.email.share-recipients-message.description": "ข้อความที่ส่งไปยังผู้รับอีเมล์์์์์์ของการแชร์ ตัวแปรที่ใช้ได้:\n {creator} - ชื่อผู้สร้างการแชร์\n {shareUrl} - URL ของการแชร์\n {desc} - คำอธิบายของการแชร์\n {expires} - วันหมดอายุของการแชร์\n ตัวแปรจะถูกแทนที่ด้วยค่าจริง",
"admin.config.email.enable-share-email-recipients":
"เปิดใช้งานผู้รับอีเมล์์์์์์ของการแชร์",
"admin.config.email.enable-share-email-recipients.description":
"เมื่อเปิดใช้งานผู้รับอีเมล์์์์์์ของการแชร์ ผู้ใช้ที่สร้างการแชร์จะสามารถเพิ่มผู้รับอีเมล์์์์์์ของการแชร์ได้ เปิดเฉพาะเมื่อคุณเปิดใช้งาน SMTP",
"admin.config.email.share-recipients-subject":
"หัวเรื่องผู้รับอีเมล์์์์์์ของการแชร์",
"admin.config.email.share-recipients-subject.description":
"หัวเรื่องของอีเมล์์์์์์์์ที่ส่งไปยังผู้รับอีเมล์์์์์์ของการแชร์",
"admin.config.email.share-recipients-message":
"ข้อความผู้รับอีเมล์์์์์์ของการแชร์",
"admin.config.email.share-recipients-message.description":
"ข้อความที่ส่งไปยังผู้รับอีเมล์์์์์์ของการแชร์ ตัวแปรที่ใช้ได้:\n {creator} - ชื่อผู้สร้างการแชร์\n {shareUrl} - URL ของการแชร์\n {desc} - คำอธิบายของการแชร์\n {expires} - วันหมดอายุของการแชร์\n ตัวแปรจะถูกแทนที่ด้วยค่าจริง",
"admin.config.email.reverse-share-subject": "หัวเรื่องการแชร์รีเวิร์ส",
"admin.config.email.reverse-share-subject.description": "หัวเรื่องของอีเมล์์์์์์ที่ส่งไปยังผู้สร้างการแชร์รีเวิร์ส",
"admin.config.email.reverse-share-subject.description":
"หัวเรื่องของอีเมล์์์์์์ที่ส่งไปยังผู้สร้างการแชร์รีเวิร์ส",
"admin.config.email.reverse-share-message": "ข้อความการแชร์รีเวิร์ส",
"admin.config.email.reverse-share-message.description": "ข้อความที่ส่งไปยังผู้สร้างการแชร์รีเวิร์ส ตัวแปรที่ใช้ได้:\n {shareUrl} - ชื่อผู้สร้างแชร์รีเวิร์สและ URL ของการแชร์\n ตัวแปรจะถูกแทนที่ด้วยค่าจริง",
"admin.config.email.reverse-share-message.description":
"ข้อความที่ส่งไปยังผู้สร้างการแชร์รีเวิร์ส ตัวแปรที่ใช้ได้:\n {shareUrl} - ชื่อผู้สร้างแชร์รีเวิร์สและ URL ของการแชร์\n ตัวแปรจะถูกแทนที่ด้วยค่าจริง",
"admin.config.email.reset-password-subject": "หัวเรื่องการรีเซ็ตรหัสผ่าน",
"admin.config.email.reset-password-subject.description": "หัวเรื่องของอีเมล์์์์์์ที่ส่งไปยังผู้ใช้เมื่อขอรีเซ็ตรหัสผ่าน",
"admin.config.email.reset-password-subject.description":
"หัวเรื่องของอีเมล์์์์์์ที่ส่งไปยังผู้ใช้เมื่อขอรีเซ็ตรหัสผ่าน",
"admin.config.email.reset-password-message": "ข้อความการรีเซ็ตรหัสผ่าน",
"admin.config.email.reset-password-message.description": "ข้อความที่ส่งไปยังผู้ใช้เมื่อขอรีเซ็ตรหัสผ่าน ตัวแปรที่ใช้ได้:\n {url} - URL สำหรับรีเซ็ตรหัสผ่าน\n ตัวแปรจะถูกแทนที่ด้วยค่าจริง",
"admin.config.email.reset-password-message.description":
"ข้อความที่ส่งไปยังผู้ใช้เมื่อขอรีเซ็ตรหัสผ่าน ตัวแปรที่ใช้ได้:\n {url} - URL สำหรับรีเซ็ตรหัสผ่าน\n ตัวแปรจะถูกแทนที่ด้วยค่าจริง",
"admin.config.email.invite-subject": "หัวเรื่องการเชิญ",
"admin.config.email.invite-subject.description": "หัวเรื่องของอีเมล์์์์์์ที่ส่งไปยังผู้ใช้เมื่อผู้ดูแลระบบเชิญผู้ใช้",
"admin.config.email.invite-subject.description":
"หัวเรื่องของอีเมล์์์์์์ที่ส่งไปยังผู้ใช้เมื่อผู้ดูแลระบบเชิญผู้ใช้",
"admin.config.email.invite-message": "ข้อความการเชิญ",
"admin.config.email.invite-message.description": "ข้อความที่ส่งไปยังผู้ใช้เมื่อผู้ดูแลระบบเชิญผู้ใช้ ตัวแปรที่ใช้ได้:\n {url} - URL สำหรับเชิญผู้ใช้\n {password} - รหัสผ่านของผู้ใช้\n ตัวแปรจะถูกแทนที่ด้วยค่าจริง",
"admin.config.email.invite-message.description":
"ข้อความที่ส่งไปยังผู้ใช้เมื่อผู้ดูแลระบบเชิญผู้ใช้ ตัวแปรที่ใช้ได้:\n {url} - URL สำหรับเชิญผู้ใช้\n {password} - รหัสผ่านของผู้ใช้\n ตัวแปรจะถูกแทนที่ด้วยค่าจริง",
"admin.config.share.allow-registration": "อนุญาตให้ลงทะเบียนด้วยตัวเอง",
"admin.config.share.allow-registration.description": "อนุญาตให้ผู้ใช้ลงทะเบียนด้วยตัวเองเพื่อสร้างแชร์",
"admin.config.share.allow-unauthenticated-shares": "อนุญาตให้แชร์โดยไม่ต้องเข้าสู่ระบบ",
"admin.config.share.allow-unauthenticated-shares.description": "อนุญาตให้ผู้ใช้ที่ไม่ได้เข้าสู่ระบบสร้างแชร์",
"admin.config.share.allow-registration.description":
"อนุญาตให้ผู้ใช้ลงทะเบียนด้วยตัวเองเพื่อสร้างแชร์",
"admin.config.share.allow-unauthenticated-shares":
"อนุญาตให้แชร์โดยไม่ต้องเข้าสู่ระบบ",
"admin.config.share.allow-unauthenticated-shares.description":
"อนุญาตให้ผู้ใช้ที่ไม่ได้เข้าสู่ระบบสร้างแชร์",
"admin.config.share.max-expiration": "Max expiration",
"admin.config.share.max-expiration.description": "Maximum share expiration in hours. Set to 0 to allow unlimited expiration.",
"admin.config.share.max-expiration.description":
"Maximum share expiration in hours. Set to 0 to allow unlimited expiration.",
"admin.config.share.max-size": "ขนาดสูงสุด",
"admin.config.share.max-size.description": "ขนาดสูงสุดของแชร์",
"admin.config.share.zip-compression-level": "ระดับการบีบอัดไฟล์ Zip",
"admin.config.share.zip-compression-level.description": "ปรับระดับเพื่อปรับความสมดุลระหว่างขนาดไฟล์และความเร็วในการบีบอัด ค่าอยู่ระหว่าง 0-9 โดย 0 คือไม่มีการบีบอัดและ 9 คือการบีบอัดสูงสุด",
"admin.config.share.zip-compression-level.description":
"ปรับระดับเพื่อปรับความสมดุลระหว่างขนาดไฟล์และความเร็วในการบีบอัด ค่าอยู่ระหว่าง 0-9 โดย 0 คือไม่มีการบีบอัดและ 9 คือการบีบอัดสูงสุด",
"admin.config.share.chunk-size": "Chunk size",
"admin.config.share.chunk-size.description": "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description": "The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "เปิด",
"admin.config.smtp.enabled.description": "เปิดใช้งาน SMTP สำหรับการส่งอีเมล์์์์์์ เปิดได้เท่านั้นต่อเมื่อคุณใส่ข้อมูลโฮสต์ พอร์ต อีเมล์ ผู้ใช้ และรหัสผ่านของเซิร์ฟเวอร์ SMTP ของคุณ",
"admin.config.smtp.enabled.description":
"เปิดใช้งาน SMTP สำหรับการส่งอีเมล์์์์์์ เปิดได้เท่านั้นต่อเมื่อคุณใส่ข้อมูลโฮสต์ พอร์ต อีเมล์ ผู้ใช้ และรหัสผ่านของเซิร์ฟเวอร์ SMTP ของคุณ",
"admin.config.smtp.host": "โฮสต์",
"admin.config.smtp.host.description": "โฮสต์ของเซิร์ฟเวอร์ SMTP",
"admin.config.smtp.port": "พอร์ต",
"admin.config.smtp.port.description": "พอร์ตของเซิร์ฟเวอร์ SMTP",
"admin.config.smtp.email": "อีเมล์์์์์์์",
"admin.config.smtp.email.description": "อีเมล์์์์์์์ที่ใช้สำหรับการส่งอีเมล์์์์์์์",
"admin.config.smtp.email.description":
"อีเมล์์์์์์์ที่ใช้สำหรับการส่งอีเมล์์์์์์์",
"admin.config.smtp.username": "ชื่อผู้ใช้",
"admin.config.smtp.username.description": "ชื่อผู้ใช้ของเซิร์ฟเวอร์ SMTP",
"admin.config.smtp.password": "รหัสผ่าน",
"admin.config.smtp.password.description": "รหัสผ่านของเซิร์ฟเวอร์ SMTP",
"admin.config.smtp.button.test": "ส่งอีเมล์์์์์์ทดสอบ",
"admin.config.smtp.allow-unauthorized-certificates":
"Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description":
"Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Allow registration",
"admin.config.oauth.allow-registration.description": "Allow users to register via social login",
"admin.config.oauth.allow-registration.description":
"Allow users to register via social login",
"admin.config.oauth.ignore-totp": "Ignore TOTP",
"admin.config.oauth.ignore-totp.description": "Whether to ignore TOTP when user using social login",
"admin.config.oauth.ignore-totp.description":
"Whether to ignore TOTP when user using social login",
"admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "Whether GitHub login is enabled",
"admin.config.oauth.github-enabled.description":
"Whether GitHub login is enabled",
"admin.config.oauth.github-client-id": "GitHub Client ID",
"admin.config.oauth.github-client-id.description": "Client ID of the GitHub OAuth app",
"admin.config.oauth.github-client-id.description":
"Client ID of the GitHub OAuth app",
"admin.config.oauth.github-client-secret": "GitHub Client secret",
"admin.config.oauth.github-client-secret.description": "Client secret of the GitHub OAuth app",
"admin.config.oauth.github-client-secret.description":
"Client secret of the GitHub OAuth app",
"admin.config.oauth.google-enabled": "Google",
"admin.config.oauth.google-enabled.description": "Whether Google login is enabled",
"admin.config.oauth.google-enabled.description":
"Whether Google login is enabled",
"admin.config.oauth.google-client-id": "Google Client ID",
"admin.config.oauth.google-client-id.description": "Client ID of the Google OAuth app",
"admin.config.oauth.google-client-id.description":
"Client ID of the Google OAuth app",
"admin.config.oauth.google-client-secret": "Google Client secret",
"admin.config.oauth.google-client-secret.description": "Client secret of the Google OAuth app",
"admin.config.oauth.google-client-secret.description":
"Client secret of the Google OAuth app",
"admin.config.oauth.microsoft-enabled": "Microsoft",
"admin.config.oauth.microsoft-enabled.description": "Whether Microsoft login is enabled",
"admin.config.oauth.microsoft-enabled.description":
"Whether Microsoft login is enabled",
"admin.config.oauth.microsoft-tenant": "Microsoft Tenant",
"admin.config.oauth.microsoft-tenant.description": "Tenant ID of the Microsoft OAuth app\ncommon: Users with both a personal Microsoft account and a work or school account from Microsoft Entra ID can sign in to the application. organizations: Only users with work or school accounts from Microsoft Entra ID can sign in to the application.\nconsumers: Only users with a personal Microsoft account can sign in to the application.\ndomain name of the Microsoft Entra tenant or the tenant ID in GUID format: Only users from a specific Microsoft Entra tenant (directory members with a work or school account or directory guests with a personal Microsoft account) can sign in to the application.",
"admin.config.oauth.microsoft-tenant.description":
"Tenant ID of the Microsoft OAuth app\ncommon: Users with both a personal Microsoft account and a work or school account from Microsoft Entra ID can sign in to the application. organizations: Only users with work or school accounts from Microsoft Entra ID can sign in to the application.\nconsumers: Only users with a personal Microsoft account can sign in to the application.\ndomain name of the Microsoft Entra tenant or the tenant ID in GUID format: Only users from a specific Microsoft Entra tenant (directory members with a work or school account or directory guests with a personal Microsoft account) can sign in to the application.",
"admin.config.oauth.microsoft-client-id": "Microsoft Client ID",
"admin.config.oauth.microsoft-client-id.description": "Client ID of the Microsoft OAuth app",
"admin.config.oauth.microsoft-client-id.description":
"Client ID of the Microsoft OAuth app",
"admin.config.oauth.microsoft-client-secret": "Microsoft Client secret",
"admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app",
"admin.config.oauth.microsoft-client-secret.description":
"Client secret of the Microsoft OAuth app",
"admin.config.oauth.discord-enabled": "Discord",
"admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled",
"admin.config.oauth.discord-enabled.description":
"Whether Discord login is enabled",
"admin.config.oauth.discord-limited-guild": "Discord limited server ID",
"admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.",
"admin.config.oauth.discord-limited-guild.description":
"Limit signing in to users in a specific server. Leave it blank to disable.",
"admin.config.oauth.discord-client-id": "Discord Client ID",
"admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app",
"admin.config.oauth.discord-client-id.description":
"Client ID of the Discord OAuth app",
"admin.config.oauth.discord-client-secret": "Discord Client secret",
"admin.config.oauth.discord-client-secret.description": "Client secret of the Discord OAuth app",
"admin.config.oauth.discord-client-secret.description":
"Client secret of the Discord OAuth app",
"admin.config.oauth.oidc-enabled": "OpenID Connect",
"admin.config.oauth.oidc-enabled.description": "Whether OpenID Connect login is enabled",
"admin.config.oauth.oidc-enabled.description":
"Whether OpenID Connect login is enabled",
"admin.config.oauth.oidc-discovery-uri": "OpenID Connect Discovery URI",
"admin.config.oauth.oidc-discovery-uri.description": "Discovery URI of the OpenID Connect OAuth app",
"admin.config.oauth.oidc-discovery-uri.description":
"Discovery URI of the OpenID Connect OAuth app",
"admin.config.oauth.oidc-username-claim": "OpenID Connect username claim",
"admin.config.oauth.oidc-username-claim.description": "Username claim in OpenID Connect ID token. Leave it blank if you don't know what this config is.",
"admin.config.oauth.oidc-username-claim.description":
"Username claim in OpenID Connect ID token. Leave it blank if you don't know what this config is.",
"admin.config.oauth.oidc-client-id": "OpenID Connect Client ID",
"admin.config.oauth.oidc-client-id.description": "Client ID of the OpenID Connect OAuth app",
"admin.config.oauth.oidc-client-id.description":
"Client ID of the OpenID Connect OAuth app",
"admin.config.oauth.oidc-client-secret": "OpenID Connect Client secret",
"admin.config.oauth.oidc-client-secret.description": "Client secret of the OpenID Connect OAuth app",
"admin.config.oauth.oidc-client-secret.description":
"Client secret of the OpenID Connect OAuth app",
// 404
"404.description": "ไม่พบหน้าที่คุณกำลังมองหา",
"404.button.home": "หน้าแรก",
@@ -394,16 +477,22 @@ export default {
"error.description": "Oops!",
"error.button.back": "Go back",
"error.msg.default": "Something went wrong.",
"error.msg.access_denied": "You canceled the authentication process, please try again.",
"error.msg.expired_token": "The authentication process took too long, please try again.",
"error.msg.access_denied":
"You canceled the authentication process, please try again.",
"error.msg.expired_token":
"The authentication process took too long, please try again.",
"error.msg.invalid_token": "Internal Error",
"error.msg.no_user": "User linked to this {0} account doesn't exist.",
"error.msg.no_email": "Can't get email address from this {0} account.",
"error.msg.already_linked": "This {0} account is already linked to another account.",
"error.msg.already_linked":
"This {0} account is already linked to another account.",
"error.msg.not_linked": "This {0} account haven't linked to any account yet.",
"error.msg.unverified_account": "This {0} account is unverified, please try again after verification.",
"error.msg.discord_guild_permission_denied": "You are not allowed to sign in.",
"error.msg.cannot_get_user_info": "Can not get your user info from this {0} account.",
"error.msg.unverified_account":
"This {0} account is unverified, please try again after verification.",
"error.msg.discord_guild_permission_denied":
"You are not allowed to sign in.",
"error.msg.cannot_get_user_info":
"Can not get your user info from this {0} account.",
"error.param.provider_github": "GitHub",
"error.param.provider_google": "Google",
"error.param.provider_microsoft": "Microsoft",
@@ -434,5 +523,5 @@ export default {
"common.error.too-long": "ต้องมีไม่เกิน {length} ตัวอักษร",
"common.error.exact-length": "ต้องมีความยาว {length} ตัวอักษร",
"common.error.invalid-number": "ต้องเป็นตัวเลข",
"common.error.field-required": "ต้องกรอกข้อมูลนี้"
};
"common.error.field-required": "ต้องกรอกข้อมูลนี้",
};