From d12117324cc36ccba9d2f5ad15395ab89320a7c6 Mon Sep 17 00:00:00 2001 From: Yaodong Yu <2814461814@qq.com> Date: Thu, 17 Aug 2023 17:19:24 +0800 Subject: [PATCH] feat: support admin to enable MFA for other users (#2221) * feat: support admin enable user sms and email mfa * chore: update ci * chore: update ci --- .github/workflows/build.yml | 2 +- web/src/UserEditPage.js | 36 +++----- web/src/common/modal/EnableMfaModal.js | 113 +++++++++++++++++++++++++ web/src/locales/de/data.json | 22 ++++- web/src/locales/en/data.json | 22 ++++- web/src/locales/es/data.json | 22 ++++- web/src/locales/fr/data.json | 22 ++++- web/src/locales/id/data.json | 22 ++++- web/src/locales/it/data.json | 22 ++++- web/src/locales/ja/data.json | 22 ++++- web/src/locales/ko/data.json | 22 ++++- web/src/locales/ms/data.json | 22 ++++- web/src/locales/pt/data.json | 22 ++++- web/src/locales/ru/data.json | 22 ++++- web/src/locales/tr/data.json | 22 ++++- web/src/locales/vi/data.json | 22 ++++- web/src/locales/zh/data.json | 22 ++++- 17 files changed, 394 insertions(+), 65 deletions(-) create mode 100644 web/src/common/modal/EnableMfaModal.js diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8d757bbc..c2ca5993 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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 diff --git a/web/src/UserEditPage.js b/web/src/UserEditPage.js index e9c30ce0..b7492f5d 100644 --- a/web/src/UserEditPage.js +++ b/web/src/UserEditPage.js @@ -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"; @@ -210,23 +212,6 @@ class UserEditPage extends React.Component { return this.props.account.countryCode; } - loadMore = (table, type) => { - return
- -
; - }; - deleteMfa = () => { this.setState({ RemoveMfaLoading: true, @@ -951,11 +936,18 @@ class UserEditPage extends React.Component { } - ) : } + ) : + + {item.mfaType !== TotpMfaType && Setting.isAdminUser(this.props.account) && window.location.href.indexOf("/users") !== -1 ? + { + this.getUser(); + }} /> : null} + + } )} /> diff --git a/web/src/common/modal/EnableMfaModal.js b/web/src/common/modal/EnableMfaModal.js new file mode 100644 index 00000000..67cc84f5 --- /dev/null +++ b/web/src/common/modal/EnableMfaModal.js @@ -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 ( +

{i18next.t("mfa:Please confirm the information below")}
+ {i18next.t("general:User")}: {`${user.owner}/${user.name}`}
+ {mfaType === EmailMfaType ? + <>{i18next.t("general:Email")} : {user.email} : + <>{i18next.t("general:Phone")} : {user.phone}} +

+ ); + }; + + const isValid = () => { + if (mfaType === EmailMfaType) { + return user.email !== ""; + } else { + return user.phone !== ""; + } + }; + + return ( + + + + {renderText()} + + + ); +}; + +export default EnableMfaModal; diff --git a/web/src/locales/de/data.json b/web/src/locales/de/data.json index e8722216..5cdff819 100644 --- a/web/src/locales/de/data.json +++ b/web/src/locales/de/data.json @@ -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", diff --git a/web/src/locales/en/data.json b/web/src/locales/en/data.json index 661389ed..7fe2bfb2 100644 --- a/web/src/locales/en/data.json +++ b/web/src/locales/en/data.json @@ -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", diff --git a/web/src/locales/es/data.json b/web/src/locales/es/data.json index 83ab92dd..3b1ce8d8 100644 --- a/web/src/locales/es/data.json +++ b/web/src/locales/es/data.json @@ -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", diff --git a/web/src/locales/fr/data.json b/web/src/locales/fr/data.json index dc08b976..575e3403 100644 --- a/web/src/locales/fr/data.json +++ b/web/src/locales/fr/data.json @@ -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", diff --git a/web/src/locales/id/data.json b/web/src/locales/id/data.json index 917b0344..f70c8d26 100644 --- a/web/src/locales/id/data.json +++ b/web/src/locales/id/data.json @@ -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", diff --git a/web/src/locales/it/data.json b/web/src/locales/it/data.json index 661389ed..7fe2bfb2 100644 --- a/web/src/locales/it/data.json +++ b/web/src/locales/it/data.json @@ -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", diff --git a/web/src/locales/ja/data.json b/web/src/locales/ja/data.json index 275b7e91..ef2a16a9 100644 --- a/web/src/locales/ja/data.json +++ b/web/src/locales/ja/data.json @@ -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遅延", diff --git a/web/src/locales/ko/data.json b/web/src/locales/ko/data.json index 4feb9e17..38f35b92 100644 --- a/web/src/locales/ko/data.json +++ b/web/src/locales/ko/data.json @@ -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 지연", diff --git a/web/src/locales/ms/data.json b/web/src/locales/ms/data.json index 661389ed..7fe2bfb2 100644 --- a/web/src/locales/ms/data.json +++ b/web/src/locales/ms/data.json @@ -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", diff --git a/web/src/locales/pt/data.json b/web/src/locales/pt/data.json index 9a4aaee5..c9fdcf2c 100644 --- a/web/src/locales/pt/data.json +++ b/web/src/locales/pt/data.json @@ -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", diff --git a/web/src/locales/ru/data.json b/web/src/locales/ru/data.json index 9e191938..70d83b02 100644 --- a/web/src/locales/ru/data.json +++ b/web/src/locales/ru/data.json @@ -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", diff --git a/web/src/locales/tr/data.json b/web/src/locales/tr/data.json index 661389ed..7fe2bfb2 100644 --- a/web/src/locales/tr/data.json +++ b/web/src/locales/tr/data.json @@ -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", diff --git a/web/src/locales/vi/data.json b/web/src/locales/vi/data.json index 4bb42cb1..14751a07 100644 --- a/web/src/locales/vi/data.json +++ b/web/src/locales/vi/data.json @@ -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", diff --git a/web/src/locales/zh/data.json b/web/src/locales/zh/data.json index 9dfcc918..9e7f8b1b 100644 --- a/web/src/locales/zh/data.json +++ b/web/src/locales/zh/data.json @@ -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 延迟",