This is an automated email from the ASF dual-hosted git repository.

hsluoyz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/casbin-gateway.git


The following commit(s) were added to refs/heads/master by this push:
     new 6bc3f39  chore(i18n): keep only en and zh locales
6bc3f39 is described below

commit 6bc3f391b5eb688c0baafcfbacdcf9ab60a493e5
Author: Yang Luo <[email protected]>
AuthorDate: Mon Aug 17 11:21:12 2026 +0800

    chore(i18n): keep only en and zh locales
---
 i18n/generate_test.go        |   7 --
 web/src/Setting.js           |   7 --
 web/src/i18n.js              |  35 ---------
 web/src/locales/de/data.json | 166 -------------------------------------------
 web/src/locales/es/data.json | 166 -------------------------------------------
 web/src/locales/fr/data.json | 166 -------------------------------------------
 web/src/locales/id/data.json | 166 -------------------------------------------
 web/src/locales/ja/data.json | 166 -------------------------------------------
 web/src/locales/ko/data.json | 166 -------------------------------------------
 web/src/locales/ru/data.json | 166 -------------------------------------------
 10 files changed, 1211 deletions(-)

diff --git a/i18n/generate_test.go b/i18n/generate_test.go
index 973dc27..7e60750 100644
--- a/i18n/generate_test.go
+++ b/i18n/generate_test.go
@@ -32,11 +32,4 @@ func TestGenerateI18nStrings(t *testing.T) {
        writeI18nFile("en", dataEn)
 
        applyToOtherLanguage(dataEn, "zh")
-       applyToOtherLanguage(dataEn, "fr")
-       applyToOtherLanguage(dataEn, "de")
-       applyToOtherLanguage(dataEn, "id")
-       applyToOtherLanguage(dataEn, "ja")
-       applyToOtherLanguage(dataEn, "ko")
-       applyToOtherLanguage(dataEn, "ru")
-       applyToOtherLanguage(dataEn, "es")
 }
diff --git a/web/src/Setting.js b/web/src/Setting.js
index 3acb470..937d128 100644
--- a/web/src/Setting.js
+++ b/web/src/Setting.js
@@ -29,13 +29,6 @@ export let CasdoorSdk;
 export const Countries = [
   {label: "English", key: "en", country: "US", alt: "English"},
   {label: "中文", key: "zh", country: "CN", alt: "中文"},
-  {label: "Español", key: "es", country: "ES", alt: "Español"},
-  {label: "Français", key: "fr", country: "FR", alt: "Français"},
-  {label: "Deutsch", key: "de", country: "DE", alt: "Deutsch"},
-  {label: "Indonesia", key: "id", country: "ID", alt: "Indonesia"},
-  {label: "日本語", key: "ja", country: "JP", alt: "日本語"},
-  {label: "한국어", key: "ko", country: "KR", alt: "한국어"},
-  {label: "Русский", key: "ru", country: "RU", alt: "Русский"},
 ];
 
 export function initServerUrl() {
diff --git a/web/src/i18n.js b/web/src/i18n.js
index a0839c6..41b3126 100644
--- a/web/src/i18n.js
+++ b/web/src/i18n.js
@@ -15,13 +15,6 @@
 import i18n from "i18next";
 import zh from "./locales/zh/data.json";
 import en from "./locales/en/data.json";
-import de from "./locales/de/data.json";
-import es from "./locales/es/data.json";
-import fr from "./locales/fr/data.json";
-import id from "./locales/id/data.json";
-import ja from "./locales/ja/data.json";
-import ko from "./locales/ko/data.json";
-import ru from "./locales/ru/data.json";
 
 import * as Conf from "./Conf";
 import * as Setting from "./Setting";
@@ -30,13 +23,6 @@ import {initReactI18next} from "react-i18next";
 const resources = {
   en: en,
   zh: zh,
-  de: de,
-  es: es,
-  fr: fr,
-  id: id,
-  ja: ja,
-  ko: ko,
-  ru: ru,
 };
 
 function initLanguage() {
@@ -59,27 +45,6 @@ function initLanguage() {
       case "en-US":
         language = "en";
         break;
-      case "de":
-        language = "de";
-        break;
-      case "es":
-        language = "es";
-        break;
-      case "fr":
-        language = "fr";
-        break;
-      case "id":
-        language = "id";
-        break;
-      case "ja":
-        language = "ja";
-        break;
-      case "ko":
-        language = "ko";
-        break;
-      case "ru":
-        language = "ru";
-        break;
       default:
         language = Conf.DefaultLanguage;
       }
diff --git a/web/src/locales/de/data.json b/web/src/locales/de/data.json
deleted file mode 100644
index b904891..0000000
--- a/web/src/locales/de/data.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{
-  "account": {
-    "Avatar": "Avatar",
-    "Avatar image URL, optional": "Avatar image URL, optional",
-    "Modify password": "Modify password",
-    "Modify password...": "Modify password...",
-    "My Account": "My Account",
-    "New Password": "New Password",
-    "Old Password": "Old Password",
-    "Please input your password": "Please input your password",
-    "Please input your username": "Please input your username",
-    "Profile": "Profile",
-    "Set Password": "Set Password",
-    "Sign In": "Sign In",
-    "Sign Out": "Sign Out",
-    "Sign Up": "Sign Up",
-    "Sign in is unavailable": "Sign in is unavailable",
-    "Username": "Username"
-  },
-  "agent": {
-    "Agent": "Agent",
-    "Agents": "Agents",
-    "Failed to scan agents": "Failed to scan agents",
-    "Install Method": "Install Method",
-    "No supported agents found": "No supported agents found",
-    "Scan": "Scan",
-    "Unknown": "Unknown",
-    "Version": "Version"
-  },
-  "cert": {
-    "Access key": "Access key",
-    "Access secret": "Access secret",
-    "Account": "Account",
-    "Certificate": "Certificate",
-    "Certificate copied to clipboard successfully": "Certificate copied to 
clipboard successfully",
-    "Copy certificate": "Copy certificate",
-    "Copy private key": "Copy private key",
-    "Crypto algorithm": "Crypto algorithm",
-    "Domain expire": "Domain expire",
-    "Download certificate": "Download certificate",
-    "Download private key": "Download private key",
-    "Edit Cert": "Edit Cert",
-    "Expire time": "Expire time",
-    "Private key": "Private key",
-    "Private key copied to clipboard successfully": "Private key copied to 
clipboard successfully",
-    "Provider": "Provider",
-    "Type": "Type"
-  },
-  "general": {
-    "Action": "Action",
-    "Add": "Add",
-    "At Any Time": "At Any Time",
-    "Back Home": "Back Home",
-    "Cancel": "Cancel",
-    "Certs": "Certs",
-    "Client IP": "Client IP",
-    "Client ip": "Client ip",
-    "Count": "Count",
-    "Create time": "Create time",
-    "Created time": "Created time",
-    "CreatedTime": "CreatedTime",
-    "Dashboard": "Dashboard",
-    "Delete": "Delete",
-    "Display name": "Display name",
-    "Edit": "Edit",
-    "Edit Record": "Edit Record",
-    "Go to writable demo site?": "Go to writable demo site?",
-    "Half A Hour": "Half A Hour",
-    "Home": "Home",
-    "Host": "Host",
-    "ID": "ID",
-    "IP Address": "IP Address",
-    "Method": "Method",
-    "Name": "Name",
-    "No Upgrade": "No Upgrade",
-    "Nodes": "Nodes",
-    "OK": "OK",
-    "Owner": "Owner",
-    "Password": "Password",
-    "Path": "Path",
-    "Records": "Records",
-    "Refresh": "Refresh",
-    "Restore": "Restore",
-    "Rules": "Rules",
-    "Save": "Save",
-    "Self": "Self",
-    "Sites": "Sites",
-    "Sorry, you do not have permission to access this page or logged in status 
invalid.": "Sorry, you do not have permission to access this page or logged in 
status invalid.",
-    "Tag": "Tag",
-    "This is a read-only demo site!": "This is a read-only demo site!",
-    "Top 10 IP Addresses": "Top 10 IP Addresses",
-    "Top 10 User-Agents": "Top 10 User-Agents",
-    "Total Request Count": "Total Request Count",
-    "Unique IP Count": "Unique IP Count",
-    "Update time": "Update time",
-    "Upgrade mode": "Upgrade mode",
-    "User-Agent": "User-Agent",
-    "{total} in total": "{total} in total"
-  },
-  "node": {
-    "Edit Node": "Edit Node"
-  },
-  "rule": {
-    "Allow": "Allow",
-    "Block": "Block",
-    "Block Duration": "Block Duration",
-    "Captcha": "Captcha",
-    "Compound": "Compound",
-    "Edit Rule": "Edit Rule",
-    "Expression": "Expression",
-    "Expressions": "Expressions",
-    "IP List": "IP List",
-    "IP Rate Limiting": "IP Rate Limiting",
-    "Logic": "Logic",
-    "Operator": "Operator",
-    "Rate": "Rate",
-    "Reason": "Reason",
-    "Rule": "Rule",
-    "Status code": "Status code",
-    "Type": "Type",
-    "Value": "Value",
-    "Verbose mode": "Verbose mode",
-    "and": "and",
-    "begin": "begin",
-    "contains": "contains",
-    "does not contain": "does not contain",
-    "does not equal": "does not equal",
-    "equals": "equals",
-    "is abroad": "im Ausland",
-    "is in": "is in",
-    "is not in": "is not in",
-    "or": "or",
-    "regex match": "regex match"
-  },
-  "site": {
-    "Alert interval": "Alert interval",
-    "Alert providers": "Alert providers",
-    "Alert try times": "Alert try times",
-    "Casdoor app": "Casdoor app",
-    "Challenges": "Challenges",
-    "Disable verbose": "Disable verbose",
-    "Domain": "Domain",
-    "Edit Site": "Edit Site",
-    "Enable alert": "Enable alert",
-    "Host": "Host",
-    "Hosts": "Hosts",
-    "Mode": "Mode",
-    "Need redirect": "Need redirect",
-    "Node": "Node",
-    "Nodes": "Nodes",
-    "Other domains": "Other domains",
-    "Port": "Port",
-    "Public IP": "Public IP",
-    "Rules": "Rules",
-    "SSL cert": "SSL cert",
-    "Status": "Status"
-  },
-  "usage": {
-    "All": "All",
-    "Day": "Day",
-    "Hour": "Hour",
-    "Month": "Month",
-    "Week": "Week",
-    "seconds": "seconds"
-  }
-}
diff --git a/web/src/locales/es/data.json b/web/src/locales/es/data.json
deleted file mode 100644
index d7be6ce..0000000
--- a/web/src/locales/es/data.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{
-  "account": {
-    "Avatar": "Avatar",
-    "Avatar image URL, optional": "Avatar image URL, optional",
-    "Modify password": "Modify password",
-    "Modify password...": "Modify password...",
-    "My Account": "My Account",
-    "New Password": "New Password",
-    "Old Password": "Old Password",
-    "Please input your password": "Please input your password",
-    "Please input your username": "Please input your username",
-    "Profile": "Profile",
-    "Set Password": "Set Password",
-    "Sign In": "Sign In",
-    "Sign Out": "Sign Out",
-    "Sign Up": "Sign Up",
-    "Sign in is unavailable": "Sign in is unavailable",
-    "Username": "Username"
-  },
-  "agent": {
-    "Agent": "Agent",
-    "Agents": "Agents",
-    "Failed to scan agents": "Failed to scan agents",
-    "Install Method": "Install Method",
-    "No supported agents found": "No supported agents found",
-    "Scan": "Scan",
-    "Unknown": "Unknown",
-    "Version": "Version"
-  },
-  "cert": {
-    "Access key": "Access key",
-    "Access secret": "Access secret",
-    "Account": "Account",
-    "Certificate": "Certificate",
-    "Certificate copied to clipboard successfully": "Certificate copied to 
clipboard successfully",
-    "Copy certificate": "Copy certificate",
-    "Copy private key": "Copy private key",
-    "Crypto algorithm": "Crypto algorithm",
-    "Domain expire": "Domain expire",
-    "Download certificate": "Download certificate",
-    "Download private key": "Download private key",
-    "Edit Cert": "Edit Cert",
-    "Expire time": "Expire time",
-    "Private key": "Private key",
-    "Private key copied to clipboard successfully": "Private key copied to 
clipboard successfully",
-    "Provider": "Provider",
-    "Type": "Type"
-  },
-  "general": {
-    "Action": "Action",
-    "Add": "Add",
-    "At Any Time": "At Any Time",
-    "Back Home": "Back Home",
-    "Cancel": "Cancel",
-    "Certs": "Certs",
-    "Client IP": "Client IP",
-    "Client ip": "Client ip",
-    "Count": "Count",
-    "Create time": "Create time",
-    "Created time": "Created time",
-    "CreatedTime": "CreatedTime",
-    "Dashboard": "Dashboard",
-    "Delete": "Delete",
-    "Display name": "Display name",
-    "Edit": "Edit",
-    "Edit Record": "Edit Record",
-    "Go to writable demo site?": "Go to writable demo site?",
-    "Half A Hour": "Half A Hour",
-    "Home": "Home",
-    "Host": "Host",
-    "ID": "ID",
-    "IP Address": "IP Address",
-    "Method": "Method",
-    "Name": "Name",
-    "No Upgrade": "No Upgrade",
-    "Nodes": "Nodes",
-    "OK": "OK",
-    "Owner": "Owner",
-    "Password": "Password",
-    "Path": "Path",
-    "Records": "Records",
-    "Refresh": "Refresh",
-    "Restore": "Restore",
-    "Rules": "Rules",
-    "Save": "Save",
-    "Self": "Self",
-    "Sites": "Sites",
-    "Sorry, you do not have permission to access this page or logged in status 
invalid.": "Sorry, you do not have permission to access this page or logged in 
status invalid.",
-    "Tag": "Tag",
-    "This is a read-only demo site!": "This is a read-only demo site!",
-    "Top 10 IP Addresses": "Top 10 IP Addresses",
-    "Top 10 User-Agents": "Top 10 User-Agents",
-    "Total Request Count": "Total Request Count",
-    "Unique IP Count": "Unique IP Count",
-    "Update time": "Update time",
-    "Upgrade mode": "Upgrade mode",
-    "User-Agent": "User-Agent",
-    "{total} in total": "{total} in total"
-  },
-  "node": {
-    "Edit Node": "Edit Node"
-  },
-  "rule": {
-    "Allow": "Allow",
-    "Block": "Block",
-    "Block Duration": "Block Duration",
-    "Captcha": "Captcha",
-    "Compound": "Compound",
-    "Edit Rule": "Edit Rule",
-    "Expression": "Expression",
-    "Expressions": "Expressions",
-    "IP List": "IP List",
-    "IP Rate Limiting": "IP Rate Limiting",
-    "Logic": "Logic",
-    "Operator": "Operator",
-    "Rate": "Rate",
-    "Reason": "Reason",
-    "Rule": "Rule",
-    "Status code": "Status code",
-    "Type": "Type",
-    "Value": "Value",
-    "Verbose mode": "Verbose mode",
-    "and": "and",
-    "begin": "begin",
-    "contains": "contains",
-    "does not contain": "does not contain",
-    "does not equal": "does not equal",
-    "equals": "equals",
-    "is abroad": "en el extranjero",
-    "is in": "is in",
-    "is not in": "is not in",
-    "or": "or",
-    "regex match": "regex match"
-  },
-  "site": {
-    "Alert interval": "Alert interval",
-    "Alert providers": "Alert providers",
-    "Alert try times": "Alert try times",
-    "Casdoor app": "Casdoor app",
-    "Challenges": "Challenges",
-    "Disable verbose": "Disable verbose",
-    "Domain": "Domain",
-    "Edit Site": "Edit Site",
-    "Enable alert": "Enable alert",
-    "Host": "Host",
-    "Hosts": "Hosts",
-    "Mode": "Mode",
-    "Need redirect": "Need redirect",
-    "Node": "Node",
-    "Nodes": "Nodes",
-    "Other domains": "Other domains",
-    "Port": "Port",
-    "Public IP": "Public IP",
-    "Rules": "Rules",
-    "SSL cert": "SSL cert",
-    "Status": "Status"
-  },
-  "usage": {
-    "All": "All",
-    "Day": "Day",
-    "Hour": "Hour",
-    "Month": "Month",
-    "Week": "Week",
-    "seconds": "seconds"
-  }
-}
diff --git a/web/src/locales/fr/data.json b/web/src/locales/fr/data.json
deleted file mode 100644
index f59950c..0000000
--- a/web/src/locales/fr/data.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{
-  "account": {
-    "Avatar": "Avatar",
-    "Avatar image URL, optional": "Avatar image URL, optional",
-    "Modify password": "Modify password",
-    "Modify password...": "Modify password...",
-    "My Account": "My Account",
-    "New Password": "New Password",
-    "Old Password": "Old Password",
-    "Please input your password": "Please input your password",
-    "Please input your username": "Please input your username",
-    "Profile": "Profile",
-    "Set Password": "Set Password",
-    "Sign In": "Sign In",
-    "Sign Out": "Sign Out",
-    "Sign Up": "Sign Up",
-    "Sign in is unavailable": "Sign in is unavailable",
-    "Username": "Username"
-  },
-  "agent": {
-    "Agent": "Agent",
-    "Agents": "Agents",
-    "Failed to scan agents": "Failed to scan agents",
-    "Install Method": "Install Method",
-    "No supported agents found": "No supported agents found",
-    "Scan": "Scan",
-    "Unknown": "Unknown",
-    "Version": "Version"
-  },
-  "cert": {
-    "Access key": "Access key",
-    "Access secret": "Access secret",
-    "Account": "Account",
-    "Certificate": "Certificate",
-    "Certificate copied to clipboard successfully": "Certificate copied to 
clipboard successfully",
-    "Copy certificate": "Copy certificate",
-    "Copy private key": "Copy private key",
-    "Crypto algorithm": "Crypto algorithm",
-    "Domain expire": "Domain expire",
-    "Download certificate": "Download certificate",
-    "Download private key": "Download private key",
-    "Edit Cert": "Edit Cert",
-    "Expire time": "Expire time",
-    "Private key": "Private key",
-    "Private key copied to clipboard successfully": "Private key copied to 
clipboard successfully",
-    "Provider": "Provider",
-    "Type": "Type"
-  },
-  "general": {
-    "Action": "Action",
-    "Add": "Add",
-    "At Any Time": "At Any Time",
-    "Back Home": "Back Home",
-    "Cancel": "Cancel",
-    "Certs": "Certs",
-    "Client IP": "Client IP",
-    "Client ip": "Client ip",
-    "Count": "Count",
-    "Create time": "Create time",
-    "Created time": "Created time",
-    "CreatedTime": "CreatedTime",
-    "Dashboard": "Dashboard",
-    "Delete": "Delete",
-    "Display name": "Display name",
-    "Edit": "Edit",
-    "Edit Record": "Edit Record",
-    "Go to writable demo site?": "Go to writable demo site?",
-    "Half A Hour": "Half A Hour",
-    "Home": "Home",
-    "Host": "Host",
-    "ID": "ID",
-    "IP Address": "IP Address",
-    "Method": "Method",
-    "Name": "Name",
-    "No Upgrade": "No Upgrade",
-    "Nodes": "Nodes",
-    "OK": "OK",
-    "Owner": "Owner",
-    "Password": "Password",
-    "Path": "Path",
-    "Records": "Records",
-    "Refresh": "Refresh",
-    "Restore": "Restore",
-    "Rules": "Rules",
-    "Save": "Save",
-    "Self": "Self",
-    "Sites": "Sites",
-    "Sorry, you do not have permission to access this page or logged in status 
invalid.": "Sorry, you do not have permission to access this page or logged in 
status invalid.",
-    "Tag": "Tag",
-    "This is a read-only demo site!": "This is a read-only demo site!",
-    "Top 10 IP Addresses": "Top 10 IP Addresses",
-    "Top 10 User-Agents": "Top 10 User-Agents",
-    "Total Request Count": "Total Request Count",
-    "Unique IP Count": "Unique IP Count",
-    "Update time": "Update time",
-    "Upgrade mode": "Upgrade mode",
-    "User-Agent": "User-Agent",
-    "{total} in total": "{total} in total"
-  },
-  "node": {
-    "Edit Node": "Edit Node"
-  },
-  "rule": {
-    "Allow": "Allow",
-    "Block": "Block",
-    "Block Duration": "Block Duration",
-    "Captcha": "Captcha",
-    "Compound": "Compound",
-    "Edit Rule": "Edit Rule",
-    "Expression": "Expression",
-    "Expressions": "Expressions",
-    "IP List": "IP List",
-    "IP Rate Limiting": "IP Rate Limiting",
-    "Logic": "Logic",
-    "Operator": "Operator",
-    "Rate": "Rate",
-    "Reason": "Reason",
-    "Rule": "Rule",
-    "Status code": "Status code",
-    "Type": "Type",
-    "Value": "Value",
-    "Verbose mode": "Verbose mode",
-    "and": "and",
-    "begin": "begin",
-    "contains": "contains",
-    "does not contain": "does not contain",
-    "does not equal": "does not equal",
-    "equals": "equals",
-    "is abroad": "à l'étranger",
-    "is in": "is in",
-    "is not in": "is not in",
-    "or": "or",
-    "regex match": "regex match"
-  },
-  "site": {
-    "Alert interval": "Alert interval",
-    "Alert providers": "Alert providers",
-    "Alert try times": "Alert try times",
-    "Casdoor app": "Casdoor app",
-    "Challenges": "Challenges",
-    "Disable verbose": "Disable verbose",
-    "Domain": "Domain",
-    "Edit Site": "Edit Site",
-    "Enable alert": "Enable alert",
-    "Host": "Host",
-    "Hosts": "Hosts",
-    "Mode": "Mode",
-    "Need redirect": "Need redirect",
-    "Node": "Node",
-    "Nodes": "Nodes",
-    "Other domains": "Other domains",
-    "Port": "Port",
-    "Public IP": "Public IP",
-    "Rules": "Rules",
-    "SSL cert": "SSL cert",
-    "Status": "Status"
-  },
-  "usage": {
-    "All": "All",
-    "Day": "Day",
-    "Hour": "Hour",
-    "Month": "Month",
-    "Week": "Week",
-    "seconds": "seconds"
-  }
-}
diff --git a/web/src/locales/id/data.json b/web/src/locales/id/data.json
deleted file mode 100644
index 87eae2f..0000000
--- a/web/src/locales/id/data.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{
-  "account": {
-    "Avatar": "Avatar",
-    "Avatar image URL, optional": "Avatar image URL, optional",
-    "Modify password": "Modify password",
-    "Modify password...": "Modify password...",
-    "My Account": "My Account",
-    "New Password": "New Password",
-    "Old Password": "Old Password",
-    "Please input your password": "Please input your password",
-    "Please input your username": "Please input your username",
-    "Profile": "Profile",
-    "Set Password": "Set Password",
-    "Sign In": "Sign In",
-    "Sign Out": "Sign Out",
-    "Sign Up": "Sign Up",
-    "Sign in is unavailable": "Sign in is unavailable",
-    "Username": "Username"
-  },
-  "agent": {
-    "Agent": "Agent",
-    "Agents": "Agents",
-    "Failed to scan agents": "Failed to scan agents",
-    "Install Method": "Install Method",
-    "No supported agents found": "No supported agents found",
-    "Scan": "Scan",
-    "Unknown": "Unknown",
-    "Version": "Version"
-  },
-  "cert": {
-    "Access key": "Access key",
-    "Access secret": "Access secret",
-    "Account": "Account",
-    "Certificate": "Certificate",
-    "Certificate copied to clipboard successfully": "Certificate copied to 
clipboard successfully",
-    "Copy certificate": "Copy certificate",
-    "Copy private key": "Copy private key",
-    "Crypto algorithm": "Crypto algorithm",
-    "Domain expire": "Domain expire",
-    "Download certificate": "Download certificate",
-    "Download private key": "Download private key",
-    "Edit Cert": "Edit Cert",
-    "Expire time": "Expire time",
-    "Private key": "Private key",
-    "Private key copied to clipboard successfully": "Private key copied to 
clipboard successfully",
-    "Provider": "Provider",
-    "Type": "Type"
-  },
-  "general": {
-    "Action": "Action",
-    "Add": "Add",
-    "At Any Time": "At Any Time",
-    "Back Home": "Back Home",
-    "Cancel": "Cancel",
-    "Certs": "Certs",
-    "Client IP": "Client IP",
-    "Client ip": "Client ip",
-    "Count": "Count",
-    "Create time": "Create time",
-    "Created time": "Created time",
-    "CreatedTime": "CreatedTime",
-    "Dashboard": "Dashboard",
-    "Delete": "Delete",
-    "Display name": "Display name",
-    "Edit": "Edit",
-    "Edit Record": "Edit Record",
-    "Go to writable demo site?": "Go to writable demo site?",
-    "Half A Hour": "Half A Hour",
-    "Home": "Home",
-    "Host": "Host",
-    "ID": "ID",
-    "IP Address": "IP Address",
-    "Method": "Method",
-    "Name": "Name",
-    "No Upgrade": "No Upgrade",
-    "Nodes": "Nodes",
-    "OK": "OK",
-    "Owner": "Owner",
-    "Password": "Password",
-    "Path": "Path",
-    "Records": "Records",
-    "Refresh": "Refresh",
-    "Restore": "Restore",
-    "Rules": "Rules",
-    "Save": "Save",
-    "Self": "Self",
-    "Sites": "Sites",
-    "Sorry, you do not have permission to access this page or logged in status 
invalid.": "Sorry, you do not have permission to access this page or logged in 
status invalid.",
-    "Tag": "Tag",
-    "This is a read-only demo site!": "This is a read-only demo site!",
-    "Top 10 IP Addresses": "Top 10 IP Addresses",
-    "Top 10 User-Agents": "Top 10 User-Agents",
-    "Total Request Count": "Total Request Count",
-    "Unique IP Count": "Unique IP Count",
-    "Update time": "Update time",
-    "Upgrade mode": "Upgrade mode",
-    "User-Agent": "User-Agent",
-    "{total} in total": "{total} in total"
-  },
-  "node": {
-    "Edit Node": "Edit Node"
-  },
-  "rule": {
-    "Allow": "Allow",
-    "Block": "Block",
-    "Block Duration": "Block Duration",
-    "Captcha": "Captcha",
-    "Compound": "Compound",
-    "Edit Rule": "Edit Rule",
-    "Expression": "Expression",
-    "Expressions": "Expressions",
-    "IP List": "IP List",
-    "IP Rate Limiting": "IP Rate Limiting",
-    "Logic": "Logic",
-    "Operator": "Operator",
-    "Rate": "Rate",
-    "Reason": "Reason",
-    "Rule": "Rule",
-    "Status code": "Status code",
-    "Type": "Type",
-    "Value": "Value",
-    "Verbose mode": "Verbose mode",
-    "and": "and",
-    "begin": "begin",
-    "contains": "contains",
-    "does not contain": "does not contain",
-    "does not equal": "does not equal",
-    "equals": "equals",
-    "is abroad": "di luar negeri",
-    "is in": "is in",
-    "is not in": "is not in",
-    "or": "or",
-    "regex match": "regex match"
-  },
-  "site": {
-    "Alert interval": "Alert interval",
-    "Alert providers": "Alert providers",
-    "Alert try times": "Alert try times",
-    "Casdoor app": "Casdoor app",
-    "Challenges": "Challenges",
-    "Disable verbose": "Disable verbose",
-    "Domain": "Domain",
-    "Edit Site": "Edit Site",
-    "Enable alert": "Enable alert",
-    "Host": "Host",
-    "Hosts": "Hosts",
-    "Mode": "Mode",
-    "Need redirect": "Need redirect",
-    "Node": "Node",
-    "Nodes": "Nodes",
-    "Other domains": "Other domains",
-    "Port": "Port",
-    "Public IP": "Public IP",
-    "Rules": "Rules",
-    "SSL cert": "SSL cert",
-    "Status": "Status"
-  },
-  "usage": {
-    "All": "All",
-    "Day": "Day",
-    "Hour": "Hour",
-    "Month": "Month",
-    "Week": "Week",
-    "seconds": "seconds"
-  }
-}
diff --git a/web/src/locales/ja/data.json b/web/src/locales/ja/data.json
deleted file mode 100644
index a51d4ea..0000000
--- a/web/src/locales/ja/data.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{
-  "account": {
-    "Avatar": "Avatar",
-    "Avatar image URL, optional": "Avatar image URL, optional",
-    "Modify password": "Modify password",
-    "Modify password...": "Modify password...",
-    "My Account": "My Account",
-    "New Password": "New Password",
-    "Old Password": "Old Password",
-    "Please input your password": "Please input your password",
-    "Please input your username": "Please input your username",
-    "Profile": "Profile",
-    "Set Password": "Set Password",
-    "Sign In": "Sign In",
-    "Sign Out": "Sign Out",
-    "Sign Up": "Sign Up",
-    "Sign in is unavailable": "Sign in is unavailable",
-    "Username": "Username"
-  },
-  "agent": {
-    "Agent": "Agent",
-    "Agents": "Agents",
-    "Failed to scan agents": "Failed to scan agents",
-    "Install Method": "Install Method",
-    "No supported agents found": "No supported agents found",
-    "Scan": "Scan",
-    "Unknown": "Unknown",
-    "Version": "Version"
-  },
-  "cert": {
-    "Access key": "Access key",
-    "Access secret": "Access secret",
-    "Account": "Account",
-    "Certificate": "Certificate",
-    "Certificate copied to clipboard successfully": "Certificate copied to 
clipboard successfully",
-    "Copy certificate": "Copy certificate",
-    "Copy private key": "Copy private key",
-    "Crypto algorithm": "Crypto algorithm",
-    "Domain expire": "Domain expire",
-    "Download certificate": "Download certificate",
-    "Download private key": "Download private key",
-    "Edit Cert": "Edit Cert",
-    "Expire time": "Expire time",
-    "Private key": "Private key",
-    "Private key copied to clipboard successfully": "Private key copied to 
clipboard successfully",
-    "Provider": "Provider",
-    "Type": "Type"
-  },
-  "general": {
-    "Action": "Action",
-    "Add": "Add",
-    "At Any Time": "At Any Time",
-    "Back Home": "Back Home",
-    "Cancel": "Cancel",
-    "Certs": "Certs",
-    "Client IP": "Client IP",
-    "Client ip": "Client ip",
-    "Count": "Count",
-    "Create time": "Create time",
-    "Created time": "Created time",
-    "CreatedTime": "CreatedTime",
-    "Dashboard": "Dashboard",
-    "Delete": "Delete",
-    "Display name": "Display name",
-    "Edit": "Edit",
-    "Edit Record": "Edit Record",
-    "Go to writable demo site?": "Go to writable demo site?",
-    "Half A Hour": "Half A Hour",
-    "Home": "Home",
-    "Host": "Host",
-    "ID": "ID",
-    "IP Address": "IP Address",
-    "Method": "Method",
-    "Name": "Name",
-    "No Upgrade": "No Upgrade",
-    "Nodes": "Nodes",
-    "OK": "OK",
-    "Owner": "Owner",
-    "Password": "Password",
-    "Path": "Path",
-    "Records": "Records",
-    "Refresh": "Refresh",
-    "Restore": "Restore",
-    "Rules": "Rules",
-    "Save": "Save",
-    "Self": "Self",
-    "Sites": "Sites",
-    "Sorry, you do not have permission to access this page or logged in status 
invalid.": "Sorry, you do not have permission to access this page or logged in 
status invalid.",
-    "Tag": "Tag",
-    "This is a read-only demo site!": "This is a read-only demo site!",
-    "Top 10 IP Addresses": "Top 10 IP Addresses",
-    "Top 10 User-Agents": "Top 10 User-Agents",
-    "Total Request Count": "Total Request Count",
-    "Unique IP Count": "Unique IP Count",
-    "Update time": "Update time",
-    "Upgrade mode": "Upgrade mode",
-    "User-Agent": "User-Agent",
-    "{total} in total": "{total} in total"
-  },
-  "node": {
-    "Edit Node": "Edit Node"
-  },
-  "rule": {
-    "Allow": "Allow",
-    "Block": "Block",
-    "Block Duration": "Block Duration",
-    "Captcha": "Captcha",
-    "Compound": "Compound",
-    "Edit Rule": "Edit Rule",
-    "Expression": "Expression",
-    "Expressions": "Expressions",
-    "IP List": "IP List",
-    "IP Rate Limiting": "IP Rate Limiting",
-    "Logic": "Logic",
-    "Operator": "Operator",
-    "Rate": "Rate",
-    "Reason": "Reason",
-    "Rule": "Rule",
-    "Status code": "Status code",
-    "Type": "Type",
-    "Value": "Value",
-    "Verbose mode": "Verbose mode",
-    "and": "and",
-    "begin": "begin",
-    "contains": "contains",
-    "does not contain": "does not contain",
-    "does not equal": "does not equal",
-    "equals": "equals",
-    "is abroad": "海外",
-    "is in": "is in",
-    "is not in": "is not in",
-    "or": "or",
-    "regex match": "regex match"
-  },
-  "site": {
-    "Alert interval": "Alert interval",
-    "Alert providers": "Alert providers",
-    "Alert try times": "Alert try times",
-    "Casdoor app": "Casdoor app",
-    "Challenges": "Challenges",
-    "Disable verbose": "Disable verbose",
-    "Domain": "Domain",
-    "Edit Site": "Edit Site",
-    "Enable alert": "Enable alert",
-    "Host": "Host",
-    "Hosts": "Hosts",
-    "Mode": "Mode",
-    "Need redirect": "Need redirect",
-    "Node": "Node",
-    "Nodes": "Nodes",
-    "Other domains": "Other domains",
-    "Port": "Port",
-    "Public IP": "Public IP",
-    "Rules": "Rules",
-    "SSL cert": "SSL cert",
-    "Status": "Status"
-  },
-  "usage": {
-    "All": "All",
-    "Day": "Day",
-    "Hour": "Hour",
-    "Month": "Month",
-    "Week": "Week",
-    "seconds": "seconds"
-  }
-}
diff --git a/web/src/locales/ko/data.json b/web/src/locales/ko/data.json
deleted file mode 100644
index ac4ad22..0000000
--- a/web/src/locales/ko/data.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{
-  "account": {
-    "Avatar": "Avatar",
-    "Avatar image URL, optional": "Avatar image URL, optional",
-    "Modify password": "Modify password",
-    "Modify password...": "Modify password...",
-    "My Account": "My Account",
-    "New Password": "New Password",
-    "Old Password": "Old Password",
-    "Please input your password": "Please input your password",
-    "Please input your username": "Please input your username",
-    "Profile": "Profile",
-    "Set Password": "Set Password",
-    "Sign In": "Sign In",
-    "Sign Out": "Sign Out",
-    "Sign Up": "Sign Up",
-    "Sign in is unavailable": "Sign in is unavailable",
-    "Username": "Username"
-  },
-  "agent": {
-    "Agent": "Agent",
-    "Agents": "Agents",
-    "Failed to scan agents": "Failed to scan agents",
-    "Install Method": "Install Method",
-    "No supported agents found": "No supported agents found",
-    "Scan": "Scan",
-    "Unknown": "Unknown",
-    "Version": "Version"
-  },
-  "cert": {
-    "Access key": "Access key",
-    "Access secret": "Access secret",
-    "Account": "Account",
-    "Certificate": "Certificate",
-    "Certificate copied to clipboard successfully": "Certificate copied to 
clipboard successfully",
-    "Copy certificate": "Copy certificate",
-    "Copy private key": "Copy private key",
-    "Crypto algorithm": "Crypto algorithm",
-    "Domain expire": "Domain expire",
-    "Download certificate": "Download certificate",
-    "Download private key": "Download private key",
-    "Edit Cert": "Edit Cert",
-    "Expire time": "Expire time",
-    "Private key": "Private key",
-    "Private key copied to clipboard successfully": "Private key copied to 
clipboard successfully",
-    "Provider": "Provider",
-    "Type": "Type"
-  },
-  "general": {
-    "Action": "Action",
-    "Add": "Add",
-    "At Any Time": "At Any Time",
-    "Back Home": "Back Home",
-    "Cancel": "Cancel",
-    "Certs": "Certs",
-    "Client IP": "Client IP",
-    "Client ip": "Client ip",
-    "Count": "Count",
-    "Create time": "Create time",
-    "Created time": "Created time",
-    "CreatedTime": "CreatedTime",
-    "Dashboard": "Dashboard",
-    "Delete": "Delete",
-    "Display name": "Display name",
-    "Edit": "Edit",
-    "Edit Record": "Edit Record",
-    "Go to writable demo site?": "Go to writable demo site?",
-    "Half A Hour": "Half A Hour",
-    "Home": "Home",
-    "Host": "Host",
-    "ID": "ID",
-    "IP Address": "IP Address",
-    "Method": "Method",
-    "Name": "Name",
-    "No Upgrade": "No Upgrade",
-    "Nodes": "Nodes",
-    "OK": "OK",
-    "Owner": "Owner",
-    "Password": "Password",
-    "Path": "Path",
-    "Records": "Records",
-    "Refresh": "Refresh",
-    "Restore": "Restore",
-    "Rules": "Rules",
-    "Save": "Save",
-    "Self": "Self",
-    "Sites": "Sites",
-    "Sorry, you do not have permission to access this page or logged in status 
invalid.": "Sorry, you do not have permission to access this page or logged in 
status invalid.",
-    "Tag": "Tag",
-    "This is a read-only demo site!": "This is a read-only demo site!",
-    "Top 10 IP Addresses": "Top 10 IP Addresses",
-    "Top 10 User-Agents": "Top 10 User-Agents",
-    "Total Request Count": "Total Request Count",
-    "Unique IP Count": "Unique IP Count",
-    "Update time": "Update time",
-    "Upgrade mode": "Upgrade mode",
-    "User-Agent": "User-Agent",
-    "{total} in total": "{total} in total"
-  },
-  "node": {
-    "Edit Node": "Edit Node"
-  },
-  "rule": {
-    "Allow": "Allow",
-    "Block": "Block",
-    "Block Duration": "Block Duration",
-    "Captcha": "Captcha",
-    "Compound": "Compound",
-    "Edit Rule": "Edit Rule",
-    "Expression": "Expression",
-    "Expressions": "Expressions",
-    "IP List": "IP List",
-    "IP Rate Limiting": "IP Rate Limiting",
-    "Logic": "Logic",
-    "Operator": "Operator",
-    "Rate": "Rate",
-    "Reason": "Reason",
-    "Rule": "Rule",
-    "Status code": "Status code",
-    "Type": "Type",
-    "Value": "Value",
-    "Verbose mode": "Verbose mode",
-    "and": "and",
-    "begin": "begin",
-    "contains": "contains",
-    "does not contain": "does not contain",
-    "does not equal": "does not equal",
-    "equals": "equals",
-    "is abroad": "해외",
-    "is in": "is in",
-    "is not in": "is not in",
-    "or": "or",
-    "regex match": "regex match"
-  },
-  "site": {
-    "Alert interval": "Alert interval",
-    "Alert providers": "Alert providers",
-    "Alert try times": "Alert try times",
-    "Casdoor app": "Casdoor app",
-    "Challenges": "Challenges",
-    "Disable verbose": "Disable verbose",
-    "Domain": "Domain",
-    "Edit Site": "Edit Site",
-    "Enable alert": "Enable alert",
-    "Host": "Host",
-    "Hosts": "Hosts",
-    "Mode": "Mode",
-    "Need redirect": "Need redirect",
-    "Node": "Node",
-    "Nodes": "Nodes",
-    "Other domains": "Other domains",
-    "Port": "Port",
-    "Public IP": "Public IP",
-    "Rules": "Rules",
-    "SSL cert": "SSL cert",
-    "Status": "Status"
-  },
-  "usage": {
-    "All": "All",
-    "Day": "Day",
-    "Hour": "Hour",
-    "Month": "Month",
-    "Week": "Week",
-    "seconds": "seconds"
-  }
-}
diff --git a/web/src/locales/ru/data.json b/web/src/locales/ru/data.json
deleted file mode 100644
index 75891a3..0000000
--- a/web/src/locales/ru/data.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{
-  "account": {
-    "Avatar": "Avatar",
-    "Avatar image URL, optional": "Avatar image URL, optional",
-    "Modify password": "Modify password",
-    "Modify password...": "Modify password...",
-    "My Account": "My Account",
-    "New Password": "New Password",
-    "Old Password": "Old Password",
-    "Please input your password": "Please input your password",
-    "Please input your username": "Please input your username",
-    "Profile": "Profile",
-    "Set Password": "Set Password",
-    "Sign In": "Sign In",
-    "Sign Out": "Sign Out",
-    "Sign Up": "Sign Up",
-    "Sign in is unavailable": "Sign in is unavailable",
-    "Username": "Username"
-  },
-  "agent": {
-    "Agent": "Agent",
-    "Agents": "Agents",
-    "Failed to scan agents": "Failed to scan agents",
-    "Install Method": "Install Method",
-    "No supported agents found": "No supported agents found",
-    "Scan": "Scan",
-    "Unknown": "Unknown",
-    "Version": "Version"
-  },
-  "cert": {
-    "Access key": "Access key",
-    "Access secret": "Access secret",
-    "Account": "Account",
-    "Certificate": "Certificate",
-    "Certificate copied to clipboard successfully": "Certificate copied to 
clipboard successfully",
-    "Copy certificate": "Copy certificate",
-    "Copy private key": "Copy private key",
-    "Crypto algorithm": "Crypto algorithm",
-    "Domain expire": "Domain expire",
-    "Download certificate": "Download certificate",
-    "Download private key": "Download private key",
-    "Edit Cert": "Edit Cert",
-    "Expire time": "Expire time",
-    "Private key": "Private key",
-    "Private key copied to clipboard successfully": "Private key copied to 
clipboard successfully",
-    "Provider": "Provider",
-    "Type": "Type"
-  },
-  "general": {
-    "Action": "Action",
-    "Add": "Add",
-    "At Any Time": "At Any Time",
-    "Back Home": "Back Home",
-    "Cancel": "Cancel",
-    "Certs": "Certs",
-    "Client IP": "Client IP",
-    "Client ip": "Client ip",
-    "Count": "Count",
-    "Create time": "Create time",
-    "Created time": "Created time",
-    "CreatedTime": "CreatedTime",
-    "Dashboard": "Dashboard",
-    "Delete": "Delete",
-    "Display name": "Display name",
-    "Edit": "Edit",
-    "Edit Record": "Edit Record",
-    "Go to writable demo site?": "Go to writable demo site?",
-    "Half A Hour": "Half A Hour",
-    "Home": "Home",
-    "Host": "Host",
-    "ID": "ID",
-    "IP Address": "IP Address",
-    "Method": "Method",
-    "Name": "Name",
-    "No Upgrade": "No Upgrade",
-    "Nodes": "Nodes",
-    "OK": "OK",
-    "Owner": "Owner",
-    "Password": "Password",
-    "Path": "Path",
-    "Records": "Records",
-    "Refresh": "Refresh",
-    "Restore": "Restore",
-    "Rules": "Rules",
-    "Save": "Save",
-    "Self": "Self",
-    "Sites": "Sites",
-    "Sorry, you do not have permission to access this page or logged in status 
invalid.": "Sorry, you do not have permission to access this page or logged in 
status invalid.",
-    "Tag": "Tag",
-    "This is a read-only demo site!": "This is a read-only demo site!",
-    "Top 10 IP Addresses": "Top 10 IP Addresses",
-    "Top 10 User-Agents": "Top 10 User-Agents",
-    "Total Request Count": "Total Request Count",
-    "Unique IP Count": "Unique IP Count",
-    "Update time": "Update time",
-    "Upgrade mode": "Upgrade mode",
-    "User-Agent": "User-Agent",
-    "{total} in total": "{total} in total"
-  },
-  "node": {
-    "Edit Node": "Edit Node"
-  },
-  "rule": {
-    "Allow": "Allow",
-    "Block": "Block",
-    "Block Duration": "Block Duration",
-    "Captcha": "Captcha",
-    "Compound": "Compound",
-    "Edit Rule": "Edit Rule",
-    "Expression": "Expression",
-    "Expressions": "Expressions",
-    "IP List": "IP List",
-    "IP Rate Limiting": "IP Rate Limiting",
-    "Logic": "Logic",
-    "Operator": "Operator",
-    "Rate": "Rate",
-    "Reason": "Reason",
-    "Rule": "Rule",
-    "Status code": "Status code",
-    "Type": "Type",
-    "Value": "Value",
-    "Verbose mode": "Verbose mode",
-    "and": "and",
-    "begin": "begin",
-    "contains": "contains",
-    "does not contain": "does not contain",
-    "does not equal": "does not equal",
-    "equals": "equals",
-    "is abroad": "за границей",
-    "is in": "is in",
-    "is not in": "is not in",
-    "or": "or",
-    "regex match": "regex match"
-  },
-  "site": {
-    "Alert interval": "Alert interval",
-    "Alert providers": "Alert providers",
-    "Alert try times": "Alert try times",
-    "Casdoor app": "Casdoor app",
-    "Challenges": "Challenges",
-    "Disable verbose": "Disable verbose",
-    "Domain": "Domain",
-    "Edit Site": "Edit Site",
-    "Enable alert": "Enable alert",
-    "Host": "Host",
-    "Hosts": "Hosts",
-    "Mode": "Mode",
-    "Need redirect": "Need redirect",
-    "Node": "Node",
-    "Nodes": "Nodes",
-    "Other domains": "Other domains",
-    "Port": "Port",
-    "Public IP": "Public IP",
-    "Rules": "Rules",
-    "SSL cert": "SSL cert",
-    "Status": "Status"
-  },
-  "usage": {
-    "All": "All",
-    "Day": "Day",
-    "Hour": "Hour",
-    "Month": "Month",
-    "Week": "Week",
-    "seconds": "seconds"
-  }
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to