mirror of
https://github.com/casdoor/casdoor.git
synced 2025-08-02 18:50:32 +08:00
Compare commits
17 Commits
v1.989.0
...
l10n_crowd
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b77310f528 | ||
![]() |
8ff044b419 | ||
![]() |
d537377b31 | ||
![]() |
462ecce43b | ||
![]() |
a84664b55d | ||
![]() |
941c56e69e | ||
![]() |
a28b871a46 | ||
![]() |
387f5d58f7 | ||
![]() |
7d846b2060 | ||
![]() |
c1c2dcab38 | ||
![]() |
f9264f700b | ||
![]() |
f3af2a26aa | ||
![]() |
0ac69bde53 | ||
![]() |
70c99f0e59 | ||
![]() |
8d1fdc3a08 | ||
![]() |
30c15b8135 | ||
![]() |
2d6de216b8 |
@@ -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)
|
||||
|
@@ -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 {
|
||||
|
@@ -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 {
|
||||
|
@@ -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
1
go.mod
@@ -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
2
go.sum
@@ -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=
|
||||
|
@@ -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": "عملية غير مصرح بها",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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": "عملیات غیرمجاز",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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": "פעולה לא מורשית",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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": "Несанкционированная операция",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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": "Неавторизована операція",
|
||||
|
@@ -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",
|
||||
|
@@ -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": "username或fullFilePath为空: username = %s, fullFilePath = %s"
|
||||
"Username or fullFilePath is empty: username = %s, fullFilePath = %s": "username 或 fullFilePath 为空: 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 函数"
|
||||
}
|
||||
}
|
||||
|
@@ -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 {
|
||||
|
@@ -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": [
|
||||
|
@@ -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))
|
||||
|
60
ldap/util.go
60
ldap/util.go
@@ -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
|
||||
|
@@ -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"`
|
||||
|
@@ -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 {
|
||||
|
@@ -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)
|
||||
|
@@ -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"`
|
||||
|
@@ -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})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
|
@@ -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")
|
||||
|
1169
swagger/swagger.json
1169
swagger/swagger.json
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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 {
|
||||
|
@@ -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) {
|
||||
|
@@ -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"))} :
|
||||
|
@@ -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,
|
||||
|
@@ -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"))} :
|
||||
|
@@ -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"},
|
||||
|
@@ -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>
|
||||
)
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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,
|
||||
|
@@ -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");
|
||||
|
@@ -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);
|
||||
|
@@ -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() {
|
||||
|
@@ -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>
|
||||
);
|
||||
}
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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
@@ -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": "لطفاً از نور کافی اطمینان حاصل کنید و صورت خود را در مرکز جعبه تشخیص قرار دهید",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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": "ユーザー名を変更しました。パスワードを変更する前に、変更を保存してください",
|
||||
|
@@ -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 күнде жаңа пайдаланушылар",
|
||||
|
@@ -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에 포함할지 여부",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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": "Положение в аффилиации",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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",
|
||||
|
@@ -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 днів",
|
||||
|
@@ -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",
|
||||
|
@@ -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": "个人主页",
|
||||
|
@@ -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>
|
||||
);
|
||||
|
Reference in New Issue
Block a user