Compare commits

...

17 Commits

Author SHA1 Message Date
Crowdin Bot
b77310f528 refactor: New Crowdin Backend translations by Github Action 2025-08-02 08:00:16 +00:00
Crowdin Bot
8ff044b419 refactor: New Crowdin translations by Github Action 2025-08-02 07:59:45 +00:00
DacongDA
d537377b31 feat: show placeholder QR code with loading instead of "Loading" text in QR code login page (#4031) 2025-08-02 15:58:49 +08:00
raiki02
462ecce43b feat: check args in Enforce and BatchEnforce APIs (#4029) 2025-08-02 13:39:05 +08:00
raiki02
a84664b55d feat: remove toLower conversion in getPolicies() (#4030) 2025-08-02 13:38:49 +08:00
Justin Judd
941c56e69e feat(jwt): Enable using User Properties as custom claims (#3571) 2025-08-02 10:34:11 +08:00
DacongDA
a28b871a46 feat: add useGroupPathInToken boolean field in app.conf (#4026) 2025-08-02 01:40:26 +08:00
Robin Ye
387f5d58f7 feat: prevent two captcha providers are added to one single application (#4025) 2025-08-01 22:50:12 +08:00
Xiao Mao
7d846b2060 feat: implement root DSE handling and schema query in LDAP server (#4020) 2025-07-31 01:23:25 +08:00
raiki02
c1c2dcab38 feat: can disable signin within application and organization (#4012) 2025-07-30 21:07:35 +08:00
Robin Ye
f9264f700b feat: add get-filtered-policies API, improve Swagger docs (#4006) 2025-07-29 23:51:01 +08:00
Xiao Mao
f3af2a26aa feat: add posixAccount and posixGroup filter logic for more versatile usage in LDAP (#4014) 2025-07-29 21:49:39 +08:00
DacongDA
0ac69bde53 feat: fix objectClass filter will return empty response (#4011) 2025-07-28 23:39:04 +08:00
Yang Luo
70c99f0e59 feat: fix "Key text" multi-line input box for Apple OAuth provider 2025-07-28 17:49:36 +08:00
kevin kwok
8d1fdc3a08 feat: add support for casbin-python-cli auto-download (#4004) 2025-07-27 14:00:00 +08:00
DacongDA
30c15b8135 feat: fix the error effect of form post response type (#4003) 2025-07-26 23:26:37 +08:00
Kevin D'souza
2d6de216b8 feat: move to a more robust way of checking if element in slice (#4001) 2025-07-26 11:57:45 +08:00
84 changed files with 3227 additions and 854 deletions

View File

@@ -70,6 +70,16 @@ func (c *ApiController) HandleLoggedIn(application *object.Application, user *ob
return
}
if application.DisableSignin {
c.ResponseError(fmt.Sprintf(c.T("auth:The application: %s has disabled users to signin"), application.Name))
return
}
if application.OrganizationObj != nil && application.OrganizationObj.DisableSignin {
c.ResponseError(fmt.Sprintf(c.T("auth:The organization: %s has disabled users to signin"), application.Organization))
return
}
allowed, err := object.CheckLoginPermission(userId, application)
if err != nil {
c.ResponseError(err.Error(), nil)

View File

@@ -40,6 +40,18 @@ func (c *ApiController) Enforce() {
enforcerId := c.Input().Get("enforcerId")
owner := c.Input().Get("owner")
params := []string{permissionId, modelId, resourceId, enforcerId, owner}
nonEmpty := 0
for _, param := range params {
if param != "" {
nonEmpty++
}
}
if nonEmpty > 1 {
c.ResponseError("Only one of the parameters (permissionId, modelId, resourceId, enforcerId, owner) should be provided")
return
}
if len(c.Ctx.Input.RequestBody) == 0 {
c.ResponseError("The request body should not be empty")
return
@@ -169,6 +181,18 @@ func (c *ApiController) BatchEnforce() {
enforcerId := c.Input().Get("enforcerId")
owner := c.Input().Get("owner")
params := []string{permissionId, modelId, enforcerId, owner}
nonEmpty := 0
for _, param := range params {
if param != "" {
nonEmpty++
}
}
if nonEmpty > 1 {
c.ResponseError("Only one of the parameters (permissionId, modelId, enforcerId, owner) should be provided")
return
}
var requests [][]string
err := json.Unmarshal(c.Ctx.Input.RequestBody, &requests)
if err != nil {

View File

@@ -24,6 +24,7 @@ const (
javaCliRepo = "https://api.github.com/repos/jcasbin/casbin-java-cli/releases/latest"
goCliRepo = "https://api.github.com/repos/casbin/casbin-go-cli/releases/latest"
rustCliRepo = "https://api.github.com/repos/casbin-rs/casbin-rust-cli/releases/latest"
pythonCliRepo = "https://api.github.com/repos/casbin/casbin-python-cli/releases/latest"
downloadFolder = "bin"
)
@@ -43,6 +44,7 @@ func getBinaryNames() map[string]string {
golang = "go"
java = "java"
rust = "rust"
python = "python"
)
arch := runtime.GOARCH
@@ -62,18 +64,21 @@ func getBinaryNames() map[string]string {
golang: fmt.Sprintf("casbin-go-cli_Windows_%s.zip", archNames.goArch),
java: "casbin-java-cli.jar",
rust: fmt.Sprintf("casbin-rust-cli-%s-pc-windows-gnu", archNames.rustArch),
python: fmt.Sprintf("casbin-python-cli-windows-%s.exe", archNames.goArch),
}
case "darwin":
return map[string]string{
golang: fmt.Sprintf("casbin-go-cli_Darwin_%s.tar.gz", archNames.goArch),
java: "casbin-java-cli.jar",
rust: fmt.Sprintf("casbin-rust-cli-%s-apple-darwin", archNames.rustArch),
python: fmt.Sprintf("casbin-python-cli-darwin-%s", archNames.goArch),
}
case "linux":
return map[string]string{
golang: fmt.Sprintf("casbin-go-cli_Linux_%s.tar.gz", archNames.goArch),
java: "casbin-java-cli.jar",
rust: fmt.Sprintf("casbin-rust-cli-%s-unknown-linux-gnu", archNames.rustArch),
python: fmt.Sprintf("casbin-python-cli-linux-%s", archNames.goArch),
}
default:
return nil
@@ -98,6 +103,11 @@ func getFinalBinaryName(lang string) string {
return "casbin-rust-cli.exe"
}
return "casbin-rust-cli"
case "python":
if runtime.GOOS == "windows" {
return "casbin-python-cli.exe"
}
return "casbin-python-cli"
default:
return ""
}
@@ -333,9 +343,10 @@ func downloadCLI() error {
}
repos := map[string]string{
"java": javaCliRepo,
"go": goCliRepo,
"rust": rustCliRepo,
"java": javaCliRepo,
"go": goCliRepo,
"rust": rustCliRepo,
"python": pythonCliRepo,
}
for lang, repo := range repos {

View File

@@ -17,6 +17,7 @@ package controllers
import (
"encoding/json"
"fmt"
"strings"
"github.com/beego/beego/utils/pagination"
"github.com/casdoor/casdoor/object"
@@ -154,6 +155,14 @@ func (c *ApiController) DeleteEnforcer() {
c.ServeJSON()
}
// GetPolicies
// @Title GetPolicies
// @Tag Enforcer API
// @Description get policies
// @Param id query string true "The id ( owner/name ) of enforcer"
// @Param adapterId query string false "The adapter id"
// @Success 200 {array} xormadapter.CasbinRule
// @router /get-policies [get]
func (c *ApiController) GetPolicies() {
id := c.Input().Get("id")
adapterId := c.Input().Get("adapterId")
@@ -188,6 +197,50 @@ func (c *ApiController) GetPolicies() {
c.ResponseOk(policies)
}
// GetFilteredPolicies
// @Title GetFilteredPolicies
// @Tag Enforcer API
// @Description get filtered policies
// @Param id query string true "The id ( owner/name ) of enforcer"
// @Param ptype query string false "Policy type, default is 'p'"
// @Param fieldIndex query int false "Field index for filtering"
// @Param fieldValues query string false "Field values for filtering, comma-separated"
// @Success 200 {array} xormadapter.CasbinRule
// @router /get-filtered-policies [get]
func (c *ApiController) GetFilteredPolicies() {
id := c.Input().Get("id")
ptype := c.Input().Get("ptype")
fieldIndexStr := c.Input().Get("fieldIndex")
fieldValuesStr := c.Input().Get("fieldValues")
if ptype == "" {
ptype = "p"
}
fieldIndex := util.ParseInt(fieldIndexStr)
var fieldValues []string
if fieldValuesStr != "" {
fieldValues = strings.Split(fieldValuesStr, ",")
}
policies, err := object.GetFilteredPolicies(id, ptype, fieldIndex, fieldValues...)
if err != nil {
c.ResponseError(err.Error())
return
}
c.ResponseOk(policies)
}
// UpdatePolicy
// @Title UpdatePolicy
// @Tag Enforcer API
// @Description update policy
// @Param id query string true "The id ( owner/name ) of enforcer"
// @Param body body []xormadapter.CasbinRule true "Array containing old and new policy"
// @Success 200 {object} Response
// @router /update-policy [post]
func (c *ApiController) UpdatePolicy() {
id := c.Input().Get("id")
@@ -207,6 +260,14 @@ func (c *ApiController) UpdatePolicy() {
c.ServeJSON()
}
// AddPolicy
// @Title AddPolicy
// @Tag Enforcer API
// @Description add policy
// @Param id query string true "The id ( owner/name ) of enforcer"
// @Param body body xormadapter.CasbinRule true "The policy to add"
// @Success 200 {object} Response
// @router /add-policy [post]
func (c *ApiController) AddPolicy() {
id := c.Input().Get("id")
@@ -226,6 +287,14 @@ func (c *ApiController) AddPolicy() {
c.ServeJSON()
}
// RemovePolicy
// @Title RemovePolicy
// @Tag Enforcer API
// @Description remove policy
// @Param id query string true "The id ( owner/name ) of enforcer"
// @Param body body xormadapter.CasbinRule true "The policy to remove"
// @Success 200 {object} Response
// @router /remove-policy [post]
func (c *ApiController) RemovePolicy() {
id := c.Input().Get("id")

1
go.mod
View File

@@ -52,7 +52,6 @@ require (
github.com/sendgrid/sendgrid-go v3.14.0+incompatible
github.com/shirou/gopsutil v3.21.11+incompatible
github.com/siddontang/go-log v0.0.0-20190221022429-1e957dd83bed
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
github.com/stretchr/testify v1.10.0
github.com/stripe/stripe-go/v74 v74.29.0
github.com/tealeg/xlsx v1.0.5

2
go.sum
View File

@@ -872,8 +872,6 @@ github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/skeema/knownhosts v1.3.0 h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0LY=
github.com/skeema/knownhosts v1.3.0/go.mod h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M=
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e h1:MRM5ITcdelLK2j1vwZ3Je0FKVCfqOLp5zO6trqMLYs0=
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e/go.mod h1:XV66xRDqSt+GTGFMVlhk3ULuV0y9ZmzeVGR4mloJI3M=
github.com/slack-go/slack v0.12.3 h1:92/dfFU8Q5XP6Wp5rr5/T5JHLM5c5Smtn53fhToAP88=
github.com/slack-go/slack v0.12.3/go.mod h1:hlGi5oXA+Gt+yWTPP0plCdRKmjsDxecdHxYQdlMQKOw=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "الحساب الخاص بالمزود: %s واسم المستخدم: %s (%s) غير موجود ولا يُسمح بالتسجيل كحساب جديد، يرجى الاتصال بدعم تكنولوجيا المعلومات",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "الحساب الخاص بالمزود: %s واسم المستخدم: %s (%s) مرتبط بالفعل بحساب آخر: %s (%s)",
"The application: %s does not exist": "التطبيق: %s غير موجود",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "طريقة تسجيل الدخول: تسجيل الدخول باستخدام LDAP غير مفعّلة لهذا التطبيق",
"The login method: login with SMS is not enabled for the application": "طريقة تسجيل الدخول: تسجيل الدخول باستخدام الرسائل النصية غير مفعّلة لهذا التطبيق",
"The login method: login with email is not enabled for the application": "طريقة تسجيل الدخول: تسجيل الدخول باستخدام البريد الإلكتروني غير مفعّلة لهذا التطبيق",
"The login method: login with face is not enabled for the application": "طريقة تسجيل الدخول: تسجيل الدخول باستخدام الوجه غير مفعّلة لهذا التطبيق",
"The login method: login with password is not enabled for the application": "طريقة تسجيل الدخول: تسجيل الدخول باستخدام كلمة المرور غير مفعّلة لهذا التطبيق",
"The organization: %s does not exist": "المنظمة: %s غير موجودة",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "المزود: %s غير موجود",
"The provider: %s is not enabled for the application": "المزود: %s غير مفعّل لهذا التطبيق",
"Unauthorized operation": "عملية غير مصرح بها",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Účet pro poskytovatele: %s a uživatelské jméno: %s (%s) neexistuje a není povoleno se registrovat jako nový účet, prosím kontaktujte svou IT podporu",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Účet pro poskytovatele: %s a uživatelské jméno: %s (%s) je již propojen s jiným účtem: %s (%s)",
"The application: %s does not exist": "Aplikace: %s neexistuje",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Přihlašovací metoda: přihlášení pomocí LDAP není pro aplikaci povolena",
"The login method: login with SMS is not enabled for the application": "Přihlašovací metoda: přihlášení pomocí SMS není pro aplikaci povolena",
"The login method: login with email is not enabled for the application": "Přihlašovací metoda: přihlášení pomocí e-mailu není pro aplikaci povolena",
"The login method: login with face is not enabled for the application": "Přihlašovací metoda: přihlášení pomocí obličeje není pro aplikaci povolena",
"The login method: login with password is not enabled for the application": "Metoda přihlášení: přihlášení pomocí hesla není pro aplikaci povolena",
"The organization: %s does not exist": "Organizace: %s neexistuje",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Poskytovatel: %s neexistuje",
"The provider: %s is not enabled for the application": "Poskytovatel: %s není pro aplikaci povolen",
"Unauthorized operation": "Neoprávněná operace",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Das Konto für den Anbieter %s und Benutzernamen %s (%s) existiert nicht und es ist nicht erlaubt, ein neues Konto anzumelden. Bitte wenden Sie sich an Ihren IT-Support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Das Konto für den Anbieter %s und Benutzernamen %s (%s) ist bereits mit einem anderen Konto verknüpft: %s (%s)",
"The application: %s does not exist": "Die Anwendung: %s existiert nicht",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Die Anmeldemethode: Anmeldung mit LDAP ist für die Anwendung nicht aktiviert",
"The login method: login with SMS is not enabled for the application": "Die Anmeldemethode: Anmeldung per SMS ist für die Anwendung nicht aktiviert",
"The login method: login with email is not enabled for the application": "Die Anmeldemethode: Anmeldung per E-Mail ist für die Anwendung nicht aktiviert",
"The login method: login with face is not enabled for the application": "Die Anmeldemethode: Anmeldung per Gesicht ist für die Anwendung nicht aktiviert",
"The login method: login with password is not enabled for the application": "Die Anmeldeart \"Anmeldung mit Passwort\" ist für die Anwendung nicht aktiviert",
"The organization: %s does not exist": "Die Organisation: %s existiert nicht",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Der Anbieter: %s existiert nicht",
"The provider: %s is not enabled for the application": "Der Anbieter: %s ist nicht für die Anwendung aktiviert",
"Unauthorized operation": "Nicht autorisierte Operation",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)",
"The application: %s does not exist": "The application: %s does not exist",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "The login method: login with LDAP is not enabled for the application",
"The login method: login with SMS is not enabled for the application": "The login method: login with SMS is not enabled for the application",
"The login method: login with email is not enabled for the application": "The login method: login with email is not enabled for the application",
"The login method: login with face is not enabled for the application": "The login method: login with face is not enabled for the application",
"The login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
"The organization: %s does not exist": "The organization: %s does not exist",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "The provider: %s does not exist",
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
"Unauthorized operation": "Unauthorized operation",

View File

@@ -3,7 +3,7 @@
"Failed to add user": "No se pudo agregar el usuario",
"Get init score failed, error: %w": "Error al obtener el puntaje de inicio, error: %w",
"Please sign out first": "Por favor, cierra sesión primero",
"The application does not allow to sign up new account": "La aplicación no permite registrarse con una cuenta nueva"
"The application does not allow to sign up new account": "La aplicación no permite registrar nuevas cuentas"
},
"auth": {
"Challenge method should be S256": "El método de desafío debe ser S256",
@@ -12,16 +12,18 @@
"Failed to login in: %s": "No se ha podido iniciar sesión en: %s",
"Invalid token": "Token inválido",
"State expected: %s, but got: %s": "Estado esperado: %s, pero se obtuvo: %s",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account via %%s, please use another way to sign up": "La cuenta para el proveedor: %s y nombre de usuario: %s (%s) no existe y no está permitido registrarse como una cuenta nueva a través de %%s, por favor use otro método para registrarse",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "La cuenta para el proveedor: %s y el nombre de usuario: %s (%s) no existe y no se permite registrarse como una nueva cuenta, por favor contacte a su soporte de TI",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "La cuenta para proveedor: %s y nombre de usuario: %s (%s) ya está vinculada a otra cuenta: %s (%s)",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account via %%s, please use another way to sign up": "La cuenta para el proveedor: %s y el nombre de usuario: %s (%s) no existen y no está permitido registrarse como una cuenta nueva a través de %%s, por favor use otro método para registrarse",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "La cuenta para el proveedor: %s y el nombre de usuario: %s (%s) no existen y no se permite registrarse como una nueva cuenta, por favor contacte a su soporte de TI",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "La cuenta para el proveedor: %s y el nombre de usuario: %s (%s) ya está vinculada a otra cuenta: %s (%s)",
"The application: %s does not exist": "La aplicación: %s no existe",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "El método de inicio de sesión: inicio de sesión con LDAP no está habilitado para la aplicación",
"The login method: login with SMS is not enabled for the application": "El método de inicio de sesión: inicio de sesión con SMS no está habilitado para la aplicación",
"The login method: login with email is not enabled for the application": "El método de inicio de sesión: inicio de sesión con correo electrónico no está habilitado para la aplicación",
"The login method: login with face is not enabled for the application": "El método de inicio de sesión: inicio de sesión con reconocimiento facial no está habilitado para la aplicación",
"The login method: login with password is not enabled for the application": "El método de inicio de sesión: inicio de sesión con contraseña no está habilitado para la aplicación",
"The organization: %s does not exist": "La organización: %s no existe",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "El proveedor: %s no existe",
"The provider: %s is not enabled for the application": "El proveedor: %s no está habilitado para la aplicación",
"Unauthorized operation": "Operación no autorizada",
@@ -50,13 +52,13 @@
"Face data does not exist, cannot log in": "No existen datos faciales, no se puede iniciar sesión",
"Face data mismatch": "Los datos faciales no coinciden",
"Failed to parse client IP: %s": "Error al analizar la IP del cliente: %s",
"FirstName cannot be blank": "El nombre no puede estar en blanco",
"FirstName cannot be blank": "El Nombre no puede estar en blanco",
"Invitation code cannot be blank": "El código de invitación no puede estar vacío",
"Invitation code exhausted": "Código de invitación agotado",
"Invitation code is invalid": "Código de invitación inválido",
"Invitation code suspended": "Código de invitación suspendido",
"LDAP user name or password incorrect": "Nombre de usuario o contraseña de Ldap incorrectos",
"LastName cannot be blank": "El apellido no puede estar en blanco",
"LDAP user name or password incorrect": "Nombre de usuario o contraseña de LDAP incorrectos",
"LastName cannot be blank": "El Apellido no puede estar en blanco",
"Multiple accounts with same uid, please check your ldap server": "Cuentas múltiples con el mismo uid, por favor revise su servidor ldap",
"Organization does not exist": "La organización no existe",
"Password cannot be empty": "La contraseña no puede estar vacía",
@@ -70,7 +72,7 @@
"The invitation code has already been used": "El código de invitación ya ha sido utilizado",
"The user is forbidden to sign in, please contact the administrator": "El usuario no está autorizado a iniciar sesión, por favor contacte al administrador",
"The user: %s doesn't exist in LDAP server": "El usuario: %s no existe en el servidor LDAP",
"The username may only contain alphanumeric characters, underlines or hyphens, cannot have consecutive hyphens or underlines, and cannot begin or end with a hyphen or underline.": "El nombre de usuario solo puede contener caracteres alfanuméricos, guiones bajos o guiones, no puede tener guiones o subrayados consecutivos, y no puede comenzar ni terminar con un guión o subrayado.",
"The username may only contain alphanumeric characters, underlines or hyphens, cannot have consecutive hyphens or underlines, and cannot begin or end with a hyphen or underline.": "El nombre de usuario solo puede contener caracteres alfanuméricos, guiones bajos o medios, no puede tener guiones o subrayados consecutivos, y no puede comenzar ni terminar con un guión o subrayado.",
"The value \\\"%s\\\" for account field \\\"%s\\\" doesn't match the account item regex": "El valor \\\"%s\\\" para el campo de cuenta \\\"%s\\\" no coincide con la expresión regular del elemento de cuenta",
"The value \\\"%s\\\" for signup field \\\"%s\\\" doesn't match the signup item regex of the application \\\"%s\\\"": "El valor \\\"%s\\\" para el campo de registro \\\"%s\\\" no coincide con la expresión regular del elemento de registro de la aplicación \\\"%s\\\"",
"Username already exists": "El nombre de usuario ya existe",
@@ -80,7 +82,7 @@
"Username is too long (maximum is 255 characters).": "El nombre de usuario es demasiado largo (el máximo es de 255 caracteres).",
"Username must have at least 2 characters": "Nombre de usuario debe tener al menos 2 caracteres",
"Username supports email format. Also The username may only contain alphanumeric characters, underlines or hyphens, cannot have consecutive hyphens or underlines, and cannot begin or end with a hyphen or underline. Also pay attention to the email format.": "El nombre de usuario admite formato de correo electrónico. Además, el nombre de usuario solo puede contener caracteres alfanuméricos, guiones bajos o guiones, no puede tener guiones bajos o guiones consecutivos y no puede comenzar ni terminar con un guión o guión bajo. También preste atención al formato del correo electrónico.",
"You have entered the wrong password or code too many times, please wait for %d minutes and try again": "Has ingresado la contraseña o código incorrecto demasiadas veces, por favor espera %d minutos e intenta de nuevo",
"You have entered the wrong password or code too many times, please wait for %d minutes and try again": "Has ingresado la contraseña o código incorrectamente demasiadas veces, por favor espera %d minutos e intenta de nuevo",
"Your IP address: %s has been banned according to the configuration of: ": "Su dirección IP: %s ha sido bloqueada según la configuración de: ",
"Your password has expired. Please reset your password by clicking \\\"Forgot password\\\"": "Su contraseña ha expirado. Restablezca su contraseña haciendo clic en \\\"Olvidé mi contraseña\\\"",
"Your region is not allow to signup by phone": "Tu región no está permitida para registrarse por teléfono",
@@ -100,7 +102,7 @@
"The organization: %s should have one application at least": "La organización: %s debe tener al menos una aplicación",
"The user: %s doesn't exist": "El usuario: %s no existe",
"Wrong userId": "ID de usuario incorrecto",
"don't support captchaProvider: ": "No apoyo a captchaProvider",
"don't support captchaProvider: ": "no hay soporte para el captchaProvider: ",
"this operation is not allowed in demo mode": "esta operación no está permitida en modo de demostración",
"this operation requires administrator to perform": "esta operación requiere que el administrador la realice"
},
@@ -129,7 +131,7 @@
"the provider: %s does not exist": "El proveedor: %s no existe"
},
"resource": {
"User is nil for tag: avatar": "El usuario es nulo para la etiqueta: avatar",
"User is nil for tag: avatar": "El usuario es nulo para el tag: avatar",
"Username or fullFilePath is empty: username = %s, fullFilePath = %s": "Nombre de usuario o ruta completa de archivo está vacío: nombre de usuario = %s, ruta completa de archivo = %s"
},
"saml": {
@@ -158,7 +160,7 @@
"Token not found, invalid accessToken": "Token no encontrado, accessToken inválido"
},
"user": {
"Display name cannot be empty": "El nombre de pantalla no puede estar vacío",
"Display name cannot be empty": "El nombre para mostrar no puede estar vacío",
"MFA email is enabled but email is empty": "El correo electrónico MFA está habilitado pero el correo está vacío",
"MFA phone is enabled but phone number is empty": "El teléfono MFA está habilitado pero el número de teléfono está vacío",
"New password cannot contain blank space.": "La nueva contraseña no puede contener espacios en blanco.",
@@ -182,7 +184,7 @@
"You should verify your code in %d min!": "¡Deberías verificar tu código en %d minutos!",
"please add a SMS provider to the \\\"Providers\\\" list for the application: %s": "agregue un proveedor de SMS a la lista \\\"Proveedores\\\" para la aplicación: %s",
"please add an Email provider to the \\\"Providers\\\" list for the application: %s": "agregue un proveedor de correo electrónico a la lista \\\"Proveedores\\\" para la aplicación: %s",
"the user does not exist, please sign up first": "El usuario no existe, por favor regístrese primero"
"the user does not exist, please sign up first": "el usuario no existe, por favor regístrese primero"
},
"webauthn": {
"Found no credentials for this user": "Found no credentials for this user",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "حساب برای ارائه‌دهنده: %s و نام کاربری: %s (%s) وجود ندارد و مجاز به ثبت‌نام به‌عنوان حساب جدید نیست، لطفاً با پشتیبانی IT خود تماس بگیرید",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "حساب برای ارائه‌دهنده: %s و نام کاربری: %s (%s) در حال حاضر به حساب دیگری مرتبط است: %s (%s)",
"The application: %s does not exist": "برنامه: %s وجود ندارد",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "روش ورود: ورود با LDAP برای برنامه فعال نیست",
"The login method: login with SMS is not enabled for the application": "روش ورود: ورود با پیامک برای برنامه فعال نیست",
"The login method: login with email is not enabled for the application": "روش ورود: ورود با ایمیل برای برنامه فعال نیست",
"The login method: login with face is not enabled for the application": "روش ورود: ورود با چهره برای برنامه فعال نیست",
"The login method: login with password is not enabled for the application": "روش ورود: ورود با رمز عبور برای برنامه فعال نیست",
"The organization: %s does not exist": "سازمان: %s وجود ندارد",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "ارائه‌کننده: %s وجود ندارد",
"The provider: %s is not enabled for the application": "ارائه‌دهنده: %s برای برنامه فعال نیست",
"Unauthorized operation": "عملیات غیرمجاز",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Tiliä providerille: %s ja käyttäjälle: %s (%s) ei ole olemassa, eikä sitä voi rekisteröidä uutena tilinä, ota yhteyttä IT-tukeen",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Tili providerille: %s ja käyttäjälle: %s (%s) on jo linkitetty toiseen tiliin: %s (%s)",
"The application: %s does not exist": "Sovellus: %s ei ole olemassa",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Kirjautumistapa: kirjautuminen LDAP:n kautta ei ole käytössä sovelluksessa",
"The login method: login with SMS is not enabled for the application": "Kirjautumistapa: kirjautuminen SMS:n kautta ei ole käytössä sovelluksessa",
"The login method: login with email is not enabled for the application": "Kirjautumistapa: kirjautuminen sähköpostin kautta ei ole käytössä sovelluksessa",
"The login method: login with face is not enabled for the application": "Kirjautumistapa: kirjautuminen kasvotunnistuksella ei ole käytössä sovelluksessa",
"The login method: login with password is not enabled for the application": "Kirjautumistapa: kirjautuminen salasanalla ei ole käytössä sovelluksessa",
"The organization: %s does not exist": "Organisaatio: %s ei ole olemassa",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Provider: %s ei ole olemassa",
"The provider: %s is not enabled for the application": "Provider: %s ei ole käytössä sovelluksessa",
"Unauthorized operation": "Luvaton toiminto",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Le compte pour le fournisseur : %s et le nom d'utilisateur : %s (%s) n'existe pas et n'est pas autorisé à s'inscrire comme nouveau compte, veuillez contacter votre support informatique",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Le compte du fournisseur : %s et le nom d'utilisateur : %s (%s) sont déjà liés à un autre compte : %s (%s)",
"The application: %s does not exist": "L'application : %s n'existe pas",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "La méthode de connexion : connexion LDAP n'est pas activée pour l'application",
"The login method: login with SMS is not enabled for the application": "La méthode de connexion : connexion par SMS n'est pas activée pour l'application",
"The login method: login with email is not enabled for the application": "La méthode de connexion : connexion par e-mail n'est pas activée pour l'application",
"The login method: login with face is not enabled for the application": "La méthode de connexion : connexion par visage n'est pas activée pour l'application",
"The login method: login with password is not enabled for the application": "La méthode de connexion : connexion avec mot de passe n'est pas activée pour l'application",
"The organization: %s does not exist": "L'organisation : %s n'existe pas",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Le fournisseur : %s n'existe pas",
"The provider: %s is not enabled for the application": "Le fournisseur :%s n'est pas activé pour l'application",
"Unauthorized operation": "Opération non autorisée",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "החשבון עבור ספק: %s ושם משתמש: %s (%s) אינו קיים ואינו מאופשר להרשמה כחשבון חדש, אנא צור קשר עם התמיכה הטכנית",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "החשבון עבור ספק: %s ושם משתמש: %s (%s) כבר מקושר לחשבון אחר: %s (%s)",
"The application: %s does not exist": "האפליקציה: %s אינה קיימת",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "שיטת הכניסה: כניסה עם LDAP אינה מאופשרת לאפליקציה",
"The login method: login with SMS is not enabled for the application": "שיטת הכניסה: כניסה עם SMS אינה מאופשרת לאפליקציה",
"The login method: login with email is not enabled for the application": "שיטת הכניסה: כניסה עם אימייל אינה מאופשרת לאפליקציה",
"The login method: login with face is not enabled for the application": "שיטת הכניסה: כניסה עם פנים אינה מאופשרת לאפליקציה",
"The login method: login with password is not enabled for the application": "שיטת הכניסה: כניסה עם סיסמה אינה מאופשרת לאפליקציה",
"The organization: %s does not exist": "הארגון: %s אינו קיים",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "הספק: %s אינו קיים",
"The provider: %s is not enabled for the application": "הספק: %s אינו מאופשר לאפליקציה",
"Unauthorized operation": "פעולה לא מורשית",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Akun untuk penyedia: %s dan nama pengguna: %s (%s) tidak ada dan tidak diizinkan untuk mendaftar sebagai akun baru, silakan hubungi dukungan IT Anda",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Akun untuk penyedia: %s dan username: %s (%s) sudah terhubung dengan akun lain: %s (%s)",
"The application: %s does not exist": "Aplikasi: %s tidak ada",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Metode masuk: masuk dengan LDAP tidak diaktifkan untuk aplikasi ini",
"The login method: login with SMS is not enabled for the application": "Metode masuk: masuk dengan SMS tidak diaktifkan untuk aplikasi ini",
"The login method: login with email is not enabled for the application": "Metode masuk: masuk dengan email tidak diaktifkan untuk aplikasi ini",
"The login method: login with face is not enabled for the application": "Metode masuk: masuk dengan wajah tidak diaktifkan untuk aplikasi ini",
"The login method: login with password is not enabled for the application": "Metode login: login dengan sandi tidak diaktifkan untuk aplikasi tersebut",
"The organization: %s does not exist": "Organisasi: %s tidak ada",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Penyedia: %s tidak ada",
"The provider: %s is not enabled for the application": "Penyedia: %s tidak diaktifkan untuk aplikasi ini",
"Unauthorized operation": "Operasi tidak sah",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Account per provider: %s e utente: %s (%s) non esiste, registrazione non consentita: contatta l'assistenza IT",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Account per provider: %s e utente: %s (%s) già collegato a un altro account: %s (%s)",
"The application: %s does not exist": "L'app: %s non esiste",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Metodo di accesso: login con LDAP non abilitato per l'applicazione",
"The login method: login with SMS is not enabled for the application": "Metodo di accesso: login con SMS non abilitato per l'applicazione",
"The login method: login with email is not enabled for the application": "Metodo di accesso: login con email non abilitato per l'applicazione",
"The login method: login with face is not enabled for the application": "Metodo di accesso: login con riconoscimento facciale non abilitato per l'applicazione",
"The login method: login with password is not enabled for the application": "Login con password non abilitato per questa app",
"The organization: %s does not exist": "L'organizzazione: %s non esiste",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Il provider: %s non esiste",
"The provider: %s is not enabled for the application": "Il provider: %s non è abilitato per l'app",
"Unauthorized operation": "Operazione non autorizzata",

View File

@@ -1,30 +1,32 @@
{
"account": {
"Failed to add user": "ユーザーの追加に失敗しました",
"Get init score failed, error: %w": "イニットスコアの取得に失敗しました。エラー:%w",
"Please sign out first": "最初にサインアウトしてください",
"Get init score failed, error: %w": "初期スコアの取得に失敗しました。エラー:%w",
"Please sign out first": "にサインアウトしてください",
"The application does not allow to sign up new account": "アプリケーションは新しいアカウントの登録を許可しません"
},
"auth": {
"Challenge method should be S256": "チャレンジメソッドはS256である必要があります",
"DeviceCode Invalid": "デバイスコードが無効です",
"Failed to create user, user information is invalid: %s": "ユーザーの作成に失敗しました。ユーザー情報が無効です:%s",
"Failed to login in: %s": "ログインできませんでした:%s",
"Failed to login in: %s": "ログインに失敗しました: %s",
"Invalid token": "無効なトークン",
"State expected: %s, but got: %s": "期待される状態: %s、実際には%s",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account via %%s, please use another way to sign up": "プロバイダーのアカウント:%s とユーザー名:%s%sが存在せず、新しいアカウントを %%s 経由でサインアップすることはできません。他の方法でサインアップしてください",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "プロバイダー名:%sとユーザー名%s%sのアカウントは存在しません。新しいアカウントとしてサインアップすることはできません。 ITサポートに連絡してください",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "プロバイダのアカウント:%s とユーザー名:%s (%s) は既に別のアカウント:%s (%s) にリンクされています",
"The application: %s does not exist": "アプリケーション: %sは存在しません",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "このアプリケーションでは LDAP ログインは有効になっていません",
"The login method: login with SMS is not enabled for the application": "このアプリケーションでは SMS ログインは有効になっていません",
"The login method: login with email is not enabled for the application": "このアプリケーションではメールログインは有効になっていません",
"The login method: login with face is not enabled for the application": "このアプリケーションでは顔認証ログインは有効になっていません",
"The login method: login with password is not enabled for the application": "ログイン方法:パスワードでのログインはアプリケーションで有効になっていません",
"The login method: login with password is not enabled for the application": "ログイン方法:パスワードによるログインはアプリケーションで有効になっていません",
"The organization: %s does not exist": "組織「%s」は存在しません",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "プロバイダ「%s」は存在しません",
"The provider: %s is not enabled for the application": "プロバイダー:%sはアプリケーションでは有効化されていません",
"Unauthorized operation": "不正操作",
"Unauthorized operation": "権限のない操作",
"Unknown authentication type (not password or provider), form = %s": "不明な認証タイプ(パスワードまたはプロバイダーではない)フォーム=%s",
"User's tag: %s is not listed in the application's tags": "ユーザータグ「%s」はアプリケーションのタグに含まれていません",
"UserCode Expired": "ユーザーコードの有効期限が切れています",
@@ -43,25 +45,25 @@
"Default code does not match the code's matching rules": "デフォルトコードがコードの一致ルールに一致しません",
"DisplayName cannot be blank": "表示名は空白にできません",
"DisplayName is not valid real name": "表示名は有効な実名ではありません",
"Email already exists": "メールは既に存在します",
"Email cannot be empty": "メールが空白にできません",
"Email already exists": "メールアドレスは既に存在します",
"Email cannot be empty": "メールアドレスは空欄にはできません",
"Email is invalid": "電子メールは無効です",
"Empty username.": "空のユーザー名。",
"Empty username.": "ユーザー名が空白です。",
"Face data does not exist, cannot log in": "顔認証データが存在しないため、ログインできません",
"Face data mismatch": "顔認証データが一致しません",
"Failed to parse client IP: %s": "クライアント IP「%s」の解析に失敗しました",
"FirstName cannot be blank": "ファーストネームは空白にできません",
"FirstName cannot be blank": "名前は空白にできません",
"Invitation code cannot be blank": "招待コードは空にできません",
"Invitation code exhausted": "招待コードの使用回数が上限に達しました",
"Invitation code is invalid": "招待コードが無効です",
"Invitation code suspended": "招待コードは一時的に無効化されています",
"LDAP user name or password incorrect": "Ldapのユーザー名またはパスワードが間違っています",
"LastName cannot be blank": "は空白にできません",
"LDAP user name or password incorrect": "LDAPユーザー名またはパスワードが間違っています",
"LastName cannot be blank": "苗字は空白にできません",
"Multiple accounts with same uid, please check your ldap server": "同じuidを持つ複数のアカウントがあります。あなたのLDAPサーバーを確認してください",
"Organization does not exist": "組織は存在しません",
"Password cannot be empty": "パスワードは空にできません",
"Phone already exists": "電話はすでに存在しています",
"Phone cannot be empty": "電話は空っぽにできません",
"Phone already exists": "電話番号は既に存在します",
"Phone cannot be empty": "電話番号は空欄にできません",
"Phone number is invalid": "電話番号が無効です",
"Please register using the email corresponding to the invitation code": "招待コードに対応するメールアドレスで登録してください",
"Please register using the phone corresponding to the invitation code": "招待コードに対応する電話番号で登録してください",
@@ -70,11 +72,11 @@
"The invitation code has already been used": "この招待コードは既に使用されています",
"The user is forbidden to sign in, please contact the administrator": "ユーザーはサインインできません。管理者に連絡してください",
"The user: %s doesn't exist in LDAP server": "ユーザー「%s」は LDAP サーバーに存在しません",
"The username may only contain alphanumeric characters, underlines or hyphens, cannot have consecutive hyphens or underlines, and cannot begin or end with a hyphen or underline.": "ユーザー名には英数字、アンダースコア、ハイフンしか含めることができません。連続したハイフンまたはアンダースコアは不可であり、ハイフンまたはアンダースコアで始まるまたは終わることもできません。",
"The username may only contain alphanumeric characters, underlines or hyphens, cannot have consecutive hyphens or underlines, and cannot begin or end with a hyphen or underline.": "ユーザー名には英数字、アンダースコア、ハイフンしか含めることができません。連続したハイフンまたはアンダースコアは使用することができず、ハイフンまたはアンダースコアで始まるまたは終わることもできません。",
"The value \\\"%s\\\" for account field \\\"%s\\\" doesn't match the account item regex": "アカウントフィールド「%s」の値「%s」がアカウント項目の正規表現に一致しません",
"The value \\\"%s\\\" for signup field \\\"%s\\\" doesn't match the signup item regex of the application \\\"%s\\\"": "アプリケーション「%s」のサインアップ項目「%s」の値「%s」が正規表現に一致しません",
"Username already exists": "ユーザー名はすでに存在しています",
"Username cannot be an email address": "ユーザー名には電子メールアドレスを使用できません",
"Username cannot be an email address": "ユーザー名にはメールアドレスを使用できません",
"Username cannot contain white spaces": "ユーザ名にはスペースを含めることはできません",
"Username cannot start with a digit": "ユーザー名は数字で始めることはできません",
"Username is too long (maximum is 255 characters).": "ユーザー名が長すぎます最大255文字。",
@@ -83,7 +85,7 @@
"You have entered the wrong password or code too many times, please wait for %d minutes and try again": "あなたは間違ったパスワードまたはコードを何度も入力しました。%d 分間待ってから再度お試しください",
"Your IP address: %s has been banned according to the configuration of: ": "あなたの IP アドレス「%s」は設定によりアクセスが禁止されています: ",
"Your password has expired. Please reset your password by clicking \\\"Forgot password\\\"": "パスワードの有効期限が切れています。「パスワードを忘れた方はこちら」をクリックしてリセットしてください",
"Your region is not allow to signup by phone": "あなたの地域は電話でサインアップすることができません",
"Your region is not allow to signup by phone": "あなたの地域は電話番号でサインアップすることができません",
"password or code is incorrect": "パスワードまたはコードが正しくありません",
"password or code is incorrect, you have %s remaining chances": "パスワードまたはコードが間違っています。あと %s 回の試行機会があります",
"unsupported password type: %s": "サポートされていないパスワードタイプ:%s"
@@ -96,11 +98,11 @@
"Failed to import users": "ユーザーのインポートに失敗しました",
"Missing parameter": "不足しているパラメーター",
"Only admin user can specify user": "管理者ユーザーのみがユーザーを指定できます",
"Please login first": "最初にログインしてください",
"Please login first": "にログインしてください",
"The organization: %s should have one application at least": "組織「%s」は少なくとも1つのアプリケーションを持っている必要があります",
"The user: %s doesn't exist": "そのユーザー:%sは存在しません",
"Wrong userId": "無効なユーザーIDです",
"don't support captchaProvider: ": "captchaProviderをサポートしないでください",
"don't support captchaProvider: ": "CAPTCHAプロバイダーをサポートしていません: ",
"this operation is not allowed in demo mode": "この操作はデモモードでは許可されていません",
"this operation requires administrator to perform": "この操作は管理者権限が必要です"
},
@@ -108,24 +110,24 @@
"Ldap server exist": "LDAPサーバーは存在します"
},
"link": {
"Please link first": "最初にリンクしてください",
"Please link first": "にリンクしてください",
"This application has no providers": "このアプリケーションにはプロバイダーがありません",
"This application has no providers of type": "このアプリケーションにはタイプのプロバイダーがありません」と翻訳されます",
"This application has no providers of type": "このアプリケーションにはタイプのプロバイダーがありません",
"This provider can't be unlinked": "このプロバイダーはリンク解除できません",
"You are not the global admin, you can't unlink other users": "あなたはグローバル管理者ではありません他のユーザーのリンクを解除することはできません",
"You can't unlink yourself, you are not a member of any application": "あなたは自分自身をアンリンクすることはできません、あなたはどのアプリケーションのメンバーでもありません"
"You are not the global admin, you can't unlink other users": "あなたはグローバル管理者ではありません他のユーザーのリンクを解除できません",
"You can't unlink yourself, you are not a member of any application": "あなた自身をリンク解除することはできません、あなたはどのアプリケーションのメンバーでもありません"
},
"organization": {
"Only admin can modify the %s.": "管理者のみが%sを変更できます。",
"The %s is immutable.": "%sは不変です",
"Unknown modify rule %s.": "未知の変更ルール%s。",
"The %s is immutable.": "%s は変更不能です",
"Unknown modify rule %s.": "不明な変更ルール %s。",
"adding a new user to the 'built-in' organization is currently disabled. Please note: all users in the 'built-in' organization are global administrators in Casdoor. Refer to the docs: https://casdoor.org/docs/basic/core-concepts#how-does-casdoor-manage-itself. If you still wish to create a user for the 'built-in' organization, go to the organization's settings page and enable the 'Has privilege consent' option.": "「built-in」組み込み組織への新しいユーザーの追加は現在無効になっています。注意「built-in」組織のすべてのユーザーは、Casdoor のグローバル管理者です。ドキュメントを参照してくださいhttps://casdoor.org/docs/basic/core-concepts#how-does-casdoor-manage-itself。「built-in」組織のユーザーを作成したい場合は、組織の設定ページに移動し、「特権同意を持つ」オプションを有効にしてください。"
},
"permission": {
"The permission: \\\"%s\\\" doesn't exist": "権限「%s」は存在しません"
},
"provider": {
"Invalid application id": "アプリケーションIDが無効です",
"Invalid application id": "無効なアプリケーションID",
"the provider: %s does not exist": "プロバイダー%sは存在しません"
},
"resource": {
@@ -139,9 +141,9 @@
"provider %s's category is not SAML": "プロバイダ %s のカテゴリはSAMLではありません"
},
"service": {
"Empty parameters for emailForm: %v": "EmailFormの空のパラメーターv",
"Invalid Email receivers: %s": "無効な電子メール受信者%s",
"Invalid phone receivers: %s": "電話受信者が無効です:%s"
"Empty parameters for emailForm: %v": "メールフォームのパラメータは空です: %v",
"Invalid Email receivers: %s": "無効なメール受信者: %s",
"Invalid phone receivers: %s": "無効な電話受信者: %s"
},
"storage": {
"The objectKey: %s is not allowed": "オブジェクトキー %s は許可されていません",
@@ -151,14 +153,14 @@
"Error": "エラー"
},
"token": {
"Grant_type: %s is not supported in this application": "grant_type%sはこのアプリケーションでサポートされていません",
"Grant_type: %s is not supported in this application": "Grant_type: %s はこのアプリケーションでサポートされていません",
"Invalid application or wrong clientSecret": "無効なアプリケーションまたは誤ったクライアントシークレットです",
"Invalid client_id": "client_idが無効です",
"Redirect URI: %s doesn't exist in the allowed Redirect URI list": "リダイレクトURI%sは許可されたリダイレクトURIリストに存在しません",
"Invalid client_id": "無効なclient_idがです",
"Redirect URI: %s doesn't exist in the allowed Redirect URI list": "リダイレクトURI%sは許可されたリダイレクトURIリストに存在しません",
"Token not found, invalid accessToken": "トークンが見つかりません。無効なアクセストークンです"
},
"user": {
"Display name cannot be empty": "表示名は空にできません",
"Display name cannot be empty": "表示名は空にできません",
"MFA email is enabled but email is empty": "MFA メールが有効になっていますが、メールアドレスが空です",
"MFA phone is enabled but phone number is empty": "MFA 電話番号が有効になっていますが、電話番号が空です",
"New password cannot contain blank space.": "新しいパスワードにはスペースを含めることはできません。",
@@ -171,18 +173,18 @@
},
"verification": {
"Invalid captcha provider.": "無効なCAPTCHAプロバイダー。",
"Phone number is invalid in your region %s": "電話番号はあなたの地域無効です %s",
"Phone number is invalid in your region %s": "あなたの地域の電話番号は無効です %s",
"The verification code has already been used!": "この検証コードは既に使用されています!",
"The verification code has not been sent yet!": "検証コードはまだ送信されていません!",
"Turing test failed.": "チューリングテスト失敗しました",
"Unable to get the email modify rule.": "電子メール変更規則を取得できません。",
"Unable to get the phone modify rule.": "電話の変更ルールを取得できません。",
"Turing test failed.": "チューリングテスト失敗しました",
"Unable to get the email modify rule.": "メールアドレスの変更ルールを取得できません。",
"Unable to get the phone modify rule.": "電話番号の変更ルールを取得できません。",
"Unknown type": "不明なタイプ",
"Wrong verification code!": "誤った検証コードです!",
"You should verify your code in %d min!": "あなたは%d分であなたのコードを確認する必要があります",
"You should verify your code in %d min!": "%d 分以内にコードを確認してください!",
"please add a SMS provider to the \\\"Providers\\\" list for the application: %s": "アプリケーション「%s」の「Providers」リストに SMS プロバイダを追加してください",
"please add an Email provider to the \\\"Providers\\\" list for the application: %s": "アプリケーション「%s」の「Providers」リストにメールプロバイダを追加してください",
"the user does not exist, please sign up first": "ユーザーは存在しません。まず登録してください"
"the user does not exist, please sign up first": "ユーザーは存在しません。先にサインアップしてください"
},
"webauthn": {
"Found no credentials for this user": "Found no credentials for this user",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Account voor provider: %s en gebruikersnaam: %s (%s) bestaat niet en mag niet registreren, contacteer IT-support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Account voor provider: %s en gebruikersnaam: %s (%s) is al gelinkt aan ander account: %s (%s)",
"The application: %s does not exist": "Applicatie: %s bestaat niet",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Inloggen via LDAP is niet ingeschakeld voor deze applicatie",
"The login method: login with SMS is not enabled for the application": "Inloggen via SMS is niet ingeschakeld voor deze applicatie",
"The login method: login with email is not enabled for the application": "Inloggen via e-mail is niet ingeschakeld voor deze applicatie",
"The login method: login with face is not enabled for the application": "Inloggen via gezichtsherkenning is niet ingeschakeld voor deze applicatie",
"The login method: login with password is not enabled for the application": "Inloggen via wachtwoord is niet ingeschakeld voor deze applicatie",
"The organization: %s does not exist": "Organisatie: %s bestaat niet",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Provider: %s bestaat niet",
"The provider: %s is not enabled for the application": "Provider: %s is niet ingeschakeld voor de applicatie",
"Unauthorized operation": "Ongeautoriseerde handeling",

View File

@@ -1,29 +1,31 @@
{
"account": {
"Failed to add user": "사용자 추가 실패",
"Failed to add user": "사용자 추가 실패했습니다",
"Get init score failed, error: %w": "초기 점수 획득 실패, 오류: %w",
"Please sign out first": "먼저 로그아웃해주세요",
"The application does not allow to sign up new account": "이 응용 프로그램은 새로운 계정 가입을 허용하지 않습니다"
"The application does not allow to sign up new account": "이 애플리케이션은 새로운 계정 가입을 허용하고 있지 않습니다"
},
"auth": {
"Challenge method should be S256": "도전 방식은 S256이어야 합니다",
"Challenge method should be S256": "챌린지 방식(Challenge Method)은 S256이어야 합니다",
"DeviceCode Invalid": "장치 코드가 유효하지 않습니다",
"Failed to create user, user information is invalid: %s": "사용자를 만들지 못했습니다. 사용자 정보가 잘못되었습니다: %s",
"Failed to create user, user information is invalid: %s": "사용자를 만들지 못했습니다. 사용자 정보가 유효하지 않습니다: %s",
"Failed to login in: %s": "로그인에 실패했습니다.: %s",
"Invalid token": "유효하지 않은 토큰",
"Invalid token": "토큰이 유효하지 않습니다",
"State expected: %s, but got: %s": "예상한 상태: %s, 실제 상태: %s",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account via %%s, please use another way to sign up": "제공자 계정: %s와 사용자 이름: %s (%s)은(는) 존재하지 않으며 %%s를 통해 새 계정으로 가입하는 것이 허용되지 않습니다. 다른 방법으로 가입하십시오",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "공급자 계정 %s 사용자 이름 %s (%s) 존재하지 않으며 새 계정으로 등록할 수 없습니다. IT 지원팀에 문의하십시오",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "공급자 계정 %s 사용자 이름 %s(%s) 이미 다른 계정 %s(%s)에 연결되어 있습니다",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account via %%s, please use another way to sign up": "공급자(Provider) 계정: %s와 사용자 이름: %s (%s)은(는) 존재하지 않으며 %%s을(를) 통해 가입할 수 없습니다. 다른 방법을 시도해주세요",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "공급자(Provider) 계정 %s 사용자 이름 %s (%s)은(는) 존재하지 않으며 새 계정 등록할 수 없습니다. IT 지원팀에 문의해주세요",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "공급자(Provider) 계정 %s 사용자 이름 %s(%s)은(는) 이미 다른 계정 %s(%s)에 연결되어 있습니다",
"The application: %s does not exist": "해당 애플리케이션(%s)이 존재하지 않습니다",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "LDAP를 이용한 로그인 방식이 이 애플리케이션에 활성화되어 있지 않습니다",
"The login method: login with SMS is not enabled for the application": "SMS를 이용한 로그인 방식이 이 애플리케이션에 활성화되어 있지 않습니다",
"The login method: login with email is not enabled for the application": "이메일을 이용한 로그인 방식이 이 애플리케이션에 활성화되어 있지 않습니다",
"The login method: login with face is not enabled for the application": "얼굴 인식을 이용한 로그인 방식이 이 애플리케이션에 활성화되어 있지 않습니다",
"The login method: login with password is not enabled for the application": "어플리케이션에서는 암호를 용한 로그인 방법이 활성화되어 있지 않습니다",
"The login method: login with password is not enabled for the application": "로그인 방식: 이 애플리케이션은 비밀번호를 용한 로그인이 활성화되어 있습니다",
"The organization: %s does not exist": "조직 %s이(가) 존재하지 않습니다",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "제공자 %s이(가) 존재하지 않습니다",
"The provider: %s is not enabled for the application": "제공자 %s은(는) 응용 프로그램에서 활성화되어 있지 않습니다",
"The provider: %s is not enabled for the application": "제공자(Provider): %s은(는) 애플리케이션에서 활성화되어 있지 않습니다",
"Unauthorized operation": "무단 조작",
"Unknown authentication type (not password or provider), form = %s": "알 수 없는 인증 유형(암호 또는 공급자가 아님), 폼 = %s",
"User's tag: %s is not listed in the application's tags": "사용자의 태그 %s이(가) 애플리케이션의 태그 목록에 포함되어 있지 않습니다",
@@ -34,11 +36,11 @@
"the organization: %s is not found": "조직 %s을(를) 찾을 수 없습니다"
},
"cas": {
"Service %s and %s do not match": "서비스 %s와 %s 일치하지 않습니다"
"Service %s and %s do not match": "서비스 %s와 %s은(는) 일치하지 않습니다"
},
"check": {
"%s does not meet the CIDR format requirements: %s": "%s이(가) CIDR 형식 요구사항을 충족하지 않습니다: %s",
"Affiliation cannot be blank": "소속은 비워 둘 수 없습니다",
"Affiliation cannot be blank": "소속(Affiliation)은 비워둘 수 없습니다",
"CIDR for IP: %s should not be empty": "IP %s의 CIDR은 비어 있을 수 없습니다",
"Default code does not match the code's matching rules": "기본 코드가 코드 일치 규칙과 맞지 않습니다",
"DisplayName cannot be blank": "DisplayName는 비어 있을 수 없습니다",
@@ -46,11 +48,11 @@
"Email already exists": "이메일이 이미 존재합니다",
"Email cannot be empty": "이메일은 비어 있을 수 없습니다",
"Email is invalid": "이메일이 유효하지 않습니다",
"Empty username.": "사용자 이름.",
"Empty username.": "사용자 이름이 비어있음.",
"Face data does not exist, cannot log in": "얼굴 데이터가 존재하지 않아 로그인할 수 없습니다",
"Face data mismatch": "얼굴 데이터가 일치하지 않습니다",
"Failed to parse client IP: %s": "클라이언트 IP %s을(를) 파싱하는 데 실패했습니다",
"FirstName cannot be blank": "이름은 공백일 수 없습니다",
"FirstName cannot be blank": "이름은 비워둘 수 없습니다",
"Invitation code cannot be blank": "초대 코드는 비워둘 수 없습니다",
"Invitation code exhausted": "초대 코드가 모두 사용되었습니다",
"Invitation code is invalid": "초대 코드가 유효하지 않습니다",
@@ -58,32 +60,32 @@
"LDAP user name or password incorrect": "LDAP 사용자 이름 또는 암호가 잘못되었습니다",
"LastName cannot be blank": "성은 비어 있을 수 없습니다",
"Multiple accounts with same uid, please check your ldap server": "동일한 UID를 가진 여러 계정이 있습니다. LDAP 서버를 확인해주세요",
"Organization does not exist": "조직 존재하지 않습니다",
"Organization does not exist": "조직 존재하지 않습니다",
"Password cannot be empty": "비밀번호는 비워둘 수 없습니다",
"Phone already exists": "전화기는 이미 존재합니다",
"Phone cannot be empty": "전화는 비워 둘 수 없습니다",
"Phone already exists": "전화번호가 이미 존재합니다",
"Phone cannot be empty": "전화번호는 비워 둘 수 없습니다",
"Phone number is invalid": "전화번호가 유효하지 않습니다",
"Please register using the email corresponding to the invitation code": "초대 코드에 해당하는 이메일로 가입해 주세요",
"Please register using the phone corresponding to the invitation code": "초대 코드에 해당하는 전화번호로 가입해 주세요",
"Please register using the username corresponding to the invitation code": "초대 코드에 해당하는 사용자 이름으로 가입해 주세요",
"Session outdated, please login again": "세션이 만료되었습니다. 다시 로그인해주세요",
"The invitation code has already been used": "초대 코드는 이미 사용되었습니다",
"The user is forbidden to sign in, please contact the administrator": "사용자는 로그인이 금지되어 있습니다. 관리자에게 문의하십시오",
"The user is forbidden to sign in, please contact the administrator": "해당 사용자는 로그인이 제한되어 있습니다. 관리자에게 문의하십시오",
"The user: %s doesn't exist in LDAP server": "LDAP 서버에 사용자 %s이(가) 존재하지 않습니다",
"The username may only contain alphanumeric characters, underlines or hyphens, cannot have consecutive hyphens or underlines, and cannot begin or end with a hyphen or underline.": "사용자 이름은 알파벳, 숫자, 밑줄 또는 하이픈만 포함할 수 있으며, 연속된 하이픈 또는 밑줄을 가질 수 없으며, 하이픈 또는 밑줄로 시작하거나 끝날 수 없습니다.",
"The username may only contain alphanumeric characters, underlines or hyphens, cannot have consecutive hyphens or underlines, and cannot begin or end with a hyphen or underline.": "사용자 이름은 알파벳, 숫자, 언더바(_) 또는 하이픈(-)만 포함할 수 있으며, 연속된 하이픈 또는 언더바를 가질 수 없으며, 하이픈 또는 언더바로 시작하거나 끝날 수 없습니다.",
"The value \\\"%s\\\" for account field \\\"%s\\\" doesn't match the account item regex": "계정 필드 \\\"%s\\\"에 대한 값 \\\"%s\\\"이(가) 계정 항목 정규식과 일치하지 않습니다",
"The value \\\"%s\\\" for signup field \\\"%s\\\" doesn't match the signup item regex of the application \\\"%s\\\"": "가입 필드 \\\"%s\\\"에 대한 값 \\\"%s\\\"이(가) 애플리케이션 \\\"%s\\\"의 가입 항목 정규식과 일치하지 않습니다",
"Username already exists": "사용자 이름이 이미 존재합니다",
"Username cannot be an email address": "사용자 이름은 이메일 주소가 될 수 없습니다",
"Username cannot contain white spaces": "사용자 이름에는 공백 포함 수 없습니다",
"Username cannot contain white spaces": "사용자 이름에는 공백 포함 수 없습니다",
"Username cannot start with a digit": "사용자 이름은 숫자로 시작할 수 없습니다",
"Username is too long (maximum is 255 characters).": "사용자 이름이 너무 깁니다 (최대 255자).",
"Username must have at least 2 characters": "사용자 이름은 적어도 2개의 문자가 있어야 합니다",
"Username supports email format. Also The username may only contain alphanumeric characters, underlines or hyphens, cannot have consecutive hyphens or underlines, and cannot begin or end with a hyphen or underline. Also pay attention to the email format.": "사용자 이름은 이메일 형식을 지원합니다. 또한 사용자 이름은 영숫자, 밑줄 또는 하이픈만 포함할 수 있으며, 연속된 하이픈이나 밑줄은 불가능하며 하이픈이나 밑줄로 시작하거나 끝날 수 없습니다. 이메일 형식에도 주의하세요.",
"You have entered the wrong password or code too many times, please wait for %d minutes and try again": "올바르지 않은 비밀번호나 코드를 여러 번 입력했습니다. %d분 동안 기다리신 후 다시 시도해주세요",
"You have entered the wrong password or code too many times, please wait for %d minutes and try again": "올바르지 않은 비밀번호나 코드를 여러 번 입력했습니다. %d분 동안 기다 후 다시 시도해주세요",
"Your IP address: %s has been banned according to the configuration of: ": "IP 주소 %s이(가) 설정에 따라 차단되었습니다: ",
"Your password has expired. Please reset your password by clicking \\\"Forgot password\\\"": "비밀번호가 만료되었습니다. \\\"비밀번호 찾기\\\"를 클릭하여 비밀번호를 재설정하세요",
"Your region is not allow to signup by phone": "당신의 지역은 전화로 가입할 수 없습니다",
"Your region is not allow to signup by phone": " 지역은 전화번호로 가입할 수 없습니다",
"password or code is incorrect": "비밀번호 또는 코드가 올바르지 않습니다",
"password or code is incorrect, you have %s remaining chances": "암호 또는 코드가 올바르지 않습니다. %s 번의 기회가 남아 있습니다",
"unsupported password type: %s": "지원되지 않는 암호 유형: %s"
@@ -96,11 +98,11 @@
"Failed to import users": "사용자 가져오기를 실패했습니다",
"Missing parameter": "누락된 매개변수",
"Only admin user can specify user": "관리자만 사용자를 지정할 수 있습니다",
"Please login first": "먼저 로그인 하십시오",
"Please login first": "먼저 로그인하세요",
"The organization: %s should have one application at least": "조직 %s에는 최소 하나의 애플리케이션이 있어야 합니다",
"The user: %s doesn't exist": "사용자 %s는 존재하지 않습니다",
"The user: %s doesn't exist": "사용자(User): %s는 존재하지 않습니다",
"Wrong userId": "잘못된 사용자 ID입니다",
"don't support captchaProvider: ": "CaptchaProvider를 지원하지 마세요",
"don't support captchaProvider: ": "CaptchaProvider를 지원하지 않습니다: ",
"this operation is not allowed in demo mode": "이 작업은 데모 모드에서 허용되지 않습니다",
"this operation requires administrator to perform": "이 작업은 관리자 권한이 필요합니다"
},
@@ -111,12 +113,12 @@
"Please link first": "먼저 링크해주세요",
"This application has no providers": "이 애플리케이션에는 제공자가 없습니다",
"This application has no providers of type": "이 응용 프로그램은 타입의 공급자가 없습니다",
"This provider can't be unlinked": "이 공급자 연결 해제 수 없습니다",
"You are not the global admin, you can't unlink other users": "당신은 전역 관리자가 아니므로 다른 사용자의 연결을 해제할 수 없습니다",
"You can't unlink yourself, you are not a member of any application": "당신은 어떤 애플리케이션의 회원이 아니기 때문에 스스로 링크를 해제할 수 없습니다"
"This provider can't be unlinked": "이 공급자 연결 해제 수 없습니다",
"You are not the global admin, you can't unlink other users": "전역 관리자가 아니기 때문에 다른 사용자의 연결을 해제할 수 없습니다",
"You can't unlink yourself, you are not a member of any application": "아무 애플리케이션의 멤버도 아니기 때문에 스스로 링크를 해제할 수 없습니다"
},
"organization": {
"Only admin can modify the %s.": "관리자만 %s을(를) 수정할 수 있습니다.",
"Only admin can modify the %s.": "관리자만 %s을(를) 수정할 수 있습니다.",
"The %s is immutable.": "%s 는 변경할 수 없습니다.",
"Unknown modify rule %s.": "미확인 수정 규칙 %s.",
"adding a new user to the 'built-in' organization is currently disabled. Please note: all users in the 'built-in' organization are global administrators in Casdoor. Refer to the docs: https://casdoor.org/docs/basic/core-concepts#how-does-casdoor-manage-itself. If you still wish to create a user for the 'built-in' organization, go to the organization's settings page and enable the 'Has privilege consent' option.": "「built-in」組み込み組織への新しいユーザーの追加は現在無効になっています。注意「built-in」組織のすべてのユーザーは、Casdoor のグローバル管理者です。ドキュメントを参照してくださいhttps://casdoor.org/docs/basic/core-concepts#how-does-casdoor-manage-itself。「built-in」組織のユーザーを作成したい場合は、組織の設定ページに移動し、「特権同意を持つ」オプションを有効にしてください。"
@@ -126,10 +128,10 @@
},
"provider": {
"Invalid application id": "잘못된 애플리케이션 ID입니다",
"the provider: %s does not exist": "제공자 %s가 존재하지 않습니다"
"the provider: %s does not exist": "제공자(Provider): %s가 존재하지 않습니다"
},
"resource": {
"User is nil for tag: avatar": "사용자는 아바타 태그에 대해 nil입니다",
"User is nil for tag: avatar": "사용자의 avatar 태그의 값이 nil 입니다",
"Username or fullFilePath is empty: username = %s, fullFilePath = %s": "사용자 이름 또는 전체 파일 경로가 비어 있습니다: 사용자 이름 = %s, 전체 파일 경로 = %s"
},
"saml": {
@@ -144,18 +146,18 @@
"Invalid phone receivers: %s": "잘못된 전화 수신자: %s"
},
"storage": {
"The objectKey: %s is not allowed": "객체 키 : %s 는 허용되지 않습니다",
"The provider type: %s is not supported": "제공자 유형: %s은/는 지원되지 않습니다"
"The objectKey: %s is not allowed": "오브젝트 키 : %s 는 허용되지 않습니다",
"The provider type: %s is not supported": "제공자(Provider) 유형: %s은/는 지원되지 않습니다"
},
"subscription": {
"Error": "오류"
},
"token": {
"Grant_type: %s is not supported in this application": "그랜트 유형: %s은(는) 이 어플리케이션에서 지원되지 않습니다",
"Invalid application or wrong clientSecret": "잘못된 어플리케이션 또는 올바르지 않은 클라이언트 시크릿입니다",
"Invalid client_id": "잘못된 클라이언트 ID입니다",
"Redirect URI: %s doesn't exist in the allowed Redirect URI list": "허용된 Redirect URI 목록에 %s이(가) 존재하지 않습니다",
"Token not found, invalid accessToken": "토큰을 찾을 수 없습니다. 잘못된 액세스 토큰입니다"
"Grant_type: %s is not supported in this application": "Grant_type: %s은(는) 이 어플리케이션에서 지원되지 않습니다",
"Invalid application or wrong clientSecret": "어플리케이션이 유효하지 않거나 clientSecret이 잘못되었습니다",
"Invalid client_id": "client_id가 잘못되었습니다",
"Redirect URI: %s doesn't exist in the allowed Redirect URI list": "Redirect URI: 허용된 Redirect URI 목록에 %s이(가) 존재하지 않습니다",
"Token not found, invalid accessToken": "토큰을 찾을 수 없습니다. 유효하지 않은 accessToken입니다"
},
"user": {
"Display name cannot be empty": "디스플레이 이름은 비어 있을 수 없습니다",
@@ -170,8 +172,8 @@
"The provider: %s is not found": "제공자: %s를 찾을 수 없습니다"
},
"verification": {
"Invalid captcha provider.": "잘못된 captcha 제공자입니다.",
"Phone number is invalid in your region %s": "전화 번호가 당신의 지역 %s에서 유효하지 않습니다",
"Invalid captcha provider.": "유효하지 않은 Captcha 제공자입니다.",
"Phone number is invalid in your region %s": "전화번호가 당 지역 %s에서 유효하지 않습니다",
"The verification code has already been used!": "인증 코드는 이미 사용되었습니다!",
"The verification code has not been sent yet!": "인증 코드가 아직 전송되지 않았습니다!",
"Turing test failed.": "튜링 테스트 실패.",
@@ -182,7 +184,7 @@
"You should verify your code in %d min!": "당신은 %d분 안에 코드를 검증해야 합니다!",
"please add a SMS provider to the \\\"Providers\\\" list for the application: %s": "애플리케이션 %s의 \\\"제공자\\\" 목록에 SMS 제공자를 추가해 주세요",
"please add an Email provider to the \\\"Providers\\\" list for the application: %s": "애플리케이션 %s의 \\\"제공자\\\" 목록에 이메일 제공자를 추가해 주세요",
"the user does not exist, please sign up first": "사용자가 존재하지 않습니다. 먼저 회원 가입 해주세요"
"the user does not exist, please sign up first": "사용자가 존재하지 않습니다. 먼저 회원가입 해주세요"
},
"webauthn": {
"Found no credentials for this user": "Found no credentials for this user",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Akaun untuk pembekal: %s dan nama pengguna: %s (%s) tidak wujud dan tidak dibenarkan daftar, sila hubungi sokongan IT",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Akaun untuk pembekal: %s dan nama pengguna: %s (%s) sudah dipautkan kepada akaun lain: %s (%s)",
"The application: %s does not exist": "Aplikasi: %s tidak wujud",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Kaedah log masuk LDAP tidak dibenarkan untuk aplikasi ini",
"The login method: login with SMS is not enabled for the application": "Kaedah log masuk SMS tidak dibenarkan untuk aplikasi ini",
"The login method: login with email is not enabled for the application": "Kaedah log masuk emel tidak dibenarkan untuk aplikasi ini",
"The login method: login with face is not enabled for the application": "Kaedah log masuk muka tidak dibenarkan untuk aplikasi ini",
"The login method: login with password is not enabled for the application": "Kaedah log masuk kata laluan tidak dibenarkan untuk aplikasi ini",
"The organization: %s does not exist": "Organisasi: %s tidak wujud",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Pembekal: %s tidak wujud",
"The provider: %s is not enabled for the application": "Pembekal: %s tidak dibenarkan untuk aplikasi ini",
"Unauthorized operation": "Operasi tidak dibenarkan",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Gebruiker bestaat niet; aanmelden niet toegestaan, neem contact op met IT",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Account al gekoppeld aan andere gebruiker: %s (%s)",
"The application: %s does not exist": "Applicatie %s bestaat niet",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "LDAP-login uitgeschakeld voor deze app",
"The login method: login with SMS is not enabled for the application": "SMS-login uitgeschakeld voor deze app",
"The login method: login with email is not enabled for the application": "E-mail-login uitgeschakeld voor deze app",
"The login method: login with face is not enabled for the application": "Face-login uitgeschakeld voor deze app",
"The login method: login with password is not enabled for the application": "Wachtwoord-login uitgeschakeld voor deze app",
"The organization: %s does not exist": "Organisatie %s bestaat niet",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Provider %s bestaat niet",
"The provider: %s is not enabled for the application": "Provider %s uitgeschakeld voor deze app",
"Unauthorized operation": "Niet toegestane handeling",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Konto dla dostawcy: %s i nazwy użytkownika: %s (%s) nie istnieje i nie można się zarejestrować jako nowe konto, skontaktuj się z pomocą IT",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Konto dla dostawcy: %s i nazwy użytkownika: %s (%s) jest już powiązane z innym kontem: %s (%s)",
"The application: %s does not exist": "Aplikacja: %s nie istnieje",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Metoda logowania: logowanie przez LDAP nie jest włączone dla aplikacji",
"The login method: login with SMS is not enabled for the application": "Metoda logowania: logowanie przez SMS nie jest włączona dla aplikacji",
"The login method: login with email is not enabled for the application": "Metoda logowania: logowanie przez email nie jest włączona dla aplikacji",
"The login method: login with face is not enabled for the application": "Metoda logowania: logowanie przez twarz nie jest włączona dla aplikacji",
"The login method: login with password is not enabled for the application": "Metoda logowania: logowanie przez hasło nie jest włączone dla aplikacji",
"The organization: %s does not exist": "Organizacja: %s nie istnieje",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Dostawca: %s nie istnieje",
"The provider: %s is not enabled for the application": "Dostawca: %s nie jest włączony dla aplikacji",
"Unauthorized operation": "Nieautoryzowana operacja",
@@ -174,7 +176,7 @@
"Phone number is invalid in your region %s": "Numer telefonu jest nieprawidłowy w twoim regionie %s",
"The verification code has already been used!": "Kod weryfikacyjny został już wykorzystany!",
"The verification code has not been sent yet!": "Kod weryfikacyjny nie został jeszcze wysłany!",
"Turing test failed.": "Test Turinga nie powiódł się.",
"Turing test failed.": "Test Turinga oblany.",
"Unable to get the email modify rule.": "Nie można pobrać reguły modyfikacji email.",
"Unable to get the phone modify rule.": "Nie można pobrać reguły modyfikacji telefonu.",
"Unknown type": "Nieznany typ",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "A conta para o provedor: %s e nome de usuário: %s (%s) não existe e não é permitido inscrever-se como uma nova conta entre em contato com seu suporte de TI",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "A conta do provedor: %s e nome de usuário: %s (%s) já está vinculada a outra conta: %s (%s)",
"The application: %s does not exist": "O aplicativo: %s não existe",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "O método de login: login com LDAP não está ativado para a aplicação",
"The login method: login with SMS is not enabled for the application": "O método de login: login com SMS não está ativado para a aplicação",
"The login method: login with email is not enabled for the application": "O método de login: login com e-mail não está ativado para a aplicação",
"The login method: login with face is not enabled for the application": "O método de login: login com reconhecimento facial não está ativado para a aplicação",
"The login method: login with password is not enabled for the application": "O método de login: login com senha não está habilitado para o aplicativo",
"The organization: %s does not exist": "A organização: %s não existe",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "O provedor: %s não existe",
"The provider: %s is not enabled for the application": "O provedor: %s não está habilitado para o aplicativo",
"Unauthorized operation": "Operação não autorizada",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Аккаунт для провайдера: %s и имя пользователя: %s (%s) не существует и не может быть зарегистрирован как новый аккаунт. Пожалуйста, обратитесь в службу поддержки IT",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Аккаунт поставщика: %s и имя пользователя: %s (%s) уже связаны с другим аккаунтом: %s (%s)",
"The application: %s does not exist": "Приложение: %s не существует",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Метод входа через LDAP отключен для этого приложения",
"The login method: login with SMS is not enabled for the application": "Метод входа через SMS отключен для этого приложения",
"The login method: login with email is not enabled for the application": "Метод входа через электронную почту отключен для этого приложения",
"The login method: login with face is not enabled for the application": "Метод входа через распознавание лица отключен для этого приложения",
"The login method: login with password is not enabled for the application": "Метод входа: вход с паролем не включен для приложения",
"The organization: %s does not exist": "Организация: %s не существует",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Провайдер: %s не существует",
"The provider: %s is not enabled for the application": "Провайдер: %s не включен для приложения",
"Unauthorized operation": "Несанкционированная операция",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Účet pre poskytovateľa: %s a používateľské meno: %s (%s) neexistuje a nie je povolené zaregistrovať nový účet, prosím kontaktujte vašu IT podporu",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Účet pre poskytovateľa: %s a používateľské meno: %s (%s) je už prepojený s iným účtom: %s (%s)",
"The application: %s does not exist": "Aplikácia: %s neexistuje",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Metóda prihlásenia: prihlásenie pomocou LDAP nie je pre aplikáciu povolená",
"The login method: login with SMS is not enabled for the application": "Metóda prihlásenia: prihlásenie pomocou SMS nie je pre aplikáciu povolená",
"The login method: login with email is not enabled for the application": "Metóda prihlásenia: prihlásenie pomocou e-mailu nie je pre aplikáciu povolená",
"The login method: login with face is not enabled for the application": "Metóda prihlásenia: prihlásenie pomocou tváre nie je pre aplikáciu povolená",
"The login method: login with password is not enabled for the application": "Metóda prihlásenia: prihlásenie pomocou hesla nie je pre aplikáciu povolená",
"The organization: %s does not exist": "Organizácia: %s neexistuje",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Poskytovatel: %s neexistuje",
"The provider: %s is not enabled for the application": "Poskytovateľ: %s nie je pre aplikáciu povolený",
"Unauthorized operation": "Neautorizovaná operácia",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Kontot för leverantör: %s och användarnamn: %s (%s) finns inte och det är inte tillåtet att registrera ett nytt konto, kontakta din IT-support",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Kontot för leverantör: %s och användarnamn: %s (%s) är redan länkat till ett annat konto: %s (%s)",
"The application: %s does not exist": "Applikationen: %s finns inte",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Inloggningsmetoden: inloggning med LDAP är inte aktiverad för applikationen",
"The login method: login with SMS is not enabled for the application": "Inloggningsmetoden: inloggning med SMS är inte aktiverad för applikationen",
"The login method: login with email is not enabled for the application": "Inloggningsmetoden: inloggning med e-post är inte aktiverad för applikationen",
"The login method: login with face is not enabled for the application": "Inloggningsmetoden: inloggning med ansikte är inte aktiverad för applikationen",
"The login method: login with password is not enabled for the application": "Inloggningsmetoden: inloggning med lösenord är inte aktiverad för applikationen",
"The organization: %s does not exist": "Organisationen: %s finns inte",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Leverantören: %s finns inte",
"The provider: %s is not enabled for the application": "Leverantören: %s är inte aktiverad för applikationen",
"Unauthorized operation": "Obehörig åtgärd",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Provider: %s ve kullanıcı adı: %s (%s) için hesap mevcut değil ve yeni hesap açılmasına izin verilmiyor, lütfen BT destek ile iletişime geçin",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Provider: %s ve kullanıcı adı: %s (%s) zaten başka bir hesaba bağlı: %s (%s)",
"The application: %s does not exist": "Uygulama: %s bulunamadı",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Uygulama için LDAP ile giriş yöntemi etkin değil",
"The login method: login with SMS is not enabled for the application": "Uygulama için SMS ile giriş yöntemi etkin değil",
"The login method: login with email is not enabled for the application": "Uygulama için e-posta ile giriş yöntemi etkin değil",
"The login method: login with face is not enabled for the application": "Uygulama için yüz ile giriş yöntemi etkin değil",
"The login method: login with password is not enabled for the application": "Şifre ile giriş yöntemi bu uygulama için etkin değil",
"The organization: %s does not exist": "Organizasyon: %s mevcut değil",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Sağlayıcı: %s mevcut değil",
"The provider: %s is not enabled for the application": "Provider: %s bu uygulama için etkin değil",
"Unauthorized operation": "Yetkisiz işlem",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Обліковий запис для провайдера: %s та імені користувача: %s (%s) не існує і не дозволяється реєструвати як новий, зверніться до IT-підтримки",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Обліковий запис для провайдера: %s та імені користувача: %s (%s) уже пов’язаний з іншим обліковим записом: %s (%s)",
"The application: %s does not exist": "Додаток: %s не існує",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Метод входу через LDAP не увімкнено для цього додатка",
"The login method: login with SMS is not enabled for the application": "Метод входу через SMS не увімкнено для цього додатка",
"The login method: login with email is not enabled for the application": "Метод входу через email не увімкнено для цього додатка",
"The login method: login with face is not enabled for the application": "Метод входу через обличчя не увімкнено для цього додатка",
"The login method: login with password is not enabled for the application": "Метод входу через пароль не увімкнено для цього додатка",
"The organization: %s does not exist": "Організація: %s не існує",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Провайдер: %s не існує",
"The provider: %s is not enabled for the application": "Провайдер: %s не увімкнено для цього додатка",
"Unauthorized operation": "Неавторизована операція",

View File

@@ -16,12 +16,14 @@
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "Tài khoản cho nhà cung cấp: %s và tên người dùng: %s (%s) không tồn tại và không được phép đăng ký như một tài khoản mới, vui lòng liên hệ với bộ phận hỗ trợ công nghệ thông tin của bạn",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "Tài khoản cho nhà cung cấp: %s và tên người dùng: %s (%s) đã được liên kết với tài khoản khác: %s (%s)",
"The application: %s does not exist": "Ứng dụng: %s không tồn tại",
"The application: %s has disabled users to signin": "The application: %s has disabled users to signin",
"The login method: login with LDAP is not enabled for the application": "Phương thức đăng nhập bằng LDAP chưa được bật cho ứng dụng",
"The login method: login with SMS is not enabled for the application": "Phương thức đăng nhập bằng SMS chưa được bật cho ứng dụng",
"The login method: login with email is not enabled for the application": "Phương thức đăng nhập bằng email chưa được bật cho ứng dụng",
"The login method: login with face is not enabled for the application": "Phương thức đăng nhập bằng khuôn mặt chưa được bật cho ứng dụng",
"The login method: login with password is not enabled for the application": "Phương thức đăng nhập: đăng nhập bằng mật khẩu không được kích hoạt cho ứng dụng",
"The organization: %s does not exist": "Tổ chức: %s không tồn tại",
"The organization: %s has disabled users to signin": "The organization: %s has disabled users to signin",
"The provider: %s does not exist": "Nhà cung cấp: %s không tồn tại",
"The provider: %s is not enabled for the application": "Nhà cung cấp: %s không được kích hoạt cho ứng dụng",
"Unauthorized operation": "Hoạt động không được ủy quyền",

View File

@@ -10,18 +10,20 @@
"DeviceCode Invalid": "DeviceCode 无效",
"Failed to create user, user information is invalid: %s": "创建用户失败,用户信息无效: %s",
"Failed to login in: %s": "登录失败: %s",
"Invalid token": "无效token",
"Invalid token": "无效 token",
"State expected: %s, but got: %s": "期望状态为: %s, 实际状态为: %s",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account via %%s, please use another way to sign up": "提供商账户: %s 与用户名: %s (%s) 不存在且 不允许通过 %s 注册新账户, 请使用其他方式注册",
"The account for provider: %s and username: %s (%s) does not exist and is not allowed to sign up as new account, please contact your IT support": "提供商账户: %s 与用户名: %s (%s) 不存在且 不允许注册新账户, 请联系IT支持",
"The account for provider: %s and username: %s (%s) is already linked to another account: %s (%s)": "提供商账户: %s与用户名: %s (%s)已经与其他账户绑定: %s (%s)",
"The application: %s does not exist": "应用%s不存在",
"The application: %s has disabled users to signin": "应用: %s 禁止用户登录",
"The login method: login with LDAP is not enabled for the application": "该应用禁止采用LDAP登录方式",
"The login method: login with SMS is not enabled for the application": "该应用禁止采用短信登录方式",
"The login method: login with email is not enabled for the application": "该应用禁止采用邮箱登录方式",
"The login method: login with face is not enabled for the application": "该应用禁止采用人脸登录",
"The login method: login with password is not enabled for the application": "该应用禁止采用密码登录方式",
"The organization: %s does not exist": "组织: %s 不存在",
"The organization: %s has disabled users to signin": "组织: %s 禁止用户登录",
"The provider: %s does not exist": "提供商: %s 不存在",
"The provider: %s is not enabled for the application": "该应用的提供商: %s未被启用",
"Unauthorized operation": "未授权的操作",
@@ -55,9 +57,9 @@
"Invitation code exhausted": "邀请码使用次数已耗尽",
"Invitation code is invalid": "邀请码无效",
"Invitation code suspended": "邀请码已被禁止使用",
"LDAP user name or password incorrect": "LDAP密码错误",
"LDAP user name or password incorrect": "LDAP 密码错误",
"LastName cannot be blank": "姓不可以为空",
"Multiple accounts with same uid, please check your ldap server": "多个帐户具有相同的uid,请检查您的 LDAP 服务器",
"Multiple accounts with same uid, please check your ldap server": "多个帐户具有相同的 UID,请检查您的 LDAP 服务器",
"Organization does not exist": "组织不存在",
"Password cannot be empty": "密码不能为空",
"Phone already exists": "该手机号已存在",
@@ -69,7 +71,7 @@
"Session outdated, please login again": "会话已过期,请重新登录",
"The invitation code has already been used": "邀请码已被使用",
"The user is forbidden to sign in, please contact the administrator": "该用户被禁止登录,请联系管理员",
"The user: %s doesn't exist in LDAP server": "用户: %s 在LDAP服务器中未找到",
"The user: %s doesn't exist in LDAP server": "用户: %s 在 LDAP 服务器中未找到",
"The username may only contain alphanumeric characters, underlines or hyphens, cannot have consecutive hyphens or underlines, and cannot begin or end with a hyphen or underline.": "用户名只能包含字母数字字符、下划线或连字符,不能有连续的连字符或下划线,也不能以连字符或下划线开头或结尾",
"The value \\\"%s\\\" for account field \\\"%s\\\" doesn't match the account item regex": "值 \\\"%s\\\"在账户信息字段\\\"%s\\\" 中与应用的账户项正则表达式不匹配",
"The value \\\"%s\\\" for signup field \\\"%s\\\" doesn't match the signup item regex of the application \\\"%s\\\"": "值\\\"%s\\\"在注册字段\\\"%s\\\"中与应用\\\"%s\\\"的注册项正则表达式不匹配",
@@ -78,7 +80,7 @@
"Username cannot contain white spaces": "用户名禁止包含空格",
"Username cannot start with a digit": "用户名禁止使用数字开头",
"Username is too long (maximum is 255 characters).": "用户名过长最大允许长度为255个字符",
"Username must have at least 2 characters": "用户名至少要有2个字符",
"Username must have at least 2 characters": "用户名至少要有 2 个字符",
"Username supports email format. Also The username may only contain alphanumeric characters, underlines or hyphens, cannot have consecutive hyphens or underlines, and cannot begin or end with a hyphen or underline. Also pay attention to the email format.": "用户名支持电子邮件格式。此外,用户名只能包含字母数字字符、下划线或连字符,不能包含连续的连字符或下划线,也不能以连字符或下划线开头或结尾。同时请注意电子邮件格式。",
"You have entered the wrong password or code too many times, please wait for %d minutes and try again": "密码错误次数已达上限,请在 %d 分后重试",
"Your IP address: %s has been banned according to the configuration of: ": "您的IP地址%s 根据以下配置已被禁止: ",
@@ -101,7 +103,7 @@
"The user: %s doesn't exist": "用户: %s不存在",
"Wrong userId": "错误的 userId",
"don't support captchaProvider: ": "不支持验证码提供商: ",
"this operation is not allowed in demo mode": "demo模式下不允许该操作",
"this operation is not allowed in demo mode": "demo 模式下不允许该操作",
"this operation requires administrator to perform": "只有管理员才能进行此操作"
},
"ldap": {
@@ -130,7 +132,7 @@
},
"resource": {
"User is nil for tag: avatar": "上传头像时用户为空",
"Username or fullFilePath is empty: username = %s, fullFilePath = %s": "usernamefullFilePath为空: username = %s, fullFilePath = %s"
"Username or fullFilePath is empty: username = %s, fullFilePath = %s": "usernamefullFilePath 为空: username = %s, fullFilePath = %s"
},
"saml": {
"Application %s not found": "未找到应用: %s"
@@ -153,9 +155,9 @@
"token": {
"Grant_type: %s is not supported in this application": "该应用不支持Grant_type: %s",
"Invalid application or wrong clientSecret": "无效应用或错误的clientSecret",
"Invalid client_id": "无效的ClientId",
"Invalid client_id": "无效的客户端 ID",
"Redirect URI: %s doesn't exist in the allowed Redirect URI list": "重定向 URI%s在许可跳转列表中未找到",
"Token not found, invalid accessToken": "未查询到对应token, accessToken无效"
"Token not found, invalid accessToken": "未查询到对应 token, accessToken 无效"
},
"user": {
"Display name cannot be empty": "显示名称不可为空",
@@ -180,12 +182,12 @@
"Unknown type": "未知类型",
"Wrong verification code!": "验证码错误!",
"You should verify your code in %d min!": "请在 %d 分钟内输入正确验证码",
"please add a SMS provider to the \\\"Providers\\\" list for the application: %s": "请添加一个SMS提供商到应用 %s 的 \\\"提供商 \\\"列表",
"please add an Email provider to the \\\"Providers\\\" list for the application: %s": "请添加一个Email提供商到应用 %s 的 \\\"提供商 \\\"列表",
"please add a SMS provider to the \\\"Providers\\\" list for the application: %s": "请添加一个 SMS 提供商到应用: %s 的 \\\"提供商 \\\"列表",
"please add an Email provider to the \\\"Providers\\\" list for the application: %s": "请添加一个 Email 提供商到应用: %s 的 \\\"提供商 \\\"列表",
"the user does not exist, please sign up first": "用户不存在,请先注册"
},
"webauthn": {
"Found no credentials for this user": "Found no credentials for this user",
"Please call WebAuthnSigninBegin first": "请先调用WebAuthnSigninBegin函数"
"Please call WebAuthnSigninBegin first": "请先调用 WebAuthnSigninBegin 函数"
}
}

View File

@@ -17,7 +17,6 @@ package idp
import (
"bytes"
"crypto/sha1"
"encoding/base64"
"encoding/hex"
"encoding/json"
"fmt"
@@ -29,7 +28,6 @@ import (
"sync"
"time"
"github.com/skip2/go-qrcode"
"golang.org/x/oauth2"
)
@@ -324,10 +322,7 @@ func GetWechatOfficialAccountQRCode(clientId string, clientSecret string, provid
return "", "", err
}
var png []byte
png, err = qrcode.Encode(data.URL, qrcode.Medium, 256)
base64Image := base64.StdEncoding.EncodeToString(png)
return base64Image, data.Ticket, nil
return data.URL, data.Ticket, nil
}
func VerifyWechatSignature(token string, nonce string, timestamp string, signature string) bool {

View File

@@ -73,6 +73,7 @@
"initScore": 2000,
"enableSoftDeletion": false,
"isProfilePublic": true,
"disableSignin": false,
"accountItems": []
}
],
@@ -87,6 +88,7 @@
"cert": "",
"enablePassword": true,
"enableSignUp": true,
"disableSignin": false,
"clientId": "",
"clientSecret": "",
"providers": [

View File

@@ -19,6 +19,7 @@ import (
"fmt"
"hash/fnv"
"log"
"strings"
"github.com/casdoor/casdoor/conf"
"github.com/casdoor/casdoor/object"
@@ -149,10 +150,6 @@ func handleSearch(w ldap.ResponseWriter, m *ldap.Message) {
}
r := m.GetSearchRequest()
if r.FilterString() == "(objectClass=*)" {
w.Write(res)
return
}
// Handle Stop Signal (server stop / client disconnected / Abandoned request....)
select {
@@ -162,6 +159,43 @@ func handleSearch(w ldap.ResponseWriter, m *ldap.Message) {
default:
}
if strings.EqualFold(r.FilterString(), "(objectClass=*)") && (string(r.BaseObject()) == "" || strings.EqualFold(string(r.BaseObject()), "cn=Subschema")) {
handleRootSearch(w, &r, &res, m)
return
}
var isGroupSearch bool = false
filter := r.Filter()
if eq, ok := filter.(message.FilterEqualityMatch); ok && strings.EqualFold(string(eq.AttributeDesc()), "objectClass") && strings.EqualFold(string(eq.AssertionValue()), "posixGroup") {
isGroupSearch = true
}
if isGroupSearch {
groups, code := GetFilteredGroups(m, string(r.BaseObject()), r.FilterString())
if code != ldap.LDAPResultSuccess {
res.SetResultCode(code)
w.Write(res)
return
}
for _, group := range groups {
dn := fmt.Sprintf("cn=%s,%s", group.Name, string(r.BaseObject()))
e := ldap.NewSearchResultEntry(dn)
e.AddAttribute("cn", message.AttributeValue(group.Name))
gidNumberStr := fmt.Sprintf("%v", hash(group.Name))
e.AddAttribute("gidNumber", message.AttributeValue(gidNumberStr))
users := object.GetGroupUsersWithoutError(group.GetId())
for _, user := range users {
e.AddAttribute("memberUid", message.AttributeValue(user.Name))
}
e.AddAttribute("objectClass", "posixGroup")
w.Write(e)
}
w.Write(res)
return
}
users, code := GetFilteredUsers(m)
if code != ldap.LDAPResultSuccess {
res.SetResultCode(code)
@@ -200,6 +234,46 @@ func handleSearch(w ldap.ResponseWriter, m *ldap.Message) {
w.Write(res)
}
func handleRootSearch(w ldap.ResponseWriter, r *message.SearchRequest, res *message.SearchResultDone, m *ldap.Message) {
if len(r.Attributes()) == 0 {
w.Write(res)
return
}
firstAttr := string(r.Attributes()[0])
if string(r.BaseObject()) == "" {
// Handle special root DSE requests
if strings.EqualFold(firstAttr, "namingContexts") {
orgs, code := GetFilteredOrganizations(m)
if code != ldap.LDAPResultSuccess {
res.SetResultCode(code)
w.Write(res)
return
}
e := ldap.NewSearchResultEntry(string(r.BaseObject()))
dnlist := make([]message.AttributeValue, len(orgs))
for i, org := range orgs {
dnlist[i] = message.AttributeValue(fmt.Sprintf("ou=%s", org.Name))
}
e.AddAttribute("namingContexts", dnlist...)
w.Write(e)
} else if strings.EqualFold(firstAttr, "subschemaSubentry") {
e := ldap.NewSearchResultEntry(string(r.BaseObject()))
e.AddAttribute("subschemaSubentry", message.AttributeValue("cn=Subschema"))
w.Write(e)
}
} else if strings.EqualFold(firstAttr, "objectclasses") && strings.EqualFold(string(r.BaseObject()), "cn=Subschema") {
e := ldap.NewSearchResultEntry(string(r.BaseObject()))
e.AddAttribute("objectClasses", []message.AttributeValue{
"( 1.3.6.1.1.1.2.0 NAME 'posixAccount' DESC 'Abstraction of an account with POSIX attributes' SUP top AUXILIARY MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory ) MAY ( userPassword $ loginShell $ gecos $ description ) )",
"( 1.3.6.1.1.1.2.2 NAME 'posixGroup' DESC 'Abstraction of a group of accounts' SUP top STRUCTURAL MUST ( cn $ gidNumber ) MAY ( userPassword $ memberUid $ description ) )",
}...)
w.Write(e)
}
w.Write(res)
}
func hash(s string) uint32 {
h := fnv.New32a()
h.Write([]byte(s))

View File

@@ -184,6 +184,10 @@ func buildUserFilterCondition(filter interface{}) (builder.Cond, error) {
case message.FilterEqualityMatch:
attr := string(f.AttributeDesc())
if strings.EqualFold(attr, "objectclass") && strings.EqualFold(string(f.AssertionValue()), "posixAccount") {
return builder.Expr("1 = 1"), nil
}
if attr == ldapMemberOfAttr {
var names []string
groupId := string(f.AssertionValue())
@@ -200,6 +204,9 @@ func buildUserFilterCondition(filter interface{}) (builder.Cond, error) {
}
return builder.Eq{field: string(f.AssertionValue())}, nil
case message.FilterPresent:
if strings.EqualFold(string(f), "objectclass") {
return builder.Expr("1 = 1"), nil
}
field, err := getUserFieldFromAttribute(string(f))
if err != nil {
return nil, err
@@ -321,6 +328,59 @@ func GetFilteredUsers(m *ldap.Message) (filteredUsers []*object.User, code int)
}
}
func GetFilteredGroups(m *ldap.Message, baseDN string, filterStr string) ([]*object.Group, int) {
name, org, code := getNameAndOrgFromFilter(baseDN, filterStr)
if code != ldap.LDAPResultSuccess {
return nil, code
}
var groups []*object.Group
var err error
if name == "*" {
if m.Client.IsGlobalAdmin && org == "*" {
groups, err = object.GetGlobalGroups()
if err != nil {
panic(err)
}
} else if m.Client.IsGlobalAdmin || org == m.Client.OrgName {
groups, err = object.GetGroups(org)
if err != nil {
panic(err)
}
} else {
return nil, ldap.LDAPResultInsufficientAccessRights
}
} else {
return nil, ldap.LDAPResultNoSuchObject
}
return groups, ldap.LDAPResultSuccess
}
func GetFilteredOrganizations(m *ldap.Message) ([]*object.Organization, int) {
if m.Client.IsGlobalAdmin {
organizations, err := object.GetOrganizations("")
if err != nil {
panic(err)
}
return organizations, ldap.LDAPResultSuccess
} else if m.Client.IsOrgAdmin {
requestUserId := util.GetId(m.Client.OrgName, m.Client.UserName)
user, err := object.GetUser(requestUserId)
if err != nil {
panic(err)
}
organization, err := object.GetOrganizationByUser(user)
if err != nil {
panic(err)
}
return []*object.Organization{organization}, ldap.LDAPResultSuccess
} else {
return nil, ldap.LDAPResultInsufficientAccessRights
}
}
// get user password with hash type prefix
// TODO not handle salt yet
// @return {md5}5f4dcc3b5aa765d61d8327deb882cf99

View File

@@ -75,6 +75,7 @@ type Application struct {
HeaderHtml string `xorm:"mediumtext" json:"headerHtml"`
EnablePassword bool `json:"enablePassword"`
EnableSignUp bool `json:"enableSignUp"`
DisableSignin bool `json:"disableSignin"`
EnableSigninSession bool `json:"enableSigninSession"`
EnableAutoSignin bool `json:"enableAutoSignin"`
EnableCodeSignin bool `json:"enableCodeSignin"`

View File

@@ -206,6 +206,36 @@ func GetPolicies(id string) ([]*xormadapter.CasbinRule, error) {
return res, nil
}
func GetFilteredPolicies(id string, ptype string, fieldIndex int, fieldValues ...string) ([]*xormadapter.CasbinRule, error) {
enforcer, err := GetInitializedEnforcer(id)
if err != nil {
return nil, err
}
var allRules [][]string
if len(fieldValues) == 0 {
if ptype == "g" {
allRules = enforcer.GetFilteredGroupingPolicy(fieldIndex)
} else {
allRules = enforcer.GetFilteredPolicy(fieldIndex)
}
} else {
for _, value := range fieldValues {
if ptype == "g" {
rules := enforcer.GetFilteredGroupingPolicy(fieldIndex, value)
allRules = append(allRules, rules...)
} else {
rules := enforcer.GetFilteredPolicy(fieldIndex, value)
allRules = append(allRules, rules...)
}
}
}
res := util.MatrixToCasbinRules(ptype, allRules)
return res, nil
}
func UpdatePolicy(id string, ptype string, oldPolicy []string, newPolicy []string) (bool, error) {
enforcer, err := GetInitializedEnforcer(id)
if err != nil {

View File

@@ -70,6 +70,16 @@ func GetGroups(owner string) ([]*Group, error) {
return groups, nil
}
func GetGlobalGroups() ([]*Group, error) {
groups := []*Group{}
err := ormer.Engine.Desc("created_time").Find(&groups)
if err != nil {
return nil, err
}
return groups, nil
}
func GetPaginationGroups(owner string, offset, limit int, field, value, sortField, sortOrder string) ([]*Group, error) {
groups := []*Group{}
session := GetSession(owner, offset, limit, field, value, sortField, sortOrder)

View File

@@ -80,6 +80,7 @@ type Organization struct {
IsProfilePublic bool `json:"isProfilePublic"`
UseEmailAsUsername bool `json:"useEmailAsUsername"`
EnableTour bool `json:"enableTour"`
DisableSignin bool `json:"disableSignin"`
IpRestriction string `json:"ipRestriction"`
NavItems []string `xorm:"mediumtext" json:"navItems"`
WidgetItems []string `xorm:"mediumtext" json:"widgetItems"`

View File

@@ -125,10 +125,10 @@ func getPolicies(permission *Permission) [][]string {
for _, action := range permission.Actions {
if domainExist {
for _, domain := range permission.Domains {
policies = append(policies, []string{userOrRole, domain, resource, strings.ToLower(action), strings.ToLower(permission.Effect), permissionId})
policies = append(policies, []string{userOrRole, domain, resource, action, strings.ToLower(permission.Effect), permissionId})
}
} else {
policies = append(policies, []string{userOrRole, resource, strings.ToLower(action), strings.ToLower(permission.Effect), "", permissionId})
policies = append(policies, []string{userOrRole, resource, action, strings.ToLower(permission.Effect), "", permissionId})
}
}
}

View File

@@ -20,6 +20,7 @@ import (
"strings"
"time"
"github.com/casdoor/casdoor/conf"
"github.com/casdoor/casdoor/util"
"github.com/golang-jwt/jwt/v5"
)
@@ -341,10 +342,31 @@ func getClaimsCustom(claims Claims, tokenField []string) jwt.MapClaims {
res["provider"] = claims.Provider
for _, field := range tokenField {
userField := userValue.FieldByName(field)
if userField.IsValid() {
newfield := util.SnakeToCamel(util.CamelToSnakeCase(field))
res[newfield] = userField.Interface()
if strings.HasPrefix(field, "Properties") {
/*
Use selected properties fields as custom claims.
Converts `Properties.my_field` to custom claim with name `my_field`.
*/
parts := strings.Split(field, ".")
if len(parts) != 2 || parts[0] != "Properties" { // Either too many segments, or not properly scoped to `Properties`, so skip.
continue
}
base, fieldName := parts[0], parts[1]
mField := userValue.FieldByName(base)
if !mField.IsValid() { // Can't find `Properties` field, so skip.
continue
}
finalField := mField.MapIndex(reflect.ValueOf(fieldName))
if finalField.IsValid() { // // Provided field within `Properties` exists, add claim.
res[fieldName] = finalField.Interface()
}
} else { // Use selected user field as claims.
userField := userValue.FieldByName(field)
if userField.IsValid() {
newfield := util.SnakeToCamel(util.CamelToSnakeCase(field))
res[newfield] = userField.Interface()
}
}
}
@@ -381,6 +403,14 @@ func generateJwtToken(application *Application, user *User, provider string, non
refreshExpireTime = expireTime
}
if conf.GetConfigBool("useGroupPathInToken") {
groupPath, err := user.GetUserFullGroupPath()
if err != nil {
return "", "", "", err
}
user.Groups = groupPath
}
user = refineUser(user)
_, originBackend := getOriginFromHost(host)

View File

@@ -807,7 +807,7 @@ func UpdateUser(id string, user *User, columns []string, isAdmin bool) (bool, er
columns = append(columns, "deleted_time")
}
if util.ContainsString(columns, "groups") {
if util.InSlice(columns, "groups") {
_, err := userEnforcer.UpdateGroupsForUser(user.GetId(), user.Groups)
if err != nil {
return false, err
@@ -1331,6 +1331,56 @@ func (user *User) CheckUserFace(faceIdImage []string, provider *Provider) (bool,
return false, nil
}
func (user *User) GetUserFullGroupPath() ([]string, error) {
if len(user.Groups) == 0 {
return []string{}, nil
}
var orgGroups []*Group
orgGroups, err := GetGroups(user.Owner)
if err != nil {
return nil, err
}
groupMap := make(map[string]Group)
for _, group := range orgGroups {
groupMap[group.Name] = *group
}
var groupFullPath []string
for _, groupId := range user.Groups {
_, groupName := util.GetOwnerAndNameFromIdNoCheck(groupId)
group, ok := groupMap[groupName]
if !ok {
continue
}
groupPath := groupName
curGroup, ok := groupMap[group.ParentId]
if !ok {
return []string{}, fmt.Errorf("group:Group %s not exist", group.ParentId)
}
for {
groupPath = util.GetId(curGroup.Name, groupPath)
if curGroup.IsTopGroup {
break
}
curGroup, ok = groupMap[curGroup.ParentId]
if !ok {
return []string{}, fmt.Errorf("group:Group %s not exist", curGroup.ParentId)
}
}
groupPath = util.GetId(curGroup.Owner, groupPath)
groupFullPath = append(groupFullPath, groupPath)
}
return groupFullPath, nil
}
func GenerateIdForNewUser(application *Application) (string, error) {
if application == nil || application.GetSignupItemRule("ID") != "Incremental" {
return util.GenerateId(), nil

View File

@@ -160,6 +160,7 @@ func initAPI() {
beego.Router("/api/add-adapter", &controllers.ApiController{}, "POST:AddAdapter")
beego.Router("/api/delete-adapter", &controllers.ApiController{}, "POST:DeleteAdapter")
beego.Router("/api/get-policies", &controllers.ApiController{}, "GET:GetPolicies")
beego.Router("/api/get-filtered-policies", &controllers.ApiController{}, "GET:GetFilteredPolicies")
beego.Router("/api/update-policy", &controllers.ApiController{}, "POST:UpdatePolicy")
beego.Router("/api/add-policy", &controllers.ApiController{}, "POST:AddPolicy")
beego.Router("/api/remove-policy", &controllers.ApiController{}, "POST:RemovePolicy")

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,7 @@
package util
import "sort"
import "slices"
func DeleteVal(values []string, val string) []string {
newValues := []string{}
@@ -38,18 +38,8 @@ func ReplaceVal(values []string, oldVal string, newVal string) []string {
return newValues
}
func ContainsString(values []string, val string) bool {
sort.Strings(values)
return sort.SearchStrings(values, val) != len(values)
}
func InSlice(slice []string, elem string) bool {
for _, val := range slice {
if val == elem {
return true
}
}
return false
return slices.Contains(slice, elem)
}
func ReturnAnyNotEmpty(strs ...string) string {

View File

@@ -54,10 +54,10 @@ func IsPhoneValid(phone string, countryCode string) bool {
}
func IsPhoneAllowInRegin(countryCode string, allowRegions []string) bool {
if ContainsString(allowRegions, "All") {
if InSlice(allowRegions, "All") {
return true
}
return ContainsString(allowRegions, countryCode)
return InSlice(allowRegions, countryCode)
}
func IsRegexp(s string) (bool, error) {

View File

@@ -543,6 +543,16 @@ class ApplicationEditPage extends React.Component {
}} />
</Col>
</Row>
<Row style={{marginTop: "20px"}} >
<Col style={{marginTop: "5px"}} span={(Setting.isMobile()) ? 19 : 2}>
{Setting.getLabel(i18next.t("application:Disable signin"), i18next.t("application:Disable signin - Tooltip"))} :
</Col>
<Col span={1} >
<Switch checked={this.state.application.disableSignin} onChange={checked => {
this.updateApplicationField("disableSignin", checked);
}} />
</Col>
</Row>
<Row style={{marginTop: "20px"}} >
<Col style={{marginTop: "5px"}} span={(Setting.isMobile()) ? 19 : 2}>
{Setting.getLabel(i18next.t("application:Signin session"), i18next.t("application:Enable signin session - Tooltip"))} :

View File

@@ -41,6 +41,7 @@ class ApplicationListPage extends BaseListPage {
logo: `${Setting.StaticBaseUrl}/img/casdoor-logo_1185x256.png`,
enablePassword: true,
enableSignUp: true,
disableSignin: false,
enableSigninSession: false,
enableCodeSignin: false,
enableSamlCompress: false,

View File

@@ -561,6 +561,16 @@ class OrganizationEditPage extends React.Component {
}} />
</Col>
</Row>
<Row style={{marginTop: "20px"}} >
<Col style={{marginTop: "5px"}} span={(Setting.isMobile()) ? 19 : 2}>
{Setting.getLabel(i18next.t("application:Disable signin"), i18next.t("application:Disable signin - Tooltip"))} :
</Col>
<Col span={1} >
<Switch checked={this.state.organization.disableSignin} onChange={checked => {
this.updateOrganizationField("disableSignin", checked);
}} />
</Col>
</Row>
<Row style={{marginTop: "20px"}} >
<Col style={{marginTop: "5px"}} span={(Setting.isMobile()) ? 22 : 2}>
{Setting.getLabel(i18next.t("organization:Navbar items"), i18next.t("organization:Navbar items - Tooltip"))} :

View File

@@ -49,6 +49,7 @@ class OrganizationListPage extends BaseListPage {
enableSoftDeletion: false,
isProfilePublic: true,
enableTour: true,
disableSignin: false,
mfaRememberInHours: DefaultMfaRememberInHours,
accountItems: [
{name: "Organization", visible: true, viewRule: "Public", modifyRule: "Admin"},

View File

@@ -878,9 +878,17 @@ class ProviderEditPage extends React.Component {
{this.getClientSecret2Label(this.state.provider)} :
</Col>
<Col span={22} >
<Input value={this.state.provider.clientSecret2} onChange={e => {
this.updateProviderField("clientSecret2", e.target.value);
}} />
{
(this.state.provider.category === "OAuth" && this.state.provider.type === "Apple") ? (
<TextArea autoSize={{minRows: 1, maxRows: 20}} value={this.state.provider.clientSecret2} onChange={e => {
this.updateProviderField("clientSecret2", e.target.value);
}} />
) : (
<Input value={this.state.provider.clientSecret2} onChange={e => {
this.updateProviderField("clientSecret2", e.target.value);
}} />
)
}
</Col>
</Row>
)

View File

@@ -1816,3 +1816,24 @@ export function renderLoginPanel(application, getInnerComponent, componentThis)
</div>
);
}
export function createFormAndSubmit(url, params) {
const form = document.createElement("form");
form.method = "post";
form.action = url;
for (const k in params) {
if (!params[k]) {
continue;
}
const input = document.createElement("input");
input.type = "hidden";
input.name = k;
input.value = params[k];
form.appendChild(input);
}
document.body.appendChild(form);
form.submit();
setTimeout(() => {form.remove();}, 500);
}

View File

@@ -34,6 +34,7 @@ const applicationTemplate = {
logo: `${Setting.StaticBaseUrl}/img/casdoor-logo_1185x256.png`,
enablePassword: true,
enableSignUp: true,
disableSignin: false,
enableSigninSession: false,
enableCodeSignin: false,
enableSamlCompress: false,

View File

@@ -21,7 +21,7 @@ import {authConfig} from "./Auth";
import * as Setting from "../Setting";
import i18next from "i18next";
import RedirectForm from "../common/RedirectForm";
import {renderLoginPanel} from "../Setting";
import {createFormAndSubmit, renderLoginPanel} from "../Setting";
class AuthCallback extends React.Component {
constructor(props) {
@@ -35,30 +35,6 @@ class AuthCallback extends React.Component {
};
}
submitFormPost(redirectUri, code, state) {
const form = document.createElement("form");
form.method = "post";
form.action = redirectUri;
const codeInput = document.createElement("input");
codeInput.type = "hidden";
codeInput.name = "code";
codeInput.value = code;
form.appendChild(codeInput);
if (state) {
const stateInput = document.createElement("input");
stateInput.type = "hidden";
stateInput.name = "state";
stateInput.value = state;
form.appendChild(stateInput);
}
document.body.appendChild(form);
form.submit();
setTimeout(() => form.remove(), 1000);
}
getInnerParams() {
// For example, for Casbin-OA, realRedirectUri = "http://localhost:9000/login"
// realRedirectUrl = "http://localhost:9000"
@@ -189,6 +165,7 @@ class AuthCallback extends React.Component {
.then((res) => {
if (res.status === "ok") {
const responseType = this.getResponseType();
const responseTypes = responseType.split(" ");
const handleLogin = (res) => {
if (responseType === "login") {
if (res.data3) {
@@ -208,20 +185,35 @@ class AuthCallback extends React.Component {
}
if (responseMode === "form_post") {
this.submitFormPost(oAuthParams?.redirectUri, res.data, oAuthParams?.state);
const params = {
code: res.data,
state: oAuthParams?.state,
};
createFormAndSubmit(oAuthParams?.redirectUri, params);
} else {
const code = res.data;
Setting.goToLink(`${oAuthParams.redirectUri}${concatChar}code=${code}&state=${oAuthParams.state}`);
}
// Setting.showMessage("success", `Authorization code: ${res.data}`);
} else if (responseType === "token" || responseType === "id_token") {
} else if (responseTypes.includes("token") || responseTypes.includes("id_token")) {
if (res.data3) {
sessionStorage.setItem("signinUrl", signinUrl);
Setting.goToLinkSoft(this, `/forget/${applicationName}`);
return;
}
const token = res.data;
Setting.goToLink(`${oAuthParams.redirectUri}${concatChar}${responseType}=${token}&state=${oAuthParams.state}&token_type=bearer`);
if (responseMode === "form_post") {
const params = {
token: responseTypes.includes("token") ? res.data : null,
id_token: responseTypes.includes("id_token") ? res.data : null,
token_type: "bearer",
state: oAuthParams?.state,
};
createFormAndSubmit(oAuthParams?.redirectUri, params);
} else {
const token = res.data;
Setting.goToLink(`${oAuthParams.redirectUri}${concatChar}${responseType}=${token}&state=${oAuthParams.state}&token_type=bearer`);
}
} else if (responseType === "link") {
let from = innerParams.get("from");
const oauth = innerParams.get("oauth");

View File

@@ -37,7 +37,7 @@ import RedirectForm from "../common/RedirectForm";
import {RequiredMfa} from "./mfa/MfaAuthVerifyForm";
import {GoogleOneTapLoginVirtualButton} from "./GoogleLoginButton";
import * as ProviderButton from "./ProviderButton";
import {goToLink} from "../Setting";
import {createFormAndSubmit, goToLink} from "../Setting";
import WeChatLoginPanel from "./WeChatLoginPanel";
const FaceRecognitionCommonModal = lazy(() => import("../common/modal/FaceRecognitionCommonModal"));
const FaceRecognitionModal = lazy(() => import("../common/modal/FaceRecognitionModal"));
@@ -503,7 +503,8 @@ class LoginPage extends React.Component {
.then((res) => {
const loginHandler = (res) => {
const responseType = values["type"];
const responseTypes = responseType.split(" ");
const responseMode = oAuthParams?.responseMode || "query";
if (responseType === "login") {
if (res.data3) {
sessionStorage.setItem("signinUrl", window.location.pathname + window.location.search);
@@ -518,14 +519,24 @@ class LoginPage extends React.Component {
this.setState({
userCodeStatus: "success",
});
} else if (responseType === "token" || responseType === "id_token") {
} else if (responseTypes.includes("token") || responseTypes.includes("id_token")) {
if (res.data3) {
sessionStorage.setItem("signinUrl", window.location.pathname + window.location.search);
Setting.goToLinkSoft(this, `/forget/${this.state.applicationName}`);
}
const amendatoryResponseType = responseType === "token" ? "access_token" : responseType;
const accessToken = res.data;
Setting.goToLink(`${oAuthParams.redirectUri}#${amendatoryResponseType}=${accessToken}&state=${oAuthParams.state}&token_type=bearer`);
if (responseMode === "form_post") {
const params = {
token: responseTypes.includes("token") ? res.data : null,
id_token: responseTypes.includes("id_token") ? res.data : null,
token_type: "bearer",
state: oAuthParams?.state,
};
createFormAndSubmit(oAuthParams?.redirectUri, params);
} else {
Setting.goToLink(`${oAuthParams.redirectUri}#${amendatoryResponseType}=${accessToken}&state=${oAuthParams.state}&token_type=bearer`);
}
} else if (responseType === "saml") {
if (res.data === RequiredMfa) {
this.props.onLoginSuccess(window.location.href);

View File

@@ -13,7 +13,7 @@
// limitations under the License.
import React from "react";
import {Alert, Button, Modal, Result} from "antd";
import {Alert, Button, Modal, QRCode, Result} from "antd";
import i18next from "i18next";
import {getWechatMessageEvent} from "./AuthBackend";
import * as Setting from "../Setting";
@@ -217,7 +217,7 @@ export async function WechatOfficialAccountModal(application, provider, method)
title: i18next.t("provider:Please use WeChat to scan the QR code and follow the official account for sign in"),
content: (
<div style={{marginRight: "34px"}}>
<img src = {"data:image/png;base64," + res.data} alt="Wechat QR code" style={{width: "100%"}} />
<QRCode style={{padding: "20px", margin: "auto"}} bordered={false} value={res.data} size={230} />
</div>
),
onOk() {

View File

@@ -16,13 +16,14 @@ import React from "react";
import * as AuthBackend from "./AuthBackend";
import i18next from "i18next";
import * as Util from "./Util";
import {QRCode} from "antd";
class WeChatLoginPanel extends React.Component {
constructor(props) {
super(props);
this.state = {
qrCode: null,
loading: false,
status: "loading",
ticket: null,
};
this.pollingTimer = null;
@@ -57,20 +58,20 @@ class WeChatLoginPanel extends React.Component {
const {application} = this.props;
const wechatProviderItem = application?.providers?.find(p => p.provider?.type === "WeChat");
if (wechatProviderItem) {
this.setState({loading: true, qrCode: null, ticket: null});
this.setState({status: "loading", qrCode: null, ticket: null});
AuthBackend.getWechatQRCode(`${wechatProviderItem.provider.owner}/${wechatProviderItem.provider.name}`).then(res => {
if (res.status === "ok" && res.data) {
this.setState({qrCode: res.data, loading: false, ticket: res.data2});
this.setState({qrCode: res.data, status: "active", ticket: res.data2});
this.clearPolling();
this.pollingTimer = setInterval(() => {
Util.getEvent(application, wechatProviderItem.provider, res.data2, "signup");
}, 1000);
} else {
this.setState({qrCode: null, loading: false, ticket: null});
this.setState({qrCode: null, status: "expired", ticket: null});
this.clearPolling();
}
}).catch(() => {
this.setState({qrCode: null, loading: false, ticket: null});
this.setState({qrCode: null, status: "expired", ticket: null});
this.clearPolling();
});
}
@@ -78,26 +79,20 @@ class WeChatLoginPanel extends React.Component {
render() {
const {application, loginWidth = 320} = this.props;
const {loading, qrCode} = this.state;
const {status, qrCode} = this.state;
return (
<div style={{width: loginWidth, margin: "0 auto", textAlign: "center", marginTop: 16}}>
{application.signinItems?.filter(item => item.name === "Logo").map(signinItem => this.props.renderFormItem(application, signinItem))}
{this.props.renderMethodChoiceBox()}
{application.signinItems?.filter(item => item.name === "Languages").map(signinItem => this.props.renderFormItem(application, signinItem))}
{loading ? (
<div style={{marginTop: 16}}>
<span>{i18next.t("login:Loading")}</span>
<div style={{marginTop: 2}}>
<QRCode style={{margin: "auto", marginTop: "20px", marginBottom: "20px"}} bordered={false} status={status} value={qrCode ?? " "} size={230} />
<div style={{marginTop: 8}}>
<a onClick={e => {e.preventDefault(); this.fetchQrCode();}}>
{i18next.t("login:Refresh")}
</a>
</div>
) : qrCode ? (
<div style={{marginTop: 2}}>
<img src={`data:image/png;base64,${qrCode}`} alt="WeChat QR code" style={{width: 250, height: 250}} />
<div style={{marginTop: 8}}>
<a onClick={e => {e.preventDefault(); this.fetchQrCode();}}>
{i18next.t("login:Refresh")}
</a>
</div>
</div>
) : null}
</div>
</div>
);
}

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "CSS مخصص للجوال",
"Custom CSS Mobile - Edit": "تعديل CSS مخصص للجوال",
"Custom CSS Mobile - Tooltip": "CSS مخصص للجوال - تلميح",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "ديناميكي",
"Edit Application": "تحرير التطبيق",
"Enable Email linking": "تمكين ربط البريد الإلكتروني",
@@ -479,7 +481,7 @@
"Show all": "عرض الكل",
"Upload (.xlsx)": "تحميل (.xlsx)",
"Virtual": "افتراضي",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "تحتاج إلى حذف جميع المجموعات الفرعية أولاً. يمكنك عرض المجموعات الفرعية في شجرة المجموعات على اليسار في صفحة [المنظمات] -\u003e [المجموعات]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "تحتاج إلى حذف جميع المجموعات الفرعية أولاً. يمكنك عرض المجموعات الفرعية في شجرة المجموعات على اليسار في صفحة [المنظمات] -> [المجموعات]"
},
"home": {
"New users past 30 days": "مستخدمون جدد خلال آخر 30 يومًا",
@@ -879,7 +881,7 @@
"From name": "اسم المرسل",
"From name - Tooltip": "اسم المرسل",
"Get phone number": "الحصول على رقم الهاتف",
"Get phone number - Tooltip": "إذا تم تمكين مزامنة رقم الهاتف، يجب تمكين Google People API أولاً وإضافة النطاق \u003curl id=\"d20eej367ti9ba9cqjh0\" type=\"url\" status=\"failed\" title=\"\" wc=\"0\"\u003ehttps://www.googleapis.com/auth/user.phonenumbers.read\u003c/url\u003e",
"Get phone number - Tooltip": "إذا تم تمكين مزامنة رقم الهاتف، يجب تمكين Google People API أولاً وإضافة النطاق <url id=\"d20eej367ti9ba9cqjh0\" type=\"url\" status=\"failed\" title=\"\" wc=\"0\">https://www.googleapis.com/auth/user.phonenumbers.read</url>",
"HTTP body mapping": "تعيين جسم HTTP",
"HTTP body mapping - Tooltip": "تعيين جسم HTTP",
"HTTP header": "رأس HTTP",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "Vlastní CSS pro mobil",
"Custom CSS Mobile - Edit": "Vlastní CSS pro mobil - úprava",
"Custom CSS Mobile - Tooltip": "Vlastní CSS pro mobil - popisek",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dynamický",
"Edit Application": "Upravit aplikaci",
"Enable Email linking": "Povolit propojení e-mailu",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "Benutzerdefiniertes CSS mobil",
"Custom CSS Mobile - Edit": "Benutzerdefiniertes CSS mobil Bearbeiten",
"Custom CSS Mobile - Tooltip": "Benutzerdefiniertes CSS mobil Tooltip",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dynamisch",
"Edit Application": "Bearbeitungsanwendung",
"Enable Email linking": "E-Mail-Verknüpfung aktivieren",
@@ -479,7 +481,7 @@
"Show all": "Alle anzeigen",
"Upload (.xlsx)": "Hochladen (.xlsx)",
"Virtual": "Virtuell",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Sie müssen zuerst alle Untergruppen löschen. Sie können die Untergruppen im linken Gruppenbaum unter [Organisationen] -\u003e [Gruppen] anzeigen."
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Sie müssen zuerst alle Untergruppen löschen. Sie können die Untergruppen im linken Gruppenbaum unter [Organisationen] -> [Gruppen] anzeigen."
},
"home": {
"New users past 30 days": "Neue Benutzer der letzten 30 Tage",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "Custom CSS Mobile",
"Custom CSS Mobile - Edit": "Custom CSS Mobile - Edit",
"Custom CSS Mobile - Tooltip": "Custom CSS Mobile - Tooltip",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dynamic",
"Edit Application": "Edit Application",
"Enable Email linking": "Enable Email linking",

File diff suppressed because it is too large Load Diff

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "CSS سفارشی موبایل",
"Custom CSS Mobile - Edit": "ویرایش CSS سفارشی موبایل",
"Custom CSS Mobile - Tooltip": "CSS سفارشی برای موبایل",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "پویا",
"Edit Application": "ویرایش برنامه",
"Enable Email linking": "فعال‌سازی اتصال ایمیل",
@@ -479,7 +481,7 @@
"Show all": "نمایش همه",
"Upload (.xlsx)": "آپلود (.xlsx)",
"Virtual": "مجازی",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "ابتدا باید همه زیرگروه‌ها را حذف کنید. می‌توانید زیرگروه‌ها را در درخت گروه سمت چپ صفحه [سازمان‌ها] -\u003e [گروه‌ها] مشاهده کنید"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "ابتدا باید همه زیرگروه‌ها را حذف کنید. می‌توانید زیرگروه‌ها را در درخت گروه سمت چپ صفحه [سازمان‌ها] -> [گروه‌ها] مشاهده کنید"
},
"home": {
"New users past 30 days": "کاربران جدید در ۳۰ روز گذشته",
@@ -554,7 +556,7 @@
"Logging out...": "در حال خروج...",
"MetaMask plugin not detected": "پلاگین MetaMask شناسایی نشد",
"Model loading failure": "بارگذاری مدل ناموفق بود",
"No account?": "",
"No account?": "No account?",
"Or sign in with another account": "یا با حساب دیگری وارد شوید",
"Phone": "تلفن",
"Please ensure sufficient lighting and align your face in the center of the recognition box": "لطفاً از نور کافی اطمینان حاصل کنید و صورت خود را در مرکز جعبه تشخیص قرار دهید",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "Mukautettu CSS - matkaviestit",
"Custom CSS Mobile - Edit": "Muokkaa mukautettua CSS:ää - matkaviestit",
"Custom CSS Mobile - Tooltip": "Mukautettu CSS - matkaviestit - työkalupala",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dynaaminen",
"Edit Application": "Muokkaa sovellusta",
"Enable Email linking": "Ota sähköpostiinkkoutuminen käyttöön",
@@ -479,7 +481,7 @@
"Show all": "Näytä kaikki",
"Upload (.xlsx)": "Lataa (.xlsx)",
"Virtual": "Virtuaalinen",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Sinun täytyy poistaa kaikki aliryhmät ensin. Voit tarkastella aliryhmiä vasemmanpuoleisesta ryhmäpuusta sivulla [Organisaatiot] -\u003e [Ryhmät]."
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Sinun täytyy poistaa kaikki aliryhmät ensin. Voit tarkastella aliryhmiä vasemmanpuoleisesta ryhmäpuusta sivulla [Organisaatiot] -> [Ryhmät]."
},
"home": {
"New users past 30 days": "Uudet käyttäjät viimeisen 30 päivän aikana",
@@ -879,7 +881,7 @@
"From name": "Lähettäjän nimi",
"From name - Tooltip": "Sähköpostin lähettäjän nimi",
"Get phone number": "Hae puhelinnumero",
"Get phone number - Tooltip": "Jos puhelinnumeron synkronointi on käytössä, sinun tulee ottaa Google People API käyttöön ja lisätä scope \u003curl id=\"d20dgq7hvltu88agpb7g\" type=\"url\" status=\"failed\" title=\"\" wc=\"0\"\u003ehttps://www.googleapis.com/auth/user.phonenumbers.read\u003c/url\u003e ",
"Get phone number - Tooltip": "Jos puhelinnumeron synkronointi on käytössä, sinun tulee ottaa Google People API käyttöön ja lisätä scope <url id=\"d20dgq7hvltu88agpb7g\" type=\"url\" status=\"failed\" title=\"\" wc=\"0\">https://www.googleapis.com/auth/user.phonenumbers.read</url> ",
"HTTP body mapping": "HTTP-body-kartoitus",
"HTTP body mapping - Tooltip": "HTTP-body-kartoitus",
"HTTP header": "HTTP-header",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "CSS personnalisé mobile",
"Custom CSS Mobile - Edit": "CSS personnalisé mobile - Modifier",
"Custom CSS Mobile - Tooltip": "CSS personnalisé mobile - Infobulle",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dynamique",
"Edit Application": "Modifier l'application",
"Enable Email linking": "Autoriser à lier l'e-mail",
@@ -98,7 +100,7 @@
"Please select a HTML file": "Veuillez sélectionner un fichier HTML",
"Pop up": "Fenêtre contextuelle",
"Random": "Aléatoire",
"Real name": "Nom réel",
"Real name": "Nom complet",
"Redirect URL": "URL de redirection",
"Redirect URL (Assertion Consumer Service POST Binding URL) - Tooltip": "URL de redirection (Assertion Consumer Service POST Binding URL)",
"Redirect URLs": "URLs de redirection",
@@ -127,7 +129,7 @@
"Signup items - Tooltip": "Champs à remplir lors de l'enregistrement de nouveaux comptes",
"Single Choice": "Choix unique",
"Small icon": "Petite icône",
"Tags - Tooltip": "Seuls les utilisateurs avec le tag listé dans les tags de l'application peuvent se connecter",
"Tags - Tooltip": "Seuls les comptes ayant leur étiquette listée dans les étiquettes de l'application peuvent se connecter",
"The application does not allow to sign up new account": "L'application ne permet pas de créer un nouveau compte",
"Token expire": "Expiration du jeton",
"Token expire - Tooltip": "Durée avant expiration du jeton d'accès",
@@ -241,7 +243,7 @@
"Applications that require authentication": "Applications qui nécessitent une authentification",
"Apps": "Applications",
"Authorization": "Autorisation",
"Avatar": "Avatar",
"Avatar": "Avatars",
"Avatar - Tooltip": "Image d'avatar publique pour le compte",
"Back": "Retour",
"Back Home": "Retour à l'accueil",
@@ -298,7 +300,7 @@
"Failed to sync": "Échec de la synchronisation",
"Failed to verify": "Échec de la vérification",
"False": "Faux",
"Favicon": "Favicon",
"Favicon": "Icône du site",
"Favicon - Tooltip": "L'URL de l'icône « favicon » utilisée dans toutes les pages Casdoor de l'organisation",
"First name": "Prénom",
"Forced redirect origin - Tooltip": "Origine de redirection forcée - Infobulle",
@@ -350,7 +352,7 @@
"Non-LDAP": "Non-LDAP",
"None": "Aucun",
"OAuth providers": "Fournisseurs OAuth",
"OK": "OK",
"OK": "Ok",
"Organization": "Organisation",
"Organization - Tooltip": "Similaire à des concepts tels que les locataires (tenants) ou les groupes de compte, chaque compte et application appartient à une organisation",
"Organizations": "Organisations",
@@ -369,15 +371,15 @@
"Payment": "Paiement",
"Payment - Tooltip": "Paiement - Infobulle",
"Payments": "Paiements",
"Permissions": "Autorisations",
"Permissions": "Permissions",
"Permissions - Tooltip": "Permissions détenues par ce compte",
"Phone": "Téléphone",
"Phone - Tooltip": "Numéro de téléphone",
"Phone only": "Téléphone uniquement",
"Phone or Email": "Téléphone ou e-mail",
"Plain": "Simple",
"Plan": "Plan",
"Plan - Tooltip": "Plan - Infobulle",
"Plan": "Offre",
"Plan - Tooltip": "Offre - Infobulle",
"Plans": "Offres",
"Plans - Tooltip": "Plans - Infobulle",
"Preview": "Aperçu",
@@ -464,7 +466,7 @@
"Users - Tooltip": "Utilisateurs - Infobulle",
"Users under all organizations": "Comptes sous toutes les organisations",
"Verifications": "Vérifications",
"Webhooks": "Webhooks",
"Webhooks": "Crochets web",
"You can only select one physical group": "Vous ne pouvez sélectionner qu'un seul groupe physique",
"empty": "vide",
"remove": "supprimer",
@@ -479,7 +481,7 @@
"Show all": "Afficher tout",
"Upload (.xlsx)": "Télécharger (.xlsx)",
"Virtual": "Virtuel",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Vous devez d'abord supprimer tous les sous-groupes. Vous pouvez voir les sous-groupes dans l'arborescence des groupes à gauche de la page [Organisations] -\u003e [Groupes]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Vous devez d'abord supprimer tous les sous-groupes. Vous pouvez voir les sous-groupes dans l'arborescence des groupes à gauche de la page [Organisations] -> [Groupes]"
},
"home": {
"New users past 30 days": "Nouveaux utilisateurs ces 30 derniers jours",
@@ -502,7 +504,7 @@
"You need to first specify a default application for organization: ": "Vous devez d'abord spécifier une application par défaut pour l'organisation : "
},
"ldap": {
"Admin": "Administrateur",
"Admin": "Compte d'administration",
"Admin - Tooltip": "CN ou ID du compte d'administration du serveur LDAP",
"Admin Password": "Mot de passe du compte d'administration",
"Admin Password - Tooltip": "Mot de passe administrateur du serveur LDAP",
@@ -546,7 +548,7 @@
"Face recognition failed": "Échec de la reconnaissance faciale",
"Failed to log out": "Échec de la déconnexion",
"Failed to obtain MetaMask authorization": "Échec de l'obtention de l'autorisation MetaMask",
"Failed to obtain Web3-Onboard authorization": "Échec de l'obtention de l'autorisation Web3-Onboard",
"Failed to obtain Web3-Onboard authorization": "Échec de l'obtention de l'autorisation MetaMask",
"Forgot password?": "Mot de passe oublié ?",
"LDAP": "LDAP",
"LDAP username, Email or phone": "Nom d'utilisateur LDAP, e-mail ou téléphone",
@@ -564,7 +566,7 @@
"Please input your LDAP username!": "Veuillez entrer votre nom d'utilisateur LDAP !",
"Please input your Phone!": "Veuillez entrer votre téléphone !",
"Please input your code!": "Veuillez saisir votre code !",
"Please input your organization name!": "Veuillez entrer le nom de votre organisation !",
"Please input your organization name!": "Veuillez saisir le nom de votre organisation !",
"Please input your password!": "Veuillez saisir votre mot de passe !",
"Please load the webpage using HTTPS, otherwise the camera cannot be accessed": "Veuillez charger la page web en HTTPS, sinon l'appareil photo ne peut pas être accessible",
"Please provide permission to access the camera": "Veuillez autoriser l'accès à l'appareil photo",
@@ -728,7 +730,7 @@
"permission": {
"Actions": "Actions",
"Actions - Tooltip": "Actions autorisées",
"Admin": "Administrateur",
"Admin": "Administration",
"Allow": "Permettre",
"Approve time": "Date d'approbation",
"Approve time - Tooltip": "La date d'approbation pour cette permission",
@@ -751,8 +753,8 @@
"Write": "Écrire"
},
"plan": {
"Edit Plan": "Modifier le plan",
"New Plan": "Nouveau plan",
"Edit Plan": "Modifier l'offre",
"New Plan": "Nouvelle offre",
"Period": "Période",
"Period - Tooltip": "Period - Tooltip",
"Price": "Prix",
@@ -800,7 +802,7 @@
"Quantity - Tooltip": "Quantité de produit",
"Return URL": "URL de retour",
"Return URL - Tooltip": "URL de retour après l'achat réussi",
"SKU": "SKU",
"SKU": "Référence",
"Sold": "Vendu",
"Sold - Tooltip": "Quantité vendue",
"Stripe": "Stripe",
@@ -886,7 +888,7 @@
"HTTP header - Tooltip": "En-tête HTTP - Infobulle",
"Host": "Hôte",
"Host - Tooltip": "Nom d'hôte",
"IdP": "IdP",
"IdP": "IdP (Identité Fournisseur)",
"IdP certificate": "Certificat IdP",
"Internal": "Interne",
"Issuer URL": "URL de l'émetteur",
@@ -1018,7 +1020,7 @@
"Copy Link": "Copier le lien",
"File name": "Nom de fichier",
"File size": "Taille de fichier",
"Format": "Format",
"Format": "Formater",
"Parent": "Parent",
"Upload a file...": "Télécharger un fichier..."
},
@@ -1147,7 +1149,7 @@
"Throughput": "Débit",
"Total Throughput": "Débit total",
"Unknown version": "Version inconnue",
"Version": "Version"
"Version": " Version"
},
"theme": {
"Blossom": "Fleurir",
@@ -1221,9 +1223,9 @@
"ID card back": "Verso de la carte d'identité",
"ID card front": "Recto de la carte d'identité",
"ID card info": "Informations de la carte d'identité",
"ID card info - Tooltip": "Informations de la carte d'identité - Infobulle",
"ID card info - Tooltip": "Informations de la pièce d'identité - Infobulle",
"ID card type": "Type de carte d'identité",
"ID card type - Tooltip": "Type de carte d'identité - Infobulle",
"ID card type - Tooltip": "Type de pièce d'identité - Infobulle",
"ID card with person": "Carte d'identité avec la personne",
"Input your email": "Saisissez votre adresse e-mail",
"Input your phone number": "Saisissez votre numéro de téléphone",
@@ -1240,7 +1242,7 @@
"Language": "Langue",
"Language - Tooltip": "Langue - Infobulle",
"Last change password time": "Dernière modification du mot de passe",
"Link": "Lien",
"Link": "Lier",
"Location": "Localisation",
"Location - Tooltip": "Ville de résidence",
"MFA accounts": "Comptes MFA",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "CSS מותאם אישית לנייד",
"Custom CSS Mobile - Edit": "ערוך CSS מותאם אישית לנייד",
"Custom CSS Mobile - Tooltip": "CSS מותאם אישית לנייד - תיאור",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "דינמי",
"Edit Application": "ערוך יישום",
"Enable Email linking": "אפשר קישור דוא\"ל",
@@ -479,7 +481,7 @@
"Show all": "הצג הכול",
"Upload (.xlsx)": "העלה (.xlsx)",
"Virtual": "וירטואלי",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "עליך למחוק תחילה את כל הקבוצות המשנה. ניתן להציג את הקבוצות המשנה בעץ הקבוצות בצד שמאל בדף [ארגונים] -\u003e [קבוצות]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "עליך למחוק תחילה את כל הקבוצות המשנה. ניתן להציג את הקבוצות המשנה בעץ הקבוצות בצד שמאל בדף [ארגונים] -> [קבוצות]"
},
"home": {
"New users past 30 days": "משתמשים חדשים ב-30 הימים האחרונים",
@@ -879,7 +881,7 @@
"From name": "שם מאת",
"From name - Tooltip": "שם של \"מאת\"",
"Get phone number": "קבל מספר טלפון",
"Get phone number - Tooltip": "אם מופעלת סינכרון מספר טלפון, יש להפעיל תחילה את Google People API ולהוסיף את הניקוד \u003curl id=\"d20ep91ic4ud506osang\" type=\"url\" status=\"failed\" title=\"\" wc=\"0\"\u003ehttps://www.googleapis.com/auth/user.phonenumbers.read\u003c/url\u003e",
"Get phone number - Tooltip": "אם מופעלת סינכרון מספר טלפון, יש להפעיל תחילה את Google People API ולהוסיף את הניקוד <url id=\"d20ep91ic4ud506osang\" type=\"url\" status=\"failed\" title=\"\" wc=\"0\">https://www.googleapis.com/auth/user.phonenumbers.read</url>",
"HTTP body mapping": "מיפוי גוף HTTP",
"HTTP body mapping - Tooltip": "מיפוי גוף HTTP",
"HTTP header": "כותרת HTTP",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "CSS Seluler Khusus",
"Custom CSS Mobile - Edit": "CSS Seluler Khusus - Edit",
"Custom CSS Mobile - Tooltip": "CSS Seluler Khusus - Tooltip",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dinamis",
"Edit Application": "Mengedit aplikasi",
"Enable Email linking": "Aktifkan pengaitan email",
@@ -350,7 +352,7 @@
"Non-LDAP": "Non-LDAP",
"None": "Tidak ada",
"OAuth providers": "Penyedia OAuth",
"OK": "OK",
"OK": "Baik atau Oke",
"Organization": "Organisasi",
"Organization - Tooltip": "Sama seperti konsep seperti penyewa atau grup pengguna, setiap pengguna dan aplikasi termasuk ke dalam suatu organisasi",
"Organizations": "Organisasi",
@@ -479,7 +481,7 @@
"Show all": "Tampilkan semua",
"Upload (.xlsx)": "Unggah (.xlsx)",
"Virtual": "Virtual",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Anda perlu menghapus semua subgrup terlebih dahulu. Anda dapat melihat subgrup di pohon grup kiri halaman [Organisasi] -\u003e [Grup]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Anda perlu menghapus semua subgrup terlebih dahulu. Anda dapat melihat subgrup di pohon grup kiri halaman [Organisasi] -> [Grup]"
},
"home": {
"New users past 30 days": "Pengguna baru 30 hari terakhir",
@@ -747,7 +749,7 @@
"Resources - Tooltip": "Sumber daya yang sah",
"Submitter": "Pengirim",
"Submitter - Tooltip": "Orang yang mengajukan izin ini",
"TreeNode": "TreeNode",
"TreeNode": "PohonNode",
"Write": "Menulis"
},
"plan": {
@@ -778,7 +780,7 @@
"Alipay": "Alipay",
"Buy": "Beli",
"Buy Product": "Beli Produk",
"Detail": "Detail",
"Detail": "Rincian",
"Detail - Tooltip": "Detail produk",
"Dummy": "Dummy",
"Edit Product": "Edit Produk",
@@ -788,7 +790,7 @@
"Is recharge - Tooltip": "Apakah produk saat ini untuk mengisi ulang saldo",
"New Product": "Produk Baru",
"Pay": "Bayar",
"PayPal": "PayPal",
"PayPal": "Paypal",
"Payment cancelled": "Pembayaran dibatalkan",
"Payment failed": "Pembayaran gagal",
"Payment providers": "Penyedia pembayaran",
@@ -884,7 +886,7 @@
"HTTP body mapping - Tooltip": "Pemetaan body HTTP",
"HTTP header": "Header HTTP",
"HTTP header - Tooltip": "Header HTTP - Tooltip",
"Host": "Host",
"Host": "Tuan rumah",
"Host - Tooltip": "Nama tuan rumah",
"IdP": "IdP",
"IdP certificate": "Sertifikat IdP",
@@ -1195,7 +1197,7 @@
"Affiliation - Tooltip": "Pemberi Kerja, seperti nama perusahaan atau nama organisasi",
"Balance": "Saldo",
"Balance - Tooltip": "Saldo pengguna",
"Bio": "Bio",
"Bio": "Bio: Biografi",
"Bio - Tooltip": "Pengenalan diri dari pengguna",
"Birthday": "Tanggal lahir",
"Birthday - Tooltip": "Tanggal lahir - Tooltip",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "CSS personalizzato mobile",
"Custom CSS Mobile - Edit": "CSS personalizzato mobile - Modifica",
"Custom CSS Mobile - Tooltip": "CSS personalizzato mobile - Tooltip",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dinamico",
"Edit Application": "Modifica Applicazione",
"Enable Email linking": "Abilita collegamento Email",
@@ -479,7 +481,7 @@
"Show all": "Mostra tutto",
"Upload (.xlsx)": "Carica (.xlsx)",
"Virtual": "Virtuale",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Devi eliminare prima tutti i sottogruppi. Puoi visualizzarli nell'albero a sinistra in [Organizzazioni] -\u003e [Gruppi]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Devi eliminare prima tutti i sottogruppi. Puoi visualizzarli nell'albero a sinistra in [Organizzazioni] -> [Gruppi]"
},
"home": {
"New users past 30 days": "Nuovi utenti ultimi 30 giorni",

View File

@@ -2,19 +2,19 @@
"account": {
"Logout": "ログアウト",
"My Account": "マイアカウント",
"Sign Up": "新規登録"
"Sign Up": "サインアップ"
},
"adapter": {
"Duplicated policy rules": "重複したポリシールール",
"Edit Adapter": "編集アダプター",
"Edit Adapter": "アダプターの編集",
"Failed to sync policies": "ポリシーの同期に失敗しました",
"New Adapter": "新しいアダプター",
"Policies": "政策",
"Policies": "ポリシー",
"Policies - Tooltip": "Casbinのポリシールール",
"Rule type": "ルールタイプ",
"Sync policies successfully": "ポリシーを同期できました",
"Sync policies successfully": "ポリシーを同期ました",
"Use same DB": "同じDBを使用する",
"Use same DB - Tooltip": "Use same DB - Tooltip"
"Use same DB - Tooltip": "Casdoor と同じデータベースを使用する"
},
"application": {
"Add Face ID": "顔IDを追加",
@@ -28,32 +28,34 @@
"Background URL Mobile - Tooltip": "モバイル背景URL - ツールチップ",
"Big icon": "大きいアイコン",
"Binding providers": "バインディングプロバイダー",
"CSS style": "CSSスタイル",
"Center": "センター",
"CSS style": "CSS スタイル",
"Center": "中央",
"Copy SAML metadata URL": "SAMLメタデータのURLをコピーしてください",
"Copy prompt page URL": "プロンプトページのURLをコピーしてください",
"Copy signin page URL": "サインインページのURLをコピーしてください",
"Copy signup page URL": "サインアップページのURLをコピーしてください",
"Custom CSS": "フォームCSS",
"Custom CSS - Edit": "フォームのCSS - 編集",
"Custom CSS": "カスタム CSS",
"Custom CSS - Edit": "カスタム CSS - 編集",
"Custom CSS - Tooltip": "サインアップ、サインイン、パスワード忘れのフォームのCSSスタイリング境界線や影の追加",
"Custom CSS Mobile": "カスタムCSSモバイル",
"Custom CSS Mobile - Edit": "カスタムCSSモバイル- 編集",
"Custom CSS Mobile - Tooltip": "カスタムCSSモバイル- ツールチップ",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "動的",
"Edit Application": "アプリケーションを編集する",
"Enable Email linking": "イーメールリンク有効",
"Enable Email linking": "メールリンク有効にする",
"Enable Email linking - Tooltip": "組織内に同じメールアドレスを持つユーザーがいる場合、サードパーティのログイン方法は自動的にそのユーザーに関連付けられます",
"Enable SAML C14N10": "SAML C14N10を有効にする",
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML C14N10 - Tooltip": "SAML C14N11 の代わりに C14N10 を使用する",
"Enable SAML POST binding": "SAML POSTバインディングを有効にする",
"Enable SAML POST binding - Tooltip": "HTTP POSTバインディングはHTMLフォームの入力フィールドを使用してSAMLメッセージを送信します。SPがこれを使用する場合は有効にしてください。",
"Enable SAML compression": "SAMLの圧縮を有効にする",
"Enable SAML compression - Tooltip": "CasdoorをSAML IdPとして使用する場合SAMLレスポンスメッセージを圧縮するかどうか。圧縮する: 圧縮するかどうか。圧縮しない: 圧縮しないかどうか",
"Enable SAML compression - Tooltip": "CasdoorをSAMLのidpとして使用する場合SAML応答メッセージを圧縮するかどうか",
"Enable side panel": "サイドパネルを有効にする",
"Enable signin session - Tooltip": "アプリケーションから Casdoor にログイン後、Casdoor がセッションを維持しているかどうか",
"Enable signup": "サインアップを有効にする",
"Enable signup - Tooltip": "新しいアカウント登録をユーザーに許可するかどうか",
"Enable signup - Tooltip": "アカウント登録をユーザーに許可するかどうか",
"Failed signin frozen time": "サインイン失敗時の凍結時間",
"Failed signin frozen time - Tooltip": "サインイン失敗時の凍結時間 - ツールチップ",
"Failed signin limit": "サインイン失敗回数制限",
@@ -66,10 +68,10 @@
"Footer HTML - Edit": "フッターHTML - 編集",
"Footer HTML - Tooltip": "アプリケーションのフッターをカスタマイズします",
"Forced redirect origin": "強制リダイレクトオリジン",
"Form position": "フォームのポジション",
"Form position": "フォームの位置",
"Form position - Tooltip": "登録、ログイン、パスワード忘れフォームの位置",
"Generate Face ID": "顔IDを生成",
"Grant types": "グラント種類",
"Grant types": "グラントタイプ",
"Grant types - Tooltip": "OAuthプロトコルで許可されているグラントタイプを選択してください",
"Header HTML": "ヘッダーHTML",
"Header HTML - Edit": "ヘッダーHTML - 編集",
@@ -93,14 +95,14 @@
"Org choice mode": "組織選択モード",
"Org choice mode - Tooltip": "組織選択モード - ツールチップ",
"Please enable \\\"Signin session\\\" first before enabling \\\"Auto signin\\\"": "\\\"自動サインイン\\\"を有効にする前に、まず\\\"サインインセッション\\\"を有効にしてください",
"Please input your application!": "あなたの申請を入力してください!",
"Please input your application!": "アプリケーションを入力してください!",
"Please input your organization!": "あなたの組織を入力してください!",
"Please select a HTML file": "HTMLファイルを選択してください",
"Pop up": "ポップアップ",
"Random": "ランダム",
"Real name": "本名",
"Redirect URL": "リダイレクトURL",
"Redirect URL (Assertion Consumer Service POST Binding URL) - Tooltip": "リダイレクトURLアサーションコンシューマサービスPOSTバインディングURL",
"Redirect URL (Assertion Consumer Service POST Binding URL) - Tooltip": "リダイレクト URL (Assertion Consumer Service POST Binding URL)",
"Redirect URLs": "リダイレクトURL",
"Redirect URLs - Tooltip": "許可されたリダイレクトURLリストは、正規表現マッチングをサポートしています。リストに含まれていないURLはリダイレクトできません",
"Refresh token expire": "リフレッシュトークンの有効期限が切れました",
@@ -119,44 +121,44 @@
"Signin": "サインイン",
"Signin (Default True)": "サインイン(デフォルトは有効)",
"Signin items": "サインイン項目",
"Signin items - Tooltip": "Signin items - Tooltip",
"Signin items - Tooltip": "",
"Signin methods": "サインイン方法",
"Signin methods - Tooltip": "サインイン方法 - ツールチップ",
"Signin session": "サインインセッション",
"Signup items": "サインアップアイテム",
"Signup items - Tooltip": "新しいアカウントを登録する際にユーザーが入力するアイテム",
"Signup items": "サインアップ項目",
"Signup items - Tooltip": "新しいアカウントを登録する際にユーザーが入力する項目",
"Single Choice": "単一選択",
"Small icon": "小さいアイコン",
"Tags - Tooltip": "アプリケーションタグに含まれるタグを持つユーザーのみログイン可能です",
"The application does not allow to sign up new account": "アプリケーションでは新しいアカウント登録ができません",
"The application does not allow to sign up new account": "アプリケーションではアカウント登録ができません",
"Token expire": "トークンの有効期限が切れました",
"Token expire - Tooltip": "アクセストークンの有効期限",
"Token fields": "トークンフィールド",
"Token fields - Tooltip": "Token fields - Tooltip",
"Token fields - Tooltip": "",
"Token format": "トークン形式",
"Token format - Tooltip": "アクセストークンのフォーマット",
"Token signing method": "トークン署名方法",
"Token signing method - Tooltip": "JWTトークンの署名方法。証明書と同じアルゴリズムである必要があります。",
"Use Email as NameID": "メールアドレスをNameIDとして使用",
"Use Email as NameID - Tooltip": "メールアドレスをNameIDとして使用 - ツールチップ",
"You are unexpected to see this prompt page": "このプロンプトページを見ることは予期せぬことである"
"You are unexpected to see this prompt page": "このプロンプトページが表示されるのは予想外です"
},
"cert": {
"Bit size": "ビットサイズ",
"Bit size - Tooltip": "秘密鍵の長さ",
"Certificate": "証明書 ",
"Certificate - Tooltip": "アクセストークンのJWT署名を復号化するために使用される公開鍵証明書。この証明書は通常、Casdoor SDK側つまり、アプリケーションに展開する必要があります",
"Copy certificate": "コピー証明書",
"Copy certificate": "証明書をコピー",
"Copy private key": "秘密鍵をコピーする",
"Crypto algorithm": "暗号アルゴリズム",
"Crypto algorithm - Tooltip": "認証書で使用される暗号化アルゴリズム",
"Download certificate": "証明書をダウンロードする",
"Download certificate": "証明書をダウンロード",
"Download private key": "プライベートキーをダウンロードする",
"Edit Cert": "編集認証書",
"Edit Cert": "証明書を編集",
"Expire in years": "年で期限切れになる",
"Expire in years - Tooltip": "証明書の有効期間、年数で",
"Expire in years - Tooltip": "証明書の有効期間 (年)",
"New Cert": "新しい証明書",
"Private key": "プライベートキー",
"Private key": "秘密鍵",
"Private key - Tooltip": "公開鍵証明書に対応する秘密鍵",
"Scope - Tooltip": "証明書の使用シナリオ",
"Type - Tooltip": "証明書の種類"
@@ -171,7 +173,7 @@
"Please input your verification code!": "確認コードを入力してください!",
"Send Code": "コードを送信してください",
"Sending": "送信",
"Submit and complete": "提出して完了してください"
"Submit and complete": "送信して完了"
},
"currency": {
"AUD": "オーストラリアドル",
@@ -208,12 +210,12 @@
"forget": {
"Account": "アカウント",
"Change Password": "パスワードを変更",
"Choose email or phone": "メールか電話を選んでください",
"Choose email or phone": "メールアドレスまたは電話番号を選択",
"Next Step": "次のステップ",
"Please input your username!": "ユーザー名を入力してください!",
"Reset": "リセット",
"Reset password": "パスワードの取得",
"Unknown forget type": "未知の忘却タイプ",
"Reset password": "パスワードをリセット",
"Unknown forget type": "不明な forget type",
"Verify": "検証"
},
"general": {
@@ -232,7 +234,7 @@
"Add": "追加",
"Add custom item": "カスタム項目を追加",
"Admin": "管理者",
"Affiliation URL": "所属するURL",
"Affiliation URL": "所属URL",
"Affiliation URL - Tooltip": "所属先のホームページURL",
"All": "すべて",
"Application": "アプリケーション",
@@ -242,21 +244,21 @@
"Apps": "アプリ",
"Authorization": "認可",
"Avatar": "アバター",
"Avatar - Tooltip": "ユーザーのパブリックアバター画像",
"Avatar - Tooltip": "ユーザーの公開アバター画像",
"Back": "戻る",
"Back Home": "帰宅",
"Back Home": "ホームへ戻る",
"Business & Payments": "ビジネスと支払い",
"Cancel": "キャンセルします",
"Captcha": "キャプチャ",
"Cancel": "キャンセル",
"Captcha": "CAPTCHA",
"Cert": "証明書",
"Cert - Tooltip": "このアプリケーションに対応するクライアントSDKによって検証する必要がある公開鍵証明書",
"Certs": "証明書",
"Click to Upload": "アップロードするにはクリックしてください",
"Click to Upload": "クリックしてアップロード",
"Client IP": "クライアントIP",
"Close": "閉じる",
"Confirm": "確認",
"Copied to clipboard successfully": "クリップボードにコピーしました",
"Created time": "作成された時間",
"Created time": "作成時間",
"Custom": "カスタム",
"Dashboard": "ダッシュボード",
"Data": "データ",
@@ -264,9 +266,9 @@
"Default application": "デフォルトアプリケーション",
"Default application - Tooltip": "組織ページから直接登録されたユーザーのデフォルトアプリケーション",
"Default avatar": "デフォルトのアバター",
"Default avatar - Tooltip": "新規登録ユーザーがアバター画像を設定しない場合に使用されるデフォルトのアバター",
"Default avatar - Tooltip": "新規ユーザーがアバター画像を設定しない場合に使用されるデフォルトのアバター",
"Default password": "デフォルトパスワード",
"Default password - Tooltip": "Default password - Tooltip",
"Default password - Tooltip": "新しいユーザーを追加する場合、ユーザーのパスワードが指定されていない場合、デフォルトのパスワードをユーザーのパスワードとして使用されます。",
"Delete": "削除",
"Description": "説明",
"Description - Tooltip": "参照用の詳細な説明情報です。Casdoor自体はそれを使用しません",
@@ -276,8 +278,8 @@
"Display name - Tooltip": "UIで公開されている使いやすく読みやすい名前",
"Down": "ダウン",
"Edit": "編集",
"Email": "電子メール",
"Email - Tooltip": "有効な電子メールアドレス",
"Email": "メールアドレス",
"Email - Tooltip": "有効なメールアドレス",
"Email only": "メールのみ",
"Email or Phone": "メールまたは電話",
"Enable": "有効",
@@ -298,7 +300,7 @@
"Failed to sync": "同期に失敗しました",
"Failed to verify": "検証に失敗しました",
"False": "偽",
"Favicon": "ファビコン",
"Favicon": "Favicon",
"Favicon - Tooltip": "組織のすべてのCasdoorページに使用されるFaviconアイコンのURL",
"First name": "名前",
"Forced redirect origin - Tooltip": "強制リダイレクトオリジン - ツールチップ",
@@ -318,7 +320,7 @@
"IP whitelist - Tooltip": "IPホワイトリスト - ツールチップ",
"Identity": "ID",
"Invitations": "招待",
"Is enabled": "可能になっています",
"Is enabled": "有効",
"Is enabled - Tooltip": "使用可能かどうかを設定してください",
"Is shared": "共有中",
"Is shared - Tooltip": "このアプリケーションを他の組織と共有する",
@@ -330,7 +332,7 @@
"Later": "後で",
"Logging & Auditing": "ログと監査",
"Logo": "ロゴ",
"Logo - Tooltip": "アプリケーションが外部世界に示すアイコン",
"Logo - Tooltip": "アプリケーションが外部に示すアイコン",
"Logo dark": "ダークロゴ",
"Logo dark - Tooltip": "ダークテーマで使用されるロゴ",
"MFA items": "MFA項目",
@@ -338,11 +340,11 @@
"Master password": "マスターパスワード",
"Master password - Tooltip": "この組織のすべてのユーザーにログインするために使用でき、管理者が技術的な問題を解決するためにこのユーザーとしてログインするのに便利です",
"Master verification code": "マスター検証コード",
"Master verification code - Tooltip": "Master verification code - Tooltip",
"Master verification code - Tooltip": "マスター認証コードが設定されている場合、この組織で送信されたすべてのメールとSMS認証コードはこの固定コードを使用します。 これは主に自動テストおよびCI目的で使用され、通常の環境では使用されません。",
"Menu": "メニュー",
"Method": "方法",
"Model": "モデル",
"Model - Tooltip": "カスビンアクセスコントロールモデル",
"Model - Tooltip": "Casbin アクセス制御モデル",
"Models": "モデル",
"Name": "名前",
"Name - Tooltip": "ユニークで文字列ベースのID",
@@ -357,7 +359,7 @@
"Password": "パスワード",
"Password - Tooltip": "パスワードが正しいことを確認してください",
"Password complexity options": "パスワード複雑性オプション",
"Password complexity options - Tooltip": "Password complexity options - Tooltip",
"Password complexity options - Tooltip": "異なるパスワードの組み合わせの複雑さオプション",
"Password obf key": "パスワード難読化キー",
"Password obf key - Tooltip": "パスワード難読化キー - ツールチップ",
"Password obfuscator": "パスワード難読化器",
@@ -365,11 +367,11 @@
"Password salt": "パスワードのソルト",
"Password salt - Tooltip": "ランダムパラメーターは、パスワードの暗号化に使用されます",
"Password type": "パスワードタイプ",
"Password type - Tooltip": "データベース内のパスワードの格納形式",
"Password type - Tooltip": "データベース内のパスワードの保存形式",
"Payment": "支払い",
"Payment - Tooltip": "支払い - ツールチップ",
"Payments": "支払い",
"Permissions": "許可",
"Permissions": "権限",
"Permissions - Tooltip": "このユーザーが所有する権限",
"Phone": "電話",
"Phone - Tooltip": "電話番号",
@@ -400,7 +402,7 @@
"Role": "ロール",
"Role - Tooltip": "ロール - ツールチップ",
"Roles": "役割",
"Roles - Tooltip": "ユーザーが所属する役割",
"Roles - Tooltip": "ユーザーが所属するロール",
"Root cert": "ルート証明書",
"Root cert - Tooltip": "ルート証明書 - ツールチップ",
"SAML attributes": "SAML属性",
@@ -411,30 +413,30 @@
"Save": "保存",
"Save & Exit": "保存して終了",
"Session ID": "セッションID",
"Sessions": "セッション",
"Sessions": "セッション",
"Shortcuts": "ショートカット",
"Signin URL": "サインインのURL",
"Signin URL - Tooltip": "ログインページ用のカスタムURL。設定されていない場合、デフォルトのCasdoorログインページが使用されます。設定されている場合、CasdoorのさまざまなページのログインリンクはこのURLにリダイレクトされます",
"Signup URL": "登録URL",
"Signup URL - Tooltip": "登録ページのカスタムURL。設定されていない場合、デフォルトのCasdoor登録ページが使用されます。設定された場合、Casdoorのさまざまなページの登録リンクはこのURLにリダイレクトされます",
"Signup application": "サインアップ申請",
"Signup application": "サインアップ申請",
"Signup application - Tooltip": "ユーザーが登録した際に、どのアプリケーションを使用しましたか?",
"Signup link": "サインアップリンク",
"Sorry, the page you visited does not exist.": "申し訳ありませんが、ご訪問いただいたページは存在しません。",
"Sorry, the user you visited does not exist or you are not authorized to access this user.": "すみません、あなたが訪問したユーザーは存在しないか、またはそのユーザーにアクセスする権限がありません。",
"Sorry, you do not have permission to access this page or logged in status invalid.": "申し訳ありませんが、このページにアクセスする権限がありません、またはログイン状態が無効です。",
"State": "州",
"State": "都道府県・州",
"State - Tooltip": "状態",
"Subscriptions": "サブスクリプション",
"Successfully added": "正常に追加されました",
"Successfully deleted": "正常に削除されました",
"Successfully removed": "正常に削除されました",
"Successfully saved": "成功的に保存されました",
"Successfully saved": "正常に保存されました",
"Successfully sent": "正常に送信されました",
"Successfully synced": "正常に同期されました",
"Supported country codes": "サポートされている国コード",
"Supported country codes - Tooltip": "組織でサポートされている国コード。これらのコードは、SMS認証コードのプレフィックスとして選択できます",
"Sure to delete": "削除することが確実です",
"Sure to delete": "削除しますか?",
"Sure to disable": "無効にしてもよろしいですか?",
"Sure to remove": "削除してもよろしいですか?",
"Swagger": "スワガー",
@@ -479,7 +481,7 @@
"Show all": "すべて表示",
"Upload (.xlsx)": "アップロード (.xlsx)",
"Virtual": "仮想",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "最初にすべてのサブグループを削除する必要があります。[組織] -\u003e [グループ]ページの左側のグループツリーでサブグループを確認できます"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "最初にすべてのサブグループを削除する必要があります。[組織] -> [グループ]ページの左側のグループツリーでサブグループを確認できます"
},
"home": {
"New users past 30 days": "過去30日間の新規ユーザー",
@@ -490,15 +492,15 @@
},
"invitation": {
"Code": "コード",
"Code - Tooltip": "Code - Tooltip",
"Code - Tooltip": "招待コードまたは正規表現として単一の文字列を指定できます。正規表現に一致するすべての文字列は有効な招待コードです。",
"Default code": "デフォルトコード",
"Default code - Tooltip": "招待コードが正規表現の場合、正規表現ルールに一致する招待コードをデフォルトの招待コードとして入力してください",
"Edit Invitation": "招待を編集",
"New Invitation": "新しい招待",
"Quota": "クォータ",
"Quota - Tooltip": "Quota - Tooltip",
"Quota - Tooltip": "この招待コードを使用して登録できるユーザーの最大数",
"Used count": "使用回数",
"Used count - Tooltip": "Used count - Tooltip",
"Used count - Tooltip": "この招待コードが使用された回数です。",
"You need to first specify a default application for organization: ": "組織のデフォルトアプリケーションを最初に指定する必要があります: "
},
"ldap": {
@@ -509,7 +511,7 @@
"Allow self-signed certificate": "自己署名証明書を許可",
"Allow self-signed certificate - Tooltip": "自己署名証明書を許可 - ツールチップ",
"Auto Sync": "オート同期",
"Auto Sync - Tooltip": "自動同期設定は、0で無効になっています",
"Auto Sync - Tooltip": "自動同期設定は、0で無効す",
"Base DN": "ベース DN",
"Base DN - Tooltip": "LDAP検索中のBase DN",
"CN": "共通名CN",
@@ -528,10 +530,10 @@
"Server host": "サーバーホスト",
"Server host - Tooltip": "LDAPサーバーのアドレス",
"Server name": "サーバー名",
"Server name - Tooltip": "LDAPサーバー構成表示名",
"Server name - Tooltip": "LDAPサーバー構成表示名",
"Server port": "サーバーポート",
"Server port - Tooltip": "LDAPサーバーポート",
"The Auto Sync option will sync all users to specify organization": "オート同期オプションは、特定の組織に全ユーザーを同期します",
"The Auto Sync option will sync all users to specify organization": "自動同期オプションは、特定の組織に全ユーザーを同期します",
"synced": "同期済み",
"unsynced": "未同期"
},
@@ -540,7 +542,7 @@
"Back button": "戻るボタン",
"Continue with": "続ける",
"Email": "メール",
"Email or phone": "メールまたは電話",
"Email or phone": "メールアドレスまたは電話番号",
"Face ID": "顔ID",
"Face Recognition": "顔認識",
"Face recognition failed": "顔認識に失敗しました",
@@ -550,7 +552,7 @@
"Forgot password?": "パスワードを忘れましたか?",
"LDAP": "LDAP",
"LDAP username, Email or phone": "LDAPユーザー名、メールまたは電話",
"Loading": "ローディング",
"Loading": "読み込み中",
"Logging out...": "ログアウト中...",
"MetaMask plugin not detected": "MetaMaskプラグインが検出されません",
"Model loading failure": "モデル読み込みエラー",
@@ -631,21 +633,21 @@
"model": {
"Advanced Editor": "詳細エディター",
"Basic Editor": "基本エディター",
"Edit Model": "編集モデル",
"Edit Model": "モデルを編集する",
"Model text": "モデルテキスト",
"Model text - Tooltip": "Casbinのアクセス制御モデルには、ACL、RBAC、ABAC、RESTfulなどの組み込みモデルが含まれています。カスタムモデルも作成できます。詳細については、Casbinのウェブサイトをご覧ください",
"New Model": "新しいモデル"
},
"organization": {
"Account items": "アカウントアイテム",
"Account items - Tooltip": "個人設定ページのアイテム",
"Account items": "アカウント項目",
"Account items - Tooltip": "個人設定ページの項目",
"All": "全て",
"Edit Organization": "組織の編集",
"Follow global theme": "グローバルテーマに従ってください",
"Has privilege consent": "権限同意あり",
"Has privilege consent - Tooltip": "HasPrivilegeConsentがfalseの場合、組み込み組織にユーザーを追加できません",
"Has privilege consent warning": "「built-in」組み込み組織への新しいユーザーの追加は現在無効になっています。注意「built-in」組織のすべてのユーザーは、Casdoor のグローバル管理者です。ドキュメントを参照してくださいhttps://casdoor.org/docs/basic/core-concepts#how-does-casdoor-manage-itself。「built-in」組織のユーザーを作成したい場合は、組織の設定ページに移動し、「特権同意を持つ」オプションを有効にしてください。",
"Init score": "イニットスコア",
"Init score": "初期スコア",
"Init score - Tooltip": "登録時にユーザーに与えられる初期スコアポイント",
"Is profile public": "プロフィールは公開されていますか?",
"Is profile public - Tooltip": "閉鎖された後、グローバル管理者または同じ組織のユーザーだけがユーザーのプロファイルページにアクセスできます",
@@ -658,7 +660,7 @@
"Password expire days - Tooltip": "パスワード有効期限(日) - ツールチップ",
"Prompt": "プロンプト",
"Required": "必須",
"Soft deletion": "ソフト削除",
"Soft deletion": "ソフト削除",
"Soft deletion - Tooltip": "有効になっている場合、ユーザーを削除しても完全にデータベースから削除されません。代わりに、削除されたとマークされます",
"Tags": "タグ",
"Tags - Tooltip": "ユーザーが選択できるタグのコレクション",
@@ -666,8 +668,8 @@
"Use Email as username - Tooltip": "ユーザー名フィールドがサインアップ時に表示されない場合、メールアドレスをユーザー名として使用します",
"User types": "ユーザータイプ",
"User types - Tooltip": "ユーザータイプ - ツールチップ",
"View rule": "ビュールール",
"Visible": "見える",
"View rule": "ルールを表示",
"Visible": "閲覧可能",
"Website URL": "ウェブサイトのURL",
"Website URL - Tooltip": "組織のホームページのURL。このフィールドはCasdoorでは使用されません",
"Widget items": "ウィジェット項目",
@@ -677,12 +679,12 @@
"Confirm your invoice information": "請求書の情報を確認してください",
"Currency": "通貨",
"Currency - Tooltip": "米ドル、人民元など。",
"Download Invoice": "請求書ダウンロード",
"Edit Payment": "支払い編集",
"Download Invoice": "請求書ダウンロードする",
"Edit Payment": "支払い編集する",
"Failed reason": "失敗理由",
"Individual": "個人",
"Invoice URL": "請求書のURL",
"Invoice URL - Tooltip": "請求書のダウンロード用のURL",
"Invoice URL - Tooltip": "請求書のダウンロードURL",
"Invoice actions": "請求書のアクション",
"Invoice actions - Tooltip": "「業務には請求書の発行と請求書のダウンロードが含まれます。」",
"Invoice remark": "請求書備考",
@@ -697,14 +699,14 @@
"Message": "メッセージ",
"Message - Tooltip": "支払い処理の結果メッセージ",
"New Payment": "新しい支払い方法",
"Person Email": "人名の電子メール",
"Person Email - Tooltip": "支払い人のメールアドレス",
"Person Email": "個人のメールアドレス",
"Person Email - Tooltip": "支払のメールアドレス",
"Person ID card": "個人IDカード",
"Person ID card - Tooltip": "払い手のIDカード番号",
"Person name": "人名",
"Person ID card - Tooltip": "支払者のIDカード番号",
"Person name": "人名",
"Person name - Tooltip": "支払い者の実名",
"Person phone": "人の電話",
"Person phone - Tooltip": "支払者の電話番号",
"Person phone": "個人電話番号",
"Person phone - Tooltip": "支払者の電話番号",
"Please carefully check your invoice information. Once the invoice is issued, it cannot be withdrawn or modified.": "請求書情報を慎重に確認してください。一度請求書が発行されると、取り下げまたは変更することはできません。",
"Please click the below button to return to the original website": "以下のボタンをクリックして、元のウェブサイトに戻ってください",
"Please pay the order first!": "最初に注文をお支払いください!",
@@ -715,7 +717,7 @@
"Result": "結果",
"Return to Website": "ウェブサイトに戻る",
"The payment has been canceled": "支払いがキャンセルされました",
"The payment has failed": "支払い失敗しました",
"The payment has failed": "支払い失敗しました",
"The payment has time out": "支払いがタイムアウトしました",
"The payment is still under processing": "支払いはまだ処理中です",
"Type - Tooltip": "製品を購入する際に使用される支払方法",
@@ -727,48 +729,48 @@
},
"permission": {
"Actions": "アクション",
"Actions - Tooltip": "許可された行動",
"Actions - Tooltip": "許可されるアクション",
"Admin": "管理者",
"Allow": "許可する",
"Approve time": "承認時間",
"Approve time - Tooltip": "この許可の承認時間",
"Approve time - Tooltip": "この権限の承認時間",
"Approved": "承認済み",
"Approver": "承認者",
"Approver - Tooltip": "許可を承認した人",
"Approver - Tooltip": "権限の承認者",
"Deny": "否定する",
"Edit Permission": "編集許可",
"Edit Permission": "権限の編集",
"Effect": "効果",
"Effect - Tooltip": "許可または拒否する",
"New Permission": "新しい許可",
"Pending": "未解決の",
"Read": "読む",
"New Permission": "新しい権限",
"Pending": "保留中",
"Read": "閲覧",
"Resource type": "リソースタイプ",
"Resource type - Tooltip": "リソースの種類",
"Resources - Tooltip": "認された資源",
"Resources - Tooltip": "認されたリソース",
"Submitter": "投稿者",
"Submitter - Tooltip": "この許可を申請する人",
"Submitter - Tooltip": "権限の申請者",
"TreeNode": "ツリーノード",
"Write": "書"
"Write": "書き込み"
},
"plan": {
"Edit Plan": "プランを編集",
"New Plan": "新しいプラン",
"Period": "期間",
"Period - Tooltip": "Period - Tooltip",
"Period - Tooltip": "",
"Price": "価格",
"Price - Tooltip": "Price - Tooltip",
"Price - Tooltip": "",
"Related product": "関連製品",
"per month": "月毎",
"per month": "1か月あたり",
"per year": "年あたり"
},
"pricing": {
"Copy pricing page URL": "価格ページのURLをコピー",
"Edit Pricing": "価格設定を編集",
"Failed to get plans": "計画の取得に失敗しました",
"Failed to get plans": "プランの取得に失敗しました",
"Free": "無料",
"Getting started": "はじめ",
"Getting started": "さあ、はじめよう",
"New Pricing": "新しい価格設定",
"Trial duration": "トライアル期間の長さ",
"Trial duration": "トライアル期間",
"Trial duration - Tooltip": "トライアル期間の長さ",
"days trial available!": "日間のトライアルが利用可能です!",
"paid-user do not have active subscription or pending subscription, please select a plan to buy": "有料ユーザーにアクティブまたは保留中のサブスクリプションがありません。購入するプランを選択してください"
@@ -782,31 +784,31 @@
"Detail - Tooltip": "製品の詳細",
"Dummy": "ダミー",
"Edit Product": "製品を編集",
"Image": "画像",
"Image": "イメージ",
"Image - Tooltip": "製品のイメージ",
"Is recharge": "チャージ用か",
"Is recharge - Tooltip": "現在の製品が残高をチャージするためかどうか",
"New Product": "新製品",
"New Product": "新しい製品",
"Pay": "支払う",
"PayPal": "ペイパル",
"Payment cancelled": "支払いキャンセル",
"Payment failed": "支払い失敗",
"Payment providers": "支払いプロバイダー",
"Payment providers - Tooltip": "支払サービスの提供者",
"Payment providers - Tooltip": "支払サービスのプロバイダー",
"Placing order...": "注文をする...",
"Price": "価格",
"Price - Tooltip": "製品の価格",
"Quantity": "量",
"Quantity - Tooltip": "製品の量",
"Quantity": "量",
"Quantity - Tooltip": "製品の量",
"Return URL": "戻りURL",
"Return URL - Tooltip": "成功した購入後に戻るURL",
"Return URL - Tooltip": "購入が成功した後に戻るURL",
"SKU": "SKU",
"Sold": "売れました",
"Sold - Tooltip": "販売数",
"Sold": "売却済み",
"Sold - Tooltip": "販売数",
"Stripe": "ストライプ",
"Success URL": "成功URL",
"Success URL - Tooltip": "購入後に戻るURL",
"Tag - Tooltip": "製品のタグ",
"Tag - Tooltip": "Tag - Tooltip",
"Test buy page..": "テスト購入ページ。",
"There is no payment channel for this product.": "この製品には支払いチャネルがありません。",
"This product is currently not in sale.": "この製品は現在販売されていません。",
@@ -825,15 +827,15 @@
"App Key - Tooltip": "アプリキー - ツールチップ",
"App key": "アプリキー",
"App key - Tooltip": "アプリキー",
"App secret": "アプリの秘密鍵",
"AppSecret - Tooltip": "アプリの秘密鍵",
"App secret": "アプリシークレット",
"AppSecret - Tooltip": "アプリシークレット",
"Auth Key": "認証キー",
"Auth Key - Tooltip": "認証キー - ツールチップ",
"Auth URL": "認証URL",
"Auth URL - Tooltip": "認証URL",
"Base URL": "ベースURL",
"Base URL - Tooltip": "ベースURL - ツールチップ",
"Bucket": "バケ",
"Bucket": "バケット",
"Bucket - Tooltip": "バケットの名前",
"Can not parse metadata": "メタデータを解析できません",
"Can signin": "サインインできますか?",
@@ -850,9 +852,9 @@
"Client ID 2": "クライアントID 2",
"Client ID 2 - Tooltip": "第2のクライアントID",
"Client secret": "クライアント秘密鍵",
"Client secret - Tooltip": "クライアント秘密鍵",
"Client secret 2": "クライアントシークレット2",
"Client secret 2 - Tooltip": "第二クライアント秘密鍵",
"Client secret - Tooltip": "クライアントシークレット",
"Client secret 2": "クライアント秘密鍵2",
"Client secret 2 - Tooltip": "2番目のクライアントのシークレットキー",
"Content": "コンテンツ",
"Content - Tooltip": "コンテンツ - ツールチップ",
"Copy": "コピー",
@@ -862,8 +864,8 @@
"Disable SSL - Tooltip": "SMTPサーバーと通信する場合にSSLプロトコルを無効にするかどうか",
"Domain": "ドメイン",
"Domain - Tooltip": "オブジェクトストレージのカスタムドメイン",
"Edit Provider": "編集プロバイダ",
"Email content": "Eメールの内容",
"Edit Provider": "プロバイダを編集する",
"Email content": "メールの内容",
"Email content - Tooltip": "メールの内容",
"Email regex": "メール正規表現",
"Email regex - Tooltip": "メール正規表現 - ツールチップ",
@@ -877,7 +879,7 @@
"From address": "送信元アドレス",
"From address - Tooltip": "From address - Tooltip",
"From name": "送信元名",
"From name - Tooltip": "From name - Tooltip",
"From name - Tooltip": "\"From\"の名前",
"Get phone number": "電話番号を取得",
"Get phone number - Tooltip": "電話番号の同期が有効になっている場合は、最初にGoogle People APIを有効にし、スコープhttps://www.googleapis.com/auth/user.phonenumbers.readを追加する必要があります",
"HTTP body mapping": "HTTPボディマッピング",
@@ -889,7 +891,7 @@
"IdP": "IDプロバイダーIdP",
"IdP certificate": "IdP証明書",
"Internal": "内部",
"Issuer URL": "発行者URL",
"Issuer URL": "発行者URL",
"Issuer URL - Tooltip": "発行者URL",
"Key ID": "キーID",
"Key ID - Tooltip": "Key ID - Tooltip",
@@ -900,11 +902,11 @@
"Metadata url": "メタデータURL",
"Metadata url - Tooltip": "メタデータURL - ツールチップ",
"Method - Tooltip": "ログイン方法、QRコードまたはサイレントログイン",
"New Provider": "新しい提供者",
"New Provider": "新しいプロバイダー",
"Normal": "通常",
"Parameter": "パラメータ",
"Parameter - Tooltip": "パラメータ - ツールチップ",
"Parse": "パースする",
"Parse": "解析",
"Parse metadata successfully": "メタデータを正常に解析しました",
"Path prefix": "パスプレフィックス",
"Path prefix - Tooltip": "オブジェクトストレージのバケットパスプレフィックス",
@@ -915,7 +917,7 @@
"Private Key - Tooltip": "秘密鍵 - ツールチップ",
"Project Id": "プロジェクトID",
"Project Id - Tooltip": "プロジェクトID - ツールチップ",
"Prompted": "促された",
"Prompted": "求められた",
"Provider - Tooltip": "プロバイダー - ツールチップ",
"Provider URL": "プロバイダーURL",
"Provider URL - Tooltip": "サービスプロバイダーの設定用URL。このフィールドは参照用にのみ使用され、Casdoorでは使用されません",
@@ -926,8 +928,8 @@
"Region ID": "地域ID",
"Region ID - Tooltip": "サービスプロバイダの地域ID",
"Region endpoint for Internet": "インターネットのリージョンエンドポイント",
"Region endpoint for Intranet": "Intranetの地域エンドポイント",
"Required": "必要です",
"Region endpoint for Intranet": "インターネットのリージョンエンドポイント",
"Required": "必",
"Reset to Default HTML": "デフォルトHTMLにリセット",
"Reset to Default Text": "デフォルトテキストにリセット",
"SAML 2.0 Endpoint (HTTP)": "SAML 2.0 エンドポイントHTTP",
@@ -937,15 +939,15 @@
"SMS account - Tooltip": "SMSアカウント",
"SMTP connected successfully": "SMTP接続成功",
"SP ACS URL": "SP ACS URL",
"SP ACS URL - Tooltip": "SP ACS URL - ツールチップ",
"SP ACS URL - Tooltip": "SP ACS URL",
"SP Entity ID": "SPエンティティID",
"Scene": "シーン",
"Scene - Tooltip": "シーン",
"Scope": "範囲",
"Scope - Tooltip": "範囲",
"Scope": "スコープ",
"Scope - Tooltip": "スコープ",
"Secret access key": "秘密のアクセスキー",
"Secret access key - Tooltip": "秘密のアクセスキー",
"Secret key": "秘密鍵",
"Secret access key - Tooltip": "シークレットアクセスキー",
"Secret key": "シークレットキー",
"Secret key - Tooltip": "認証のためにサーバーによって使用され、認証コードプロバイダAPIを呼び出すためのもの",
"Send Testing Email": "テスト用メールを送信する",
"Send Testing Notification": "テスト通知を送信",
@@ -955,12 +957,12 @@
"Sender number": "送信者番号",
"Sender number - Tooltip": "送信者番号 - ツールチップ",
"Service ID identifier": "サービスID識別子",
"Service ID identifier - Tooltip": "Service ID identifier - Tooltip",
"Service ID identifier - Tooltip": "サービスID識別子",
"Service account JSON": "サービスアカウントJSON",
"Service account JSON - Tooltip": "Service account JSON - Tooltip",
"Service account JSON - Tooltip": "サービスアカウントの JSON ファイルの内容",
"Sign Name": "署名",
"Sign Name - Tooltip": "使用する署名の名前",
"Sign request": "サインリクエスト",
"Sign request": "署名リクエスト",
"Sign request - Tooltip": "リクエストに署名が必要かどうか",
"Signin HTML": "サインインHTML",
"Signin HTML - Edit": "サインイン HTML - 編集",
@@ -999,10 +1001,10 @@
"Use id as name": "IDを名前として使用",
"Use id as name - Tooltip": "IDをユーザー名として使用",
"User flow": "ユーザーフロー",
"User flow - Tooltip": "User flow - Tooltip",
"User flow - Tooltip": "ユーザーフロー",
"User mapping": "ユーザーマッピング",
"User mapping - Tooltip": "ユーザーマッピング - ツールチップ",
"UserInfo URL": "UserInfo URLを日本語に翻訳すると、「ユーザー情報URL」となります",
"UserInfo URL": "ユーザー情報URL",
"UserInfo URL - Tooltip": "ユーザー情報URL",
"Wallets": "ウォレット",
"Wallets - Tooltip": "ウォレット - ツールチップ",
@@ -1023,29 +1025,29 @@
"Upload a file...": "ファイルをアップロードしてください..."
},
"role": {
"Edit Role": "役割の編集",
"New Role": "新しい役割",
"Edit Role": "ロールを編集",
"New Role": "新しいロール",
"Sub domains": "サブドメイン",
"Sub domains - Tooltip": "現在の役割に含まれるドメイン",
"Sub domains - Tooltip": "現在のロールに含まれるドメイン",
"Sub groups": "サブグループ",
"Sub groups - Tooltip": "Sub groups - Tooltip",
"Sub roles": "サブロール",
"Sub roles - Tooltip": "現在の役割に含まれる役割",
"Sub roles - Tooltip": "現在のロールに含まれるロール",
"Sub users": "サブユーザー",
"Sub users - Tooltip": "現在の役割に含まれるユーザー"
"Sub users - Tooltip": "現在のロールに含まれるユーザー"
},
"signup": {
"Accept": "受け入れる",
"Agreement": "協定",
"Accept": "同意",
"Agreement": "規約",
"Confirm": "確認",
"Decline": "拒否",
"Decline": "辞退",
"Have account?": "アカウントはありますか?",
"Label": "ラベル",
"Label HTML": "ラベルHTML",
"Options": "オプション",
"Placeholder": "プレースホルダー",
"Please accept the agreement!": "合意に同意してください!",
"Please click the below button to sign in": "以下のボタンをクリックしてログインしてください",
"Please accept the agreement!": "契約に同意してください!",
"Please click the below button to sign in": "サインインするには、以下のボタンをクリックしてください",
"Please confirm your password!": "パスワードを確認してください!",
"Please input the correct ID card number!": "正しいIDカード番号を入力してください",
"Please input your Email!": "メールアドレスを入力してください!",
@@ -1053,11 +1055,11 @@
"Please input your address!": "あなたの住所を入力してください!",
"Please input your affiliation!": "所属を入力してください!",
"Please input your display name!": "表示名を入力してください!",
"Please input your first name!": "最初の名前を入力してください!",
"Please input your first name!": "名前(ファーストネーム)を入力してください!",
"Please input your invitation code!": "招待コードを入力してください!",
"Please input your last name!": "あなたの姓を入力してください!",
"Please input your last name!": "苗字を入力してください!",
"Please input your phone number!": "あなたの電話番号を入力してください!",
"Please input your real name!": "正しい名前を入力してください!",
"Please input your real name!": "本名を入力してください!",
"Please select your country code!": "あなたの国コードを選択してください!",
"Please select your country/region!": "あなたの国/地域を選択してください!",
"Regex": "正規表現",
@@ -1071,13 +1073,13 @@
"Text 5": "テキスト5",
"The input Email doesn't match the signup item regex!": "入力されたメールアドレスがサインアップ項目の正規表現と一致しません!",
"The input is not invoice Tax ID!": "入力されたものは請求書の税番号ではありません!",
"The input is not invoice title!": "インプットは請求書タイトルではありません!",
"The input is not invoice title!": "入力されたものは請求書タイトルではありません!",
"The input is not valid Email!": "入力されたものは有効なメールではありません",
"The input is not valid Phone!": "この入力は有効な電話番号ではありません!",
"The input is not valid Phone!": "入力されたものは有効な電話番号ではありません!",
"Username": "ユーザー名",
"Username - Tooltip": "ユーザー名 - ツールチップ",
"Your account has been created!": "あなたのアカウントが作成されました!",
"Your confirmed password is inconsistent with the password!": "確認されたパスワードは、パスワードと矛盾しています",
"Your confirmed password is inconsistent with the password!": "確認されたパスワードパスワードと一致しません",
"sign in now": "今すぐサインインしてください"
},
"subscription": {
@@ -1091,7 +1093,7 @@
"Pending": "保留中",
"Period": "期間",
"Start time": "開始時刻",
"Start time - Tooltip": "Start time - Tooltip",
"Start time - Tooltip": "サブスクリプションの開始日時",
"Suspended": "一時停止",
"Upcoming": "近日"
},
@@ -1100,31 +1102,31 @@
"Affiliation table - Tooltip": "作業単位のデータベーステーブル名",
"Avatar base URL": "アバターベースURL",
"Avatar base URL - Tooltip": "アバター画像のURLプレフィックス",
"Casdoor column": "カスドアカラム",
"Casdoor column": "Casdoor 列名",
"Column name": "列名",
"Column type": "コラムタイプ",
"Column type": "列名タイプ",
"Connect successfully": "接続成功",
"Database": "データベース",
"Database - Tooltip": "元のデータベース名",
"Database type": "データベースのタイプ",
"Database type - Tooltip": "データベースの種類で、MySQL、PostgreSQL、SQL Server、Oracle、SQLiteなど、XORMでサポートされているすべてのデータベースをサポートしています。",
"Edit Syncer": "エディットシンカー",
"Edit Syncer": "同期ツールを編集",
"Error text": "エラーテキスト",
"Error text - Tooltip": "エラーテキスト",
"Failed to connect": "接続に失敗しました",
"Is hashed": "ハッシュ化されました",
"Is hashed": "ハッシュ済み",
"Is key": "キーか",
"Is read-only": "読み取り専用か",
"Is read-only - Tooltip": "読み取り専用か - ツールチップ",
"New Syncer": "新しいシンクロナイザー",
"New Syncer": "新しい同期",
"SSH host": "SSHホスト",
"SSH password": "SSHパスワード",
"SSH port": "SSHポート",
"SSH user": "SSHユーザー",
"SSL mode": "SSLモード",
"SSL mode - Tooltip": "SSL mode - Tooltip",
"Sync interval": "同期間隔",
"Sync interval - Tooltip": "単位は秒です",
"SSL mode - Tooltip": "データベースに接続するときに使用される SSL モード",
"Sync interval": "同期する間隔",
"Sync interval - Tooltip": "単位(秒)",
"Table": "テーブル",
"Table - Tooltip": "データベーステーブル名",
"Table columns": "テーブルの列",
@@ -1132,7 +1134,7 @@
"Test DB Connection": "DB接続をテスト"
},
"system": {
"API Latency": "API遅延",
"API Latency": "APIレイテンシ",
"API Throughput": "APIスループット",
"About Casdoor": "Casdoorについて",
"An Identity and Access Management (IAM) / Single-Sign-On (SSO) platform with web UI supporting OAuth 2.0, OIDC, SAML and CAS": "ウェブUIを備えたアイデンティティおよびアクセス管理IAM/シングルサインオンSSOプラットフォームで、OAuth 2.0、OIDC、SAML、およびCASをサポートしています",
@@ -1141,7 +1143,7 @@
"Count": "カウント",
"Failed to get CPU usage": "CPU使用率を取得できませんでした",
"Failed to get memory usage": "メモリ使用量を取得できませんでした",
"Latency": "遅延",
"Latency": "レイテンシ",
"Memory Usage": "メモリ使用量",
"Official website": "公式ウェブサイト",
"Throughput": "スループット",
@@ -1150,27 +1152,27 @@
"Version": "バージョン"
},
"theme": {
"Blossom": "花開く",
"Border radius": "ボーダーラジウス",
"Blossom": "ブロッサム",
"Border radius": "ボーダー半径",
"Compact": "コンパクト",
"Customize theme": "テーマのカスタマイズ",
"Dark": "暗い",
"Dark": "ダーク",
"Default": "デフォルト",
"Document": "ドキュメント",
"Is compact": "コンパクトです",
"Primary color": "主色",
"Is compact": "コンパクト",
"Primary color": "プライマリーカラー",
"Theme": "テーマ",
"Theme - Tooltip": "アプリケーションのスタイルテーマ"
},
"token": {
"Access token": "アクセストークン",
"Access token - Tooltip": "アクセストークン - ツールチップ",
"Authorization code": "認コード",
"Authorization code": "認コード",
"Authorization code - Tooltip": "認証コード - ツールチップ",
"Copy access token": "アクセストークンをコピー",
"Copy parsed result": "解析結果をコピー",
"Edit Token": "編集トークン",
"Expires in": "期限切れ",
"Edit Token": "トークンを編集",
"Expires in": "有効期限:",
"Expires in - Tooltip": "有効期限 - ツールチップ",
"New Token": "新しいトークン",
"Parsed result": "解析結果",
@@ -1229,14 +1231,14 @@
"Input your phone number": "電話番号を入力してください",
"Is admin": "管理者ですか?",
"Is admin - Tooltip": "ユーザーが属する組織の管理者ですか?",
"Is deleted": "削除されました",
"Is deleted": "削除済み",
"Is deleted - Tooltip": "ソフト削除されたユーザーは、データベースのレコードのみを保持し、何らかの操作を実行することはできません",
"Is forbidden": "禁止されています",
"Is forbidden": "禁止",
"Is forbidden - Tooltip": "禁止されたユーザーはこれ以上ログインできません",
"Is online": "オンラインか",
"Karma": "カルマ",
"Karma - Tooltip": "カルマ - ツールチップ",
"Keys": "",
"Keys": "キー",
"Language": "言語",
"Language - Tooltip": "言語 - ツールチップ",
"Last change password time": "最終パスワード変更時刻",
@@ -1252,18 +1254,18 @@
"New Email": "新しいメール",
"New Password": "新しいパスワード",
"New User": "新しいユーザー",
"New phone": "新しい電話",
"New phone": "新しい電話番号",
"Old Password": "古いパスワード",
"Password set successfully": "パスワードの設定に成功しました",
"Phone cannot be empty": "電話は空にできません",
"Phone cannot be empty": "電話番号は空にできません",
"Please select avatar from resources": "リソースからアバターを選択してください",
"Properties": "特性",
"Properties - Tooltip": "ユーザーのプロパティ",
"Properties": "プロパティ",
"Properties - Tooltip": "ユーザーのプロパティ",
"Ranking": "ランキング",
"Ranking - Tooltip": "ランキング - ツールチップ",
"Re-enter New": "新しく入り直す",
"Reset Email...": "リセットメール...",
"Reset Phone...": "リセットします...",
"Re-enter New": "新しい入力",
"Reset Email...": "メールアドレスをリセット...",
"Reset Phone...": "電話番号をリセット...",
"Score": "スコア",
"Score - Tooltip": "スコア - ツールチップ",
"Select a photo...": "写真を選択してください...",
@@ -1288,7 +1290,7 @@
"Upload ID card with person picture": "本人と身分証の画像をアップロード",
"Upload a photo": "写真をアップロードしてください",
"User Profile": "ユーザープロフィール",
"Values": "価値観",
"Values": "",
"Verification code sent": "確認コードを送信しました",
"WebAuthn credentials": "WebAuthnの資格情報",
"You have changed the username, please save your change first before modifying the password": "ユーザー名を変更しました。パスワードを変更する前に、変更を保存してください",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "Теңшеу CSS (мобильді)",
"Custom CSS Mobile - Edit": "Теңшеу CSS (мобильді) - Өңдеу",
"Custom CSS Mobile - Tooltip": "Теңшеу CSS (мобильді) - Қысқаша түсінік",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Динамикалық",
"Edit Application": "Қолданбаны өңдеу",
"Enable Email linking": "Email байланысын қосу",
@@ -479,7 +481,7 @@
"Show all": "Барлығын көрсету",
"Upload (.xlsx)": "Жүктеу (.xlsx)",
"Virtual": "Виртуалды",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Алдымен барлық ішкі топтарды жою керек. Ішкі топтарды [Ұйымдар] -\u003e [Топтар] парағының сол жақ топ ағашында көре аласыз"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Алдымен барлық ішкі топтарды жою керек. Ішкі топтарды [Ұйымдар] -> [Топтар] парағының сол жақ топ ағашында көре аласыз"
},
"home": {
"New users past 30 days": "Соңғы 30 күнде жаңа пайдаланушылар",

View File

@@ -6,7 +6,7 @@
},
"adapter": {
"Duplicated policy rules": "복제된 정책 규칙들",
"Edit Adapter": "편집 어댑터 수정하기",
"Edit Adapter": "어댑터 수정",
"Failed to sync policies": "정책 동기화 실패했습니다",
"New Adapter": "새로운 어댑터",
"Policies": "정책",
@@ -14,14 +14,14 @@
"Rule type": "규칙 유형",
"Sync policies successfully": "정책을 성공적으로 동기화했습니다",
"Use same DB": "동일한 DB 사용",
"Use same DB - Tooltip": "Use same DB - Tooltip"
"Use same DB - Tooltip": "Casdoor와 같은 DB 사용"
},
"application": {
"Add Face ID": "얼굴 ID 추가",
"Add Face ID with Image": "이미지로 얼굴 ID 추가",
"Always": "항상",
"Auto signin": "자동 로그인",
"Auto signin - Tooltip": "카스도어에 로그인된 세션이 존재할 때, 애플리케이션 쪽 로그인에 자동으로 사용됩니다",
"Auto signin - Tooltip": "Casdoor에 로그인 된 세션이 존재할 때, Application의 로그인에 자동으로 사용됩니다",
"Background URL": "배경 URL",
"Background URL - Tooltip": "로그인 페이지에서 사용된 배경 이미지의 URL",
"Background URL Mobile": "모바일 배경 URL",
@@ -31,25 +31,27 @@
"CSS style": "CSS 스타일",
"Center": "중앙",
"Copy SAML metadata URL": "SAML 메타데이터 URL 복사",
"Copy prompt page URL": "프롬프트 페이지 URL을 복사하세요",
"Copy signin page URL": "사인인 페이지 URL 복사",
"Copy signup page URL": "가입 페이지 URL 복사하세요",
"Custom CSS": "CSS 양식",
"Custom CSS - Edit": " CSS - 편집",
"Custom CSS - Tooltip": "가입, 로그인 및 비밀번호를 잊어버린 양식의 CSS 스타일링 (예 : 테두리와 그림자 추가)",
"Copy prompt page URL": "프롬프트 페이지 URL을 복사",
"Copy signin page URL": "로그인 페이지 URL 복사",
"Copy signup page URL": "회원가입 페이지 URL 복사",
"Custom CSS": "사용자 정의 CSS",
"Custom CSS - Edit": "사용자 정의 CSS - 편집",
"Custom CSS - Tooltip": "회원가입, 로그인 및 비밀번호 찾기 양식의 CSS (예: 테두리와 그림자 추가)",
"Custom CSS Mobile": "모바일 사용자 정의 CSS",
"Custom CSS Mobile - Edit": "모바일 사용자 정의 CSS - 편집",
"Custom CSS Mobile - Tooltip": "모바일 사용자 정의 CSS - 툴팁",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "동적",
"Edit Application": " 편집하기",
"Enable Email linking": "이메일 링크 사용 가능하도록 설정하기",
"Enable Email linking - Tooltip": "3rd-party 로그인 공급자를 사용할 때, 만약 조직 내에 동일한 이메일을 사용하는 사용자가 있다면, 3rd-party 로그인 방법은 자동으로 해당 사용자와 연동됩니다",
"Edit Application": "어플리케이션 편집",
"Enable Email linking": "Email 연결 활성화",
"Enable Email linking - Tooltip": "3rd-party 로그인 공급자를 사용할 때 조직 내에 동일한 이메일 사용자가 있다면, 자동으로 해당 사용자와 연동됩니다",
"Enable SAML C14N10": "SAML C14N10 활성화",
"Enable SAML C14N10 - Tooltip": "Enable SAML C14N10 - Tooltip",
"Enable SAML C14N10 - Tooltip": "SAML에서 C14N11 대신 C14N10 사용",
"Enable SAML POST binding": "SAML POST 바인딩 활성화",
"Enable SAML POST binding - Tooltip": "HTTP POST 바인딩은 HTML 폼의 입력 필드를 사용하여 SAML 메시지를 전송합니다. SP에서 사용하는 경우 활성화하세요.",
"Enable SAML compression": "SAML 압축 사용 가능하게 설정하기",
"Enable SAML compression - Tooltip": "카스도어가 SAML idp로 사용될 때 SAML 응답 메시지를 압축할 것인지 여부",
"Enable SAML compression": "SAML 압축 활성화",
"Enable SAML compression - Tooltip": "Casdoor가 SAML idp로 사용될 때 SAML 응답 메시지를 압축할 것인지 여부",
"Enable side panel": "측면 패널 활성화",
"Enable signin session - Tooltip": "애플리케이션에서 Casdoor에 로그인 한 후 Casdoor가 세션을 유지하는 지 여부",
"Enable signup": "가입 가능하게 만들기",
@@ -58,7 +60,7 @@
"Failed signin frozen time - Tooltip": "로그인 실패 시 계정 잠금 시간 - 툴팁",
"Failed signin limit": "로그인 실패 제한 횟수",
"Failed signin limit - Tooltip": "로그인 실패 제한 횟수 - 툴팁",
"Failed to sign in": "로그인 실패했습니다",
"Failed to sign in": "로그인 실패",
"File uploaded successfully": "파일이 성공적으로 업로드되었습니다",
"First, last": "이름, 성",
"Follow organization theme": "조직의 주제를 따르세요",
@@ -93,20 +95,20 @@
"Org choice mode": "조직 선택 모드",
"Org choice mode - Tooltip": "조직 선택 모드 - 툴팁",
"Please enable \\\"Signin session\\\" first before enabling \\\"Auto signin\\\"": "\\\"자동 로그인\\\"을 활성화하기 전에 \\\"로그인 세션\\\"을 먼저 활성화하세요.",
"Please input your application!": "당신의 신청서를 입력해주세요!",
"Please input your organization!": "귀하의 조직을 입력해 주세요!",
"Please input your application!": "어플리케이션 이름을 입력해주세요!",
"Please input your organization!": "조직 이름을 입력해주세요!",
"Please select a HTML file": "HTML 파일을 선택해 주세요",
"Pop up": "팝업",
"Random": "무작위",
"Real name": "실명",
"Redirect URL": "리디렉 URL",
"Redirect URL": "리디렉 URL",
"Redirect URL (Assertion Consumer Service POST Binding URL) - Tooltip": "리디렉션 URL (단언 서비스 소비자 POST 바인딩 URL)",
"Redirect URLs": "URL 리디렉트",
"Redirect URLs": "리디렉션 URL 목록",
"Redirect URLs - Tooltip": "허용된 리디렉션 URL 목록은 정규 표현식 일치를 지원합니다. 목록에 없는 URL은 리디렉션에 실패합니다",
"Refresh token expire": "리프레시 토큰 만료",
"Refresh token expire - Tooltip": "리프레시 토큰 만료 시간",
"Reset to Empty": "비우기",
"Right": "옳은",
"Right": "오른쪽",
"Rule": "규칙",
"SAML metadata": "SAML 메타데이터",
"SAML metadata - Tooltip": "SAML 프로토콜의 메타 데이터",
@@ -115,31 +117,31 @@
"Side panel HTML": "사이드 패널 HTML",
"Side panel HTML - Edit": "사이드 패널 HTML - 편집",
"Side panel HTML - Tooltip": "로그인 페이지의 측면 패널용 HTML 코드를 맞춤 설정하십시오",
"Sign Up Error": "가입 오류",
"Sign Up Error": "회원가입 오류",
"Signin": "로그인",
"Signin (Default True)": "로그인 (기본값 True)",
"Signin items": "로그인 항목",
"Signin items - Tooltip": "Signin items - Tooltip",
"Signin items - Tooltip": "로그인 할 때에 사용자가 작성해야하는 항목들",
"Signin methods": "로그인 방법",
"Signin methods - Tooltip": "로그인 방법 - 툴팁",
"Signin session": "로그인 세션",
"Signup items": "가입 항목",
"Signup items - Tooltip": "새로운 계정 등록시 사용자가 작성해야하는 항목들",
"Signup items": "회원가입 항목",
"Signup items - Tooltip": "회원가입 할 때에 사용자가 작성해야하는 항목들",
"Single Choice": "단일 선택",
"Small icon": "작은 아이콘",
"Tags - Tooltip": "애플리케이션 태그에 나열된 태그를 가진 사용자만 로그인할 수 있습니다.",
"The application does not allow to sign up new account": "이 어플리케이션은 새 계정 등록을 허용하지 않습니다",
"The application does not allow to sign up new account": "이 어플리케이션은 회원가입을 허용하지 않습니다",
"Token expire": "토큰 만료",
"Token expire - Tooltip": "액세스 토큰 만료 시간",
"Token fields": "토큰 필드",
"Token fields - Tooltip": "Token fields - Tooltip",
"Token fields - Tooltip": "토큰에 포함된 사용자 필드",
"Token format": "토큰 형식",
"Token format - Tooltip": "접근 토큰의 형식",
"Token format - Tooltip": "엑세스 토큰의 형식",
"Token signing method": "토큰 서명 방법",
"Token signing method - Tooltip": "JWT 토큰의 서명 방법은 인증서와 동일한 알고리즘이어야 합니다.",
"Use Email as NameID": "이메일을 NameID로 사용",
"Use Email as NameID - Tooltip": "이메일을 NameID로 사용 - 툴팁",
"You are unexpected to see this prompt page": "당신은 이 프롬프트 페이지를 볼 것을 예상하지 못했습니다"
"You are unexpected to see this prompt page": "이 프롬프트 페이지는 표시되지 않아야 합니다"
},
"cert": {
"Bit size": "비트 크기",
@@ -229,7 +231,7 @@
"Adapter": "어댑터",
"Adapter - Tooltip": "정책 저장소의 테이블 이름",
"Adapters": "어댑터",
"Add": "추가하다",
"Add": "추가",
"Add custom item": "사용자 정의 항목 추가",
"Admin": "관리자",
"Affiliation URL": "소속 URL",
@@ -237,7 +239,7 @@
"All": "모두",
"Application": "응용 프로그램",
"Application - Tooltip": "애플리케이션 - 툴팁",
"Applications": "응용 프로그램",
"Applications": "어플리케이션",
"Applications that require authentication": "인증이 필요한 애플리케이션들",
"Apps": "앱",
"Authorization": "권한 부여",
@@ -253,7 +255,7 @@
"Certs": "증명서",
"Click to Upload": "클릭하여 업로드하세요",
"Client IP": "클라이언트 IP",
"Close": "닫",
"Close": "닫",
"Confirm": "확인",
"Copied to clipboard successfully": "클립보드에 복사되었습니다.",
"Created time": "작성한 시간",
@@ -343,7 +345,7 @@
"Method": "방법",
"Model": "모델",
"Model - Tooltip": "Casbin 접근 제어 모델",
"Models": "모델",
"Models": "모델",
"Name": "이름",
"Name - Tooltip": "고유한 문자열 기반 ID",
"Name format": "이름 형식",
@@ -385,10 +387,10 @@
"Pricing": "가격",
"Pricing - Tooltip": "가격 - 툴팁",
"Pricings": "가격",
"Products": "제품",
"Products": "제품",
"Provider": "공급자",
"Provider - Tooltip": "지불 공급자를 구성해야합니다. PayPal, Alipay, WeChat Pay 등이 포함됩니다.",
"Providers": "제공자",
"Providers": "제공자",
"Providers - Tooltip": "공급 업체는 구성되어야합니다. 3rd-party 로그인, 객체 저장소, 검증 코드 등을 포함합니다.",
"QR Code": "QR 코드",
"QR code is too large": "QR 코드가 너무 큽니다.",
@@ -400,7 +402,7 @@
"Role": "역할",
"Role - Tooltip": "역할 - 툴팁",
"Roles": "역할들",
"Roles - Tooltip": "사용자가 속한 역할",
"Roles - Tooltip": "사용자가 속한 역할",
"Root cert": "루트 인증서",
"Root cert - Tooltip": "루트 인증서 - 툴팁",
"SAML attributes": "SAML 속성",
@@ -411,7 +413,7 @@
"Save": "저장하다",
"Save & Exit": "저장하고 종료하기",
"Session ID": "세션 ID",
"Sessions": "세션",
"Sessions": "세션",
"Shortcuts": "단축키",
"Signin URL": "로그인 URL",
"Signin URL - Tooltip": "로그인 페이지에 대한 사용자 지정 URL입니다. 설정되지 않으면 기본 Casdoor 로그인 페이지가 사용됩니다. 설정하면 Casdoor의 여러 페이지의 로그인 링크가이 URL로 리디렉션됩니다",
@@ -432,13 +434,13 @@
"Successfully saved": "성공적으로 저장되었습니다",
"Successfully sent": "성공적으로 전송되었습니다.",
"Successfully synced": "성공적으로 동기화되었습니다.",
"Supported country codes": "지원되는 국가 코드",
"Supported country codes - Tooltip": "조직에서 지원하는 국가 코드입니다. 이 코드들은 SMS 인증 코드를 보낼 때 접두사로 선택할 수 있습니다",
"Sure to delete": "삭제하시겠습니까?",
"Supported country codes": "지원되는 국가 코드",
"Supported country codes - Tooltip": "조직에서 지원하는 국가 코드입니다. SMS 인증 코드를 보낼 때 접두사로 선택할 수 있습니다",
"Sure to delete": "정말 삭제하시겠습니까?",
"Sure to disable": "비활성화하시겠습니까?",
"Sure to remove": "제거하시겠습니까?",
"Swagger": "스웨거",
"Sync": "싱크",
"Sync": "동기화",
"Syncers": "동기화 도구",
"System Info": "시스템 정보",
"There was a problem signing you in..": "로그인하는 데 문제가 발생했습니다.",
@@ -466,7 +468,7 @@
"Verifications": "검증",
"Webhooks": "웹훅",
"You can only select one physical group": "물리적 그룹은 하나만 선택할 수 있습니다.",
"empty": "",
"empty": "비어 있음",
"remove": "제거",
"{total} in total": "총 {total}개"
},
@@ -479,7 +481,7 @@
"Show all": "모두 표시",
"Upload (.xlsx)": "업로드 (.xlsx)",
"Virtual": "가상",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "모든 하위 그룹을 먼저 삭제해야 합니다. [조직] -\u003e [그룹] 페이지의 왼쪽 그룹 트리에서 하위 그룹을 확인할 수 있습니다."
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "모든 하위 그룹을 먼저 삭제해야 합니다. [조직] -> [그룹] 페이지의 왼쪽 그룹 트리에서 하위 그룹을 확인할 수 있습니다."
},
"home": {
"New users past 30 days": "지난 30일간 새 사용자",
@@ -489,35 +491,35 @@
"Total users": "총 사용자 수"
},
"invitation": {
"Code": "코드",
"Code - Tooltip": "Code - Tooltip",
"Code": "초대 코드",
"Code - Tooltip": "초대 코드는 단일 문자열이거나 정규 표현식일 수 있습니다. 정규 표현식과 일치하는 모든 문자열은 유효한 초대 코드입니다",
"Default code": "기본 코드",
"Default code - Tooltip": "초대 코드가 정규 표현식일 때, 정규 표현식 규칙에 맞는 초대 코드를 기본 초대 코드로 입력하세요.",
"Edit Invitation": "초대장 편집",
"New Invitation": "새 초대장",
"Quota": "할당량",
"Quota - Tooltip": "Quota - Tooltip",
"Quota - Tooltip": "초대 코드를 사용하여 등록할 수 있는 최대 사용자 수",
"Used count": "사용된 횟수",
"Used count - Tooltip": "Used count - Tooltip",
"You need to first specify a default application for organization: ": "먼저 조직의 기본 애플리케이션을 지정해야 합니다: "
},
"ldap": {
"Admin": "관리자",
"Admin - Tooltip": "LDAP 서버 관리자의 CN 또는 ID",
"Admin - Tooltip": "LDAP 서버 관리자의 CN(Common Name) 또는 ID",
"Admin Password": "관리자 비밀번호",
"Admin Password - Tooltip": "LDAP 서버 관리자 비밀번호",
"Allow self-signed certificate": "자체 서명 인증서 허용",
"Allow self-signed certificate - Tooltip": "자체 서명 인증서 허용 - 툴팁",
"Auto Sync": "자동 동기화",
"Auto Sync - Tooltip": "자동 동기화 구성, 0에서 비활성화됨",
"Base DN": "기본 DN",
"Base DN - Tooltip": "LDAP 검색 중 기본 DN",
"Base DN": "Base DN",
"Base DN - Tooltip": "LDAP 검색 중 Base DN",
"CN": "공통 이름(CN)",
"Default group": "기본 그룹",
"Default group - Tooltip": "동기화 후 사용자가 속하는 그룹",
"Edit LDAP": "LDAP 수정",
"Enable SSL": "SSL 활성화",
"Enable SSL - Tooltip": "SSL을 활성화할지 여부를 결정하십시오",
"Enable SSL - Tooltip": "SSL을 활성화하시겠습니까?",
"Filter fields": "필터 필드",
"Filter fields - Tooltip": "필터 필드 - 툴팁",
"Group ID": "그룹 ID",
@@ -550,7 +552,7 @@
"Forgot password?": "비밀번호를 잊으셨나요?",
"LDAP": "LDAP",
"LDAP username, Email or phone": "LDAP 사용자명, 이메일 또는 전화번호",
"Loading": "로딩 중입니다",
"Loading": "불러오는 중",
"Logging out...": "로그아웃 중...",
"MetaMask plugin not detected": "MetaMask 플러그인을 감지하지 못했습니다.",
"Model loading failure": "모델 로딩 실패",
@@ -563,33 +565,33 @@
"Please input your Email!": "이메일을 입력하세요!",
"Please input your LDAP username!": "LDAP 사용자명을 입력하세요!",
"Please input your Phone!": "전화번호를 입력하세요!",
"Please input your code!": "코드를 입력해주세요!",
"Please input your code!": "코드를 입력해주세요",
"Please input your organization name!": "조직 이름을 입력하세요!",
"Please input your password!": "비밀번호를 입력해주세요!",
"Please input your password!": "비밀번호를 입력해주세요",
"Please load the webpage using HTTPS, otherwise the camera cannot be accessed": "HTTPS로 웹페이지를 로드하세요, 그렇지 않으면 카메라에 액세스할 수 없습니다.",
"Please provide permission to access the camera": "카메라 액세스 권한을 부여하세요.",
"Please select an organization": "조직을 선택하세요.",
"Please select an organization to sign in": "로그인할 조직을 선택하세요.",
"Please type an organization to sign in": "로그인할 조직을 입력하세요.",
"Redirecting, please wait.": "리디렉 중입니다. 잠시 기다려주세요.",
"Redirecting, please wait.": "리디렉 중입니다. 잠시 기다려주세요.",
"Refresh": "새로 고침",
"Sign In": "로그인",
"Sign in with Face ID": "얼굴 ID로 로그인",
"Sign in with WebAuthn": "WebAuthn으로 로그인하세요",
"Sign in with {type}": "{type}로 로그인하세요",
"Sign in with WebAuthn": "WebAuthn으로 로그인",
"Sign in with {type}": "{type}로 로그인",
"Signin button": "로그인 버튼",
"Signing in...": "로그인 중...",
"Successfully logged in with WebAuthn credentials": "WebAuthn 자격 증명으로 로그인 성공적으로 수행했습니다",
"Successfully logged in with WebAuthn credentials": "WebAuthn 자격 증명으로 성공적으로 로그인했습니다",
"The camera is currently in use by another webpage": "카메라가 현재 다른 웹페이지에서 사용 중입니다.",
"The input is not valid Email or phone number!": "입력한 값은 유효한 이메일 또는 전화번호가 아닙니다!",
"The input is not valid Email or phone number!": "입력한 이메일 또는 전화번호가 유효하지 않습니다",
"The input is not valid Email!": "입력한 이메일이 유효하지 않습니다!",
"The input is not valid phone number!": "입력한 전화번호가 유효하지 않습니다!",
"To access": "접근하다",
"Verification code": "인증 코드",
"WeChat": "위챗",
"WebAuthn": "웹오토인",
"sign up now": "지금 가입하세요",
"username, Email or phone": "유저명, 이메일 또는 전화번호"
"sign up now": "회원가입하세요",
"username, Email or phone": "사용자 이름, 이메일 또는 전화번호"
},
"mfa": {
"Each time you sign in to your Account, you'll need your password and a authentication code": "계정에 로그인할 때마다 비밀번호와 인증 코드가 필요합니다.",
@@ -637,8 +639,8 @@
"New Model": "새로운 모델"
},
"organization": {
"Account items": "계정 항목",
"Account items - Tooltip": "개인 설정 페이지의 항목",
"Account items": "계정 항목",
"Account items - Tooltip": "개인 설정 페이지의 항목",
"All": "모두",
"Edit Organization": "단체 수정",
"Follow global theme": "글로벌 테마를 따르세요",
@@ -744,7 +746,7 @@
"Read": "읽다",
"Resource type": "자원 유형",
"Resource type - Tooltip": "자원 유형",
"Resources - Tooltip": "인가된 자원",
"Resources - Tooltip": "인가된 자원",
"Submitter": "제출자",
"Submitter - Tooltip": "이 허가를 신청하는 사람",
"TreeNode": "트리 노드",
@@ -1031,7 +1033,7 @@
"Sub groups - Tooltip": "Sub groups - Tooltip",
"Sub roles": "서브 역할",
"Sub roles - Tooltip": "현재 역할에 포함된 역할",
"Sub users": "하위 사용자",
"Sub users": "하위 사용자",
"Sub users - Tooltip": "현재 역할에 포함 된 사용자"
},
"signup": {
@@ -1128,7 +1130,7 @@
"Table": "테이블",
"Table - Tooltip": "데이터베이스 테이블 이름",
"Table columns": "테이블 열",
"Table columns - Tooltip": "데이터 동기화에 관련된 테이블의 열입니다. 동기화에 관련되지 않은 열은 추가할 필요가 없습니다",
"Table columns - Tooltip": "데이터 동기화에 관련된 테이블의 열(Columns) 입니다. 동기화에 관련되지 않은 열은 추가할 필요가 없습니다",
"Test DB Connection": "DB 연결 테스트"
},
"system": {
@@ -1196,7 +1198,7 @@
"Balance": "잔액",
"Balance - Tooltip": "사용자의 잔액",
"Bio": "소개",
"Bio - Tooltip": "사용자의 자기소개\n\n안녕하세요, 저는 [이름]입니다. 한국을 포함한 여러 나라에서 살아본 적이 있습니다. 저는 [직업/전공]을 공부하고 있으며 [취미/관심사]에 대해 깊게 알고 있습니다. 이 채팅 서비스를 사용하여 새로운 사람들과 함께 대화를 나누기를 원합니다. 감사합니다",
"Bio - Tooltip": "사용자의 자기소개",
"Birthday": "생일",
"Birthday - Tooltip": "생일 - 툴팁",
"Captcha Verify Failed": "캡차 검증 실패",
@@ -1288,7 +1290,7 @@
"Upload ID card with person picture": "사람과 신분증이 함께 있는 사진 업로드",
"Upload a photo": "사진을 업로드하세요",
"User Profile": "사용자 프로필",
"Values": "가치들",
"Values": "",
"Verification code sent": "인증 코드가 전송되었습니다",
"WebAuthn credentials": "웹 인증 자격증명",
"You have changed the username, please save your change first before modifying the password": "사용자명을 변경했습니다. 비밀번호를 수정하기 전에 변경사항을 먼저 저장하세요.",
@@ -1306,7 +1308,7 @@
"Events - Tooltip": "이벤트",
"Extended user fields": "확장 사용자 필드",
"Extended user fields - Tooltip": "확장 사용자 필드 - 툴팁",
"Headers": "헤더",
"Headers": "헤더",
"Headers - Tooltip": "HTTP 헤더 (키-값 쌍)",
"Is user extended": "사용자가 확장되었습니까?",
"Is user extended - Tooltip": "사용자의 확장 필드를 JSON에 포함할지 여부",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "CSS Tersuai Mudah Alih",
"Custom CSS Mobile - Edit": "CSS Tersuai Mudah Alih - Edit",
"Custom CSS Mobile - Tooltip": "CSS Tersuai Mudah Alih - Tooltip",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dinamik",
"Edit Application": "Edit Aplikasi",
"Enable Email linking": "Dayakan pautan Emel",
@@ -479,7 +481,7 @@
"Show all": "Tunjukkan semua",
"Upload (.xlsx)": "Muat naik (.xlsx)",
"Virtual": "Maya",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Anda perlu padam semua subkumpulan terlebih dahulu. Anda boleh lihat subkumpulan dalam pokok kumpulan kiri halaman [Organisasi] -\u003e [Kumpulan]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Anda perlu padam semua subkumpulan terlebih dahulu. Anda boleh lihat subkumpulan dalam pokok kumpulan kiri halaman [Organisasi] -> [Kumpulan]"
},
"home": {
"New users past 30 days": "Pengguna baharu 30 hari lalu",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "Aangepaste CSS mobiel",
"Custom CSS Mobile - Edit": "Aangepaste CSS mobiel - Bewerken",
"Custom CSS Mobile - Tooltip": "Aangepaste CSS mobiel - Tooltip",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dynamisch",
"Edit Application": "Applicatie bewerken",
"Enable Email linking": "E-mailkoppeling inschakelen",
@@ -270,7 +272,7 @@
"Delete": "Verwijderen",
"Description": "Beschrijving",
"Description - Tooltip": "Gedetailleerde beschrijvingsinformatie ter referentie, Casdoor gebruikt het zelf niet",
"Detail": "Detail",
"Detail": "详情",
"Disable": "Uitschakelen",
"Display name": "Weergavenaam",
"Display name - Tooltip": "Een gebruiksvriendelijke, gemakkelijk leesbare naam die openbaar wordt weergegeven in de UI",
@@ -479,7 +481,7 @@
"Show all": "Alles weergeven",
"Upload (.xlsx)": "Uploaden (.xlsx)",
"Virtual": "Virtueel",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "U moet eerst alle subgroepen verwijderen. U kunt de subgroepen bekijken in de linkergroepenboom van de [Organisaties] -\u003e [Groepen] pagina"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "U moet eerst alle subgroepen verwijderen. U kunt de subgroepen bekijken in de linkergroepenboom van de [Organisaties] -> [Groepen] pagina"
},
"home": {
"New users past 30 days": "Nieuwe gebruikers afgelopen 30 dagen",
@@ -879,7 +881,7 @@
"From name": "Afzendernaam",
"From name - Tooltip": "Naam van afzender",
"Get phone number": "Telefoonnummer ophalen",
"Get phone number - Tooltip": "Als synchronisatie van telefoonnummer is ingeschakeld, moet je eerst Google People API inschakelen en de scope toevoegen: \u003curl id=\"d20etn18bjvil5sr3djg\" type=\"url\" status=\"failed\" title=\"\" wc=\"0\"\u003ehttps://www.googleapis.com/auth/user.phonenumbers.read\u003c/url\u003e",
"Get phone number - Tooltip": "Als synchronisatie van telefoonnummer is ingeschakeld, moet je eerst Google People API inschakelen en de scope toevoegen: <url id=\"d20etn18bjvil5sr3djg\" type=\"url\" status=\"failed\" title=\"\" wc=\"0\">https://www.googleapis.com/auth/user.phonenumbers.read</url>",
"HTTP body mapping": "HTTP-body-mapping",
"HTTP body mapping - Tooltip": "HTTP-body-mapping",
"HTTP header": "HTTP-header",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "Niestandardowy CSS (wersja mobilna)",
"Custom CSS Mobile - Edit": "Edycja niestandardowego CSS (wersja mobilna)",
"Custom CSS Mobile - Tooltip": "Niestandardowy CSS (wersja mobilna) - Tooltip",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dynamiczny",
"Edit Application": "Edytuj aplikację",
"Enable Email linking": "Włącz łączenie e-maili",
@@ -479,7 +481,7 @@
"Show all": "Pokaż wszystko",
"Upload (.xlsx)": "Prześlij (.xlsx)",
"Virtual": "Wirtualna",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Musisz najpierw usunąć wszystkie podgrupy. Możesz przeglądać podgrupy w lewym drzewie grup na stronie [Organizacje] -\u003e [Grupy]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Musisz najpierw usunąć wszystkie podgrupy. Możesz przeglądać podgrupy w lewym drzewie grup na stronie [Organizacje] -> [Grupy]"
},
"home": {
"New users past 30 days": "Nowi użytkownicy w ciągu ostatnich 30 dni",
@@ -879,7 +881,7 @@
"From name": "Nazwa nadawcy",
"From name - Tooltip": "Nazwa „Od”",
"Get phone number": "Pobierz numer telefonu",
"Get phone number - Tooltip": "Jeśli synchronizacja numeru telefonu jest włączona, powinieneś najpierw włączyć Google People API i dodać zakres \u003curl id=\"d20esdb67ti9ba9h7sl0\" type=\"url\" status=\"failed\" title=\"\" wc=\"0\"\u003ehttps://www.googleapis.com/auth/user.phonenumbers.read\u003c/url\u003e",
"Get phone number - Tooltip": "Jeśli synchronizacja numeru telefonu jest włączona, powinieneś najpierw włączyć Google People API i dodać zakres <url id=\"d20esdb67ti9ba9h7sl0\" type=\"url\" status=\"failed\" title=\"\" wc=\"0\">https://www.googleapis.com/auth/user.phonenumbers.read</url>",
"HTTP body mapping": "Mapowanie treści HTTP",
"HTTP body mapping - Tooltip": "Mapowanie treści HTTP",
"HTTP header": "Nagłówek HTTP",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "CSS personalizado para dispositivos móveis",
"Custom CSS Mobile - Edit": "Editar CSS personalizado para dispositivos móveis",
"Custom CSS Mobile - Tooltip": "Dica: CSS personalizado para dispositivos móveis",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dinâmico",
"Edit Application": "Editar Aplicação",
"Enable Email linking": "Ativar vinculação de e-mail",
@@ -241,7 +243,7 @@
"Applications that require authentication": "Aplicações que requerem autenticação",
"Apps": "Aplicativos",
"Authorization": "Autorização",
"Avatar": "Avatar",
"Avatar": "Imagem de Perfil",
"Avatar - Tooltip": "Imagem de avatar pública do usuário",
"Back": "Voltar",
"Back Home": "Voltar para a Página Inicial",
@@ -479,7 +481,7 @@
"Show all": "Mostrar todos",
"Upload (.xlsx)": "Carregar (.xlsx)",
"Virtual": "Virtual",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Você precisa excluir todos os subgrupos primeiro. Você pode visualizar os subgrupos na árvore de grupos à esquerda na página [Organizações] -\u003e [Grupos]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Você precisa excluir todos os subgrupos primeiro. Você pode visualizar os subgrupos na árvore de grupos à esquerda na página [Organizações] -> [Grupos]"
},
"home": {
"New users past 30 days": "Novos usuários nos últimos 30 dias",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "Пользовательский CSS (мобильный)",
"Custom CSS Mobile - Edit": "Редактировать пользовательский CSS (мобильный)",
"Custom CSS Mobile - Tooltip": "Подсказка: пользовательский CSS (мобильный)",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Динамический",
"Edit Application": "Изменить приложение",
"Enable Email linking": "Включить связывание электронной почты",
@@ -73,7 +75,7 @@
"Grant types - Tooltip": "Выберите, какие типы грантов разрешены в протоколе OAuth",
"Header HTML": "HTML заголовка",
"Header HTML - Edit": "Редактировать HTML заголовка",
"Header HTML - Tooltip": "Настройте тег \u003chead\u003e страницы входа в приложение",
"Header HTML - Tooltip": "Настройте тег <head> страницы входа в приложение",
"Incremental": "Инкрементный",
"Inline": "Встроенный",
"Input": "Ввод",
@@ -439,7 +441,7 @@
"Sure to remove": "Вы уверены, что хотите удалить?",
"Swagger": "Сваггер",
"Sync": "Синхронизация",
"Syncers": "Синхронизаторы",
"Syncers": "Синкеры",
"System Info": "Системная информация",
"There was a problem signing you in..": "Возникла проблема при входе...",
"This is a read-only demo site!": "Это демонстрационный сайт только для чтения!",
@@ -479,7 +481,7 @@
"Show all": "Показать все",
"Upload (.xlsx)": "Загрузить (.xlsx)",
"Virtual": "Виртуальная",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Сначала удалите все подгруппы. Подгруппы можно просмотреть в дереве групп слева на странице [Организации] -\u003e [Группы]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Сначала удалите все подгруппы. Подгруппы можно просмотреть в дереве групп слева на странице [Организации] -> [Группы]"
},
"home": {
"New users past 30 days": "Новые пользователи за 30 дней",
@@ -1274,9 +1276,9 @@
"Tag - Tooltip": "Тег пользователя",
"The password must contain at least one special character": "Пароль должен содержать хотя бы один специальный символ",
"The password must contain at least one uppercase letter, one lowercase letter and one digit": "Пароль должен содержать хотя бы одну заглавную, одну строчную букву и одну цифру",
"The password must have at least 6 characters": "Пароль должен содержать не менее 6 символов",
"The password must have at least 8 characters": "Пароль должен содержать не менее 8 символов",
"The password must not contain any repeated characters": "Пароль не должен содержать повторяющихся символов",
"The password must have at least 6 characters": "Пароль должен быть минимум 6 символов",
"The password must have at least 8 characters": "Пароль должен быть минимум 8 символов",
"The password must not contain any repeated characters": "Пароль не должен содержать повторяющиеся символы",
"This field value doesn't match the pattern rule": "Значение не соответствует правилу шаблона",
"Title": "Заголовок",
"Title - Tooltip": "Положение в аффилиации",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "Vlastný CSS pre mobilné zariadenia",
"Custom CSS Mobile - Edit": "Vlastný CSS pre mobilné zariadenia - Upraviť",
"Custom CSS Mobile - Tooltip": "Vlastný CSS pre mobilné zariadenia - Tooltip",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dynamické",
"Edit Application": "Upraviť aplikáciu",
"Enable Email linking": "Povoliť prepojenie e-mailu",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "CSS Tersuai Mudah Alih",
"Custom CSS Mobile - Edit": "CSS Tersuai Mudah Alih - Edit",
"Custom CSS Mobile - Tooltip": "CSS Tersuai Mudah Alih - Tooltip",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Dinamik",
"Edit Application": "Edit Aplikasi",
"Enable Email linking": "Dayakan pautan Emel",
@@ -479,7 +481,7 @@
"Show all": "Tunjukkan semua",
"Upload (.xlsx)": "Muat naik (.xlsx)",
"Virtual": "Maya",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Anda perlu padam semua subkumpulan terlebih dahulu. Anda boleh lihat subkumpulan dalam pokok kumpulan kiri halaman [Organisasi] -\u003e [Kumpulan]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Anda perlu padam semua subkumpulan terlebih dahulu. Anda boleh lihat subkumpulan dalam pokok kumpulan kiri halaman [Organisasi] -> [Kumpulan]"
},
"home": {
"New users past 30 days": "Pengguna baharu 30 hari lalu",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "Özel CSS (Mobil)",
"Custom CSS Mobile - Edit": "Özel CSS (Mobil) - Düzenle",
"Custom CSS Mobile - Tooltip": "Özel CSS (Mobil) - Araç ipucu",
"Disable signin": "Oturum açmayı devredışı bırak",
"Disable signin - Tooltip": "Oturum açmayı devre dışı bırak",
"Dynamic": "Dinamik",
"Edit Application": "Uygulamayı düzenle",
"Enable Email linking": "Eposta bağlantısı aktif",
@@ -241,7 +243,7 @@
"Applications that require authentication": "Kimlik doğrulaması gerektiren uygulamalar",
"Apps": "Uygulamalar",
"Authorization": "Yetkilendirme",
"Avatar": "Avatar",
"Avatar": "Profil Resmi",
"Avatar - Tooltip": "Kullanıcı için genel avatar resmi",
"Back": "Geri",
"Back Home": "Ana sayfaya geri dön",
@@ -479,7 +481,7 @@
"Show all": "Tümünü göster",
"Upload (.xlsx)": "Yükle (.xlsx)",
"Virtual": "Sanal",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Önce tüm alt grupları silmeniz gerekir. Alt grupları [Organizasyonlar] -\u003e [Gruplar] sayfasının sol grup ağacından görüntüleyebilirsiniz."
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Önce tüm alt grupları silmeniz gerekir. Alt grupları [Organizasyonlar] -> [Gruplar] sayfasının sol grup ağacından görüntüleyebilirsiniz."
},
"home": {
"New users past 30 days": "Son 30 gündeki yeni kullanıcılar",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "Мобільний спеціальний CSS",
"Custom CSS Mobile - Edit": "Редагувати мобільний спеціальний CSS",
"Custom CSS Mobile - Tooltip": "Мобільний спеціальний CSS - Підказка",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Динамічний",
"Edit Application": "Редагувати програму",
"Enable Email linking": "Дозволити зв’язок з Email",
@@ -479,7 +481,7 @@
"Show all": "Покажи все",
"Upload (.xlsx)": "Завантажити (.xlsx)",
"Virtual": "Віртуальний",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Спочатку потрібно видалити всі підгрупи. Підгрупи можна переглянути у лівому дереві груп на сторінці [Організації] -\u003e [Групи]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Спочатку потрібно видалити всі підгрупи. Підгрупи можна переглянути у лівому дереві груп на сторінці [Організації] -> [Групи]"
},
"home": {
"New users past 30 days": "Нові користувачі за останні 30 днів",

View File

@@ -40,6 +40,8 @@
"Custom CSS Mobile": "CSS tùy chỉnh Mobile",
"Custom CSS Mobile - Edit": "Chỉnh sửa CSS tùy chỉnh Mobile",
"Custom CSS Mobile - Tooltip": "Gợi ý CSS tùy chỉnh Mobile",
"Disable signin": "Disable signin",
"Disable signin - Tooltip": "Disable signin - Tooltip",
"Dynamic": "Động",
"Edit Application": "Sửa ứng dụng",
"Enable Email linking": "Cho phép liên kết Email",
@@ -329,7 +331,7 @@
"Last name": "Họ",
"Later": "Để sau",
"Logging & Auditing": "Nhật ký & Kiểm toán",
"Logo": "Logo",
"Logo": "Biểu tượng",
"Logo - Tooltip": "Biểu tượng mà ứng dụng hiển thị ra ngoài thế giới",
"Logo dark": "Logo tối",
"Logo dark - Tooltip": "Logo được sử dụng trong chủ đề tối",
@@ -350,7 +352,7 @@
"Non-LDAP": "Không phải LDAP",
"None": "Không có",
"OAuth providers": "Nhà cung cấp OAuth",
"OK": "OK",
"OK": "Được rồi",
"Organization": "Tổ chức",
"Organization - Tooltip": "Tương tự như các khái niệm như người thuê hoặc nhóm người dùng, mỗi người dùng và ứng dụng đều thuộc về một tổ chức",
"Organizations": "Tổ chức",
@@ -479,7 +481,7 @@
"Show all": "Hiển thị tất cả",
"Upload (.xlsx)": "Tải lên (.xlsx)",
"Virtual": "Ảo",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Bạn cần xóa tất cả nhóm con trước. Bạn có thể xem các nhóm con trong cây nhóm bên trái của trang [Tổ chức] -\u003e [Nhóm]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Bạn cần xóa tất cả nhóm con trước. Bạn có thể xem các nhóm con trong cây nhóm bên trái của trang [Tổ chức] -> [Nhóm]"
},
"home": {
"New users past 30 days": "Người dùng mới trong 30 ngày qua",

View File

@@ -40,18 +40,20 @@
"Custom CSS Mobile": "表单CSS移动端",
"Custom CSS Mobile - Edit": "编辑表单CSS移动端",
"Custom CSS Mobile - Tooltip": "注册、登录、忘记密码等表单的CSS样式如增加边框和阴影移动端",
"Disable signin": "禁止登录",
"Disable signin - Tooltip": "禁止用户进行登录操作",
"Dynamic": "动态开启",
"Edit Application": "编辑应用",
"Enable Email linking": "自动关联邮箱相同的账号",
"Enable Email linking - Tooltip": "使用第三方授权登录时,如果组织中存在与授权用户邮箱相同的用户,会自动关联该第三方登录方式到该用户",
"Enable SAML C14N10": "启用SAML C14N10",
"Enable SAML C14N10 - Tooltip": "在SAML协议里使用C14N10而不是C14N11",
"Enable SAML POST binding": "启用SAML POST Binding",
"Enable SAML C14N10": "启用 SAML C14N10",
"Enable SAML C14N10 - Tooltip": "在 SAML 协议里使用 C14N10而不是 C14N11",
"Enable SAML POST binding": "启用 SAML POST Binding",
"Enable SAML POST binding - Tooltip": "HTTP POST绑定使用HTML表单中的输入字段发送SAML消息当SP使用它时启用",
"Enable SAML compression": "压缩SAML响应",
"Enable SAML compression - Tooltip": "Casdoor作为SAML IdP是否压缩SAML响应信息",
"Enable SAML compression": "压缩 SAML 响应",
"Enable SAML compression - Tooltip": "Casdoor 作为 SAML idp 时,是否压缩 SAML 响应信息",
"Enable side panel": "启用侧面板",
"Enable signin session - Tooltip": "从应用登录Casdoor后Casdoor是否保持会话",
"Enable signin session - Tooltip": "从应用登录 Casdoor Casdoor 是否保持会话",
"Enable signup": "启用注册",
"Enable signup - Tooltip": "是否允许用户注册",
"Failed signin frozen time": "登入重试等待时间",
@@ -62,18 +64,18 @@
"File uploaded successfully": "文件上传成功",
"First, last": "名字, 姓氏",
"Follow organization theme": "使用组织主题",
"Footer HTML": "Footer HTML",
"Footer HTML - Edit": "Footer HTML - Edit",
"Footer HTML - Tooltip": "自定义应用的footer",
"Footer HTML": "页脚 HTML",
"Footer HTML - Edit": "页脚 HTML - 编辑",
"Footer HTML - Tooltip": "自定义应用的 footer",
"Forced redirect origin": "强制重定向origin",
"Form position": "表单位置",
"Form position - Tooltip": "注册、登录、忘记密码等表单的位置",
"Generate Face ID": "生成人脸ID",
"Grant types": "OAuth授权类型",
"Grant types - Tooltip": "选择允许哪些OAuth协议中的grant types",
"Header HTML": "Header HTML",
"Grant types - Tooltip": "选择 OAuth 协议中允许的授权类型",
"Header HTML": "页眉 HTML",
"Header HTML - Edit": "Header HTML - 编辑",
"Header HTML - Tooltip": "自定义应用页面的head标签",
"Header HTML - Tooltip": "自定义应用页面的头部标签",
"Incremental": "递增",
"Inline": "内嵌",
"Input": "输入",
@@ -95,26 +97,26 @@
"Please enable \\\"Signin session\\\" first before enabling \\\"Auto signin\\\"": "开启 \\\"保持登录会话\\\" 后才能开启 \\\"自动登录\\\"",
"Please input your application!": "请输入你的应用",
"Please input your organization!": "请输入你的组织",
"Please select a HTML file": "请选择一个HTML文件",
"Please select a HTML file": "请选择一个 HTML 文件",
"Pop up": "弹框",
"Random": "随机",
"Real name": "真实姓名",
"Redirect URL": "重定向 URL",
"Redirect URL (Assertion Consumer Service POST Binding URL) - Tooltip": "回复 URL (断言使用者服务 URL, 使用POST请求返回响应) - Tooltip",
"Redirect URL (Assertion Consumer Service POST Binding URL) - Tooltip": "重定向 URL(断言消费者服务 POST 绑定 URL",
"Redirect URLs": "重定向 URLs",
"Redirect URLs - Tooltip": "允许的重定向URL列表支持正则匹配不在列表中的URL将会跳转失败",
"Refresh token expire": "Refresh Token过期",
"Refresh token expire - Tooltip": "Refresh Token过期时间",
"Redirect URLs - Tooltip": "允许的重定向 URL 列表,支持正则匹配,不在列表中的 URL 将会跳转失败",
"Refresh token expire": "Refresh Token 过期",
"Refresh token expire - Tooltip": "Refresh Token 过期时间",
"Reset to Empty": "重置为空",
"Right": "居右",
"Rule": "规则",
"SAML metadata": "SAML元数据",
"SAML metadata - Tooltip": "SAML协议的元数据Metadata信息",
"SAML reply URL": "SAML回复 URL",
"SAML metadata": "SAML 元数据",
"SAML metadata - Tooltip": "SAML 协议的元数据Metadata信息",
"SAML reply URL": "SAML 回复 URL",
"Select": "选择",
"Side panel HTML": "侧面板HTML",
"Side panel HTML - Edit": "侧面板HTML - 编辑",
"Side panel HTML - Tooltip": "自定义登录页面侧面板的HTML代码",
"Side panel HTML - Tooltip": "自定义登录页面侧面板的 HTML 代码",
"Sign Up Error": "注册错误",
"Signin": "登录",
"Signin (Default True)": "登录 (默认同意)",
@@ -301,7 +303,7 @@
"Favicon": "组织Favicon",
"Favicon - Tooltip": "该组织所有Casdoor页面中所使用的Favicon图标URL",
"First name": "名字",
"Forced redirect origin - Tooltip": "Forced redirect origin - Tooltip",
"Forced redirect origin - Tooltip": "强制重定向来源 - 工具提示",
"Forget URL": "忘记密码URL",
"Forget URL - Tooltip": "自定义忘记密码页面的URL不设置时采用Casdoor默认的忘记密码页面设置后Casdoor各类页面的忘记密码链接会跳转到该URL",
"Found some texts still not translated? Please help us translate at": "发现有些文字尚未翻译?请移步这里帮我们翻译:",
@@ -314,7 +316,7 @@
"Home - Tooltip": "应用的首页",
"ID": "ID",
"ID - Tooltip": "唯一的随机字符串",
"IP whitelist": "IP whitelist",
"IP whitelist": "IP 白名单",
"IP whitelist - Tooltip": "IP whitelist - Tooltip",
"Identity": "身份认证",
"Invitations": "邀请码",
@@ -390,7 +392,7 @@
"Provider - Tooltip": "需要配置的支付提供商包括PayPal、支付宝、微信支付等",
"Providers": "提供商",
"Providers - Tooltip": "需要配置的提供商,包括第三方登录、对象存储、验证码等",
"QR Code": "QR Code",
"QR Code": "二维码",
"QR code is too large": "二维码过大",
"Real name": "姓名",
"Records": "日志",
@@ -479,7 +481,7 @@
"Show all": "显示全部",
"Upload (.xlsx)": "上传(.xlsx)",
"Virtual": "虚拟组",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "您需要先删除所有子组。您可以在 [组织] -\u003e [群组] 页面左侧的群组树中查看子组"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "您需要先删除所有子组。您可以在 [组织] -> [群组] 页面左侧的群组树中查看子组"
},
"home": {
"New users past 30 days": "过去 30 天新增的用户",
@@ -507,7 +509,7 @@
"Admin Password": "密码",
"Admin Password - Tooltip": "LDAP服务器管理员密码",
"Allow self-signed certificate": "允许自签名证书",
"Allow self-signed certificate - Tooltip": "Allow self-signed certificate - Tooltip",
"Allow self-signed certificate - Tooltip": "允许自签名证书",
"Auto Sync": "自动同步",
"Auto Sync - Tooltip": "自动同步配置为0时禁用",
"Base DN": "基本DN",
@@ -539,9 +541,9 @@
"Auto sign in": "下次自动登录",
"Back button": "返回按钮",
"Continue with": "使用以下账号继续",
"Email": "Email",
"Email": "邮箱",
"Email or phone": "Email或手机号",
"Face ID": "Face ID",
"Face ID": "面部识别",
"Face Recognition": "人脸识别",
"Face recognition failed": "人脸识别失败",
"Failed to log out": "注销失败",
@@ -891,10 +893,10 @@
"Internal": "内部",
"Issuer URL": "Issuer链接",
"Issuer URL - Tooltip": "Issuer链接URL",
"Key ID": "Key ID",
"Key ID - Tooltip": "Key ID",
"Key text": "Key text",
"Key text - Tooltip": "Key text",
"Key ID": "密钥 ID",
"Key ID - Tooltip": "密钥 ID",
"Key text": "关键文本",
"Key text - Tooltip": "关键文本",
"Metadata": "元数据",
"Metadata - Tooltip": "SAML元数据",
"Metadata url": "Metadata链接",
@@ -954,9 +956,9 @@
"Sender Id - Tooltip": "发件人 Id - 工具提示",
"Sender number": "发件人号码",
"Sender number - Tooltip": "发件人号码 - 工具提示",
"Service ID identifier": "Service ID identifier",
"Service ID identifier - Tooltip": "Service ID identifier",
"Service account JSON": "Service account JSON",
"Service ID identifier": "服务 ID 标识符",
"Service ID identifier - Tooltip": "服务 ID 标识符",
"Service account JSON": "服务帐户 JSON",
"Service account JSON - Tooltip": "Service account对应的JSON文件内容",
"Sign Name": "签名名称",
"Sign Name - Tooltip": "签名名称",
@@ -977,8 +979,8 @@
"Sub type - Tooltip": "子类型",
"Subject": "主题",
"Subject - Tooltip": "邮件的主题",
"Team ID": "Team ID",
"Team ID - Tooltip": "Team ID",
"Team ID": "团队ID",
"Team ID - Tooltip": "团队ID",
"Template code": "模板代码",
"Template code - Tooltip": "模板代码",
"Test Email": "测试Email配置",
@@ -998,8 +1000,8 @@
"Use global endpoint - Tooltip": "启用全局地址",
"Use id as name": "使用id作为用户名",
"Use id as name - Tooltip": "使用id作为用户的名字",
"User flow": "User flow",
"User flow - Tooltip": "User flow",
"User flow": "用户流量",
"User flow - Tooltip": "用户流量",
"User mapping": "用户映射",
"User mapping - Tooltip": "用户映射 - 工具提示",
"UserInfo URL": "UserInfo链接",
@@ -1210,8 +1212,8 @@
"Email cannot be empty": "邮箱不能为空",
"Email/phone reset successfully": "邮箱或手机号重置成功",
"Empty input!": "输入为空!",
"Face ID": "Face ID",
"Face IDs": "Face IDs",
"Face ID": "面部识别",
"Face IDs": "面部识别",
"Gender": "性别",
"Gender - Tooltip": "性别 - Tooltip",
"Homepage": "个人主页",

View File

@@ -88,7 +88,10 @@ class ProviderTable extends React.Component {
}
}} >
{
Setting.getDeduplicatedArray(this.props.providers, table, "name").map((provider, index) => <Option key={index} value={provider.name}>{provider.name}</Option>)
Setting.getDeduplicatedArray(this.props.providers, table, "name").filter(provider => provider.category !== "Captcha" || !table.some(tableItem => {
const existingProvider = Setting.getArrayItem(this.props.providers, "name", tableItem.name);
return existingProvider && existingProvider.category === "Captcha";
})).map((provider, index) => <Option key={index} value={provider.name}>{provider.name}</Option>)
}
</Select>
);