mirror of
https://github.com/casdoor/casdoor.git
synced 2025-07-30 08:10:29 +08:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d12117324c | ||
![]() |
1a6c9fbf69 | ||
![]() |
dd60d79af9 | ||
![]() |
73d314c7fe | ||
![]() |
27959e0f6f | ||
![]() |
47f40c5b24 |
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -110,7 +110,7 @@ jobs:
|
||||
with:
|
||||
start: yarn start
|
||||
wait-on: 'http://localhost:7001'
|
||||
wait-on-timeout: 180
|
||||
wait-on-timeout: 210
|
||||
working-directory: ./web
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
|
10
README.md
10
README.md
@@ -11,7 +11,7 @@
|
||||
<img alt="GitHub Workflow Status (branch)" src="https://github.com/casdoor/casdoor/workflows/Build/badge.svg?style=flat-square">
|
||||
</a>
|
||||
<a href="https://github.com/casdoor/casdoor/releases/latest">
|
||||
<img alt="GitHub Release" src="https://img.shields.io/github/v/release/casbin/casdoor.svg">
|
||||
<img alt="GitHub Release" src="https://img.shields.io/github/v/release/casdoor/casdoor.svg">
|
||||
</a>
|
||||
<a href="https://hub.docker.com/repository/docker/casbin/casdoor">
|
||||
<img alt="Docker Image Version (latest semver)" src="https://img.shields.io/badge/Docker%20Hub-latest-brightgreen">
|
||||
@@ -23,16 +23,16 @@
|
||||
<img alt="Go Report Card" src="https://goreportcard.com/badge/github.com/casdoor/casdoor?style=flat-square">
|
||||
</a>
|
||||
<a href="https://github.com/casdoor/casdoor/blob/master/LICENSE">
|
||||
<img src="https://img.shields.io/github/license/casbin/casdoor?style=flat-square" alt="license">
|
||||
<img src="https://img.shields.io/github/license/casdoor/casdoor?style=flat-square" alt="license">
|
||||
</a>
|
||||
<a href="https://github.com/casdoor/casdoor/issues">
|
||||
<img alt="GitHub issues" src="https://img.shields.io/github/issues/casbin/casdoor?style=flat-square">
|
||||
<img alt="GitHub issues" src="https://img.shields.io/github/issues/casdoor/casdoor?style=flat-square">
|
||||
</a>
|
||||
<a href="#">
|
||||
<img alt="GitHub stars" src="https://img.shields.io/github/stars/casbin/casdoor?style=flat-square">
|
||||
<img alt="GitHub stars" src="https://img.shields.io/github/stars/casdoor/casdoor?style=flat-square">
|
||||
</a>
|
||||
<a href="https://github.com/casdoor/casdoor/network">
|
||||
<img alt="GitHub forks" src="https://img.shields.io/github/forks/casbin/casdoor?style=flat-square">
|
||||
<img alt="GitHub forks" src="https://img.shields.io/github/forks/casdoor/casdoor?style=flat-square">
|
||||
</a>
|
||||
<a href="https://crowdin.com/project/casdoor-site">
|
||||
<img alt="Crowdin" src="https://badges.crowdin.net/casdoor-site/localized.svg">
|
||||
|
@@ -36,6 +36,9 @@ func TestGenerateI18nFrontend(t *testing.T) {
|
||||
applyToOtherLanguage("frontend", "it", data)
|
||||
applyToOtherLanguage("frontend", "ms", data)
|
||||
applyToOtherLanguage("frontend", "tr", data)
|
||||
applyToOtherLanguage("frontend", "ar", data)
|
||||
applyToOtherLanguage("frontend", "he", data)
|
||||
applyToOtherLanguage("frontend", "fi", data)
|
||||
}
|
||||
|
||||
func TestGenerateI18nBackend(t *testing.T) {
|
||||
@@ -55,4 +58,7 @@ func TestGenerateI18nBackend(t *testing.T) {
|
||||
applyToOtherLanguage("backend", "it", data)
|
||||
applyToOtherLanguage("backend", "ms", data)
|
||||
applyToOtherLanguage("backend", "tr", data)
|
||||
applyToOtherLanguage("backend", "ar", data)
|
||||
applyToOtherLanguage("backend", "he", data)
|
||||
applyToOtherLanguage("backend", "fi", data)
|
||||
}
|
||||
|
142
i18n/locales/ar/data.json
Normal file
142
i18n/locales/ar/data.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"account": {
|
||||
"Failed to add user": "Failed to add user",
|
||||
"Get init score failed, error: %w": "Get init score failed, error: %w",
|
||||
"Please sign out first": "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": "Challenge method should be S256",
|
||||
"Failed to create user, user information is invalid: %s": "Failed to create user, user information is invalid: %s",
|
||||
"Failed to login in: %s": "Failed to login in: %s",
|
||||
"Invalid token": "Invalid token",
|
||||
"State expected: %s, but got: %s": "State expected: %s, but got: %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": "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",
|
||||
"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 login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
|
||||
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
|
||||
"Unauthorized operation": "Unauthorized operation",
|
||||
"Unknown authentication type (not password or provider), form = %s": "Unknown authentication type (not password or provider), form = %s",
|
||||
"User's tag: %s is not listed in the application's tags": "User's tag: %s is not listed in the application's tags"
|
||||
},
|
||||
"cas": {
|
||||
"Service %s and %s do not match": "Service %s and %s do not match"
|
||||
},
|
||||
"check": {
|
||||
"Affiliation cannot be blank": "Affiliation cannot be blank",
|
||||
"DisplayName cannot be blank": "DisplayName cannot be blank",
|
||||
"DisplayName is not valid real name": "DisplayName is not valid real name",
|
||||
"Email already exists": "Email already exists",
|
||||
"Email cannot be empty": "Email cannot be empty",
|
||||
"Email is invalid": "Email is invalid",
|
||||
"Empty username.": "Empty username.",
|
||||
"FirstName cannot be blank": "FirstName cannot be blank",
|
||||
"LDAP user name or password incorrect": "LDAP user name or password incorrect",
|
||||
"LastName cannot be blank": "LastName cannot be blank",
|
||||
"Multiple accounts with same uid, please check your ldap server": "Multiple accounts with same uid, please check your ldap server",
|
||||
"Organization does not exist": "Organization does not exist",
|
||||
"Password must have at least 6 characters": "Password must have at least 6 characters",
|
||||
"Phone already exists": "Phone already exists",
|
||||
"Phone cannot be empty": "Phone cannot be empty",
|
||||
"Phone number is invalid": "Phone number is invalid",
|
||||
"Session outdated, please login again": "Session outdated, please login again",
|
||||
"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": "The user: %s doesn't exist in LDAP server",
|
||||
"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.",
|
||||
"Username already exists": "Username already exists",
|
||||
"Username cannot be an email address": "Username cannot be an email address",
|
||||
"Username cannot contain white spaces": "Username cannot contain white spaces",
|
||||
"Username cannot start with a digit": "Username cannot start with a digit",
|
||||
"Username is too long (maximum is 39 characters).": "Username is too long (maximum is 39 characters).",
|
||||
"Username must have at least 2 characters": "Username must have at least 2 characters",
|
||||
"You have entered the wrong password or code too many times, please wait for %d minutes and try again": "You have entered the wrong password or code too many times, please wait for %d minutes and try again",
|
||||
"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",
|
||||
"password or code is incorrect, you have %d remaining chances": "password or code is incorrect, you have %d remaining chances",
|
||||
"unsupported password type: %s": "unsupported password type: %s"
|
||||
},
|
||||
"general": {
|
||||
"Missing parameter": "Missing parameter",
|
||||
"Please login first": "Please login first",
|
||||
"The user: %s doesn't exist": "The user: %s doesn't exist",
|
||||
"don't support captchaProvider: ": "don't support captchaProvider: ",
|
||||
"this operation is not allowed in demo mode": "this operation is not allowed in demo mode"
|
||||
},
|
||||
"ldap": {
|
||||
"Ldap server exist": "Ldap server exist"
|
||||
},
|
||||
"link": {
|
||||
"Please link first": "Please link first",
|
||||
"This application has no providers": "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": "This provider can't be unlinked",
|
||||
"You are not the global admin, you can't unlink other users": "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 can't unlink yourself, you are not a member of any application"
|
||||
},
|
||||
"organization": {
|
||||
"Only admin can modify the %s.": "Only admin can modify the %s.",
|
||||
"The %s is immutable.": "The %s is immutable.",
|
||||
"Unknown modify rule %s.": "Unknown modify rule %s."
|
||||
},
|
||||
"provider": {
|
||||
"Invalid application id": "Invalid application id",
|
||||
"the provider: %s does not exist": "the provider: %s does not exist"
|
||||
},
|
||||
"resource": {
|
||||
"User is nil for tag: avatar": "User is nil for tag: avatar",
|
||||
"Username or fullFilePath is empty: username = %s, fullFilePath = %s": "Username or fullFilePath is empty: username = %s, fullFilePath = %s"
|
||||
},
|
||||
"saml": {
|
||||
"Application %s not found": "Application %s not found"
|
||||
},
|
||||
"saml_sp": {
|
||||
"provider %s's category is not SAML": "provider %s's category is not SAML"
|
||||
},
|
||||
"service": {
|
||||
"Empty parameters for emailForm: %v": "Empty parameters for emailForm: %v",
|
||||
"Invalid Email receivers: %s": "Invalid Email receivers: %s",
|
||||
"Invalid phone receivers: %s": "Invalid phone receivers: %s"
|
||||
},
|
||||
"storage": {
|
||||
"The objectKey: %s is not allowed": "The objectKey: %s is not allowed",
|
||||
"The provider type: %s is not supported": "The provider type: %s is not supported"
|
||||
},
|
||||
"token": {
|
||||
"Empty clientId or clientSecret": "Empty clientId or clientSecret",
|
||||
"Grant_type: %s is not supported in this application": "Grant_type: %s is not supported in this application",
|
||||
"Invalid application or wrong clientSecret": "Invalid application or wrong clientSecret",
|
||||
"Invalid client_id": "Invalid client_id",
|
||||
"Redirect URI: %s doesn't exist in the allowed Redirect URI list": "Redirect URI: %s doesn't exist in the allowed Redirect URI list",
|
||||
"Token not found, invalid accessToken": "Token not found, invalid accessToken"
|
||||
},
|
||||
"user": {
|
||||
"Display name cannot be empty": "Display name cannot be empty",
|
||||
"New password cannot contain blank space.": "New password cannot contain blank space."
|
||||
},
|
||||
"user_upload": {
|
||||
"Failed to import users": "Failed to import users"
|
||||
},
|
||||
"util": {
|
||||
"No application is found for userId: %s": "No application is found for userId: %s",
|
||||
"No provider for category: %s is found for application: %s": "No provider for category: %s is found for application: %s",
|
||||
"The provider: %s is not found": "The provider: %s is not found"
|
||||
},
|
||||
"verification": {
|
||||
"Code has not been sent yet!": "Code has not been sent yet!",
|
||||
"Invalid captcha provider.": "Invalid captcha provider.",
|
||||
"Phone number is invalid in your region %s": "Phone number is invalid in your region %s",
|
||||
"Turing test failed.": "Turing test failed.",
|
||||
"Unable to get the email modify rule.": "Unable to get the email modify rule.",
|
||||
"Unable to get the phone modify rule.": "Unable to get the phone modify rule.",
|
||||
"Unknown type": "Unknown type",
|
||||
"Wrong verification code!": "Wrong verification code!",
|
||||
"You should verify your code in %d min!": "You should verify your code in %d min!",
|
||||
"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",
|
||||
"Please call WebAuthnSigninBegin first": "Please call WebAuthnSigninBegin first"
|
||||
}
|
||||
}
|
142
i18n/locales/fi/data.json
Normal file
142
i18n/locales/fi/data.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"account": {
|
||||
"Failed to add user": "Failed to add user",
|
||||
"Get init score failed, error: %w": "Get init score failed, error: %w",
|
||||
"Please sign out first": "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": "Challenge method should be S256",
|
||||
"Failed to create user, user information is invalid: %s": "Failed to create user, user information is invalid: %s",
|
||||
"Failed to login in: %s": "Failed to login in: %s",
|
||||
"Invalid token": "Invalid token",
|
||||
"State expected: %s, but got: %s": "State expected: %s, but got: %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": "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",
|
||||
"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 login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
|
||||
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
|
||||
"Unauthorized operation": "Unauthorized operation",
|
||||
"Unknown authentication type (not password or provider), form = %s": "Unknown authentication type (not password or provider), form = %s",
|
||||
"User's tag: %s is not listed in the application's tags": "User's tag: %s is not listed in the application's tags"
|
||||
},
|
||||
"cas": {
|
||||
"Service %s and %s do not match": "Service %s and %s do not match"
|
||||
},
|
||||
"check": {
|
||||
"Affiliation cannot be blank": "Affiliation cannot be blank",
|
||||
"DisplayName cannot be blank": "DisplayName cannot be blank",
|
||||
"DisplayName is not valid real name": "DisplayName is not valid real name",
|
||||
"Email already exists": "Email already exists",
|
||||
"Email cannot be empty": "Email cannot be empty",
|
||||
"Email is invalid": "Email is invalid",
|
||||
"Empty username.": "Empty username.",
|
||||
"FirstName cannot be blank": "FirstName cannot be blank",
|
||||
"LDAP user name or password incorrect": "LDAP user name or password incorrect",
|
||||
"LastName cannot be blank": "LastName cannot be blank",
|
||||
"Multiple accounts with same uid, please check your ldap server": "Multiple accounts with same uid, please check your ldap server",
|
||||
"Organization does not exist": "Organization does not exist",
|
||||
"Password must have at least 6 characters": "Password must have at least 6 characters",
|
||||
"Phone already exists": "Phone already exists",
|
||||
"Phone cannot be empty": "Phone cannot be empty",
|
||||
"Phone number is invalid": "Phone number is invalid",
|
||||
"Session outdated, please login again": "Session outdated, please login again",
|
||||
"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": "The user: %s doesn't exist in LDAP server",
|
||||
"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.",
|
||||
"Username already exists": "Username already exists",
|
||||
"Username cannot be an email address": "Username cannot be an email address",
|
||||
"Username cannot contain white spaces": "Username cannot contain white spaces",
|
||||
"Username cannot start with a digit": "Username cannot start with a digit",
|
||||
"Username is too long (maximum is 39 characters).": "Username is too long (maximum is 39 characters).",
|
||||
"Username must have at least 2 characters": "Username must have at least 2 characters",
|
||||
"You have entered the wrong password or code too many times, please wait for %d minutes and try again": "You have entered the wrong password or code too many times, please wait for %d minutes and try again",
|
||||
"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",
|
||||
"password or code is incorrect, you have %d remaining chances": "password or code is incorrect, you have %d remaining chances",
|
||||
"unsupported password type: %s": "unsupported password type: %s"
|
||||
},
|
||||
"general": {
|
||||
"Missing parameter": "Missing parameter",
|
||||
"Please login first": "Please login first",
|
||||
"The user: %s doesn't exist": "The user: %s doesn't exist",
|
||||
"don't support captchaProvider: ": "don't support captchaProvider: ",
|
||||
"this operation is not allowed in demo mode": "this operation is not allowed in demo mode"
|
||||
},
|
||||
"ldap": {
|
||||
"Ldap server exist": "Ldap server exist"
|
||||
},
|
||||
"link": {
|
||||
"Please link first": "Please link first",
|
||||
"This application has no providers": "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": "This provider can't be unlinked",
|
||||
"You are not the global admin, you can't unlink other users": "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 can't unlink yourself, you are not a member of any application"
|
||||
},
|
||||
"organization": {
|
||||
"Only admin can modify the %s.": "Only admin can modify the %s.",
|
||||
"The %s is immutable.": "The %s is immutable.",
|
||||
"Unknown modify rule %s.": "Unknown modify rule %s."
|
||||
},
|
||||
"provider": {
|
||||
"Invalid application id": "Invalid application id",
|
||||
"the provider: %s does not exist": "the provider: %s does not exist"
|
||||
},
|
||||
"resource": {
|
||||
"User is nil for tag: avatar": "User is nil for tag: avatar",
|
||||
"Username or fullFilePath is empty: username = %s, fullFilePath = %s": "Username or fullFilePath is empty: username = %s, fullFilePath = %s"
|
||||
},
|
||||
"saml": {
|
||||
"Application %s not found": "Application %s not found"
|
||||
},
|
||||
"saml_sp": {
|
||||
"provider %s's category is not SAML": "provider %s's category is not SAML"
|
||||
},
|
||||
"service": {
|
||||
"Empty parameters for emailForm: %v": "Empty parameters for emailForm: %v",
|
||||
"Invalid Email receivers: %s": "Invalid Email receivers: %s",
|
||||
"Invalid phone receivers: %s": "Invalid phone receivers: %s"
|
||||
},
|
||||
"storage": {
|
||||
"The objectKey: %s is not allowed": "The objectKey: %s is not allowed",
|
||||
"The provider type: %s is not supported": "The provider type: %s is not supported"
|
||||
},
|
||||
"token": {
|
||||
"Empty clientId or clientSecret": "Empty clientId or clientSecret",
|
||||
"Grant_type: %s is not supported in this application": "Grant_type: %s is not supported in this application",
|
||||
"Invalid application or wrong clientSecret": "Invalid application or wrong clientSecret",
|
||||
"Invalid client_id": "Invalid client_id",
|
||||
"Redirect URI: %s doesn't exist in the allowed Redirect URI list": "Redirect URI: %s doesn't exist in the allowed Redirect URI list",
|
||||
"Token not found, invalid accessToken": "Token not found, invalid accessToken"
|
||||
},
|
||||
"user": {
|
||||
"Display name cannot be empty": "Display name cannot be empty",
|
||||
"New password cannot contain blank space.": "New password cannot contain blank space."
|
||||
},
|
||||
"user_upload": {
|
||||
"Failed to import users": "Failed to import users"
|
||||
},
|
||||
"util": {
|
||||
"No application is found for userId: %s": "No application is found for userId: %s",
|
||||
"No provider for category: %s is found for application: %s": "No provider for category: %s is found for application: %s",
|
||||
"The provider: %s is not found": "The provider: %s is not found"
|
||||
},
|
||||
"verification": {
|
||||
"Code has not been sent yet!": "Code has not been sent yet!",
|
||||
"Invalid captcha provider.": "Invalid captcha provider.",
|
||||
"Phone number is invalid in your region %s": "Phone number is invalid in your region %s",
|
||||
"Turing test failed.": "Turing test failed.",
|
||||
"Unable to get the email modify rule.": "Unable to get the email modify rule.",
|
||||
"Unable to get the phone modify rule.": "Unable to get the phone modify rule.",
|
||||
"Unknown type": "Unknown type",
|
||||
"Wrong verification code!": "Wrong verification code!",
|
||||
"You should verify your code in %d min!": "You should verify your code in %d min!",
|
||||
"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",
|
||||
"Please call WebAuthnSigninBegin first": "Please call WebAuthnSigninBegin first"
|
||||
}
|
||||
}
|
142
i18n/locales/he/data.json
Normal file
142
i18n/locales/he/data.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"account": {
|
||||
"Failed to add user": "Failed to add user",
|
||||
"Get init score failed, error: %w": "Get init score failed, error: %w",
|
||||
"Please sign out first": "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": "Challenge method should be S256",
|
||||
"Failed to create user, user information is invalid: %s": "Failed to create user, user information is invalid: %s",
|
||||
"Failed to login in: %s": "Failed to login in: %s",
|
||||
"Invalid token": "Invalid token",
|
||||
"State expected: %s, but got: %s": "State expected: %s, but got: %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": "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",
|
||||
"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 login method: login with password is not enabled for the application": "The login method: login with password is not enabled for the application",
|
||||
"The provider: %s is not enabled for the application": "The provider: %s is not enabled for the application",
|
||||
"Unauthorized operation": "Unauthorized operation",
|
||||
"Unknown authentication type (not password or provider), form = %s": "Unknown authentication type (not password or provider), form = %s",
|
||||
"User's tag: %s is not listed in the application's tags": "User's tag: %s is not listed in the application's tags"
|
||||
},
|
||||
"cas": {
|
||||
"Service %s and %s do not match": "Service %s and %s do not match"
|
||||
},
|
||||
"check": {
|
||||
"Affiliation cannot be blank": "Affiliation cannot be blank",
|
||||
"DisplayName cannot be blank": "DisplayName cannot be blank",
|
||||
"DisplayName is not valid real name": "DisplayName is not valid real name",
|
||||
"Email already exists": "Email already exists",
|
||||
"Email cannot be empty": "Email cannot be empty",
|
||||
"Email is invalid": "Email is invalid",
|
||||
"Empty username.": "Empty username.",
|
||||
"FirstName cannot be blank": "FirstName cannot be blank",
|
||||
"LDAP user name or password incorrect": "LDAP user name or password incorrect",
|
||||
"LastName cannot be blank": "LastName cannot be blank",
|
||||
"Multiple accounts with same uid, please check your ldap server": "Multiple accounts with same uid, please check your ldap server",
|
||||
"Organization does not exist": "Organization does not exist",
|
||||
"Password must have at least 6 characters": "Password must have at least 6 characters",
|
||||
"Phone already exists": "Phone already exists",
|
||||
"Phone cannot be empty": "Phone cannot be empty",
|
||||
"Phone number is invalid": "Phone number is invalid",
|
||||
"Session outdated, please login again": "Session outdated, please login again",
|
||||
"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": "The user: %s doesn't exist in LDAP server",
|
||||
"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.",
|
||||
"Username already exists": "Username already exists",
|
||||
"Username cannot be an email address": "Username cannot be an email address",
|
||||
"Username cannot contain white spaces": "Username cannot contain white spaces",
|
||||
"Username cannot start with a digit": "Username cannot start with a digit",
|
||||
"Username is too long (maximum is 39 characters).": "Username is too long (maximum is 39 characters).",
|
||||
"Username must have at least 2 characters": "Username must have at least 2 characters",
|
||||
"You have entered the wrong password or code too many times, please wait for %d minutes and try again": "You have entered the wrong password or code too many times, please wait for %d minutes and try again",
|
||||
"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",
|
||||
"password or code is incorrect, you have %d remaining chances": "password or code is incorrect, you have %d remaining chances",
|
||||
"unsupported password type: %s": "unsupported password type: %s"
|
||||
},
|
||||
"general": {
|
||||
"Missing parameter": "Missing parameter",
|
||||
"Please login first": "Please login first",
|
||||
"The user: %s doesn't exist": "The user: %s doesn't exist",
|
||||
"don't support captchaProvider: ": "don't support captchaProvider: ",
|
||||
"this operation is not allowed in demo mode": "this operation is not allowed in demo mode"
|
||||
},
|
||||
"ldap": {
|
||||
"Ldap server exist": "Ldap server exist"
|
||||
},
|
||||
"link": {
|
||||
"Please link first": "Please link first",
|
||||
"This application has no providers": "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": "This provider can't be unlinked",
|
||||
"You are not the global admin, you can't unlink other users": "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 can't unlink yourself, you are not a member of any application"
|
||||
},
|
||||
"organization": {
|
||||
"Only admin can modify the %s.": "Only admin can modify the %s.",
|
||||
"The %s is immutable.": "The %s is immutable.",
|
||||
"Unknown modify rule %s.": "Unknown modify rule %s."
|
||||
},
|
||||
"provider": {
|
||||
"Invalid application id": "Invalid application id",
|
||||
"the provider: %s does not exist": "the provider: %s does not exist"
|
||||
},
|
||||
"resource": {
|
||||
"User is nil for tag: avatar": "User is nil for tag: avatar",
|
||||
"Username or fullFilePath is empty: username = %s, fullFilePath = %s": "Username or fullFilePath is empty: username = %s, fullFilePath = %s"
|
||||
},
|
||||
"saml": {
|
||||
"Application %s not found": "Application %s not found"
|
||||
},
|
||||
"saml_sp": {
|
||||
"provider %s's category is not SAML": "provider %s's category is not SAML"
|
||||
},
|
||||
"service": {
|
||||
"Empty parameters for emailForm: %v": "Empty parameters for emailForm: %v",
|
||||
"Invalid Email receivers: %s": "Invalid Email receivers: %s",
|
||||
"Invalid phone receivers: %s": "Invalid phone receivers: %s"
|
||||
},
|
||||
"storage": {
|
||||
"The objectKey: %s is not allowed": "The objectKey: %s is not allowed",
|
||||
"The provider type: %s is not supported": "The provider type: %s is not supported"
|
||||
},
|
||||
"token": {
|
||||
"Empty clientId or clientSecret": "Empty clientId or clientSecret",
|
||||
"Grant_type: %s is not supported in this application": "Grant_type: %s is not supported in this application",
|
||||
"Invalid application or wrong clientSecret": "Invalid application or wrong clientSecret",
|
||||
"Invalid client_id": "Invalid client_id",
|
||||
"Redirect URI: %s doesn't exist in the allowed Redirect URI list": "Redirect URI: %s doesn't exist in the allowed Redirect URI list",
|
||||
"Token not found, invalid accessToken": "Token not found, invalid accessToken"
|
||||
},
|
||||
"user": {
|
||||
"Display name cannot be empty": "Display name cannot be empty",
|
||||
"New password cannot contain blank space.": "New password cannot contain blank space."
|
||||
},
|
||||
"user_upload": {
|
||||
"Failed to import users": "Failed to import users"
|
||||
},
|
||||
"util": {
|
||||
"No application is found for userId: %s": "No application is found for userId: %s",
|
||||
"No provider for category: %s is found for application: %s": "No provider for category: %s is found for application: %s",
|
||||
"The provider: %s is not found": "The provider: %s is not found"
|
||||
},
|
||||
"verification": {
|
||||
"Code has not been sent yet!": "Code has not been sent yet!",
|
||||
"Invalid captcha provider.": "Invalid captcha provider.",
|
||||
"Phone number is invalid in your region %s": "Phone number is invalid in your region %s",
|
||||
"Turing test failed.": "Turing test failed.",
|
||||
"Unable to get the email modify rule.": "Unable to get the email modify rule.",
|
||||
"Unable to get the phone modify rule.": "Unable to get the phone modify rule.",
|
||||
"Unknown type": "Unknown type",
|
||||
"Wrong verification code!": "Wrong verification code!",
|
||||
"You should verify your code in %d min!": "You should verify your code in %d min!",
|
||||
"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",
|
||||
"Please call WebAuthnSigninBegin first": "Please call WebAuthnSigninBegin first"
|
||||
}
|
||||
}
|
@@ -9,11 +9,11 @@
|
||||
"passwordType": "plain",
|
||||
"passwordSalt": "",
|
||||
"passwordOptions": ["AtLeast6"],
|
||||
"countryCodes": ["US", "ES", "CN", "FR", "DE", "GB", "JP", "KR", "VN", "ID", "SG", "IN", "IT", "MY", "TR"],
|
||||
"countryCodes": ["US", "ES", "CN", "FR", "DE", "GB", "JP", "KR", "VN", "ID", "SG", "IN", "IT", "MY", "TR", "DZ", "IL", "PH"],
|
||||
"defaultAvatar": "",
|
||||
"defaultApplication": "",
|
||||
"tags": [],
|
||||
"languages": ["en", "zh", "es", "fr", "de", "id", "ja", "ko", "ru", "vi", "it", "ms", "tr"],
|
||||
"languages": ["en", "zh", "es", "fr", "de", "id", "ja", "ko", "ru", "vi", "it", "ms", "tr","ar", "he", "fi"],
|
||||
"masterPassword": "",
|
||||
"initScore": 2000,
|
||||
"enableSoftDeletion": false,
|
||||
|
@@ -17,6 +17,7 @@ package object
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/beego/beego"
|
||||
"github.com/beego/beego/context"
|
||||
@@ -25,7 +26,10 @@ import (
|
||||
"github.com/pquerna/otp/totp"
|
||||
)
|
||||
|
||||
const MfaTotpSecretSession = "mfa_totp_secret"
|
||||
const (
|
||||
MfaTotpSecretSession = "mfa_totp_secret"
|
||||
MfaTotpPeriodInSeconds = 30
|
||||
)
|
||||
|
||||
type TotpMfa struct {
|
||||
Config *MfaProps
|
||||
@@ -76,7 +80,13 @@ func (mfa *TotpMfa) SetupVerify(ctx *context.Context, passcode string) error {
|
||||
if secret == nil {
|
||||
return errors.New("totp secret is missing")
|
||||
}
|
||||
result := totp.Validate(passcode, secret.(string))
|
||||
|
||||
result, _ := totp.ValidateCustom(passcode, secret.(string), time.Now().UTC(), totp.ValidateOpts{
|
||||
Period: MfaTotpPeriodInSeconds,
|
||||
Skew: 1,
|
||||
Digits: otp.DigitsSix,
|
||||
Algorithm: otp.AlgorithmSHA1,
|
||||
})
|
||||
|
||||
if result {
|
||||
return nil
|
||||
@@ -133,7 +143,7 @@ func NewTotpMfaUtil(config *MfaProps) *TotpMfa {
|
||||
|
||||
return &TotpMfa{
|
||||
Config: config,
|
||||
period: 30,
|
||||
period: MfaTotpPeriodInSeconds,
|
||||
secretSize: 20,
|
||||
digits: otp.DigitsSix,
|
||||
}
|
||||
|
@@ -46,6 +46,9 @@ export const Countries = [{label: "English", key: "en", country: "US", alt: "Eng
|
||||
{label: "Itariano", key: "it", country: "IT", alt: "Itariano"},
|
||||
{label: "Marley", key: "ms", country: "MY", alt: "Marley"},
|
||||
{label: "Tkiš", key: "tr", country: "TR", alt: "Tkiš"},
|
||||
{label: "لغة عربية", key: "ar", country: "DZ", alt: "لغة عربية"},
|
||||
{label: "עִבְרִית", key: "he", country: "IL", alt: "עִבְרִית"},
|
||||
{label: "Filipino", key: "fi", country: "PH", alt: "Filipino"},
|
||||
];
|
||||
|
||||
export function getThemeData(organization, application) {
|
||||
|
@@ -15,9 +15,11 @@
|
||||
import React from "react";
|
||||
import {Button, Card, Col, Input, InputNumber, List, Result, Row, Select, Space, Spin, Switch, Tag} from "antd";
|
||||
import {withRouter} from "react-router-dom";
|
||||
import {TotpMfaType} from "./auth/MfaSetupPage";
|
||||
import * as GroupBackend from "./backend/GroupBackend";
|
||||
import * as UserBackend from "./backend/UserBackend";
|
||||
import * as OrganizationBackend from "./backend/OrganizationBackend";
|
||||
import EnableMfaModal from "./common/modal/EnableMfaModal";
|
||||
import * as Setting from "./Setting";
|
||||
import i18next from "i18next";
|
||||
import CropperDivModal from "./common/modal/CropperDivModal.js";
|
||||
@@ -138,6 +140,10 @@ class UserEditPage extends React.Component {
|
||||
}
|
||||
|
||||
getUserOrganization() {
|
||||
if (this.state.user === null || this.state.organizations.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return this.state.organizations.filter(organization => organization.name === this.state.user.owner)[0];
|
||||
}
|
||||
|
||||
@@ -206,23 +212,6 @@ class UserEditPage extends React.Component {
|
||||
return this.props.account.countryCode;
|
||||
}
|
||||
|
||||
loadMore = (table, type) => {
|
||||
return <div
|
||||
style={{
|
||||
textAlign: "center",
|
||||
marginTop: 12,
|
||||
height: 32,
|
||||
lineHeight: "32px",
|
||||
}}
|
||||
>
|
||||
<Button onClick={() => {
|
||||
this.setState({
|
||||
multiFactorAuths: Setting.addRow(table, {"type": type}),
|
||||
});
|
||||
}}>{i18next.t("general:Add")}</Button>
|
||||
</div>;
|
||||
};
|
||||
|
||||
deleteMfa = () => {
|
||||
this.setState({
|
||||
RemoveMfaLoading: true,
|
||||
@@ -947,11 +936,18 @@ class UserEditPage extends React.Component {
|
||||
</Button>
|
||||
}
|
||||
</Space>
|
||||
) : <Button type={"default"} onClick={() => {
|
||||
this.props.history.push(`/mfa/setup?mfaType=${item.mfaType}`);
|
||||
}}>
|
||||
{i18next.t("mfa:Setup")}
|
||||
</Button>}
|
||||
) :
|
||||
<Space>
|
||||
{item.mfaType !== TotpMfaType && Setting.isAdminUser(this.props.account) && window.location.href.indexOf("/users") !== -1 ?
|
||||
<EnableMfaModal user={this.state.user} mfaType={item.mfaType} onSuccess={() => {
|
||||
this.getUser();
|
||||
}} /> : null}
|
||||
<Button type={"default"} onClick={() => {
|
||||
this.props.history.push(`/mfa/setup?mfaType=${item.mfaType}`);
|
||||
}}>
|
||||
{i18next.t("mfa:Setup")}
|
||||
</Button>
|
||||
</Space>}
|
||||
</List.Item>
|
||||
)}
|
||||
/>
|
||||
|
113
web/src/common/modal/EnableMfaModal.js
Normal file
113
web/src/common/modal/EnableMfaModal.js
Normal file
@@ -0,0 +1,113 @@
|
||||
// Copyright 2023 The Casdoor Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
import {Button, Modal} from "antd";
|
||||
import i18next from "i18next";
|
||||
import React from "react";
|
||||
import {useEffect, useState} from "react";
|
||||
import {EmailMfaType} from "../../auth/MfaSetupPage";
|
||||
import * as MfaBackend from "../../backend/MfaBackend";
|
||||
import * as Setting from "../../Setting";
|
||||
|
||||
const EnableMfaModal = ({user, mfaType, onSuccess}) => {
|
||||
const [open, setOpen] = useState(false);
|
||||
const [loading, setLoading] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
if (!open || !user) {
|
||||
return;
|
||||
}
|
||||
MfaBackend.MfaSetupInitiate({
|
||||
mfaType,
|
||||
...user,
|
||||
}).then((res) => {
|
||||
if (res.status === "error") {
|
||||
Setting.showMessage("error", i18next.t("mfa:Failed to initiate MFA"));
|
||||
}
|
||||
});
|
||||
}, [open]);
|
||||
|
||||
const handleOk = () => {
|
||||
setLoading(true);
|
||||
MfaBackend.MfaSetupEnable({
|
||||
mfaType,
|
||||
...user,
|
||||
}).then(res => {
|
||||
if (res.status === "ok") {
|
||||
Setting.showMessage("success", i18next.t("general:Enabled successfully"));
|
||||
setOpen(false);
|
||||
onSuccess();
|
||||
} else {
|
||||
Setting.showMessage("error", `${i18next.t("general:Failed to enable")}: ${res.msg}`);
|
||||
}
|
||||
}
|
||||
).finally(() => {
|
||||
setLoading(false);
|
||||
});
|
||||
};
|
||||
|
||||
const handleCancel = () => {
|
||||
setOpen(false);
|
||||
};
|
||||
|
||||
const showModal = () => {
|
||||
if (!isValid()) {
|
||||
if (mfaType === EmailMfaType) {
|
||||
Setting.showMessage("error", i18next.t("signup:Please input your Email!"));
|
||||
} else {
|
||||
Setting.showMessage("error", i18next.t("signup:Please input your phone number!"));
|
||||
}
|
||||
return;
|
||||
}
|
||||
setOpen(true);
|
||||
};
|
||||
|
||||
const renderText = () => {
|
||||
return (
|
||||
<p>{i18next.t("mfa:Please confirm the information below")}<br />
|
||||
<b>{i18next.t("general:User")}</b>: {`${user.owner}/${user.name}`}<br />
|
||||
{mfaType === EmailMfaType ?
|
||||
<><b>{i18next.t("general:Email")}</b> : {user.email}</> :
|
||||
<><b>{i18next.t("general:Phone")}</b> : {user.phone}</>}
|
||||
</p>
|
||||
);
|
||||
};
|
||||
|
||||
const isValid = () => {
|
||||
if (mfaType === EmailMfaType) {
|
||||
return user.email !== "";
|
||||
} else {
|
||||
return user.phone !== "";
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<React.Fragment>
|
||||
<Button type="primary" onClick={showModal}>
|
||||
{i18next.t("general:Enable")}
|
||||
</Button>
|
||||
<Modal
|
||||
title={i18next.t("mfa:Enable multi-factor authentication")}
|
||||
open={open}
|
||||
onOk={handleOk}
|
||||
onCancel={handleCancel}
|
||||
confirmLoading={loading}
|
||||
>
|
||||
{renderText()}
|
||||
</Modal>
|
||||
</React.Fragment>
|
||||
);
|
||||
};
|
||||
|
||||
export default EnableMfaModal;
|
@@ -27,6 +27,9 @@ import pt from "./locales/pt/data.json";
|
||||
import it from "./locales/it/data.json";
|
||||
import ms from "./locales/ms/data.json";
|
||||
import tr from "./locales/tr/data.json";
|
||||
import ar from "./locales/ar/data.json";
|
||||
import he from "./locales/he/data.json";
|
||||
import fi from "./locales/fi/data.json";
|
||||
import * as Conf from "./Conf";
|
||||
import {initReactI18next} from "react-i18next";
|
||||
|
||||
@@ -45,6 +48,9 @@ const resources = {
|
||||
it: it,
|
||||
ms: ms,
|
||||
tr: tr,
|
||||
ar: ar,
|
||||
he: he,
|
||||
fi: fi,
|
||||
};
|
||||
|
||||
function initLanguage() {
|
||||
@@ -103,6 +109,15 @@ function initLanguage() {
|
||||
case "tr":
|
||||
language = "tr";
|
||||
break;
|
||||
case "ar":
|
||||
language = "ar";
|
||||
break;
|
||||
case "he":
|
||||
language = "he";
|
||||
break;
|
||||
case "fi":
|
||||
language = "fi";
|
||||
break;
|
||||
default:
|
||||
language = Conf.DefaultLanguage;
|
||||
}
|
||||
|
1008
web/src/locales/ar/data.json
Normal file
1008
web/src/locales/ar/data.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "Neuer Adapter",
|
||||
"Policies": "Richtlinien",
|
||||
"Policies - Tooltip": "Casbin Richtlinienregeln",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "Richtlinien synchronisiert"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Admin",
|
||||
"Admin - Tooltip": "CN oder ID des LDAP-Serveradministrators",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "Weitermachen mit",
|
||||
"Email or phone": "E-Mail oder Telefon",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "Passwort vergessen?",
|
||||
"Loading": "Laden",
|
||||
"Logging out...": "Ausloggen...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "Zurück zur Website",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "Die Zahlung ist fehlgeschlagen",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "Die Zahlung wird immer noch bearbeitet",
|
||||
"Type - Tooltip": "Zahlungsmethode, die beim Kauf des Produkts verwendet wurde",
|
||||
"You have successfully completed the payment": "Sie haben die Zahlung erfolgreich abgeschlossen",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "Verkauft",
|
||||
"Sold - Tooltip": "Menge verkauft",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "Tag des Produkts",
|
||||
"Test buy page..": "Testkaufseite.",
|
||||
"There is no payment channel for this product.": "Es gibt keinen Zahlungskanal für dieses Produkt.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Client-Geheimnis",
|
||||
"Client secret 2": "Client-Secret 2",
|
||||
"Client secret 2 - Tooltip": "Der zweite Client-Secret-Key",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "Kopieren",
|
||||
"Disable SSL": "SSL deaktivieren",
|
||||
"Disable SSL - Tooltip": "Ob die Deaktivierung des SSL-Protokolls bei der Kommunikation mit dem STMP-Server erfolgen soll",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "Anmeldeverfahren, QR-Code oder Silent-Login",
|
||||
"New Provider": "Neuer Provider",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "parsen",
|
||||
"Parse metadata successfully": "Metadaten erfolgreich analysiert",
|
||||
"Path prefix": "Pfadpräfix",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "UserInfo-URL",
|
||||
"UserInfo URL - Tooltip": "UserInfo-URL",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "admin (Shared)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "Tabelle",
|
||||
"Table - Tooltip": "Name der Datenbanktabelle",
|
||||
"Table columns": "Tabellenspalten",
|
||||
"Table columns - Tooltip": "Spalten in der Tabelle, die an der Datensynchronisierung beteiligt sind. Spalten, die nicht an der Synchronisierung beteiligt sind, müssen nicht hinzugefügt werden",
|
||||
"Table primary key": "Primärschlüssel der Tabelle",
|
||||
"Table primary key - Tooltip": "Primärschlüssel in einer Tabelle, wie beispielsweise eine ID"
|
||||
"Table columns - Tooltip": "Spalten in der Tabelle, die an der Datensynchronisierung beteiligt sind. Spalten, die nicht an der Synchronisierung beteiligt sind, müssen nicht hinzugefügt werden"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "API Latenz",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "New Adapter",
|
||||
"Policies": "Policies",
|
||||
"Policies - Tooltip": "Casbin policy rules",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "Sync policies successfully"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Admin",
|
||||
"Admin - Tooltip": "CN or ID of the LDAP server administrator",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "Continue with",
|
||||
"Email or phone": "Email or phone",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "Forgot password?",
|
||||
"Loading": "Loading",
|
||||
"Logging out...": "Logging out...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "Return to Website",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "The payment has failed",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "The payment is still under processing",
|
||||
"Type - Tooltip": "Payment method used when purchasing the product",
|
||||
"You have successfully completed the payment": "You have successfully completed the payment",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "Sold",
|
||||
"Sold - Tooltip": "Quantity sold",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "Tag of product",
|
||||
"Test buy page..": "Test buy page..",
|
||||
"There is no payment channel for this product.": "There is no payment channel for this product.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Client secret",
|
||||
"Client secret 2": "Client secret 2",
|
||||
"Client secret 2 - Tooltip": "The second client secret key",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "Copy",
|
||||
"Disable SSL": "Disable SSL",
|
||||
"Disable SSL - Tooltip": "Whether to disable SSL protocol when communicating with STMP server",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "Login method, QR code or silent login",
|
||||
"New Provider": "New Provider",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "Parse",
|
||||
"Parse metadata successfully": "Parse metadata successfully",
|
||||
"Path prefix": "Path prefix",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "UserInfo URL",
|
||||
"UserInfo URL - Tooltip": "UserInfo URL",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "admin (Shared)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "Table",
|
||||
"Table - Tooltip": "Name of database table",
|
||||
"Table columns": "Table columns",
|
||||
"Table columns - Tooltip": "Columns in the table involved in data synchronization. Columns that are not involved in synchronization do not need to be added",
|
||||
"Table primary key": "Table primary key",
|
||||
"Table primary key - Tooltip": "Table primary key, such as id"
|
||||
"Table columns - Tooltip": "Columns in the table involved in data synchronization. Columns that are not involved in synchronization do not need to be added"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "API Latency",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "Nuevo adaptador",
|
||||
"Policies": "Políticas",
|
||||
"Policies - Tooltip": "Reglas de política de Casbin",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "Sincronizar políticas correctamente"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Administrador",
|
||||
"Admin - Tooltip": "CN o ID del administrador del servidor LDAP",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "Continúe con",
|
||||
"Email or phone": "Correo electrónico o teléfono",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "¿Olvidaste tu contraseña?",
|
||||
"Loading": "Cargando",
|
||||
"Logging out...": "Cerrando sesión...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "Regresar al sitio web",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "El pago ha fallado",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "El pago aún está en proceso",
|
||||
"Type - Tooltip": "Método de pago utilizado al comprar el producto",
|
||||
"You have successfully completed the payment": "Has completado el pago exitosamente",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "Vendido",
|
||||
"Sold - Tooltip": "Cantidad vendida",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "Etiqueta de producto",
|
||||
"Test buy page..": "Página de compra de prueba.",
|
||||
"There is no payment channel for this product.": "No hay canal de pago para este producto.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Secreto del cliente",
|
||||
"Client secret 2": "Secreto del cliente 2",
|
||||
"Client secret 2 - Tooltip": "La segunda clave secreta del cliente",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "Copiar",
|
||||
"Disable SSL": "Desactivar SSL",
|
||||
"Disable SSL - Tooltip": "¿Hay que desactivar el protocolo SSL al comunicarse con el servidor STMP?",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "Método de inicio de sesión, código QR o inicio de sesión silencioso",
|
||||
"New Provider": "Nuevo proveedor",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "Analizar",
|
||||
"Parse metadata successfully": "Analizar los metadatos con éxito",
|
||||
"Path prefix": "Prefijo de ruta",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "URL de información del usuario",
|
||||
"UserInfo URL - Tooltip": "URL de información de usuario",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "administrador (compartido)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "Mesa",
|
||||
"Table - Tooltip": "Nombre de la tabla de la base de datos",
|
||||
"Table columns": "Columnas de tabla",
|
||||
"Table columns - Tooltip": "Columnas en la tabla involucradas en la sincronización de datos. Las columnas que no estén involucradas en la sincronización no necesitan ser añadidas",
|
||||
"Table primary key": "Clave primaria de la tabla",
|
||||
"Table primary key - Tooltip": "Clave primaria de la tabla, como id"
|
||||
"Table columns - Tooltip": "Columnas en la tabla involucradas en la sincronización de datos. Las columnas que no estén involucradas en la sincronización no necesitan ser añadidas"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "Retraso API",
|
||||
|
1008
web/src/locales/fi/data.json
Normal file
1008
web/src/locales/fi/data.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "Nouvel adaptateur",
|
||||
"Policies": "Politiques",
|
||||
"Policies - Tooltip": "Règles de politique Casbin",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "Synchronisation des politiques réussie"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Admin",
|
||||
"Admin - Tooltip": "CN ou ID de l'administrateur du serveur LDAP",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "Continuer avec",
|
||||
"Email or phone": "Email ou téléphone",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "Mot de passe oublié ?",
|
||||
"Loading": "Chargement",
|
||||
"Logging out...": "Déconnexion...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "Retourner sur le site web",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "Le paiement a échoué",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "Le paiement est encore en cours de traitement",
|
||||
"Type - Tooltip": "Méthode de paiement utilisée lors de l'achat du produit",
|
||||
"You have successfully completed the payment": "Vous avez effectué le paiement avec succès",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "Vendu",
|
||||
"Sold - Tooltip": "Quantité vendue",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "Étiquette de produit",
|
||||
"Test buy page..": "Page d'achat de test.",
|
||||
"There is no payment channel for this product.": "Il n'y a aucun canal de paiement pour ce produit.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Secret client",
|
||||
"Client secret 2": "Secret client 2",
|
||||
"Client secret 2 - Tooltip": "La deuxième clé secrète du client",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "Copie",
|
||||
"Disable SSL": "Désactiver SSL",
|
||||
"Disable SSL - Tooltip": "Doit-on désactiver le protocole SSL lors de la communication avec le serveur STMP ?",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "Méthode de connexion, code QR ou connexion silencieuse",
|
||||
"New Provider": "Nouveau fournisseur",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "Parser",
|
||||
"Parse metadata successfully": "Parcourir les métadonnées avec succès",
|
||||
"Path prefix": "Préfixe de chemin",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "URL d'informations utilisateur",
|
||||
"UserInfo URL - Tooltip": "URL d'informations sur l'utilisateur",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "admin (Partagé)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "Table",
|
||||
"Table - Tooltip": "Nom de la table de base de données",
|
||||
"Table columns": "Colonnes de table",
|
||||
"Table columns - Tooltip": "Colonnes dans la table impliquées dans la synchronisation des données. Les colonnes qui ne sont pas impliquées dans la synchronisation n'ont pas besoin d'être ajoutées",
|
||||
"Table primary key": "Clé primaire de table",
|
||||
"Table primary key - Tooltip": "Clé primaire de la table, telle que l'id"
|
||||
"Table columns - Tooltip": "Colonnes dans la table impliquées dans la synchronisation des données. Les colonnes qui ne sont pas impliquées dans la synchronisation n'ont pas besoin d'être ajoutées"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "Retard API",
|
||||
|
1008
web/src/locales/he/data.json
Normal file
1008
web/src/locales/he/data.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "Adapter Baru",
|
||||
"Policies": "Kebijakan",
|
||||
"Policies - Tooltip": "Kebijakan aturan Casbin",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "Sinkronisasi kebijakan berhasil dilakukan"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Admin",
|
||||
"Admin - Tooltip": "CN atau ID dari administrator server LDAP",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "Lanjutkan dengan",
|
||||
"Email or phone": "Email atau telepon",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "Lupa kata sandi?",
|
||||
"Loading": "Memuat",
|
||||
"Logging out...": "Keluar...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "Kembali ke Situs Web",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "Pembayaran gagal",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "Pembayaran masih dalam proses",
|
||||
"Type - Tooltip": "Metode pembayaran yang digunakan saat membeli produk",
|
||||
"You have successfully completed the payment": "Anda telah berhasil menyelesaikan pembayaran",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "Terjual",
|
||||
"Sold - Tooltip": "Jumlah terjual",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "Tag produk",
|
||||
"Test buy page..": "Halaman pembelian uji coba.",
|
||||
"There is no payment channel for this product.": "Tidak ada saluran pembayaran untuk produk ini.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Rahasia klien",
|
||||
"Client secret 2": "Rahasia klien 2",
|
||||
"Client secret 2 - Tooltip": "Kunci rahasia klien kedua",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "Salin",
|
||||
"Disable SSL": "Menonaktifkan SSL",
|
||||
"Disable SSL - Tooltip": "Apakah perlu menonaktifkan protokol SSL saat berkomunikasi dengan server STMP?",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "Metode login, kode QR atau login tanpa suara",
|
||||
"New Provider": "Penyedia Baru",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "Parse: Memecah atau mengurai data atau teks menjadi bagian-bagian yang lebih kecil dan lebih mudah dipahami atau dimanipulasi",
|
||||
"Parse metadata successfully": "Berhasil mem-parse metadata",
|
||||
"Path prefix": "Awalan jalur",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "URL UserInfo",
|
||||
"UserInfo URL - Tooltip": "URL Informasi Pengguna",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "Admin (Berbagi)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "Tabel",
|
||||
"Table - Tooltip": "Nama tabel database",
|
||||
"Table columns": "Kolom tabel",
|
||||
"Table columns - Tooltip": "Kolom pada tabel yang terlibat dalam sinkronisasi data. Kolom yang tidak terlibat dalam sinkronisasi tidak perlu ditambahkan",
|
||||
"Table primary key": "Kunci utama tabel",
|
||||
"Table primary key - Tooltip": "Kunci primer tabel, seperti id"
|
||||
"Table columns - Tooltip": "Kolom pada tabel yang terlibat dalam sinkronisasi data. Kolom yang tidak terlibat dalam sinkronisasi tidak perlu ditambahkan"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "API Latency",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "New Adapter",
|
||||
"Policies": "Policies",
|
||||
"Policies - Tooltip": "Casbin policy rules",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "Sync policies successfully"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Admin",
|
||||
"Admin - Tooltip": "CN or ID of the LDAP server administrator",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "Continue with",
|
||||
"Email or phone": "Email or phone",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "Forgot password?",
|
||||
"Loading": "Loading",
|
||||
"Logging out...": "Logging out...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "Return to Website",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "The payment has failed",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "The payment is still under processing",
|
||||
"Type - Tooltip": "Payment method used when purchasing the product",
|
||||
"You have successfully completed the payment": "You have successfully completed the payment",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "Sold",
|
||||
"Sold - Tooltip": "Quantity sold",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "Tag of product",
|
||||
"Test buy page..": "Test buy page..",
|
||||
"There is no payment channel for this product.": "There is no payment channel for this product.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Client secret",
|
||||
"Client secret 2": "Client secret 2",
|
||||
"Client secret 2 - Tooltip": "The second client secret key",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "Copy",
|
||||
"Disable SSL": "Disable SSL",
|
||||
"Disable SSL - Tooltip": "Whether to disable SSL protocol when communicating with STMP server",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "Login method, QR code or silent login",
|
||||
"New Provider": "New Provider",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "Parse",
|
||||
"Parse metadata successfully": "Parse metadata successfully",
|
||||
"Path prefix": "Path prefix",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "UserInfo URL",
|
||||
"UserInfo URL - Tooltip": "UserInfo URL",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "admin (Shared)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "Table",
|
||||
"Table - Tooltip": "Name of database table",
|
||||
"Table columns": "Table columns",
|
||||
"Table columns - Tooltip": "Columns in the table involved in data synchronization. Columns that are not involved in synchronization do not need to be added",
|
||||
"Table primary key": "Table primary key",
|
||||
"Table primary key - Tooltip": "Table primary key, such as id"
|
||||
"Table columns - Tooltip": "Columns in the table involved in data synchronization. Columns that are not involved in synchronization do not need to be added"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "API Latency",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "新しいアダプター",
|
||||
"Policies": "政策",
|
||||
"Policies - Tooltip": "Casbinのポリシールール",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "ポリシーを同期できました"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Admin",
|
||||
"Admin - Tooltip": "LDAPサーバー管理者のCNまたはID",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "続ける",
|
||||
"Email or phone": "メールまたは電話",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "パスワードを忘れましたか?",
|
||||
"Loading": "ローディング",
|
||||
"Logging out...": "ログアウト中...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "ウェブサイトに戻る",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "支払いに失敗しました",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "支払いはまだ処理中です",
|
||||
"Type - Tooltip": "製品を購入する際に使用される支払方法",
|
||||
"You have successfully completed the payment": "あなたは支払いを正常に完了しました",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "売れました",
|
||||
"Sold - Tooltip": "販売数量",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "製品のタグ",
|
||||
"Test buy page..": "テスト購入ページ。",
|
||||
"There is no payment channel for this product.": "この製品には支払いチャネルがありません。",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "クライアント秘密鍵",
|
||||
"Client secret 2": "クライアントシークレット2",
|
||||
"Client secret 2 - Tooltip": "第二クライアント秘密鍵",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "コピー",
|
||||
"Disable SSL": "SSLを無効にする",
|
||||
"Disable SSL - Tooltip": "SMTPサーバーと通信する場合にSSLプロトコルを無効にするかどうか",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "ログイン方法、QRコードまたはサイレントログイン",
|
||||
"New Provider": "新しい提供者",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "パースする",
|
||||
"Parse metadata successfully": "メタデータを正常に解析しました",
|
||||
"Path prefix": "パスプレフィックス",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "UserInfo URLを日本語に翻訳すると、「ユーザー情報のURL」となります",
|
||||
"UserInfo URL - Tooltip": "ユーザー情報URL",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "管理者(共有)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "テーブル",
|
||||
"Table - Tooltip": "データベーステーブル名",
|
||||
"Table columns": "テーブルの列",
|
||||
"Table columns - Tooltip": "テーブルで同期データに関与する列。同期に関係のない列は追加する必要はありません",
|
||||
"Table primary key": "テーブルの主キー",
|
||||
"Table primary key - Tooltip": "テーブルのプライマリキー、例えばid"
|
||||
"Table columns - Tooltip": "テーブルで同期データに関与する列。同期に関係のない列は追加する必要はありません"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "API遅延",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "새로운 어댑터",
|
||||
"Policies": "정책",
|
||||
"Policies - Tooltip": "Casbin 정책 규칙",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "정책을 성공적으로 동기화했습니다"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Admin",
|
||||
"Admin - Tooltip": "LDAP 서버 관리자의 CN 또는 ID",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "계속하다",
|
||||
"Email or phone": "이메일 또는 전화",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "비밀번호를 잊으셨나요?",
|
||||
"Loading": "로딩 중입니다",
|
||||
"Logging out...": "로그아웃 중...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "웹 사이트로 돌아가기",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "결제가 실패했습니다",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "지불은 아직 처리 중입니다",
|
||||
"Type - Tooltip": "제품을 구매할 때 사용되는 결제 방법",
|
||||
"You have successfully completed the payment": "당신은 결제를 성공적으로 완료하셨습니다",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "팔렸습니다",
|
||||
"Sold - Tooltip": "판매량",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "제품 태그",
|
||||
"Test buy page..": "시험 구매 페이지.",
|
||||
"There is no payment channel for this product.": "이 제품에 대한 결제 채널이 없습니다.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "클라이언트 비밀키",
|
||||
"Client secret 2": "클라이언트 비밀번호 2",
|
||||
"Client secret 2 - Tooltip": "두 번째 클라이언트 비밀 키",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "복사하다",
|
||||
"Disable SSL": "SSL을 사용하지 않도록 설정하십시오",
|
||||
"Disable SSL - Tooltip": "STMP 서버와 통신할 때 SSL 프로토콜을 비활성화할지 여부",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "로그인 방법, QR 코드 또는 음성 로그인",
|
||||
"New Provider": "새로운 공급 업체",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "파싱",
|
||||
"Parse metadata successfully": "메타데이터를 성공적으로 분석했습니다",
|
||||
"Path prefix": "경로 접두어",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "사용자 정보 URL",
|
||||
"UserInfo URL - Tooltip": "UserInfo URL: 사용자 정보 URL",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "관리자 (공유)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "테이블",
|
||||
"Table - Tooltip": "데이터베이스 테이블 이름",
|
||||
"Table columns": "테이블 열",
|
||||
"Table columns - Tooltip": "데이터 동기화에 관련된 테이블의 열들입니다. 동기화에 관련되지 않은 열은 추가할 필요가 없습니다",
|
||||
"Table primary key": "테이블 기본키",
|
||||
"Table primary key - Tooltip": "테이블의 기본 키, 예를 들어 id"
|
||||
"Table columns - Tooltip": "데이터 동기화에 관련된 테이블의 열들입니다. 동기화에 관련되지 않은 열은 추가할 필요가 없습니다"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "API 지연",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "New Adapter",
|
||||
"Policies": "Policies",
|
||||
"Policies - Tooltip": "Casbin policy rules",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "Sync policies successfully"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Admin",
|
||||
"Admin - Tooltip": "CN or ID of the LDAP server administrator",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "Continue with",
|
||||
"Email or phone": "Email or phone",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "Forgot password?",
|
||||
"Loading": "Loading",
|
||||
"Logging out...": "Logging out...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "Return to Website",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "The payment has failed",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "The payment is still under processing",
|
||||
"Type - Tooltip": "Payment method used when purchasing the product",
|
||||
"You have successfully completed the payment": "You have successfully completed the payment",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "Sold",
|
||||
"Sold - Tooltip": "Quantity sold",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "Tag of product",
|
||||
"Test buy page..": "Test buy page..",
|
||||
"There is no payment channel for this product.": "There is no payment channel for this product.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Client secret",
|
||||
"Client secret 2": "Client secret 2",
|
||||
"Client secret 2 - Tooltip": "The second client secret key",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "Copy",
|
||||
"Disable SSL": "Disable SSL",
|
||||
"Disable SSL - Tooltip": "Whether to disable SSL protocol when communicating with STMP server",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "Login method, QR code or silent login",
|
||||
"New Provider": "New Provider",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "Parse",
|
||||
"Parse metadata successfully": "Parse metadata successfully",
|
||||
"Path prefix": "Path prefix",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "UserInfo URL",
|
||||
"UserInfo URL - Tooltip": "UserInfo URL",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "admin (Shared)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "Table",
|
||||
"Table - Tooltip": "Name of database table",
|
||||
"Table columns": "Table columns",
|
||||
"Table columns - Tooltip": "Columns in the table involved in data synchronization. Columns that are not involved in synchronization do not need to be added",
|
||||
"Table primary key": "Table primary key",
|
||||
"Table primary key - Tooltip": "Table primary key, such as id"
|
||||
"Table columns - Tooltip": "Columns in the table involved in data synchronization. Columns that are not involved in synchronization do not need to be added"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "API Latency",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "Novo Adaptador",
|
||||
"Policies": "Políticas",
|
||||
"Policies - Tooltip": "Regras de política do Casbin",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "Políticas sincronizadas com sucesso"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Administrador",
|
||||
"Admin - Tooltip": "CN ou ID do administrador do servidor LDAP",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "Continuar com",
|
||||
"Email or phone": "Email ou telefone",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "Esqueceu a senha?",
|
||||
"Loading": "Carregando",
|
||||
"Logging out...": "Saindo...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "Retornar ao Website",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "O pagamento falhou",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "O pagamento ainda está sendo processado",
|
||||
"Type - Tooltip": "Método de pagamento utilizado ao comprar o produto",
|
||||
"You have successfully completed the payment": "Você concluiu o pagamento com sucesso",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "Vendido",
|
||||
"Sold - Tooltip": "Quantidade vendida",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "Tag do produto",
|
||||
"Test buy page..": "Página de teste de compra...",
|
||||
"There is no payment channel for this product.": "Não há canal de pagamento disponível para este produto.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Segredo do cliente",
|
||||
"Client secret 2": "Segredo do cliente 2",
|
||||
"Client secret 2 - Tooltip": "A segunda chave secreta do cliente",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "Copiar",
|
||||
"Disable SSL": "Desabilitar SSL",
|
||||
"Disable SSL - Tooltip": "Se deve desabilitar o protocolo SSL ao comunicar com o servidor SMTP",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "Método de login, código QR ou login silencioso",
|
||||
"New Provider": "Novo Provedor",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "Analisar",
|
||||
"Parse metadata successfully": "Metadados analisados com sucesso",
|
||||
"Path prefix": "Prefixo do caminho",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "URL do UserInfo",
|
||||
"UserInfo URL - Tooltip": "URL do UserInfo",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "admin (Compartilhado)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "Tabela",
|
||||
"Table - Tooltip": "Nome da tabela no banco de dados",
|
||||
"Table columns": "Colunas da tabela",
|
||||
"Table columns - Tooltip": "Colunas na tabela envolvidas na sincronização de dados. Colunas que não estão envolvidas na sincronização não precisam ser adicionadas",
|
||||
"Table primary key": "Chave primária da tabela",
|
||||
"Table primary key - Tooltip": "Chave primária da tabela, como id"
|
||||
"Table columns - Tooltip": "Colunas na tabela envolvidas na sincronização de dados. Colunas que não estão envolvidas na sincronização não precisam ser adicionadas"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "Latência da API",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "Новый адаптер",
|
||||
"Policies": "Политика",
|
||||
"Policies - Tooltip": "Правила политики Casbin",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "Успешно синхронизированы политики"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Admin",
|
||||
"Admin - Tooltip": "CN или ID администратора сервера LDAP",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "Продолжайте с",
|
||||
"Email or phone": "Электронная почта или телефон",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "Забыли пароль?",
|
||||
"Loading": "Загрузка",
|
||||
"Logging out...": "Выход...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "Вернуться на веб-сайт",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "Оплата не удалась",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "Оплата все еще обрабатывается",
|
||||
"Type - Tooltip": "Способ оплаты, используемый при покупке товара",
|
||||
"You have successfully completed the payment": "Вы успешно произвели платеж",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "Продано",
|
||||
"Sold - Tooltip": "Количество проданных",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "Метка продукта",
|
||||
"Test buy page..": "Страница для тестовой покупки.",
|
||||
"There is no payment channel for this product.": "Для этого продукта нет канала оплаты.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Клиентский секрет",
|
||||
"Client secret 2": "Секрет клиента 2",
|
||||
"Client secret 2 - Tooltip": "Второй секретный ключ клиента",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "Копировать",
|
||||
"Disable SSL": "Отключить SSL",
|
||||
"Disable SSL - Tooltip": "Нужно ли отключать протокол SSL при общении с SMTP сервером?",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "Метод входа, QR-код или беззвучный вход",
|
||||
"New Provider": "Новый провайдер",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "Спарсить",
|
||||
"Parse metadata successfully": "Успешно обработана метаданные",
|
||||
"Path prefix": "Префикс пути",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "URL информации о пользователе",
|
||||
"UserInfo URL - Tooltip": "URL пользовательской информации (URL информации о пользователе)",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "администратор (общий)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "Стол",
|
||||
"Table - Tooltip": "Название таблицы базы данных",
|
||||
"Table columns": "Столбцы таблицы",
|
||||
"Table columns - Tooltip": "Столбцы в таблице, участвующие в синхронизации данных. Столбцы, не участвующие в синхронизации, не нужно добавлять",
|
||||
"Table primary key": "Первичный ключ таблицы",
|
||||
"Table primary key - Tooltip": "Идентификатор (id) - основной ключ таблицы"
|
||||
"Table columns - Tooltip": "Столбцы в таблице, участвующие в синхронизации данных. Столбцы, не участвующие в синхронизации, не нужно добавлять"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "Задержка API",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "New Adapter",
|
||||
"Policies": "Policies",
|
||||
"Policies - Tooltip": "Casbin policy rules",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "Sync policies successfully"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Admin",
|
||||
"Admin - Tooltip": "CN or ID of the LDAP server administrator",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "Continue with",
|
||||
"Email or phone": "Email or phone",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "Forgot password?",
|
||||
"Loading": "Loading",
|
||||
"Logging out...": "Logging out...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "Return to Website",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "The payment has failed",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "The payment is still under processing",
|
||||
"Type - Tooltip": "Payment method used when purchasing the product",
|
||||
"You have successfully completed the payment": "You have successfully completed the payment",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "Sold",
|
||||
"Sold - Tooltip": "Quantity sold",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "Tag of product",
|
||||
"Test buy page..": "Test buy page..",
|
||||
"There is no payment channel for this product.": "There is no payment channel for this product.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Client secret",
|
||||
"Client secret 2": "Client secret 2",
|
||||
"Client secret 2 - Tooltip": "The second client secret key",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "Copy",
|
||||
"Disable SSL": "Disable SSL",
|
||||
"Disable SSL - Tooltip": "Whether to disable SSL protocol when communicating with STMP server",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "Login method, QR code or silent login",
|
||||
"New Provider": "New Provider",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "Parse",
|
||||
"Parse metadata successfully": "Parse metadata successfully",
|
||||
"Path prefix": "Path prefix",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "UserInfo URL",
|
||||
"UserInfo URL - Tooltip": "UserInfo URL",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "admin (Shared)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "Table",
|
||||
"Table - Tooltip": "Name of database table",
|
||||
"Table columns": "Table columns",
|
||||
"Table columns - Tooltip": "Columns in the table involved in data synchronization. Columns that are not involved in synchronization do not need to be added",
|
||||
"Table primary key": "Table primary key",
|
||||
"Table primary key - Tooltip": "Table primary key, such as id"
|
||||
"Table columns - Tooltip": "Columns in the table involved in data synchronization. Columns that are not involved in synchronization do not need to be added"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "API Latency",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "Bộ chuyển đổi mới",
|
||||
"Policies": "Chính sách",
|
||||
"Policies - Tooltip": "Quy tắc chính sách Casbin",
|
||||
"Rule type": "Rule type",
|
||||
"Sync policies successfully": "Đồng bộ chính sách thành công"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "Show all",
|
||||
"Virtual": "Virtual"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "Admin",
|
||||
"Admin - Tooltip": "CN hoặc ID của quản trị viên máy chủ LDAP",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "Tiếp tục với",
|
||||
"Email or phone": "Email hoặc điện thoại",
|
||||
"Failed to obtain MetaMask authorization": "Failed to obtain MetaMask authorization",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "Quên mật khẩu?",
|
||||
"Loading": "Đang tải",
|
||||
"Logging out...": "Đăng xuất ...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "Passcode",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "Please bind your email first, the system will automatically uses the mail for multi-factor authentication",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "Please bind your phone first, the system automatically uses the phone for multi-factor authentication",
|
||||
"Please confirm the information below": "Please confirm the information below",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code",
|
||||
"Protect your account with Multi-factor authentication": "Protect your account with Multi-factor authentication",
|
||||
"Recovery code": "Recovery code",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "Trở lại trang web",
|
||||
"The payment has been canceled": "The payment has been canceled",
|
||||
"The payment has failed": "Thanh toán đã thất bại",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "Thanh toán vẫn đang được xử lý",
|
||||
"Type - Tooltip": "Phương thức thanh toán được sử dụng khi mua sản phẩm",
|
||||
"You have successfully completed the payment": "Bạn đã hoàn thành thanh toán thành công",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "SKU",
|
||||
"Sold": "Đã bán",
|
||||
"Sold - Tooltip": "Số lượng bán ra",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "Nhãn sản phẩm",
|
||||
"Test buy page..": "Trang mua thử.",
|
||||
"There is no payment channel for this product.": "Không có kênh thanh toán cho sản phẩm này.",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Mã bí mật khách hàng",
|
||||
"Client secret 2": "Khóa bí mật của khách hàng 2",
|
||||
"Client secret 2 - Tooltip": "Khóa bí mật thứ hai của khách hàng",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "Sao chép",
|
||||
"Disable SSL": "Vô hiệu hóa SSL",
|
||||
"Disable SSL - Tooltip": "Có nên vô hiệu hóa giao thức SSL khi giao tiếp với máy chủ STMP hay không?",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "Phương thức đăng nhập, mã QR hoặc đăng nhập im lặng",
|
||||
"New Provider": "Nhà cung cấp mới",
|
||||
"Normal": "Normal",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "Phân tích cú pháp",
|
||||
"Parse metadata successfully": "Phân tích siêu dữ liệu thành công",
|
||||
"Path prefix": "Tiền tố đường dẫn",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "Đường dẫn UserInfo",
|
||||
"UserInfo URL - Tooltip": "Địa chỉ URL của Thông tin người dùng",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "quản trị viên (Chung)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "Bàn",
|
||||
"Table - Tooltip": "Tên của bảng cơ sở dữ liệu",
|
||||
"Table columns": "Các cột bảng",
|
||||
"Table columns - Tooltip": "Cột trong bảng liên quan đến đồng bộ dữ liệu. Các cột không liên quan đến đồng bộ hóa không cần được thêm vào",
|
||||
"Table primary key": "Khóa chính của bảng",
|
||||
"Table primary key - Tooltip": "Khóa chính của bảng, ví dụ như id"
|
||||
"Table columns - Tooltip": "Cột trong bảng liên quan đến đồng bộ dữ liệu. Các cột không liên quan đến đồng bộ hóa không cần được thêm vào"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "Độ trễ API",
|
||||
|
@@ -11,6 +11,7 @@
|
||||
"New Adapter": "添加适配器",
|
||||
"Policies": "策略",
|
||||
"Policies - Tooltip": "Casbin策略规则",
|
||||
"Rule type": "策略类型",
|
||||
"Sync policies successfully": "同步策略成功"
|
||||
},
|
||||
"application": {
|
||||
@@ -353,6 +354,13 @@
|
||||
"Show all": "显示全部",
|
||||
"Virtual": "虚拟组"
|
||||
},
|
||||
"home": {
|
||||
"New users past 30 days": "New users past 30 days",
|
||||
"New users past 7 days": "New users past 7 days",
|
||||
"New users today": "New users today",
|
||||
"Past 30 Days": "Past 30 Days",
|
||||
"Total users": "Total users"
|
||||
},
|
||||
"ldap": {
|
||||
"Admin": "管理员",
|
||||
"Admin - Tooltip": "LDAP服务器管理员的CN或ID",
|
||||
@@ -388,6 +396,7 @@
|
||||
"Continue with": "使用以下账号继续",
|
||||
"Email or phone": "Email或手机号",
|
||||
"Failed to obtain MetaMask authorization": "获取MetaMask授权失败",
|
||||
"Failed to obtain Web3-Onboard authorization": "Failed to obtain Web3-Onboard authorization",
|
||||
"Forgot password?": "忘记密码?",
|
||||
"Loading": "加载中",
|
||||
"Logging out...": "正在退出登录...",
|
||||
@@ -431,6 +440,7 @@
|
||||
"Passcode": "认证码",
|
||||
"Please bind your email first, the system will automatically uses the mail for multi-factor authentication": "请先绑定邮箱,之后会自动使用该邮箱作为多因素认证的方式",
|
||||
"Please bind your phone first, the system automatically uses the phone for multi-factor authentication": "请先绑定手机号,之后会自动使用该手机号作为多因素认证的方式",
|
||||
"Please confirm the information below": "请确认以下信息",
|
||||
"Please save this recovery code. Once your device cannot provide an authentication code, you can reset mfa authentication by this recovery code": "请保存此恢复代码。一旦您的设备无法提供身份验证码,您可以通过此恢复码重置多因素认证",
|
||||
"Protect your account with Multi-factor authentication": "通过多因素认证保护您的帐户",
|
||||
"Recovery code": "恢复码",
|
||||
@@ -523,6 +533,7 @@
|
||||
"Return to Website": "返回原网站",
|
||||
"The payment has been canceled": "付款已取消",
|
||||
"The payment has failed": "支付失败",
|
||||
"The payment has time out": "The payment has time out",
|
||||
"The payment is still under processing": "支付正在处理",
|
||||
"Type - Tooltip": "商品购买时的支付方式",
|
||||
"You have successfully completed the payment": "支付成功",
|
||||
@@ -604,6 +615,7 @@
|
||||
"SKU": "货号",
|
||||
"Sold": "售出",
|
||||
"Sold - Tooltip": "已售出的数量",
|
||||
"Stripe": "Stripe",
|
||||
"Tag - Tooltip": "商品类别",
|
||||
"Test buy page..": "测试购买页面..",
|
||||
"There is no payment channel for this product.": "该商品没有付款方式。",
|
||||
@@ -648,6 +660,8 @@
|
||||
"Client secret - Tooltip": "Client secret",
|
||||
"Client secret 2": "Client secret 2",
|
||||
"Client secret 2 - Tooltip": "第二个Client secret",
|
||||
"Content": "Content",
|
||||
"Content - Tooltip": "Content - Tooltip",
|
||||
"Copy": "复制",
|
||||
"Disable SSL": "禁用SSL",
|
||||
"Disable SSL - Tooltip": "与STMP服务器通信时是否禁用SSL协议",
|
||||
@@ -682,6 +696,8 @@
|
||||
"Method - Tooltip": "登录方法,二维码或者静默授权登录",
|
||||
"New Provider": "添加提供商",
|
||||
"Normal": "标准",
|
||||
"Parameter name": "Parameter name",
|
||||
"Parameter name - Tooltip": "Parameter name - Tooltip",
|
||||
"Parse": "解析",
|
||||
"Parse metadata successfully": "解析元数据成功",
|
||||
"Path prefix": "路径前缀",
|
||||
@@ -758,6 +774,8 @@
|
||||
"User mapping - Tooltip": "User mapping - Tooltip",
|
||||
"UserInfo URL": "UserInfo URL",
|
||||
"UserInfo URL - Tooltip": "自定义OAuth的UserInfo URL",
|
||||
"Wallets": "Wallets",
|
||||
"Wallets - Tooltip": "Wallets - Tooltip",
|
||||
"admin (Shared)": "admin(共享)"
|
||||
},
|
||||
"record": {
|
||||
@@ -849,9 +867,7 @@
|
||||
"Table": "表名",
|
||||
"Table - Tooltip": "数据库表名",
|
||||
"Table columns": "表格列",
|
||||
"Table columns - Tooltip": "参与数据同步的表格列,不参与同步的列不需要添加",
|
||||
"Table primary key": "表主键",
|
||||
"Table primary key - Tooltip": "表主键,如id等"
|
||||
"Table columns - Tooltip": "参与数据同步的表格列,不参与同步的列不需要添加"
|
||||
},
|
||||
"system": {
|
||||
"API Latency": "API 延迟",
|
||||
|
Reference in New Issue
Block a user