# base errors
ErrInvalidParams: "ພາລາມິເຕີຄຳຮ້ອງຂໍບໍ່ຖືກຕ້ອງ: {{ .detail }}"
ErrTokenParse: "ເກີດຂໍ້ຜິດພາດໃນການສ້າງໂທເຄັນ: {{ .detail }}"
ErrInitialPassword: "ລະຫັດຜ່ານເລີ່ມຕົ້ນບໍ່ຖືກຕ້ອງ"
ErrInternalServer: "ຂໍ້ຜິດພາດພາຍໃນເຊີບເວີ: {{ .detail }}"
ErrInternalServerKey: "ຂໍ້ຜິດພາດພາຍໃນເຊີບເວີ:"
ErrRecordExist: "ມີບັນທຶກນີ້ຢູ່ແລ້ວ"
ErrRecordNotFound: "ບໍ່ພົບບັນທຶກ"
ErrStructTransform: "ການແປງຊະນິດຂໍ້ມູນລົ້ມເຫຼວ: {{ .detail }}"
ErrNotSupportType: "ບໍ່ຮອງຮັບຊະນິດ: {{ .name }}"
ErrDemoEnvironment: "ນີ້ແມ່ນເຊີບເວີສາທິດ, ຫ້າມດຳເນີນການນີ້!"
ErrCmdTimeout: "ການປະຕິບັດຄຳສັ່ງໝົດເວລາ!"
ErrPortInUsed: "ພອດ {{ .name }} ກຳລັງຖືກໃຊ້ງານຢູ່!"
ErrFileNotFound: "ບໍ່ມີໄຟລ໌ {{ .name }}"
ErrReqFailed: "ຄຳຮ້ອງຂໍ {{.name}} ລົ້ມເຫຼວ: {{ .err }}"

# request and entrance
ErrNoSuchHost: "ການແປງຊື່ໂຮສລົ້ມເຫຼວ: {{ .err }}"
ErrHttpReqNotFound: "ບໍ່ພົບຊັບພະຍາກອນທີ່ຮ້ອງຂໍ: {{ .err }}"
ErrHttpReqFailed: "ຄຳຮ້ອງຂໍລົ້ມເຫຼວ {{ .err }}"
ErrHttpReqTimeOut: "ຄຳຮ້ອງຂໍໝົດເວລາ {{ .err }}"
ErrCreateHttpClient: "ສ້າງຄຳຮ້ອງຂໍບໍ່ສຳເລັດ {{ .err }}"
ErrProxy: "ຄຳຮ້ອງຂໍລົ້ມເຫຼວ; ກະລຸນາກວດສອບສະຖານະຂອງໂນດນີ້: {{ .detail }}"
ErrProxySetting: "ບໍ່ມີຂໍ້ມູນເຊີບເວີພຣັອກຊີ {{ .err }}, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrEntrance: "ຂໍ້ມູນທາງເຂົ້າຄວາມປອດໄພຜິດພາດ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrEntranceFormat: "ບໍ່ຮອງຮັບທາງເຂົ້າຄວາມປອດໄພ {{ .name }}. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່."

# login and security
ErrNotLogin: "ຜູ້ໃຊ້ຍັງບໍ່ໄດ້ເຂົ້າລະບົບ: {{ .detail }}"
ErrSessionDataNotFound: "ເຊດຊັນໝົດອາຍຸແລ້ວ"
ErrSessionDataFormat: "ຮູບແບບຂໍ້ມູນເຊດຊັນບໍ່ຖືກຕ້ອງ"
ErrPasswordExpired: "ລະຫັດຜ່ານໝົດອາຍຸແລ້ວ: {{ .detail }}"
ErrLoginLocked: "ພະຍາຍາມລົ້ມເຫຼວຫຼາຍຄັ້ງເກີນໄປ. ການເຂົ້າລະບົບຖືກລັອກຊົ່ວຄາວ 5 ນາທີ."
ErrApiConfigStatusInvalid: "ການເຂົ້າເຖິງ API ຖືກປິດໃຊ້ງານ: {{ .detail }}"
ErrApiConfigKeyInvalid: "ຄີ API ບໍ່ຖືກຕ້ອງ: {{ .detail }}"
ErrApiConfigIPInvalid: "IP ຂອງຄຳຮ້ອງຂໍ API ບໍ່ຢູ່ໃນລາຍຊື່ອະນຸຍາດ: {{ .detail }}"
ErrApiConfigDisable: "ອິນເຕີເຟດນີ້ຫ້າມການເອີ້ນໃຊ້ API: {{ .detail }}"
ErrApiConfigKeyTimeInvalid: "ເວລາປະທັບ API ບໍ່ຖືກຕ້ອງ: {{ .detail }}"
ErrPasskeyDisabled: "Passkey ຕ້ອງເປີດໃຊ້ງານ HTTPS"
ErrPasskeyNotConfigured: "ຍັງບໍ່ໄດ້ຕັ້ງຄ່າ Passkey"
ErrPasskeyLimit: "ຈຳນວນ Passkey ຮອດຂີດຈຳກັດແລ້ວ (ສູງສຸດ 5)"
ErrPasskeySession: "ເຊດຊັນ Passkey ໝົດອາຍຸ ຫຼື ບໍ່ຖືກຕ້ອງ"
ErrPasskeyDuplicate: "ມີ Passkey ນີ້ຢູ່ແລ້ວ"
ErrPasskeyVerify: "ການຢືນຢັນ Passkey ລົ້ມເຫຼວ"
ErrOIDCNotEnabled: "ຍັງບໍ່ໄດ້ເປີດໃຊ້ການຢືນຢັນຕົວຕົນ OIDC"
ErrOIDCConfigInvalid: "ການຕັ້ງຄ່າ OIDC ບໍ່ຖືກຕ້ອງ"
ErrOIDCConfigChanged: "ການຕັ້ງຄ່າ OIDC ຖືກປ່ຽນແປງ; ກະລຸນາເລີ່ມການຢືນຢັນຕົວຕົນໃໝ່"
ErrOIDCDiscoveryFailed: "ຄົ້ນຫາການຕັ້ງຄ່າ Provider OIDC ບໍ່ສຳເລັດ"
ErrOIDCIssuerMismatch: "Issuer OIDC ບໍ່ກົງກັບ Issuer ທີ່ຕັ້ງຄ່າໄວ້"
ErrOIDCUnsupportedPKCE: "Provider OIDC ບໍ່ຮອງຮັບວິທີ PKCE ທີ່ຈຳເປັນ"
ErrOIDCUnsupportedSigningAlgorithm: "ບໍ່ຮອງຮັບອັນກໍຣິທຶມລາຍເຊັນ OIDC"
ErrOIDCInvalidState: "ສະຖານະການເຂົ້າລະບົບ OIDC ບໍ່ຖືກຕ້ອງຫຼືຖືກໃຊ້ແລ້ວ"
ErrOIDCLoginExpired: "ຄຳຂໍເຂົ້າລະບົບ OIDC ໝົດອາຍຸແລ້ວ; ກະລຸນາລອງໃໝ່"
ErrOIDCTokenExchange: "ແລກປ່ຽນລະຫັດອະນຸຍາດ OIDC ບໍ່ສຳເລັດ"
ErrOIDCTokenValidation: "ກວດສອບ Token OIDC ບໍ່ສຳເລັດ"
ErrOIDCUserInfoValidation: "ກວດສອບຂໍ້ມູນຜູ້ໃຊ້ OIDC ບໍ່ສຳເລັດ"
ErrOIDCNameClaimMissing: "Claim ຊື່ຜູ້ໃຊ້ OIDC ທີ່ຕັ້ງຄ່າໄວ້ບໍ່ມີຫຼືບໍ່ຖືກຕ້ອງ"
ErrOIDCNameConflictLocal: "ຊື່ຜູ້ໃຊ້ OIDC ຂັດແຍ່ງກັບຜູ້ໃຊ້ທ້ອງຖິ່ນ"
ErrOIDCNameConflictLDAP: "ຊື່ຜູ້ໃຊ້ OIDC ຂັດແຍ່ງກັບຜູ້ໃຊ້ LDAP"
ErrOIDCNameConflictOIDC: "ຊື່ຜູ້ໃຊ້ OIDC ຂັດແຍ່ງກັບຕົວຕົນ OIDC ອື່ນ"
ErrOIDCDefaultRoleInvalid: "ບົດບາດເລີ່ມຕົ້ນທີ່ຕັ້ງຄ່າສຳລັບ OIDC ບໍ່ສາມາດໃຊ້ງານໄດ້"
ErrOIDCPrivateAddressDenied: "ທີ່ຢູ່ Endpoint OIDC ບໍ່ໄດ້ຮັບອະນຸຍາດຈາກນະໂຍບາຍຄວາມປອດໄພເຄືອຂ່າຍ"
ErrOIDCTLSValidation: "ການກວດສອບໃບຢັ້ງຢືນ TLS ຂອງ OIDC ບໍ່ສຳເລັດ"
ErrOIDCTestExpired: "ການທົດສອບ OIDC ຜ່ານເບຣົາເຊີໝົດອາຍຸແລ້ວ; ກະລຸນາທົດສອບໃໝ່"
ErrOIDCLocalCredentialsReadonly: "ຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານ OIDC ຖືກຈັດການໂດຍ Provider ຕົວຕົນ ແລະບໍ່ສາມາດປ່ຽນໃນເຄື່ອງໄດ້."
ErrOIDCPasswordExpirationUnsupported: "ຜູ້ໃຊ້ OIDC ບໍ່ໃຊ້ນະໂຍບາຍອາຍຸລະຫັດຜ່ານທ້ອງຖິ່ນ."
ErrOIDCInternal: "ການຢືນຢັນຕົວຕົນ OIDC ເກີດຂໍ້ຜິດພາດພາຍໃນ; ກະລຸນາລອງໃໝ່ພາຍຫຼັງ."

# user and permission
ErrNoSuchUser: "ບໍ່ພົບຂໍ້ມູນຜູ້ໃຊ້, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrToMaster: "ຜູ້ໃຊ້ນີ້ບໍ່ມີສິດດຳເນີນການນີ້ໃນໂນດຫຼັກ. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrToNode: "ຜູ້ໃຊ້ນີ້ບໍ່ມີສິດດຳເນີນການນີ້ໃນໂນດນີ້. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrRBAC: "ສິດຂອງຜູ້ໃຊ້ບໍ່ພຽງພໍ. ບໍ່ສາມາດດຳເນີນການນີ້ໄດ້. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrNoneNode: "ຜູ້ໃຊ້ນີ້ບໍ່ມີສິດໃຊ້ງານໂນດ. ກະລຸນາຕິດຕໍ່ຜູ້ບໍລິຫານ ຫຼື ກວດສອບແລ້ວລອງໃໝ່!"
ErrOnlySuperAdmin: "ມີພຽງຜູ້ບໍລິຫານສູງສຸດເທົ່ານັ້ນທີ່ໃຊ້ຟັງຊັນນີ້ໄດ້!"
ErrRolePresetCannotDelete: "ບໍ່ສາມາດລຶບບົດບາດທີ່ລະບົບກຳນົດໄວ້ລ່ວງໜ້າ"
ErrRolePresetCannotUpdate: "ບໍ່ສາມາດອັບເດດບົດບາດທີ່ລະບົບກຳນົດໄວ້ລ່ວງໜ້າ"
ErrRoleBoundToUser: "ບົດບາດນີ້ຖືກຜູກກັບຜູ້ໃຊ້ແລ້ວ ແລະ ບໍ່ສາມາດລຶບໄດ້"
ErrRolePresetCannotBind: "ບໍ່ສາມາດມອບໝາຍບົດບາດທີ່ລະບົບກຳນົດໄວ້ລ່ວງໜ້າໃຫ້ຜູ້ໃຊ້"
ErrNodeAdminMasterForbidden: "ບໍ່ສາມາດເພີ່ມສິດຜູ້ບໍລິຫານໂນດໃຫ້ກັບໂນດຫຼັກ"
ErrSuperAdminCannotDelete: "ບໍ່ສາມາດລຶບຜູ້ໃຊ້ທີ່ເປັນຜູ້ບໍລິຫານສູງສຸດ"
ErrGroupIsDefault: "ເປັນກຸ່ມເລີ່ມຕົ້ນ, ບໍ່ສາມາດລຶບໄດ້"
ErrGroupIsInUse: "ກຸ່ມນີ້ກຳລັງຖືກໃຊ້ງານ ແລະ ບໍ່ສາມາດລຶບໄດ້."

# license
LicenseCheck: 'ກວດສອບວ່າໃບອະນຸຍາດພ້ອມໃຊ້ງານຫຼືບໍ່'
ErrLicenseInUsed: 'ໃບອະນຸຍາດຖືກຜູກໄວ້ແລ້ວ. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!'
ErrLicenseExpired: 'ໃບອະນຸຍາດໝົດອາຍຸແລ້ວ. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!'
ErrLicense: "ຮູບແບບໃບອະນຸຍາດຜິດພາດ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrLicenseCheck: "ການກວດສອບໃບອະນຸຍາດລົ້ມເຫຼວ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrXpackVersion: "ການກວດສອບໃບອະນຸຍາດລົ້ມເຫຼວ, ໃບອະນຸຍາດນີ້ຈຳກັດເວີຊັນ ແລະ ບໍ່ສາມາດນຳເຂົ້າໄດ້, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrLicenseSave: "ບັນທຶກຂໍ້ມູນໃບອະນຸຍາດບໍ່ສຳເລັດ, ຂໍ້ຜິດພາດ {{ .err }}, ກະລຸນາລອງໃໝ່!"
ErrLicenseSync: "ການຊິງໃບອະນຸຍາດລົ້ມເຫຼວ, ບໍ່ພົບຂໍ້ມູນໃບອະນຸຍາດໃນຖານຂໍ້ມູນ!"
ErrLicenseExist: "ມີບັນທຶກໃບອະນຸຍາດນີ້ຢູ່ແລ້ວ. ທ່ານສາມາດໄປທີ່ໜ້າໃບອະນຸຍາດເພື່ອຜູກໂນດໄດ້ໂດຍກົງ."
ErrXpackNotFound: "ສ່ວນນີ້ຕ້ອງໃຊ້ຮຸ່ນທຸລະກິດ. ກະລຸນານຳເຂົ້າໃບອະນຸຍາດໃນ ການຕັ້ງຄ່າແຜງ > ໃບອະນຸຍາດ."
ErrXpackExceptional: "ສ່ວນນີ້ຕ້ອງໃຊ້ຮຸ່ນທຸລະກິດ. ກະລຸນາຊິງສະຖານະໃບອະນຸຍາດໃນ ການຕັ້ງຄ່າແຜງ > ໃບອະນຸຍາດ."
ErrXpackLost: "ການລອງໃບອະນຸຍາດໃໝ່ຮອດຂີດຈຳກັດແລ້ວ. ໄປທີ່ ການຕັ້ງຄ່າແຜງ > ໃບອະນຸຍາດ ແລະ ຊິງດ້ວຍຕົນເອງ."
ErrEnterpriseLicenseRequired: "ຍັງບໍ່ໄດ້ນຳເຂົ້າໃບອະນຸຍາດຮຸ່ນວິສາຫະກິດ. ກະລຸນານຳເຂົ້າໃບອະນຸຍາດກ່ອນ."
ErrDeviceLost: "ໄຟລ໌ທີ່ຈຳເປັນສຳລັບກວດສອບໃບອະນຸຍາດຫາຍໄປ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrDeviceErr: "ສະພາບແວດລ້ອມປັດຈຸບັນບໍ່ກົງກັບສະພາບແວດລ້ອມທີ່ນຳເຂົ້າໃບອະນຸຍາດ. ກະລຸນາແກ້ໄຂໃບອະນຸຍາດແລ້ວນຳເຂົ້າໃໝ່."
ErrXpackTimeout: "ຄຳຮ້ອງຂໍໝົດເວລາ, ການເຊື່ອມຕໍ່ເຄືອຂ່າຍອາດບໍ່ສະຖຽນ, ກະລຸນາລອງໃໝ່ພາຍຫຼັງ!"
ErrUnbindMaster: "ຍັງມີໂນດຢູ່ໃນການຈັດການໂນດ. ກະລຸນາລຶບໂນດກ່ອນ ແລ້ວຈຶ່ງຍົກເລີກການຜູກໃບອະນຸຍາດປັດຈຸບັນ."
ErrFreeNodeLimit: "ຈຳນວນໂນດທີ່ສາມາດເພີ່ມໄດ້ຮອດຂີດຈຳກັດແລ້ວ. ກະລຸນາຊື້ແລ້ວລອງໃໝ່."
ErrNodeBound: "ໃບອະນຸຍາດນີ້ຖືກຜູກກັບໂນດອື່ນແລ້ວ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrNodeBoundDelete: "ໃບອະນຸຍາດນີ້ຖືກຜູກແລ້ວ ແລະ ບໍ່ຮອງຮັບການລຶບ. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrNodeBoundLimit: "ໂນດຟຣີປັດຈຸບັນຮອດຂີດຈຳກັດແລ້ວ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrLicenseFree: "ໂນດຟຣີຈະໃຊ້ງານໄດ້ເມື່ອໃບອະນຸຍາດຖືກຜູກກັບໂນດຢ່າງຖືກຕ້ອງເທົ່ານັ້ນ. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່."
ErrLicenseUnbind: "ຍັງມີໂນດຮຸ່ນຊຸມຊົນທີ່ຜູກກັບໃບອະນຸຍາດນີ້. ກະລຸນາຍົກເລີກການຜູກໃນ ການຕັ້ງຄ່າແຜງ > ໃບອະນຸຍາດ ແລ້ວລອງໃໝ່."
ErrLicenseBindCount: "ຈຳນວນໂນດຟຣີຂອງໃບອະນຸຍາດໃໝ່ນ້ອຍກວ່າຈຳນວນໂນດຮຸ່ນຊຸມຊົນທີ່ຜູກຢູ່ປັດຈຸບັນ. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່."
ErrNoSuchNode: "ບໍ່ພົບຂໍ້ມູນໂນດ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrNodeUnbind: "ໂນດນີ້ບໍ່ຢູ່ໃນຂອບເຂດການຜູກຂອງໃບອະນຸຍາດ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrNodeBind: "ໂນດນີ້ຖືກຜູກກັບໃບອະນຸຍາດແລ້ວ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrNodeLocalRollback: "ໂນດຫຼັກບໍ່ຮອງຮັບການຍ້ອນກັບໂດຍກົງ. ກະລຸນາໃຊ້ຄຳສັ່ງ '1pctl restore' ດ້ວຍຕົນເອງເພື່ອຍ້ອນກັບ."
ErrIntlLicense: "ເວີຊັນປັດຈຸບັນຍັງບໍ່ຮອງຮັບການນຳເຂົ້າໃບອະນຸຍາດສາກົນ. ກະລຸນາລໍຖ້າ!"
InvalidRequestBodyType: "ຮູບແບບເນື້ອຫາຄຳຮ້ອງຂໍບໍ່ຖືກຕ້ອງ. ກະລຸນາກວດວ່າເນື້ອຫາກົງກັບຮູບແບບທີ່ກຳນົດແລ້ວລອງໃໝ່."
InvalidLicenseCodeType: "ຮູບແບບລະຫັດໃບອະນຸຍາດທີ່ໃຫ້ມາບໍ່ຖືກຕ້ອງ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
LicenseNotFoundType: "ບໍ່ພົບໃບອະນຸຍາດ, ບໍ່ມີບັນທຶກທີ່ກົງກັບໃບອະນຸຍາດທີ່ໃຫ້ມາໃນລະບົບ. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
LicenseRevokedType: "ໃບອະນຸຍາດທີ່ຮ້ອງຂໍຖືກຖອນແລ້ວ ແລະ ບໍ່ສາມາດໃຊ້ງານໄດ້ອີກ. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
LicenseExpiredType: "ໃບອະນຸຍາດໝົດອາຍຸແລ້ວ. ກະລຸນາຕໍ່ອາຍຸ ຫຼື ນຳເຂົ້າໃໝ່ໃນ ການຕັ້ງຄ່າແຜງ - ໃບອະນຸຍາດ ກ່ອນລອງໃໝ່."
LicenseProductMismatchType: "ໃບອະນຸຍາດບໍ່ກົງກັບຜະລິດຕະພັນ ຫຼື ບໍລິການທີ່ຮ້ອງຂໍ!"
InvalidAssigneeType: "ຂໍ້ມູນຜູ້ໃຊ້ ຫຼື ອຸປະກອນເປົ້າໝາຍສຳລັບການມອບໝາຍໃບອະນຸຍາດບໍ່ຖືກຕ້ອງ. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
LicenseUsageNotFoundType: "ບໍ່ພົບບັນທຶກການໃຊ້ງານ. ໃບອະນຸຍາດນີ້ຍັງບໍ່ໄດ້ເປີດໃຊ້ງານ ຫຼື ໃຊ້ງານເທື່ອ. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
LicenseUsageLimitExceededType: "ໃບອະນຸຍາດນີ້ຖືກຜູກກັບໂນດອື່ນແລ້ວ. ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"

# node and cluster
MasterNode: "ໂນດຫຼັກ"
Node: "ໂນດ"
ErrLocalDelete: "ບໍ່ສາມາດລຶບໂນດພາຍໃນເຄື່ອງໄດ້!"
ErrMasterDelete: "ບໍ່ສາມາດລຶບໂນດຫຼັກໄດ້. ກະລຸນາລຶບໂນດຍ່ອຍກ່ອນ."
ClusterNameIsExist: "ມີຊື່ຄລັສເຕີນີ້ຢູ່ແລ້ວ."
AppStatusUnHealthy: "ດຶງສະຖານະແອັບບໍ່ສຳເລັດ. ກະລຸນາກວດສອບສະຖານະໂນດທີ່ຕິດຕັ້ງໃນລາຍຊື່ໂນດ."
MasterNodePortNotAvailable: "ການກວດສອບການເຊື່ອມຕໍ່ຂອງໂນດ {{ .name }} ຜ່ານພອດ {{ .port }} ລົ້ມເຫຼວ. ກະລຸນາກວດສອບການຕັ້ງຄ່າໄຟຣ໌ວໍ/ກຸ່ມຄວາມປອດໄພ ແລະ ສະຖານະໂນດຫຼັກ."
ClusterMasterNotExist: "ໂນດຫຼັກຂອງຄລັສເຕີຖືກຕັດການເຊື່ອມຕໍ່. ກະລຸນາລຶບໂນດຍ່ອຍ."

# virtual machine
ErrVMNotFound: "ບໍ່ມີເຄື່ອງສະເໝືອນ"
ErrVMAlreadyExists: "ມີເຄື່ອງສະເໝືອນຢູ່ແລ້ວ"
ErrVMImageAlreadyExists: "ມີອິມເມຈເຄື່ອງສະເໝືອນຢູ່ແລ້ວ: {{ .detail }}"
ErrVMStoragePathInUse: "ເສັ້ນທາງພູນຈັດເກັບຖືກໃຊ້ໂດຍ [{{ .name }}] ແລ້ວ"
ErrVMHelperNotFound: "ບໍ່ພົບ 1panel-kvm"
ErrVMBridgeManaged: "ຊື່ບຣິດຈ໌ຖືກຈັດການໂດຍ libvirt ຫຼື Docker ແລ້ວ"
ErrVMNetworkInUse: "ເຄືອຂ່າຍກຳລັງຖືກໃຊ້ງານ ແລະ ບໍ່ສາມາດລຶບໄດ້"
ErrVMStorageInUse: "ພູນຈັດເກັບກຳລັງຖືກໃຊ້ງານ ແລະ ບໍ່ສາມາດລຶບໄດ້"
ErrVMStorageNameCannotChange: "ບໍ່ສາມາດປ່ຽນຊື່ພູນຈັດເກັບໄດ້"
ErrVMStoragePathCannotChange: "ບໍ່ສາມາດປ່ຽນເສັ້ນທາງພູນຈັດເກັບໄດ້"
ErrVMRunning: "ເຄື່ອງສະເໝືອນກຳລັງເຮັດວຽກ"
ErrVMLibvirtConnect: "ເຊື່ອມຕໍ່ກັບ libvirt ບໍ່ສຳເລັດ: {{ .detail }}"
ErrVMPermission: "ບໍ່ມີສິດດຳເນີນການກັບເຄື່ອງສະເໝືອນ: {{ .detail }}"
ErrVMNetworkNotFound: "ບໍ່ມີເຄືອຂ່າຍເຄື່ອງສະເໝືອນ: {{ .detail }}"
ErrVMInvalidPath: "ເສັ້ນທາງເຄື່ອງສະເໝືອນບໍ່ຖືກຕ້ອງ: {{ .detail }}"
ErrVMInvalidInput: "ພາລາມິເຕີເຄື່ອງສະເໝືອນບໍ່ຖືກຕ້ອງ: {{ .detail }}"
ErrVMCommandFailed: "ຄຳສັ່ງເຄື່ອງສະເໝືອນລົ້ມເຫຼວ: {{ .err }}"
VMCreateTask: "ສ້າງເຄື່ອງສະເໝືອນ [{{ .name }}]"
VMCreateFromTemplateTask: "ສ້າງເຄື່ອງສະເໝືອນ [{{ .name }}] ຈາກແມ່ແບບ"
VMUpdateTask: "ອັບເດດເຄື່ອງສະເໝືອນ [{{ .name }}]"
VMRenameTask: "ປ່ຽນຊື່ເຄື່ອງສະເໝືອນ [{{ .name }}] ເປັນ [{{ .newName }}]"
VMDeleteTask: "ລຶບເຄື່ອງສະເໝືອນ [{{ .name }}]"
VMTemplateCreateTask: "ບັນທຶກເຄື່ອງສະເໝືອນ [{{ .name }}] ເປັນແມ່ແບບ [{{ .template }}]"
VMTemplateDeleteTask: "ລຶບແມ່ແບບເຄື່ອງສະເໝືອນ [{{ .name }}]"
VMForceDeleteMetadataOnly: "ບໍ່ພົບ 1panel-kvm, ຈະບັງຄັບລຶບສະເພາະເມຕາດາຕາຂອງເຄື່ອງສະເໝືອນ [{{ .name }}]"
VMForceDeleteMetadataAfterLibvirtFailed: "ລຶບເຄື່ອງສະເໝືອນ [{{ .name }}] ຈາກ libvirt ບໍ່ສຳເລັດ, ຈະບັງຄັບລຶບເມຕາດາຕາ: {{ .err }}"
VMForceDeleteDiskFailed: "ບັງຄັບລຶບໄຟລ໌ດິສກ໌ເຄື່ອງສະເໝືອນ [{{ .path }}] ບໍ່ສຳເລັດ: {{ .err }}"
VMForceDeleteDiskSuccess: "ບັງຄັບລຶບໄຟລ໌ດິສກ໌ເຄື່ອງສະເໝືອນ [{{ .path }}] ສຳເລັດແລ້ວ"
VMSnapshotCreateTask: "ສ້າງສະແນັບຊັອດ [{{ .snapshot }}] ໃຫ້ເຄື່ອງສະເໝືອນ [{{ .vm }}]"
VMSnapshotCreateStep: "ສ້າງສະແນັບຊັອດເຄື່ອງສະເໝືອນ [{{ .snapshot }}]"
VMSnapshotRecoverTask: "ກູ້ຄືນສະແນັບຊັອດ [{{ .snapshot }}] ໃຫ້ເຄື່ອງສະເໝືອນ [{{ .vm }}]"
VMSnapshotRecoverStep: "ກູ້ຄືນສະແນັບຊັອດເຄື່ອງສະເໝືອນ [{{ .snapshot }}]"
VMSnapshotDeleteTask: "ລຶບສະແນັບຊັອດ [{{ .snapshot }}] ຂອງເຄື່ອງສະເໝືອນ [{{ .vm }}]"
VMSnapshotDeleteStep: "ລຶບສະແນັບຊັອດເຄື່ອງສະເໝືອນ [{{ .snapshot }}]"

# app
CustomAppStoreFileValid: "ແພັກເກດຮ້ານຄ້າແອັບຕ້ອງເປັນຮູບແບບ .tar.gz"
AppBackup: 'ສຳຮອງແອັບ'
AppBackupPush: 'ໂອນໄຟລ໌ສຳຮອງແອັບ {{.file}} ໄປຫາໂນດ {{ .name }}'
ErrSourceTargetSame: 'ໂນດຕົ້ນທາງ ແລະ ໂນດປາຍທາງຈະເປັນໂນດດຽວກັນບໍ່ໄດ້!'
AppInstall: 'ຕິດຕັ້ງແອັບ {{ .name }} ໃນໂນດ {{ .targetNode }}'
AppInstallCheck: 'ກວດສອບສະພາບແວດລ້ອມສຳລັບຕິດຕັ້ງແອັບ'

# backup
ErrBackupInUsed: "ບັນຊີສຳຮອງນີ້ຖືກໃຊ້ໃນວຽກຕາມກຳນົດເວລາ ແລະ ບໍ່ສາມາດລຶບໄດ້"
ErrBackupCheck: "ການທົດສອບການເຊື່ອມຕໍ່ບັນຊີສຳຮອງລົ້ມເຫຼວ {{ .err }}"
ErrBackupLocal: "ບັນຊີສຳຮອງເຊີບເວີພາຍໃນເຄື່ອງບໍ່ຮອງຮັບການດຳເນີນການນີ້!"
ErrBackupPublic: "ກວດພົບວ່າບັນຊີສຳຮອງນີ້ບໍ່ແມ່ນບັນຊີສາທາລະນະ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
ErrOSSConn: "ບໍ່ສາມາດຮັບເວີຊັນລ່າສຸດໄດ້. ກະລຸນາກວດສອບການເຊື່ອມຕໍ່ອິນເຕີເນັດຂອງເຊີບເວີ."
MvBackup: "ຍ້າຍຂໍ້ມູນໄປຫາໄດເຣັກທໍຣີສຳຮອງ"

# alert
ErrAlertSync: "ການຊິງຂໍ້ມູນແຈ້ງເຕືອນຜິດພາດ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"

# AI gateway
ErrAIProxyUserGroupIsDefault: "ບໍ່ສາມາດລຶບກຸ່ມຜູ້ໃຊ້ເລີ່ມຕົ້ນໄດ້."
ErrAIProxyUserGroupInUse: "ກຸ່ມຜູ້ໃຊ້ກຳລັງຖືກໃຊ້ງານ ແລະ ບໍ່ສາມາດລຶບໄດ້."
ErrAIProxyUserGroupExists: "ມີຊື່ກຸ່ມຜູ້ໃຊ້ນີ້ຢູ່ແລ້ວ."
ErrAIProxyBackendAccountExists: "ບັນຊີໂມເດວນີ້ຖືກນຳເຂົ້າໃນພູນບັນຊີ AI Gateway ແລ້ວ."
ErrAIProxyModelGroupInUse: "ກຸ່ມໂມເດວກຳລັງຖືກໃຊ້ງານ ແລະ ບໍ່ສາມາດລຶບໄດ້."
ErrAIProxyModelGroupExists: "ມີຊື່ກຸ່ມໂມເດວນີ້ຢູ່ແລ້ວ."
ErrAIProxySensitiveGroupInUse: "ກຸ່ມຄຳທີ່ລະອຽດອ່ອນກຳລັງຖືກໃຊ້ງານ ແລະ ບໍ່ສາມາດລຶບໄດ້."
ErrAIProxySensitiveGroupExists: "ມີຊື່ກຸ່ມຄຳທີ່ລະອຽດອ່ອນນີ້ຢູ່ແລ້ວ."
AIProxyContentPolicyViolation: "ຂໍອະໄພ, ບໍ່ສາມາດປະມວນຜົນຄຳຂໍນີ້ໄດ້ ເນື່ອງຈາກເນື້ອຫາອາດບໍ່ສອດຄ່ອງກັບນະໂຍບາຍເນື້ອຫາ. ກະລຸນາແກ້ໄຂແລ້ວລອງໃໝ່."
AIBenchmarkRun: "ດຳເນີນການທົດສອບປະສິດທິພາບ AI"

# task
TaskStart: "ວຽກ {{ .name }} ເລີ່ມແລ້ວ [START]"
TaskEnd: "ວຽກ {{ .name }} ສິ້ນສຸດແລ້ວ [COMPLETED]"
TaskFailed: "ວຽກ {{ .name }} ລົ້ມເຫຼວ"
TaskTimeout: "ວຽກ {{ .name }} ໝົດເວລາ"
TaskSuccess: "ວຽກ {{ .name }} ສຳເລັດ"
TaskRetry: "ລອງວຽກ {{ .name }} ໃໝ່"
SubTaskSuccess: "{{ .name }} ສຳເລັດ"
SubTaskFailed: "{{ .name }} ລົ້ມເຫຼວ: {{ .err }}"
TaskInstall: "ຕິດຕັ້ງ"
TaskUpgrade: "ອັບເກຣດ"
TaskSync: 'ຊິງຂໍ້ມູນ'
TaskSyncForNode: "ຊິງຂໍ້ມູນໂນດ"
TaskBackup: "ສຳຮອງ"
TaskPush: "ສົ່ງ"
TaskRsync: "ຊິງຂໍ້ມູນ"
SuccessStatus: "{{ .name }} ສຳເລັດ"
FailedStatus: "{{ .name }} ລົ້ມເຫຼວ {{ .err }}"
Start: "ເລີ່ມ"
SubTask: "ວຽກຍ່ອຍ"
Skip: "ບໍ່ສົນໃຈຂໍ້ຜິດພາດ ແລະ ສືບຕໍ່"
Success: "ສຳເລັດ"

# ວຽກ Smart Route ຂອງ AI Gateway
AIProxySmartRouteCreateTask: "ສ້າງຕົວຢ່າງ Smart Route ຂອງ AI Gateway"
AIProxySmartRouteCreateSubTask: "ສ້າງຕົວຢ່າງ ແລະ ສ້າງ Vector"
AIProxySmartRouteCreateStart: "ເລີ່ມສ້າງຕົວຢ່າງ, ທັງໝົດ {{ .total }}"
AIProxySmartRouteCreateFailed: "[{{ .current }}/{{ .total }}] ສ້າງບໍ່ສຳເລັດ: type={{ .type }} label={{ .label }} error={{ .err }}"
AIProxySmartRouteCreateSuccess: "[{{ .current }}/{{ .total }}] ສ້າງສຳເລັດ: sampleID={{ .id }} type={{ .type }} label={{ .label }}"
AIProxySmartRouteCreateComplete: "ສ້າງສຳເລັດ: {{ .success }} ສຳເລັດ, {{ .failed }} ບໍ່ສຳເລັດ"
AIProxySmartRouteCreateError: "ສ້າງຕົວຢ່າງບໍ່ສຳເລັດ: {{ .failed }} ລາຍການ, ຂໍ້ຜິດພາດຫຼ້າສຸດ"
AIProxySmartRouteRebuildTask: "ສ້າງ Vector ຕົວຢ່າງ Smart Route ຂອງ AI Gateway ຄືນໃໝ່"
AIProxySmartRouteRebuildSubTask: "ສ້າງ Vector ຕົວຢ່າງຄືນໃໝ່"
AIProxySmartRouteEmbeddingRequired: "ຕ້ອງລະບຸ Endpoint ແລະ Model ຂອງ Embedding"
AIProxySmartRouteRebuildStart: "ເລີ່ມສ້າງ Vector ຕົວຢ່າງຄືນໃໝ່, ທັງໝົດ {{ .total }}"
AIProxySmartRouteRebuildFailed: "[{{ .current }}/{{ .total }}] ສ້າງຄືນໃໝ່ບໍ່ສຳເລັດ: sampleID={{ .id }} type={{ .type }} label={{ .label }} error={{ .err }}"
AIProxySmartRouteRebuildSuccess: "[{{ .current }}/{{ .total }}] ສ້າງຄືນໃໝ່ສຳເລັດ: sampleID={{ .id }} type={{ .type }} label={{ .label }}"
AIProxySmartRouteRebuildComplete: "ສ້າງຄືນໃໝ່ສຳເລັດ: {{ .success }} ສຳເລັດ, {{ .failed }} ບໍ່ສຳເລັດ"
AIProxySmartRouteRebuildError: "ສ້າງ Vector ຕົວຢ່າງຄືນໃໝ່ບໍ່ສຳເລັດ: {{ .failed }} ລາຍການ, ຂໍ້ຜິດພາດຫຼ້າສຸດ"

# agent batch task
BatchInstallAgent: "ຕິດຕັ້ງເອເຈນແບບກຸ່ມ"
DispatchAgentInstallTasks: "ຈັດສົ່ງວຽກຕິດຕັ້ງເອເຈນ"
BatchUpgradeAgent: "ອັບເກຣດເອເຈນແບບກຸ່ມ"
DispatchAgentUpgradeTasks: "ຈັດສົ່ງວຽກອັບເກຣດເອເຈນ"
BatchAgentInstallDispatchFailed: "ໂນດ {{ .node }} ຈັດສົ່ງວຽກຕິດຕັ້ງ {{ .agentType }} ບໍ່ສຳເລັດ ຂໍ້ຄວາມ: {{ .err }}"
BatchAgentInstallSubmitted: "ໂນດ {{ .node }} ຈັດສົ່ງວຽກຕິດຕັ້ງ {{ .agentType }} ສຳເລັດແລ້ວ!"
BatchAgentUpgradeDispatchFailed: "ໂນດ {{ .node }} ຈັດສົ່ງວຽກອັບເກຣດ {{ .agentType }} ບໍ່ສຳເລັດ ຂໍ້ຄວາມ: {{ .err }}"
BatchAgentUpgradeAlreadyLatest: "ໂນດ {{ .node }} ມີເອເຈນ {{ .agent }} ຢູ່ທີ່ເວີຊັນເປົ້າໝາຍແລ້ວ, ຂ້າມ"
BatchAgentUpgradeSubmitted: "ໂນດ {{ .node }} ຈັດສົ່ງວຽກອັບເກຣດ {{ .agent }} ສຳເລັດແລ້ວ!"
BatchAgentUpgradeFailed: "ໂນດ {{ .node }} ຈັດສົ່ງວຽກອັບເກຣດ {{ .agent }} ບໍ່ສຳເລັດ ຂໍ້ຄວາມ: {{ .err }}"
BatchInstallAgentSkill: "ແຈກຢາຍ Skill ແບບກຸ່ມ"
DispatchAgentSkillInstallTasks: "ຈັດສົ່ງວຽກຕິດຕັ້ງ Skill"
BatchAgentSkillDispatchFailed: "ໂນດ {{ .node }} ຈັດສົ່ງ {{ .skill }} ໄປຫາ {{ .target }} ບໍ່ສຳເລັດ ຂໍ້ຄວາມ: {{ .err }}"
BatchAgentNoAgentsFound: "ໂນດ {{ .node }} ບໍ່ພົບເອເຈນ {{ .agentType }}, ຂ້າມ"
BatchAgentSkillSkipped: "ໂນດ {{ .node }} {{ .agent }} ຖືກຂ້າມ ຂໍ້ຄວາມ: {{ .msg }}"
BatchAgentSkillInstallSubmitted: "ໂນດ {{ .node }} ຈັດສົ່ງວຽກຕິດຕັ້ງ {{ .skill }} ໄປຫາ {{ .agent }} ສຳເລັດແລ້ວ!"
BatchAgentSkillInstallFailed: "ໂນດ {{ .node }} ຈັດສົ່ງວຽກຕິດຕັ້ງ {{ .skill }} ໄປຫາ {{ .agent }} ບໍ່ສຳເລັດ ຂໍ້ຄວາມ: {{ .err }}"
BatchAgentOperateDispatchFailed: "ໂນດ {{ .node }} ຈັດສົ່ງວຽກຂອງ {{ .agentType }} ສຳລັບການດຳເນີນການ {{ .operate }} ບໍ່ສຳເລັດ ຂໍ້ຄວາມ: {{ .err }}"
BatchAgentOperateSkipped: "ໂນດ {{ .node }} {{ .agent }} ຖືກຂ້າມ ຂໍ້ຄວາມ: {{ .msg }}"
BatchAgentOperateSubmitted: "ໂນດ {{ .node }} ຈັດສົ່ງວຽກຂອງ {{ .agent }} ສຳລັບການດຳເນີນການ {{ .operate }} ສຳເລັດແລ້ວ!"
BatchAgentOperateFailed: "ໂນດ {{ .node }} ຈັດສົ່ງວຽກຂອງ {{ .agent }} ສຳລັບການດຳເນີນການ {{ .operate }} ບໍ່ສຳເລັດ ຂໍ້ຄວາມ: {{ .err }}"
BatchStartAgent: "ເລີ່ມເອເຈນແບບກຸ່ມ"
DispatchAgentStartTasks: "ຈັດສົ່ງວຽກເລີ່ມເອເຈນ"
BatchStopAgent: "ຢຸດເອເຈນແບບກຸ່ມ"
DispatchAgentStopTasks: "ຈັດສົ່ງວຽກຢຸດເອເຈນ"
BatchRestartAgent: "ເລີ່ມເອເຈນຄືນໃໝ່ແບບກຸ່ມ"
DispatchAgentRestartTasks: "ຈັດສົ່ງວຽກເລີ່ມເອເຈນຄືນໃໝ່"
BatchDeleteAgent: "ລຶບເອເຈນແບບກຸ່ມ"
DispatchAgentDeleteTasks: "ຈັດສົ່ງວຽກລຶບເອເຈນ"
AgentOperateStart: "ເລີ່ມ"
AgentOperateStop: "ຢຸດ"
AgentOperateRestart: "ເລີ່ມຄືນໃໝ່"
AgentOperateDelete: "ລຶບ"

# app and skill task
PushAppInstallTaskToNode: "ສົ່ງວຽກຕິດຕັ້ງແອັບໄປຫາໂນດ [{{ .name }}]"
AppInstallTask: "ວຽກຕິດຕັ້ງແອັບ"
PushAppFailed: "ສົ່ງວຽກຕິດຕັ້ງແອັບບໍ່ສຳເລັດ"
SkillHubInstallTask: "ຕິດຕັ້ງ Skill [{{ .name }}]"
SkillHubInstallToTarget: "ຕິດຕັ້ງ Skill [{{ .name }}] ໄປຍັງເປົ້າໝາຍ [{{ .target }}]"

# script library
ScriptLibrary: "ຄັງສະຄຣິບ"
RemoteScriptLibrary: "ຄັງສະຄຣິບໄລຍະໄກ"
ScriptSyncSkip: "ຄັງສະຄຣິບເປັນເວີຊັນລ່າສຸດແລ້ວ"
DownloadData: "ກຳລັງດາວໂຫຼດໄຟລ໌ຄັງສະຄຣິບ data.yaml"
DownloadPackage: "ກຳລັງດາວໂຫຼດແພັກເກດຄັງສະຄຣິບ"
AnalyticCompletion: "ວິເຄາະສຳເລັດແລ້ວ, ກຳລັງຊິງໄປຫາຖານຂໍ້ມູນ..."

# node sync
SyncNode: "ຊິງຂໍ້ມູນໄປຫາໂນດ {{ .name }}"
LocalName: "ຊື່ 'local' ໃຊ້ສະເພາະສຳລັບການລະບຸເຄື່ອງພາຍໃນຂອງລະບົບ"
SyncPackageData: "ຈັດແພັກເກດຂໍ້ມູນສຳລັບຊິງ"
SyncPackageEncrypt: "ເຂົ້າລະຫັດແພັກເກດຂໍ້ມູນ"
SyncRequest: "ຮ້ອງຂໍ API ຊິງໂນດ"
SyncFailedRetry: "ການຊິງຂໍ້ມູນໂນດໝົດເວລາ (ຄັ້ງທີ {{ .index }}), ກຳລັງລອງໃໝ່..."
SyncFailed: "ການຊິງລົ້ມເຫຼວ, ກະລຸນາຊິງດ້ວຍຕົນເອງໃນລາຍຊື່ໂນດ!"
SyncSystemProxy: "ການຕັ້ງຄ່າພຣັອກຊີລະບົບ"
SyncScripts: "ຄັງສະຄຣິບ"
SyncBackupAccounts: "ບັນຊີສຳຮອງ"
SyncAlertSetting: "ການຕັ້ງຄ່າແຈ້ງເຕືອນ"
SyncCustomApp: "ແອັບກຳນົດເອງ"
SyncLanguage: "ພາສາລະບົບ"
SyncEdition: "ພາກພື້ນ"

# node upgrade
NodeUpgrade: "ອັບເກຣດໂນດ {{ .name }}"
UpgradeCheck: "ກວດສອບອັບເດດຂອງໂນດ"
UpgradeCheckLocal: "ໂນດພາຍໃນເຄື່ອງບໍ່ຮອງຮັບການອັບເກຣດແບບກຸ່ມ, ຂ້າມ..."
UpgradeCheckLatest: "ໂນດເປັນເວີຊັນລ່າສຸດແລ້ວ, ຂ້າມ..."
NewSSHClient: "ກຳລັງເລີ່ມຕົ້ນການເຊື່ອມຕໍ່ SSH"
BackupBeforeUpgrade: "ສຳຮອງຂໍ້ມູນກ່ອນອັບເກຣດ"
UploadUpgradeFile: "ແຈກຢາຍໄຟລ໌ອັບເກຣດ"
RestartAfterUpgrade: "ເລີ່ມບໍລິການຫຼັງການອັບເກຣດ"
LoadAutoUpgradeNodesFailed: "ໂຫຼດໂນດທີ່ອັບເກຣດອັດຕະໂນມັດບໍ່ສຳເລັດ, ຂໍ້ຜິດພາດ: {{ .err }}"
AutoUpgradeNodes: "ໂນດທີ່ອັບເກຣດອັດຕະໂນມັດ: {{ .nodes }}"
UpdateAutoUpgradeNodesStatusFailed: "ອັບເດດສະຖານະໂນດທີ່ອັບເກຣດອັດຕະໂນມັດບໍ່ສຳເລັດ, ຂໍ້ຜິດພາດ: {{ .err }}"

# node add
MasterData: "ຂໍ້ມູນໂນດຫຼັກ"
LoadSftpClient: "ໂຫຼດໄຄລເອນ SFTP"
PackageMasterData: "ສ້າງແພັກເກດສຳຮອງໂນດຫຼັກ"
UploadBackup: "ອັບໂຫຼດຂໍ້ມູນສຳຮອງ"
TaskAddNode: "ເພີ່ມໂນດ"
LoadNodeArch: "ຮັບຂໍ້ມູນສະຖາປັດຕະຍະກຳຂອງໂນດ"
LoadNodeArchDetail: "ກວດພົບສະຖາປັດຕະຍະກຳໂນດຫຼັກ: {{ .local }}, ສະຖາປັດຕະຍະກຳໂນດຍ່ອຍ: {{ .node }}"
LoadNodeUpgradeDetail: "ກຳລັງໃຊ້ໄດເຣັກທໍຣີການຕິດຕັ້ງເກົ່າຂອງເວີຊັນ v1: {{ .baseDir }}, ພອດຮັບຟັງຂອງບໍລິການ: {{ .port }}"
SyncAgentBaseInfo: "ຊິງຂໍ້ມູນພື້ນຖານຂອງໂນດ"
GenerateSSLInfo: "ສ້າງຂໍ້ມູນ SSL ຂອງໂນດ"
ConnInfoNotMatch: "ຂໍ້ມູນການເຊື່ອມຕໍ່ບໍ່ກົງກັນ"
MakeAgentPackage: "ສ້າງແພັກເກດຕິດຕັ້ງໂນດ"
SendAgent: "ແຈກຢາຍແພັກເກດຕິດຕັ້ງໂນດ"
StartService: "ເລີ່ມບໍລິການ"
NoBackupNode: "ໂນດສຳຮອງຫວ່າງເປົ່າ. ກະລຸນາເລືອກແລ້ວບັນທຶກກ່ອນ"

# node file and image sync
LocalNodeIpFailed: "ຮັບ IP ຂອງໂນດຫຼັກບໍ່ສຳເລັດ. ກະລຸນາແກ້ໄຂໂນດຫຼັກ ແລະ ເພີ່ມທີ່ຢູ່ IP ພ້ອມຂໍ້ມູນການຢືນຢັນ SSH."
HandlePrivateKey: "ປະມວນຜົນກະແຈສ່ວນຕົວຂອງໂນດ"
HandlePublicKey: "ປະມວນຜົນກະແຈສາທາລະນະຂອງໂນດ"
ExchangeFile: "ເລີ່ມຊິງ {{ .sourcePath }} ຈາກໂນດ {{ .source }} ໄປຫາໂນດ {{ .dest }}:{{ .destPath }}"
NodeFile: "ໄຟລ໌ໂນດ"
ImageSyncTaskName: "ຊິງອິມເມຈ {{ .count }} ລາຍການ"
SSLSyncTaskName: "ຊິງໃບຮັບຮອງ {{ .count }} ລາຍການ"
AppSyncTaskName: "ຊິງແອັບ {{ .name }}"
SSLSyncToNode: "ສົ່ງໃບຮັບຮອງ [{{ .cert }}] ໄປຫາໂນດ [{{ .node }}]"
ImageSyncSave: "ບັນທຶກອິມເມຈ {{ .image }}"
ImageSyncSaveTags: "ບັນທຶກແທັກອິມເມຈ {{ .tags }}"
ImageSyncToNode: "ຊິງອິມເມຈ {{ .image }} ໄປຫາໂນດ {{ .node }}"
ImageSyncLoad: "ໂຫຼດອິມເມຈ {{ .image }} ໃນໂນດ {{ .node }}"
ImageSyncClean: "ລ້າງໄຟລ໌ຊົ່ວຄາວຂອງອິມເມຈ {{ .image }}"
ImageSyncNoTag: "ອິມເມຈ {{ .image }} ບໍ່ມີແທັກ ແລະ ຈະຖືກບັນທຶກດ້ວຍ ID ອິມເມຈ"
ImageSyncFrontendTagsIgnored: "ບໍ່ພົບແທັກຂອງອິມເມຈ {{ .image }} ໃນໂນດຕົ້ນທາງ. ແທັກຈາກສ່ວນໜ້າຖືກຂ້າມ."
ImageSyncHandlePrivateKey: "ປະມວນຜົນກະແຈສ່ວນຕົວຂອງໂນດສຳລັບຊິງອິມເມຈ"
ImageSyncHandlePublicKey: "ປະມວນຜົນກະແຈສາທາລະນະຂອງໂນດສຳລັບຊິງອິມເມຈ"
ImageSyncTransfer: "ເລີ່ມໂອນໄຟລ໌ຊົ່ວຄາວຂອງອິມເມຈ: {{ .source }}:{{ .sourcePath }} -> {{ .dest }}:{{ .destPath }}"

# command line
SudoHelper: "ໃຊ້ {{ .cmd }} ຫຼື ປ່ຽນໄປໃຊ້ຜູ້ໃຊ້ root"
UsernameNeed: "ຮຸ່ນວິສາຫະກິດຕ້ອງລະບຸ --username"
DBConnErr: "ຂໍ້ຜິດພາດ: ເລີ່ມຕົ້ນການເຊື່ອມຕໍ່ຖານຂໍ້ມູນບໍ່ສຳເລັດ, {{ .err }}"
SystemVersion: "ເວີຊັນ: "
SystemMode: "ໂໝດ: "

# command line - app
AppVersion: "ເວີຊັນແອັບ"
AppCommands: "ຄຳສັ່ງທີ່ກ່ຽວກັບແອັບ"
AppInit: "ເລີ່ມຕົ້ນແອັບ"
AppKeyVal: "ຄີແອັບ (ຮອງຮັບສະເພາະພາສາອັງກິດ)"
AppCreateFileErr: "ສ້າງໄຟລ໌ {{ .name }} ບໍ່ສຳເລັດ {{ .err }}"
AppCreateDirErr: "ສ້າງໂຟນເດີ {{ .name }} ບໍ່ສຳເລັດ {{ .err }}"
AppMissKey: "ບໍ່ມີຄີແອັບ, ໃຊ້ -k ເພື່ອລະບຸ"
AppMissVersion: "ບໍ່ມີເວີຊັນແອັບ, ໃຊ້ -v ເພື່ອລະບຸ"
AppVersionExist: "ມີເວີຊັນນີ້ຢູ່ແລ້ວ!"
AppCreateSuccessful: "ສ້າງສຳເລັດແລ້ວ!"
AppWriteErr: "ຂຽນໄຟລ໌ {{ .name }} ບໍ່ສຳເລັດ {{ .err }}"

# command line - listen IP
ListenIPCommands: "ປ່ຽນ IP ທີ່ຮັບຟັງ"
ListenIPv4: "ຮັບຟັງຜ່ານ IPv4"
ListenIPv6: "ຮັບຟັງຜ່ານ IPv6"
ListenChangeSuccessful: "ປ່ຽນສຳເລັດແລ້ວ! ຕອນນີ້ກຳລັງຮັບຟັງຢູ່ {{ .value }}"

# command line - reset
ResetCommands: "ຕັ້ງຄ່າຂໍ້ມູນລະບົບຄືນໃໝ່"
ResetMFA: "ຍົກເລີກການຢືນຢັນສອງຂັ້ນຕອນຂອງ 1Panel"
ResetHttps: "ຍົກເລີກການເຂົ້າລະບົບ 1Panel ຜ່ານ HTTPS"
ResetEntrance: "ຍົກເລີກທາງເຂົ້າຄວາມປອດໄພຂອງ 1Panel"
ResetIPs: "ຍົກເລີກຂໍ້ຈຳກັດ IP ທີ່ອະນຸຍາດຂອງ 1Panel"
ResetDomain: "ຍົກເລີກການຜູກໂດເມນຂອງ 1Panel"
ResetPasskey: "ລ້າງ Passkey ຂອງ 1Panel"

# command line - user
UserList: "ຮັບລາຍຊື່ຜູ້ໃຊ້ 1Panel"
UserTableName: "ຊື່"
UserTableMFAStatus: "ສະຖານະ MFA"
UserTableSuperAdmin: "ຜູ້ບໍລິຫານສູງສຸດ"
UserTableCreatedAt: "ສ້າງເມື່ອ"
UserEmptyList: "ບໍ່ພົບຜູ້ໃຊ້"
UserInfo: "ຮັບຂໍ້ມູນແຜງ"
UserInfoAddr: "ທີ່ຢູ່ແຜງ: "
UserInfoPassHelp: "ຄຳແນະນຳ: ເພື່ອປ່ຽນລະຫັດຜ່ານ ທ່ານສາມາດໃຊ້ຄຳສັ່ງ: "

# command line - restore
RestoreCommands: "ຍ້ອນບໍລິການ ແລະ ຂໍ້ມູນ 1Panel ກັບຄືນ"
RestoreNoSuchFile: "ບໍ່ພົບໄຟລ໌ສຳລັບຍ້ອນກັບ"
RestoreStep1: "(1/5) ກຳລັງເລີ່ມຍ້ອນບໍລິການ ແລະ ຂໍ້ມູນ 1Panel ຈາກໄດເຣັກທໍຣີ {{ .name }}..."
RestoreStep2: "(2/5) ຍ້ອນໄບນາຣີ 1Panel ສຳເລັດແລ້ວ"
RestoreStep3: "(3/5) ຍ້ອນສະຄຣິບ 1Panel ສຳເລັດແລ້ວ"
RestoreStep4: "(4/5) ຍ້ອນບໍລິການ 1Panel ສຳເລັດແລ້ວ"
RestoreStep5: "(5/5) ຍ້ອນຂໍ້ມູນ 1Panel ສຳເລັດແລ້ວ"
RestoreSuccessful: "ການຍ້ອນກັບສຳເລັດແລ້ວ. ກັບໄປຫາເວີຊັນ {{ .version }}. ກຳລັງເລີ່ມບໍລິການຄືນໃໝ່..."

# command line - update
UpdateCommands: "ອັບເດດຂໍ້ມູນແຜງ"
UpdateUser: "ອັບເດດຂໍ້ມູນຜູ້ໃຊ້"
UpdatePassword: "ອັບເດດລະຫັດຜ່ານຜູ້ໃຊ້"
UpdatePort: "ອັບເດດພອດແຜງ"
UpdateUserNull: "ຂໍ້ຜິດພາດ: ຊື່ຜູ້ໃຊ້ຫວ່າງເປົ່າ!"
UpdateUserBlank: "ຂໍ້ຜິດພາດ: ຊື່ຜູ້ໃຊ້ມີຊ່ອງຫວ່າງ!"
UpdateUserFormat: "ຂໍ້ຜິດພາດ: ຮູບແບບຊື່ຜູ້ໃຊ້ບໍ່ຖືກຕ້ອງ! ຮອງຮັບສະເພາະຕົວອັກສອນອັງກິດ, ຈີນ, ຕົວເລກ ແລະ _, ຄວາມຍາວ 3-30 ຕົວ"
UpdateUserErr: "ຂໍ້ຜິດພາດ: ອັບເດດຜູ້ໃຊ້ບໍ່ສຳເລັດ, {{ .err }}"
UpdateSuccessful: "ອັບເດດສຳເລັດແລ້ວ!"
UpdateUserResult: "ຜູ້ໃຊ້: {{ .name }}"
UpdatePasswordRead: "ຂໍ້ຜິດພາດ: ອ່ານຂໍ້ມູນລະຫັດຜ່ານຜູ້ໃຊ້ບໍ່ສຳເລັດ, {{ .err }}"
UpdatePasswordNull: "ຂໍ້ຜິດພາດ: ລະຫັດຜ່ານຜູ້ໃຊ້ຫວ່າງເປົ່າ!"
UpdateUPasswordBlank: "ຂໍ້ຜິດພາດ: ລະຫັດຜ່ານຜູ້ໃຊ້ມີຊ່ອງຫວ່າງ!"
UpdatePasswordFormat: "ຂໍ້ຜິດພາດ: ລະຫັດຜ່ານຜູ້ໃຊ້ຮອງຮັບສະເພາະຕົວອັກສອນ, ຕົວເລກ ແລະ ອັກຂະລະພິເສດ (!@#$%*_,.?), ຄວາມຍາວ 8-30 ຕົວ."
UpdatePasswordLen: "ຂໍ້ຜິດພາດ: ກະລຸນາປ້ອນລະຫັດຜ່ານທີ່ຍາວກວ່າ 6 ຕົວ"
UpdatePasswordRe: "ຢືນຢັນລະຫັດຜ່ານ:"
UpdatePasswordErr: "ຂໍ້ຜິດພາດ: ອັບເດດລະຫັດຜ່ານຜູ້ໃຊ້ບໍ່ສຳເລັດ, {{ .err }}"
UpdatePasswordSame: "ຂໍ້ຜິດພາດ: ລະຫັດຜ່ານສອງຄັ້ງບໍ່ກົງກັນ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
UpdatePasswordResult: "ລະຫັດຜ່ານຜູ້ໃຊ້: {{ .name }}"
UpdatePortFormat: "ຂໍ້ຜິດພາດ: ໝາຍເລກພອດທີ່ປ້ອນຕ້ອງຢູ່ລະຫວ່າງ 1 ຫາ 65535!"
UpdatePortUsed: "ຂໍ້ຜິດພາດ: ໝາຍເລກພອດກຳລັງຖືກໃຊ້ງານ, ກະລຸນາກວດສອບແລ້ວລອງໃໝ່!"
UpdatePortErr: "ຂໍ້ຜິດພາດ: ອັບເດດພອດແຜງບໍ່ສຳເລັດ, {{ .err }}"
UpdatePortResult: "ພອດແຜງ: {{ .name }}"
UpdatePortFirewallAdd: "ເພີ່ມກົດພອດໄຟຣ໌ວໍບໍ່ສຳເລັດ, {{ .err }}, ກະລຸນາເພີ່ມພອດ {{ .name }} ເຂົ້າໃນກົດໄຟຣ໌ວໍດ້ວຍຕົນເອງ."
UpdatePortFirewallDel: "ຂໍ້ຜິດພາດ: ລຶບພອດໄຟຣ໌ວໍບໍ່ສຳເລັດ, {{ .err }}"
UpdatePortFirewallReload: "ໂຫຼດໄຟຣ໌ວໍຄືນໃໝ່ບໍ່ສຳເລັດ, {{ .err }}, ກະລຸນາໂຫຼດໄຟຣ໌ວໍຄືນໃໝ່ດ້ວຍຕົນເອງ."

# mobile app
ErrVerifyToken: 'ການກວດສອບໂທເຄັນລົ້ມເຫຼວ. ກະລຸນາຕັ້ງຄ່າຄືນໃໝ່ແລ້ວສະແກນອີກຄັ້ງ.'
ErrInvalidToken: 'ໂທເຄັນບໍ່ຖືກຕ້ອງ. ກະລຸນາຕັ້ງຄ່າຄືນໃໝ່ແລ້ວສະແກນອີກຄັ້ງ.'
ErrExpiredToken: 'ໂທເຄັນໝົດອາຍຸແລ້ວ. ກະລຸນາຕັ້ງຄ່າຄືນໃໝ່ແລ້ວສະແກນອີກຄັ້ງ.'

# command export
Name: "ຊື່"
Command: "ຄຳສັ່ງ"

# LDAP
ErrLDAPConnectionTest: "ການທົດສອບການເຊື່ອມຕໍ່ LDAP ບໍ່ສຳເລັດ. ກະລຸນາກວດສອບທີ່ຢູ່ເຊີບເວີ, ບັນຊີຜູກມັດ ແລະການຕັ້ງຄ່າເຄືອຂ່າຍ."
ErrLDAPLoginTest: "ການທົດສອບເຂົ້າລະບົບ LDAP ບໍ່ສຳເລັດ. ກະລຸນາກວດສອບຊື່ຜູ້ໃຊ້ ແລະ ລະຫັດຜ່ານ."
LDAPConnectionTestSuccess: "ການທົດສອບການເຊື່ອມຕໍ່ LDAP ສຳເລັດແລ້ວ."
ErrLDAPDirectorySearch: "ອ່ານຜູ້ໃຊ້ LDAP ບໍ່ສຳເລັດ. ກະລຸນາກວດສອບການເຊື່ອມຕໍ່ ແລະການຕັ້ງຄ່າການຄົ້ນຫາ."
ErrLDAPConfigLoad: "ໂຫຼດການຕັ້ງຄ່າ LDAP ບໍ່ສຳເລັດ."
ErrLDAPConfigSave: "ບັນທຶກການຕັ້ງຄ່າ LDAP ບໍ່ສຳເລັດ."
ErrLDAPURLInvalid: "ທີ່ຢູ່ເຊີບເວີ LDAP ຕ້ອງໃຊ້ ldap:// ຫຼື ldaps:// ແລະມີໂຮສທີ່ຖືກຕ້ອງ."
ErrLDAPBindDNRequired: "ຈຳເປັນຕ້ອງມີ Bind DN."
ErrLDAPBindPasswordRequired: "ຈຳເປັນຕ້ອງມີລະຫັດຜ່ານສຳລັບການຜູກມັດ."
ErrLDAPUserOURequired: "ຈຳເປັນຕ້ອງມີ OU ຂອງຜູ້ໃຊ້."
ErrLDAPConnectTimeoutRange: "ໄລຍະເວລາໝົດການເຊື່ອມຕໍ່ຕ້ອງຢູ່ລະຫວ່າງ 1 ຫາ 120 ວິນາທີ."
ErrLDAPSearchPageSizeRange: "ຂະໜາດໜ້າການສອບຖາມ LDAP ຕ້ອງຢູ່ລະຫວ່າງ 1 ຫາ 10000."
ErrLDAPResultPageSizeRange: "ຂະໜາດໜ້າຜົນລັບຕ້ອງບໍ່ເກີນ 200."
ErrLDAPAttributeMapOnlyName: "ການສ້າງແຜນທີ່ຄຸນສົມບັດຮອງຮັບສະເພາະຊ່ອງຂໍ້ມູນ name."
ErrLDAPNameAttributeRequired: "ຈຳເປັນຕ້ອງລະບຸຄຸນສົມບັດ LDAP ທີ່ຈັບຄູ່ກັບ name."
ErrLDAPAttributeNameInvalid: "ການສ້າງແຜນທີ່ຄຸນສົມບັດມີຊື່ຄຸນສົມບັດ LDAP ທີ່ບໍ່ຖືກຕ້ອງ."
ErrLDAPUserFilterRequired: "ຈຳເປັນຕ້ອງມີຕົວກອງຜູ້ໃຊ້."
ErrLDAPUserFilterInvalid: "ຕົວກອງຜູ້ໃຊ້ບໍ່ແມ່ນຕົວກອງ LDAP ທີ່ຖືກຕ້ອງ."
ErrLDAPAttributeMapObject: "ການສ້າງແຜນທີ່ຄຸນສົມບັດຕ້ອງເປັນວັດຖຸ JSON ທີ່ຖືກຕ້ອງ."
ErrLDAPImportModeInvalid: "ຮູບແບບການນຳເຂົ້າຕ້ອງເປັນຜູ້ໃຊ້ທີ່ເລືອກ ຫຼືຜູ້ໃຊ້ທັງໝົດ."
ErrLDAPImportSelectionRequired: "ກະລຸນາເລືອກຜູ້ໃຊ້ LDAP ຢ່າງໜ້ອຍໜຶ່ງຄົນເພື່ອນຳເຂົ້າ."
ErrLDAPImportSelectionInvalid: "ຜູ້ໃຊ້ LDAP ທີ່ເລືອກບໍ່ຖືກຕ້ອງ ຫຼືບໍ່ມີຢູ່ແລ້ວ. ກະລຸນາອ່ານໄດເລກະທໍລີອີກຄັ້ງ."
ErrLDAPConfigChanged: "ການຕັ້ງຄ່າ LDAP ມີການປ່ຽນແປງ. ກະລຸນາອ່ານໄດເລກະທໍລີ ແລະເບິ່ງຕົວຢ່າງການນຳເຂົ້າອີກຄັ້ງ."
ErrLDAPRoleRequired: "ກະລຸນາເລືອກບົດບາດສຳລັບຜູ້ໃຊ້ LDAP ໃໝ່."
ErrLDAPImportPlanIncomplete: "ບໍ່ສາມາດດຳເນີນແຜນການນຳເຂົ້າ LDAP ທີ່ບໍ່ຄົບຖ້ວນໄດ້."
ErrLDAPQueryTokenInvalid: "ຜົນການສອບຖາມ LDAP ໝົດອາຍຸແລ້ວ. ກະລຸນາອ່ານໄດເລກະທໍລີອີກຄັ້ງ."
ErrLDAPPlanTokenInvalid: "ຕົວຢ່າງການນຳເຂົ້າ LDAP ໝົດອາຍຸແລ້ວ. ກະລຸນາເບິ່ງຕົວຢ່າງການນຳເຂົ້າອີກຄັ້ງ."
ErrLDAPOperationFailed: "ການດຳເນີນງານ LDAP ບໍ່ສຳເລັດ. ກະລຸນາລອງໃໝ່."
ErrLDAPEntryIdentityMissing: "ລາຍການ LDAP ຂາດ ID ທີ່ຄົງທີ່ ຫຼືຊື່ຜູ້ໃຊ້."
ErrLDAPDuplicateExternalID: "LDAP ສົ່ງຄືນ ID ຜູ້ໃຊ້ທີ່ຊ້ຳກັນ."
ErrLDAPUsernameConflict: "ຊື່ຜູ້ໃຊ້ນີ້ຖືກໃຊ້ໂດຍຜູ້ໃຊ້ອື່ນແລ້ວ."
ErrLDAPUsernameSourceConflict: "ຊື່ຜູ້ໃຊ້ນີ້ຖືກໃຊ້ໂດຍຜູ້ໃຊ້ພາຍໃນ ຫຼືແຫຼ່ງການພິສູດຢືນຢັນອື່ນແລ້ວ."
ErrLDAPUsernameConcurrentConflict: "ຊື່ຜູ້ໃຊ້ນີ້ຖືກຜູ້ໃຊ້ອື່ນນຳໄປໃຊ້ໃນລະຫວ່າງການນຳເຂົ້າ."
ErrLDAPLocalCredentialsReadonly: "ຊື່ຜູ້ໃຊ້ ແລະລະຫັດຜ່ານ LDAP ຖືກຈັດການໂດຍ LDAP ແລະບໍ່ສາມາດປ່ຽນແປງພາຍໃນໄດ້."
ErrLDAPPasswordExpirationUnsupported: "ຜູ້ໃຊ້ LDAP ບໍ່ໃຊ້ນະໂຍບາຍການໝົດອາຍຸລະຫັດຜ່ານພາຍໃນ."
ErrLDAPSyncSourceDisabled: "ກະລຸນາເປີດໃຊ້ AD/LDAP ກ່ອນເປີດໃຊ້ ຫຼື ດຳເນີນການຊິງຂໍ້ມູນ."
ErrLDAPSyncConfigSave: "ບັນທຶກການຕັ້ງຄ່າການຊິງຂໍ້ມູນ LDAP ບໍ່ສຳເລັດ."
ErrLDAPSyncSchedule: "ອັບເດດຕາຕະລາງການຊິງຂໍ້ມູນ LDAP ບໍ່ສຳເລັດ."
ErrLDAPSyncCronInvalid: "ກະລຸນາປ້ອນນິພົດ Cron ແບບ 5 ຊ່ອງທີ່ຖືກຕ້ອງ."
ErrLDAPSyncWeekdayInvalid: "ກະລຸນາເລືອກມື້ໃນອາທິດທີ່ຖືກຕ້ອງ."
ErrLDAPSyncCronRequired: "ກະລຸນາປ້ອນນິພົດ Cron."
ErrLDAPSyncScheduleTypeInvalid: "ກະລຸນາເລືອກປະເພດຕາຕະລາງການຊິງຂໍ້ມູນທີ່ຖືກຕ້ອງ."
ErrLDAPSyncTimeInvalid: "ກະລຸນາປ້ອນເວລາດຳເນີນການທີ່ຖືກຕ້ອງ."
ErrLDAPSyncRunning: "ມີວຽກຊິງຂໍ້ມູນ LDAP ກຳລັງເຮັດວຽກຢູ່ແລ້ວ."
ErrLDAPSyncDirectoryIncomplete: "LDAP ສົ່ງຄືນຜົນການຄົ້ນຫາທັງໝົດທີ່ບໍ່ຄົບຖ້ວນ. ບໍ່ມີການປ່ຽນແປງສະຖານະຜູ້ໃຊ້."
ErrLDAPSyncFailed: "ການຊິງຂໍ້ມູນຜູ້ໃຊ້ LDAP ບໍ່ສຳເລັດ."
LDAPSyncSuccess: "ການຊິງຂໍ້ມູນຜູ້ໃຊ້ LDAP ສຳເລັດແລ້ວ."
ErrSAML2NotEnabled: "ການຢືນຢັນ SAML2 ຍັງບໍ່ໄດ້ເປີດໃຊ້."
ErrSAML2ConfigInvalid: "ການຕັ້ງຄ່າ SAML2 ບໍ່ຖືກຕ້ອງ."
ErrSAML2ConfigChanged: "ການຕັ້ງຄ່າ SAML2 ມີການປ່ຽນແປງ. ເລີ່ມການຢືນຢັນໃໝ່."
ErrSAML2PanelOriginMissing: "ໃສ່ URL ສາທາລະນະຂອງ 1Panel ທີ່ຖືກຕ້ອງ ໂດຍມີສະເພາະ scheme, host ແລະ port ທາງເລືອກ."
ErrSAML2MetadataInvalid: "ຂໍ້ມູນເມຕາຂອງ IdP ຂາດຫາຍ ຫຼືບໍ່ຖືກຕ້ອງ."
ErrSAML2MetadataURLInvalid: "Metadata URL ຂອງ IdP ຫຼື endpoint ໃນ Metadata ບໍ່ໄດ້ຮັບອະນຸຍາດ."
ErrSAML2MetadataFetch: "ບໍ່ສາມາດໂຫຼດຂໍ້ມູນເມຕາຂອງ IdP ໄດ້."
ErrSAML2MetadataCertificate: "ຂໍ້ມູນເມຕາຂອງ IdP ບໍ່ມີໃບຢັ້ງຢືນລາຍເຊັນທີ່ໃຊ້ໄດ້."
ErrSAML2KeyPairInvalid: "ກະແຈສ່ວນຕົວ ແລະໃບຢັ້ງຢືນຂອງ SP ບໍ່ຖືກຕ້ອງ ຫຼືບໍ່ກົງກັນ."
ErrSAML2NameAttributeMissing: "Attribute ຊື່ຜູ້ໃຊ້ SAML2 ທີ່ຕັ້ງຄ່າໄວ້ຂາດຫາຍ ຫຼືບໍ່ຖືກຕ້ອງ."
ErrSAML2DefaultRoleInvalid: "ບົດບາດເລີ່ມຕົ້ນທີ່ຕັ້ງຄ່າສຳລັບ SAML2 ບໍ່ສາມາດໃຊ້ໄດ້."
ErrSAML2SLOUnavailable: "IdP ບໍ່ມີບໍລິການ Single Logout ທີ່ຮອງຮັບ."
ErrSAML2TestExpired: "ການທົດສອບ SAML2 ໝົດອາຍຸແລ້ວ. ດຳເນີນການໃໝ່."
ErrSAML2LoginExpired: "ຄຳຮ້ອງຂໍເຂົ້າລະບົບ SAML2 ໝົດອາຍຸແລ້ວ. ລອງໃໝ່."
ErrSAML2InvalidState: "ສະຖານະເຂົ້າລະບົບ SAML2 ບໍ່ຖືກຕ້ອງ ຫຼືຖືກໃຊ້ແລ້ວ."
ErrSAML2RequestBuild: "ບໍ່ສາມາດສ້າງຄຳຮ້ອງຂໍ SAML2 ໄດ້."
ErrSAML2ResponseInvalid: "ການຕອບກັບ SAML2 ບໍ່ຖືກຕ້ອງ."
ErrSAML2SignatureInvalid: "ລາຍເຊັນ SAML2 ບໍ່ຖືກຕ້ອງ."
ErrSAML2Replay: "ຂໍ້ຄວາມ SAML2 ນີ້ຖືກໃຊ້ແລ້ວ."
ErrSAML2NameIDMissing: "NameID ຂອງ SAML2 ຂາດຫາຍ ຫຼືບໍ່ຖືກຕ້ອງ."
ErrSAML2SessionIndexMissing: "SessionIndex ຂອງ SAML2 ຂາດຫາຍ ຫຼືບໍ່ຖືກຕ້ອງ."
ErrSAML2NameConflictLocal: "ຊື່ຜູ້ໃຊ້ SAML2 ຂັດກັບຜູ້ໃຊ້ທ້ອງຖິ່ນ."
ErrSAML2NameConflictLDAP: "ຊື່ຜູ້ໃຊ້ SAML2 ຂັດກັບຜູ້ໃຊ້ LDAP."
ErrSAML2NameConflictOIDC: "ຊື່ຜູ້ໃຊ້ SAML2 ຂັດກັບຜູ້ໃຊ້ OIDC."
ErrSAML2NameConflictSAML2: "ຊື່ຜູ້ໃຊ້ SAML2 ຂັດກັບຕົວຕົນ SAML2 ອື່ນ."
ErrSAML2Internal: "ເກີດຂໍ້ຜິດພາດພາຍໃນລະຫວ່າງການຢືນຢັນ SAML2. ລອງໃໝ່ພາຍຫຼັງ."
ErrSAML2LogoutExpired: "ຄຳຮ້ອງຂໍອອກລະບົບ SAML2 ໝົດອາຍຸແລ້ວ."
ErrSAML2LogoutInvalid: "ຂໍ້ຄວາມອອກລະບົບ SAML2 ບໍ່ຖືກຕ້ອງ."
ErrSAML2LocalCredentialsReadonly: "ຊື່ຜູ້ໃຊ້ ແລະລະຫັດຜ່ານ SAML2 ຖືກຈັດການໂດຍຜູ້ໃຫ້ບໍລິການຕົວຕົນ ແລະບໍ່ສາມາດປ່ຽນໃນເຄື່ອງໄດ້."
ErrSAML2PasswordExpirationUnsupported: "ຜູ້ໃຊ້ SAML2 ບໍ່ໄດ້ໃຊ້ນະໂຍບາຍການໝົດອາຍຸລະຫັດຜ່ານທ້ອງຖິ່ນ."
