locales
This commit is contained in:
parent
719da67fe5
commit
78b4b31d46
18
.env
Normal file
18
.env
Normal file
@ -0,0 +1,18 @@
|
||||
APP_API_URL = 'https://scriptcat.org/api/v2'
|
||||
APP_API_PROXY = 'https://scriptcat.org/api/v2'
|
||||
APP_BBS_OAUTH_CLIENT = '80mfto0y3b8v'
|
||||
|
||||
# APP_API_URL = 'http://test.list.ggnb.top:18000/api/v1'
|
||||
# APP_API_PROXY = 'http://192.168.1.136:8092/api/v1'
|
||||
# APP_BBS_OAUTH_CLIENT = '5uk70yummcoe'
|
||||
|
||||
# APP_API_URL = 'http://localhost:8080/api/v2'
|
||||
# APP_API_PROXY = 'http://localhost:8080/api/v2'
|
||||
# APP_BBS_OAUTH_CLIENT = 'dC37Fgznr5aAFZU'
|
||||
|
||||
# APP_API_URL = 'https://test.scriptcat.org/api/v2'
|
||||
# APP_API_PROXY = 'http://test.scriptcat.org/api/v2'
|
||||
# APP_BBS_OAUTH_CLIENT = 'dC37Fgznr5aAFZU'
|
||||
|
||||
CROWDIN_PERSONAL_TOKEN=e67d0550a3e60b35b05fcfdd7d1c05da5dcede92aae58fd8b4a717ed635a02af67195b9b455b3923
|
||||
APP_ENV=pre
|
11
package.json
11
package.json
@ -9,18 +9,22 @@
|
||||
"build": "cross-env NODE_ENV=production rspack build",
|
||||
"dev": "cross-env NODE_ENV=development rspack",
|
||||
"format": "prettier --write .",
|
||||
"lint": "eslint ."
|
||||
"lint": "eslint .",
|
||||
"lint-fix": "eslint --fix ."
|
||||
},
|
||||
"dependencies": {
|
||||
"dayjs": "^1.11.13",
|
||||
"i18next": "^23.16.4",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0"
|
||||
"react-dom": "^18.2.0",
|
||||
"react-i18next": "^15.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/compat": "^1.2.0",
|
||||
"@eslint/js": "^9.12.0",
|
||||
"@rspack/cli": "^1.0.14",
|
||||
"@rspack/core": "^1.0.14",
|
||||
"@rspack/plugin-react-refresh": "1.0.0",
|
||||
"@types/chrome": "^0.0.279",
|
||||
"@types/react": "^18.2.48",
|
||||
"@types/react-dom": "^18.2.18",
|
||||
"cross-env": "^7.0.3",
|
||||
@ -29,7 +33,6 @@
|
||||
"eslint-plugin-react-hooks": "^5.0.0",
|
||||
"globals": "^15.11.0",
|
||||
"prettier": "^3.3.3",
|
||||
"react-refresh": "^0.14.0",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.6.3",
|
||||
"typescript-eslint": "^8.8.1"
|
||||
|
140
pnpm-lock.yaml
generated
140
pnpm-lock.yaml
generated
@ -8,12 +8,21 @@ importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
dayjs:
|
||||
specifier: ^1.11.13
|
||||
version: 1.11.13
|
||||
i18next:
|
||||
specifier: ^23.16.4
|
||||
version: 23.16.4
|
||||
react:
|
||||
specifier: ^18.2.0
|
||||
version: 18.3.1
|
||||
react-dom:
|
||||
specifier: ^18.2.0
|
||||
version: 18.3.1(react@18.3.1)
|
||||
react-i18next:
|
||||
specifier: ^15.1.0
|
||||
version: 15.1.0(i18next@23.16.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
devDependencies:
|
||||
'@eslint/compat':
|
||||
specifier: ^1.2.0
|
||||
@ -27,9 +36,9 @@ importers:
|
||||
'@rspack/core':
|
||||
specifier: ^1.0.14
|
||||
version: 1.0.14
|
||||
'@rspack/plugin-react-refresh':
|
||||
specifier: 1.0.0
|
||||
version: 1.0.0(react-refresh@0.14.2)
|
||||
'@types/chrome':
|
||||
specifier: ^0.0.279
|
||||
version: 0.0.279
|
||||
'@types/react':
|
||||
specifier: ^18.2.48
|
||||
version: 18.3.12
|
||||
@ -54,9 +63,6 @@ importers:
|
||||
prettier:
|
||||
specifier: ^3.3.3
|
||||
version: 3.3.3
|
||||
react-refresh:
|
||||
specifier: ^0.14.0
|
||||
version: 0.14.2
|
||||
ts-node:
|
||||
specifier: ^10.9.2
|
||||
version: 10.9.2(@types/node@22.8.1)(typescript@5.6.3)
|
||||
@ -69,6 +75,10 @@ importers:
|
||||
|
||||
packages:
|
||||
|
||||
'@babel/runtime@7.26.0':
|
||||
resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@cspotcode/source-map-support@0.8.1':
|
||||
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
|
||||
engines: {node: '>=12'}
|
||||
@ -216,21 +226,25 @@ packages:
|
||||
resolution: {integrity: sha512-JogYtL3VQS9wJ3p3FNhDqinm7avrMsdwz4erP7YCjD7idob93GYAE7dPrHUzSNVnCBYXRaHJYZHDQs7lKVcYZw==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rspack/binding-linux-arm64-musl@1.0.14':
|
||||
resolution: {integrity: sha512-qgybhxI/nnoa8CUz7zKTC0Oh37NZt9uRxsSV7+ZYrfxqbrVCoNVuutPpY724uUHy1M6W34kVEm1uT1N4Ka5cZg==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rspack/binding-linux-x64-gnu@1.0.14':
|
||||
resolution: {integrity: sha512-5vzaDRw3/sGKo3ax/1cU3/cxqNjajwlt2LU288vXNe1/n8oe/pcDfYcTugpOe/A1DqzadanudJszLpFcKsaFtQ==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rspack/binding-linux-x64-musl@1.0.14':
|
||||
resolution: {integrity: sha512-4U6QD9xVS1eGme52DuJr6Fg/KdcUfJ+iKwH49Up460dZ/fLvGylnVGA+V0mzPlKi8gfy7NwFuYXZdu3Pwi1YYg==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rspack/binding-win32-arm64-msvc@1.0.14':
|
||||
resolution: {integrity: sha512-SjeYw7qqRHYZ5RPClu+ffKZsShQdU3amA1OwC3M0AS6dbfEcji8482St3Y8Z+QSzYRapCEZij9LMM/9ypEhISg==}
|
||||
@ -274,14 +288,6 @@ packages:
|
||||
resolution: {integrity: sha512-VynGOEsVw2s8TAlLf/uESfrgfrq2+rcXB1muPJYBWbsm1Oa6r5qVQhjA5ggM6z/coYPrsVMgovl3Ff7Q7OCp1w==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
|
||||
'@rspack/plugin-react-refresh@1.0.0':
|
||||
resolution: {integrity: sha512-WvXkLewW5G0Mlo5H1b251yDh5FFiH4NDAbYlFpvFjcuXX2AchZRf9zdw57BDE/ADyWsJgA8kixN/zZWBTN3iYA==}
|
||||
peerDependencies:
|
||||
react-refresh: '>=0.10.0 <1.0.0'
|
||||
peerDependenciesMeta:
|
||||
react-refresh:
|
||||
optional: true
|
||||
|
||||
'@tsconfig/node10@1.0.11':
|
||||
resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
|
||||
|
||||
@ -300,6 +306,9 @@ packages:
|
||||
'@types/bonjour@3.5.13':
|
||||
resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
|
||||
|
||||
'@types/chrome@0.0.279':
|
||||
resolution: {integrity: sha512-wl0IxQ2OQiMazPZM5LimHQ7Jwd72/O8UvvzyptplXT2S4eUqXH5C0n8S+v8PtKhyX89p0igCPpNy3Bwksyk57g==}
|
||||
|
||||
'@types/connect-history-api-fallback@1.5.4':
|
||||
resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
|
||||
|
||||
@ -318,6 +327,15 @@ packages:
|
||||
'@types/express@4.17.21':
|
||||
resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
|
||||
|
||||
'@types/filesystem@0.0.36':
|
||||
resolution: {integrity: sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==}
|
||||
|
||||
'@types/filewriter@0.0.33':
|
||||
resolution: {integrity: sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==}
|
||||
|
||||
'@types/har-format@1.2.16':
|
||||
resolution: {integrity: sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==}
|
||||
|
||||
'@types/http-errors@2.0.4':
|
||||
resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
|
||||
|
||||
@ -668,6 +686,9 @@ packages:
|
||||
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
dayjs@1.11.13:
|
||||
resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
|
||||
|
||||
debug@2.6.9:
|
||||
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
||||
peerDependencies:
|
||||
@ -762,9 +783,6 @@ packages:
|
||||
resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
error-stack-parser@2.1.4:
|
||||
resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
|
||||
|
||||
es-abstract@1.23.3:
|
||||
resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@ -1053,6 +1071,9 @@ packages:
|
||||
html-entities@2.5.2:
|
||||
resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==}
|
||||
|
||||
html-parse-stringify@3.0.1:
|
||||
resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==}
|
||||
|
||||
http-deceiver@1.2.7:
|
||||
resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
|
||||
|
||||
@ -1088,6 +1109,9 @@ packages:
|
||||
resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==}
|
||||
engines: {node: '>=10.18'}
|
||||
|
||||
i18next@23.16.4:
|
||||
resolution: {integrity: sha512-9NIYBVy9cs4wIqzurf7nLXPyf3R78xYbxExVqHLK9od3038rjpyOEzW+XB130kZ1N4PZ9inTtJ471CRJ4Ituyg==}
|
||||
|
||||
iconv-lite@0.4.24:
|
||||
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@ -1574,13 +1598,22 @@ packages:
|
||||
peerDependencies:
|
||||
react: ^18.3.1
|
||||
|
||||
react-i18next@15.1.0:
|
||||
resolution: {integrity: sha512-zj3nJynMnZsy2gPZiOTC7XctCY5eQGqT3tcKMmfJWC9FMvgd+960w/adq61j8iPzpwmsXejqID9qC3Mqu1Xu2Q==}
|
||||
peerDependencies:
|
||||
i18next: '>= 23.2.3'
|
||||
react: '>= 16.8.0'
|
||||
react-dom: '*'
|
||||
react-native: '*'
|
||||
peerDependenciesMeta:
|
||||
react-dom:
|
||||
optional: true
|
||||
react-native:
|
||||
optional: true
|
||||
|
||||
react-is@16.13.1:
|
||||
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
|
||||
|
||||
react-refresh@0.14.2:
|
||||
resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
react@18.3.1:
|
||||
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@ -1604,6 +1637,9 @@ packages:
|
||||
resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
regenerator-runtime@0.14.1:
|
||||
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
|
||||
|
||||
regexp.prototype.flags@1.5.3:
|
||||
resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@ -1752,9 +1788,6 @@ packages:
|
||||
resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
|
||||
stackframe@1.3.4:
|
||||
resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
|
||||
|
||||
statuses@1.5.0:
|
||||
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
|
||||
engines: {node: '>= 0.6'}
|
||||
@ -1941,6 +1974,10 @@ packages:
|
||||
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
void-elements@3.1.0:
|
||||
resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
wbuf@1.7.3:
|
||||
resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
|
||||
|
||||
@ -2057,6 +2094,10 @@ packages:
|
||||
|
||||
snapshots:
|
||||
|
||||
'@babel/runtime@7.26.0':
|
||||
dependencies:
|
||||
regenerator-runtime: 0.14.1
|
||||
|
||||
'@cspotcode/source-map-support@0.8.1':
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.9
|
||||
@ -2276,13 +2317,6 @@ snapshots:
|
||||
|
||||
'@rspack/lite-tapable@1.0.1': {}
|
||||
|
||||
'@rspack/plugin-react-refresh@1.0.0(react-refresh@0.14.2)':
|
||||
dependencies:
|
||||
error-stack-parser: 2.1.4
|
||||
html-entities: 2.5.2
|
||||
optionalDependencies:
|
||||
react-refresh: 0.14.2
|
||||
|
||||
'@tsconfig/node10@1.0.11': {}
|
||||
|
||||
'@tsconfig/node12@1.0.11': {}
|
||||
@ -2300,6 +2334,11 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/node': 22.8.1
|
||||
|
||||
'@types/chrome@0.0.279':
|
||||
dependencies:
|
||||
'@types/filesystem': 0.0.36
|
||||
'@types/har-format': 1.2.16
|
||||
|
||||
'@types/connect-history-api-fallback@1.5.4':
|
||||
dependencies:
|
||||
'@types/express-serve-static-core': 5.0.1
|
||||
@ -2332,6 +2371,14 @@ snapshots:
|
||||
'@types/qs': 6.9.16
|
||||
'@types/serve-static': 1.15.7
|
||||
|
||||
'@types/filesystem@0.0.36':
|
||||
dependencies:
|
||||
'@types/filewriter': 0.0.33
|
||||
|
||||
'@types/filewriter@0.0.33': {}
|
||||
|
||||
'@types/har-format@1.2.16': {}
|
||||
|
||||
'@types/http-errors@2.0.4': {}
|
||||
|
||||
'@types/http-proxy@1.17.15':
|
||||
@ -2752,6 +2799,8 @@ snapshots:
|
||||
es-errors: 1.3.0
|
||||
is-data-view: 1.0.1
|
||||
|
||||
dayjs@1.11.13: {}
|
||||
|
||||
debug@2.6.9:
|
||||
dependencies:
|
||||
ms: 2.0.0
|
||||
@ -2819,10 +2868,6 @@ snapshots:
|
||||
|
||||
encodeurl@2.0.0: {}
|
||||
|
||||
error-stack-parser@2.1.4:
|
||||
dependencies:
|
||||
stackframe: 1.3.4
|
||||
|
||||
es-abstract@1.23.3:
|
||||
dependencies:
|
||||
array-buffer-byte-length: 1.0.1
|
||||
@ -3240,6 +3285,10 @@ snapshots:
|
||||
|
||||
html-entities@2.5.2: {}
|
||||
|
||||
html-parse-stringify@3.0.1:
|
||||
dependencies:
|
||||
void-elements: 3.1.0
|
||||
|
||||
http-deceiver@1.2.7: {}
|
||||
|
||||
http-errors@1.6.3:
|
||||
@ -3283,6 +3332,10 @@ snapshots:
|
||||
|
||||
hyperdyperid@1.2.0: {}
|
||||
|
||||
i18next@23.16.4:
|
||||
dependencies:
|
||||
'@babel/runtime': 7.26.0
|
||||
|
||||
iconv-lite@0.4.24:
|
||||
dependencies:
|
||||
safer-buffer: 2.1.2
|
||||
@ -3712,9 +3765,16 @@ snapshots:
|
||||
react: 18.3.1
|
||||
scheduler: 0.23.2
|
||||
|
||||
react-is@16.13.1: {}
|
||||
react-i18next@15.1.0(i18next@23.16.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
||||
dependencies:
|
||||
'@babel/runtime': 7.26.0
|
||||
html-parse-stringify: 3.0.1
|
||||
i18next: 23.16.4
|
||||
react: 18.3.1
|
||||
optionalDependencies:
|
||||
react-dom: 18.3.1(react@18.3.1)
|
||||
|
||||
react-refresh@0.14.2: {}
|
||||
react-is@16.13.1: {}
|
||||
|
||||
react@18.3.1:
|
||||
dependencies:
|
||||
@ -3754,6 +3814,8 @@ snapshots:
|
||||
globalthis: 1.0.4
|
||||
which-builtin-type: 1.1.4
|
||||
|
||||
regenerator-runtime@0.14.1: {}
|
||||
|
||||
regexp.prototype.flags@1.5.3:
|
||||
dependencies:
|
||||
call-bind: 1.0.7
|
||||
@ -3947,8 +4009,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
stackframe@1.3.4: {}
|
||||
|
||||
statuses@1.5.0: {}
|
||||
|
||||
statuses@2.0.1: {}
|
||||
@ -4153,6 +4213,8 @@ snapshots:
|
||||
|
||||
vary@1.1.2: {}
|
||||
|
||||
void-elements@3.1.0: {}
|
||||
|
||||
wbuf@1.7.3:
|
||||
dependencies:
|
||||
minimalistic-assert: 1.0.1
|
||||
|
@ -1,7 +1,6 @@
|
||||
import * as path from "path";
|
||||
import { defineConfig } from "@rspack/cli";
|
||||
import { rspack } from "@rspack/core";
|
||||
import * as RefreshPlugin from "@rspack/plugin-react-refresh";
|
||||
import { version } from "./package.json";
|
||||
|
||||
const isDev = process.env.NODE_ENV === "development";
|
||||
@ -60,7 +59,6 @@ export default defineConfig({
|
||||
react: {
|
||||
runtime: "automatic",
|
||||
development: isDev,
|
||||
refresh: isDev,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -106,7 +104,6 @@ export default defineConfig({
|
||||
minify: true,
|
||||
chunks: ["popup"],
|
||||
}),
|
||||
isDev ? new RefreshPlugin() : null,
|
||||
].filter(Boolean),
|
||||
optimization: {
|
||||
minimizer: [
|
||||
|
16
src/locales/README.md
Normal file
16
src/locales/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
# i18n 方案
|
||||
|
||||
i18n 使用[i8next](https://www.i18next.com/)实现,之所以不是用`chrome.i18n`的原因是该方案不支持动态切换语言。但是为了某些扩展市场的要求,我们还是在`src/assets/_locales`目录下添加了`chrome.i18n`的语言文件。
|
||||
|
||||
## 语言文件
|
||||
|
||||
语言文件位于`src/locales`目录下,按照页面划分,每个页面对应一个语言文件,最终由`locales.ts`合并进行导出。
|
||||
|
||||
## 关键字冲突
|
||||
|
||||
如果页面中的关键字一样,但是翻译不一样,可以使用`page.key`的方式进行区分,例如:
|
||||
|
||||
```yaml
|
||||
list:
|
||||
confirm_delete: 确定要删除吗?请注意这个操作无法恢复!
|
||||
```
|
362
src/locales/ach-UG/translation.json
Normal file
362
src/locales/ach-UG/translation.json
Normal file
@ -0,0 +1,362 @@
|
||||
{
|
||||
"import_link": "crwdns5820:0crwdne5820:0",
|
||||
"import_link_failure": "crwdns5822:0crwdne5822:0",
|
||||
"create_user_script": "crwdns5824:0crwdne5824:0",
|
||||
"create_background_script": "crwdns5826:0crwdne5826:0",
|
||||
"create_scheduled_script": "crwdns5828:0crwdne5828:0",
|
||||
"import_by_local": "crwdns6892:0crwdne6892:0",
|
||||
"import_local_failure": "crwdns6894:0crwdne6894:0",
|
||||
"import_local_success": "crwdns6896:0crwdne6896:0",
|
||||
"create_script": "crwdns5830:0crwdne5830:0",
|
||||
"user_guide": "crwdns5832:0crwdne5832:0",
|
||||
"api_docs": "crwdns5834:0crwdne5834:0",
|
||||
"development_guide": "crwdns5836:0crwdne5836:0",
|
||||
"script_gallery": "crwdns5838:0crwdne5838:0",
|
||||
"community_forum": "crwdns5840:0crwdne5840:0",
|
||||
"external_links": "crwdns5842:0crwdne5842:0",
|
||||
"system_follow": "crwdns5844:0crwdne5844:0",
|
||||
"no_data": "crwdns5846:0crwdne5846:0",
|
||||
"installed_scripts": "crwdns5848:0crwdne5848:0",
|
||||
"subscribe": "crwdns5850:0crwdne5850:0",
|
||||
"logs": "crwdns5852:0crwdne5852:0",
|
||||
"tools": "crwdns5854:0crwdne5854:0",
|
||||
"settings": "crwdns5856:0crwdne5856:0",
|
||||
"collapsible": "crwdns5858:0crwdne5858:0",
|
||||
"guide": "crwdns5860:0crwdne5860:0",
|
||||
"helpcenter": "crwdns5862:0crwdne5862:0",
|
||||
"general": "crwdns5864:0crwdne5864:0",
|
||||
"language": "crwdns5866:0crwdne5866:0",
|
||||
"help_translate": "crwdns6514:0crwdne6514:0",
|
||||
"script_sync": "crwdns5868:0crwdne5868:0",
|
||||
"sync_delete": "crwdns5870:0crwdne5870:0",
|
||||
"enable_script_sync_to": "crwdns5872:0crwdne5872:0",
|
||||
"save": "crwdns5874:0crwdne5874:0",
|
||||
"cloud_sync_account_verification": "crwdns5876:0crwdne5876:0",
|
||||
"cloud_sync_verification_failed": "crwdns5878:0crwdne5878:0",
|
||||
"save_success": "crwdns5880:0crwdne5880:0",
|
||||
"update": "crwdns5882:0crwdne5882:0",
|
||||
"check_update": "crwdns5884:0crwdne5884:0",
|
||||
"script_subscription_check_interval": "crwdns5886:0crwdne5886:0",
|
||||
"never": "crwdns5888:0crwdne5888:0",
|
||||
"6_hours": "crwdns5890:0crwdne5890:0",
|
||||
"12_hours": "crwdns5892:0crwdne5892:0",
|
||||
"every_day": "crwdns5894:0crwdne5894:0",
|
||||
"every_week": "crwdns5896:0crwdne5896:0",
|
||||
"update_disabled_scripts": "crwdns5898:0crwdne5898:0",
|
||||
"silent_update_non_critical_changes": "crwdns5900:0crwdne5900:0",
|
||||
"enable_eslint": "crwdns5902:0crwdne5902:0",
|
||||
"eslint_rules": "crwdns5904:0crwdne5904:0",
|
||||
"enter_eslint_rules": "crwdns5906:0crwdne5906:0",
|
||||
"language_change_tip": "crwdns5908:0crwdne5908:0",
|
||||
"backup": "crwdns5910:0crwdne5910:0",
|
||||
"local": "crwdns5912:0crwdne5912:0",
|
||||
"export_file": "crwdns5914:0crwdne5914:0",
|
||||
"import_file": "crwdns5916:0crwdne5916:0",
|
||||
"cloud": "crwdns5918:0crwdne5918:0",
|
||||
"backup_to": "crwdns5920:0crwdne5920:0",
|
||||
"preparing_backup": "crwdns5922:0crwdne5922:0",
|
||||
"backup_success": "crwdns5924:0crwdne5924:0",
|
||||
"backup_failed": "crwdns5926:0crwdne5926:0",
|
||||
"no_backup_files": "crwdns5928:0crwdne5928:0",
|
||||
"backup_list": "crwdns5930:0crwdne5930:0",
|
||||
"open_backup_dir": "crwdns5932:0crwdne5932:0",
|
||||
"confirm_delete": "crwdns5934:0crwdne5934:0",
|
||||
"confirm_delete_backup_file": "crwdns5936:0crwdne5936:0",
|
||||
"confirm_update": "crwdns5938:0crwdne5938:0",
|
||||
"delete_success": "crwdns5940:0crwdne5940:0",
|
||||
"backup_strategy": "crwdns5942:0crwdne5942:0",
|
||||
"under_construction": "crwdns5944:0crwdne5944:0",
|
||||
"development_debugging": "crwdns5946:0crwdne5946:0",
|
||||
"vscode_url": "crwdns5948:0crwdne5948:0",
|
||||
"auto_connect_vscode_service": "crwdns5950:0crwdne5950:0",
|
||||
"connect": "crwdns5952:0crwdne5952:0",
|
||||
"connection_success": "crwdns5954:0crwdne5954:0",
|
||||
"connection_failed": "crwdns5956:0crwdne5956:0",
|
||||
"select_import_script": "crwdns5958:0crwdne5958:0",
|
||||
"import_error": "crwdns5960:0crwdne5960:0",
|
||||
"pulling_data_from_cloud": "crwdns5962:0crwdne5962:0",
|
||||
"pull_failed": "crwdns5964:0crwdne5964:0",
|
||||
"restore": "crwdns5966:0crwdne5966:0",
|
||||
"log_title": "crwdns5968:0crwdne5968:0",
|
||||
"last_5_minutes": "crwdns5970:0crwdne5970:0",
|
||||
"last_15_minutes": "crwdns5972:0crwdne5972:0",
|
||||
"last_30_minutes": "crwdns5974:0crwdne5974:0",
|
||||
"last_1_hour": "crwdns5976:0crwdne5976:0",
|
||||
"last_3_hours": "crwdns5978:0crwdne5978:0",
|
||||
"last_6_hours": "crwdns5980:0crwdne5980:0",
|
||||
"last_12_hours": "crwdns5982:0crwdne5982:0",
|
||||
"last_24_hours": "crwdns5984:0crwdne5984:0",
|
||||
"last_7_days": "crwdns5986:0crwdne5986:0",
|
||||
"query": "crwdns5988:0crwdne5988:0",
|
||||
"labels": "crwdns5990:0crwdne5990:0",
|
||||
"search_regex": "crwdns5992:0crwdne5992:0",
|
||||
"clean_schedule": "crwdns5994:0crwdne5994:0",
|
||||
"days_ago_logs": "crwdns5996:0crwdne5996:0",
|
||||
"delete_completed": "crwdns5998:0crwdne5998:0",
|
||||
"delete_current_logs": "crwdns6000:0crwdne6000:0",
|
||||
"clear_completed": "crwdns6002:0crwdne6002:0",
|
||||
"clear_logs": "crwdns6004:0crwdne6004:0",
|
||||
"total_logs": "crwdns6508:0{{length}}crwdne6508:0",
|
||||
"filtered_logs": "crwdns6510:0{{length}}crwdne6510:0",
|
||||
"enter_filter_conditions": "crwdns6010:0crwdne6010:0",
|
||||
"permission": "crwdns6012:0crwdne6012:0",
|
||||
"enter_subscribe_name": "crwdns6014:0crwdne6014:0",
|
||||
"subscribe_url": "crwdns6016:0crwdne6016:0",
|
||||
"confirm_delete_subscription": "crwdns6018:0crwdne6018:0",
|
||||
"list": {
|
||||
"confirm_delete": "crwdns6020:0crwdne6020:0",
|
||||
"confirm_update": "crwdns6022:0crwdne6022:0"
|
||||
},
|
||||
"enable": "crwdns6024:0crwdne6024:0",
|
||||
"script_list_enable_width": 0,
|
||||
"script_list_last_updated_width": 0,
|
||||
"script_list_apply_to_run_status_width": 0,
|
||||
"subscribe_list_enable_width": 0,
|
||||
"disable": "crwdns6034:0crwdne6034:0",
|
||||
"name": "crwdns6036:0crwdne6036:0",
|
||||
"version": "crwdns6038:0crwdne6038:0",
|
||||
"apply_to_run_status": "crwdns6040:0crwdne6040:0",
|
||||
"source": "crwdns6042:0crwdne6042:0",
|
||||
"home": "crwdns6044:0crwdne6044:0",
|
||||
"sorting": "crwdns6046:0crwdne6046:0",
|
||||
"last_updated": "crwdns6048:0crwdne6048:0",
|
||||
"action": "crwdns6050:0crwdne6050:0",
|
||||
"foreground_page_script_tooltip": "crwdns6052:0crwdne6052:0",
|
||||
"background_script_tooltip": "crwdns6054:0crwdne6054:0",
|
||||
"scheduled_script_tooltip": "crwdns6056:0crwdne6056:0",
|
||||
"running": "crwdns6058:0crwdne6058:0",
|
||||
"completed": "crwdns6060:0crwdne6060:0",
|
||||
"subscription_link": "crwdns6062:0crwdne6062:0",
|
||||
"subscription_installation": "crwdns6064:0crwdne6064:0",
|
||||
"manually_created": "crwdns6066:0crwdne6066:0",
|
||||
"script_link": "crwdns6068:0crwdne6068:0",
|
||||
"user_installation": "crwdns6070:0crwdne6070:0",
|
||||
"confirm_delete_script": "crwdns6072:0crwdne6072:0",
|
||||
"delete_failed": "crwdns6074:0crwdne6074:0",
|
||||
"enter_script_name": "crwdns6076:0crwdne6076:0",
|
||||
"update_not_supported": "crwdns6078:0crwdne6078:0",
|
||||
"checking_for_updates": "crwdns6080:0crwdne6080:0",
|
||||
"new_version_available": "crwdns6082:0crwdne6082:0",
|
||||
"latest_version": "crwdns6084:0crwdne6084:0",
|
||||
"checked_for_all_selected": "crwdns6086:0crwdne6086:0",
|
||||
"update_check_failed": "crwdns6088:0crwdne6088:0",
|
||||
"stopping_script": "crwdns6090:0crwdne6090:0",
|
||||
"script_stopped": "crwdns6092:0crwdne6092:0",
|
||||
"starting_script": "crwdns6094:0crwdne6094:0",
|
||||
"starting_updates": "crwdns6096:0crwdne6096:0",
|
||||
"script_started": "crwdns6098:0crwdne6098:0",
|
||||
"batch_operations": "crwdns6100:0crwdne6100:0",
|
||||
"export": "crwdns6102:0crwdne6102:0",
|
||||
"delete": "crwdns6104:0crwdne6104:0",
|
||||
"unknown_operation": "crwdns6106:0crwdne6106:0",
|
||||
"confirm": "crwdns6108:0crwdne6108:0",
|
||||
"close": "crwdns6110:0crwdne6110:0",
|
||||
"page_script": "crwdns6112:0crwdne6112:0",
|
||||
"homepage": "crwdns6114:0crwdne6114:0",
|
||||
"script_website": "crwdns6116:0crwdne6116:0",
|
||||
"script_source": "crwdns6118:0crwdne6118:0",
|
||||
"bug_feedback_script_support": "crwdns6120:0crwdne6120:0",
|
||||
"config": "crwdns6122:0crwdne6122:0",
|
||||
"key": "crwdns6124:0crwdne6124:0",
|
||||
"value": "crwdns6126:0crwdne6126:0",
|
||||
"add": "crwdns6128:0crwdne6128:0",
|
||||
"type": "crwdns6130:0crwdne6130:0",
|
||||
"edit_value": "crwdns6132:0crwdne6132:0",
|
||||
"add_value": "crwdns6134:0crwdne6134:0",
|
||||
"update_success": "crwdns6136:0crwdne6136:0",
|
||||
"add_success": "crwdns6138:0crwdne6138:0",
|
||||
"script_storage": "crwdns6140:0crwdne6140:0",
|
||||
"enter_key": "crwdns6142:0crwdne6142:0",
|
||||
"key_placeholder": "crwdns6144:0crwdne6144:0",
|
||||
"value_placeholder": "crwdns6146:0crwdne6146:0",
|
||||
"clear": "crwdns6148:0crwdne6148:0",
|
||||
"clear_success": "crwdns6150:0crwdne6150:0",
|
||||
"confirm_clear": "crwdns6152:0crwdne6152:0",
|
||||
"type_string": "crwdns6154:0crwdne6154:0",
|
||||
"type_number": "crwdns6156:0crwdne6156:0",
|
||||
"type_boolean": "crwdns6158:0crwdne6158:0",
|
||||
"type_object": "crwdns6160:0crwdne6160:0",
|
||||
"confirm_delete_resource": "crwdns6162:0crwdne6162:0",
|
||||
"confirm_clear_resource": "crwdns6164:0crwdne6164:0",
|
||||
"script_resource": "crwdns6166:0crwdne6166:0",
|
||||
"permission_value": "crwdns6168:0crwdne6168:0",
|
||||
"allow": "crwdns6170:0crwdne6170:0",
|
||||
"yes": "crwdns6172:0crwdne6172:0",
|
||||
"no": "crwdns6174:0crwdne6174:0",
|
||||
"confirm_delete_permission": "crwdns6176:0crwdne6176:0",
|
||||
"script_setting": "crwdns6178:0crwdne6178:0",
|
||||
"basic_info": "crwdns6180:0crwdne6180:0",
|
||||
"update_url": "crwdns6182:0crwdne6182:0",
|
||||
"permission_management": "crwdns6184:0crwdne6184:0",
|
||||
"add_permission": "crwdns6186:0crwdne6186:0",
|
||||
"permission_cors": "crwdns6188:0crwdne6188:0",
|
||||
"permission_cookie": "crwdns6190:0crwdne6190:0",
|
||||
"match": "crwdns6192:0crwdne6192:0",
|
||||
"user_setting": "crwdns6194:0crwdne6194:0",
|
||||
"confirm_delete_exclude": "crwdns6196:0crwdne6196:0",
|
||||
"after_deleting_match_item": "crwdns6198:0crwdne6198:0",
|
||||
"confirm_delete_match": "crwdns6200:0crwdne6200:0",
|
||||
"after_deleting_exclude_item": "crwdns6202:0crwdne6202:0",
|
||||
"add_match": "crwdns6204:0crwdne6204:0",
|
||||
"add_exclude": "crwdns6206:0crwdne6206:0",
|
||||
"website_match": "crwdns6208:0crwdne6208:0",
|
||||
"reset": "crwdns6210:0crwdne6210:0",
|
||||
"website_exclude": "crwdns6212:0crwdne6212:0",
|
||||
"confirm_reset": "crwdns6214:0crwdne6214:0",
|
||||
"script_total_runs": "crwdns6216:0{{runNum}}crwdnd6216:0{{runNumByIframe}}crwdne6216:0",
|
||||
"script_total_runs_single": "crwdns6218:0{{runNum}}crwdne6218:0",
|
||||
"script_disabled": "crwdns6220:0crwdne6220:0",
|
||||
"run_once": "crwdns6222:0crwdne6222:0",
|
||||
"stop": "crwdns6224:0crwdne6224:0",
|
||||
"edit": "crwdns6226:0crwdne6226:0",
|
||||
"exclude_on": "crwdns6228:0crwdne6228:0",
|
||||
"exclude_off": "crwdns6230:0crwdne6230:0",
|
||||
"exclude_execution": "crwdns6232:0crwdne6232:0",
|
||||
"user_config": "crwdns6234:0crwdne6234:0",
|
||||
"gm_api": "crwdns6236:0crwdne6236:0",
|
||||
"storage_api": "crwdns6238:0crwdne6238:0",
|
||||
"use_file_system": "crwdns6240:0crwdne6240:0",
|
||||
"open_directory": "crwdns6242:0crwdne6242:0",
|
||||
"account_validation_failed": "crwdns6244:0crwdne6244:0",
|
||||
"not_set": "crwdns6246:0crwdne6246:0",
|
||||
"in_use": "crwdns6248:0crwdne6248:0",
|
||||
"storage_error": "crwdns6250:0crwdne6250:0",
|
||||
"upload_to_cloud": "crwdns6252:0crwdne6252:0",
|
||||
"save_failed": "crwdns6254:0crwdne6254:0",
|
||||
"exporting": "crwdns6256:0crwdne6256:0",
|
||||
"upload_to": "crwdns6258:0crwdne6258:0",
|
||||
"value_export_expression": "crwdns6260:0crwdne6260:0",
|
||||
"overwrite_original_value_on_import": "crwdns6262:0crwdne6262:0",
|
||||
"cookie_export_expression": "crwdns6264:0crwdne6264:0",
|
||||
"overwrite_original_cookie_on_import": "crwdns6266:0crwdne6266:0",
|
||||
"restore_default_values": "crwdns6268:0crwdne6268:0",
|
||||
"get_confirm_error": "crwdns6270:0crwdne6270:0",
|
||||
"confirm_error": "crwdns6272:0crwdne6272:0",
|
||||
"ignore": "crwdns6274:0crwdne6274:0",
|
||||
"allow_once": "crwdns6276:0crwdne6276:0",
|
||||
"temporary_allow": "crwdns6278:0{{permissionContent}}crwdne6278:0",
|
||||
"temporary_allow_all": "crwdns6280:0{{permissionContent}}crwdne6280:0",
|
||||
"permanent_allow": "crwdns6282:0{{permissionContent}}crwdne6282:0",
|
||||
"permanent_allow_all": "crwdns6284:0{{permissionContent}}crwdne6284:0",
|
||||
"deny_once": "crwdns6286:0crwdne6286:0",
|
||||
"temporary_deny": "crwdns6288:0{{permissionContent}}crwdne6288:0",
|
||||
"temporary_deny_all": "crwdns6290:0{{permissionContent}}crwdne6290:0",
|
||||
"permanent_deny": "crwdns6292:0{{permissionContent}}crwdne6292:0",
|
||||
"permanent_deny_all": "crwdns6294:0{{permissionContent}}crwdne6294:0",
|
||||
"data_import": "crwdns6296:0crwdne6296:0",
|
||||
"import": "crwdns6298:0crwdne6298:0",
|
||||
"select_scripts_to_import": "crwdns6300:0crwdne6300:0",
|
||||
"select_all": "crwdns6302:0crwdne6302:0",
|
||||
"script_import_progress": "crwdns6304:0crwdne6304:0",
|
||||
"select_subscribes_to_import": "crwdns6306:0crwdne6306:0",
|
||||
"subscribe_import_progress": "crwdns6308:0crwdne6308:0",
|
||||
"author": "crwdns6310:0crwdne6310:0",
|
||||
"description": "crwdns6312:0crwdne6312:0",
|
||||
"operation": "crwdns6314:0crwdne6314:0",
|
||||
"error": "crwdns6316:0crwdne6316:0",
|
||||
"unknown": "crwdns6318:0crwdne6318:0",
|
||||
"add_new": "crwdns6320:0crwdne6320:0",
|
||||
"no_operation": "crwdns6322:0crwdne6322:0",
|
||||
"enable_script": "crwdns6324:0crwdne6324:0",
|
||||
"local_creation": "crwdns6326:0crwdne6326:0",
|
||||
"import_success": "crwdns6328:0crwdne6328:0",
|
||||
"install_script": "crwdns6330:0crwdne6330:0",
|
||||
"update_script": "crwdns6332:0crwdne6332:0",
|
||||
"install_subscribe": "crwdns6334:0crwdne6334:0",
|
||||
"update_subscribe": "crwdns6336:0crwdne6336:0",
|
||||
"invalid_link": "crwdns6338:0crwdne6338:0",
|
||||
"subscribe_install_label": "crwdns6340:0crwdne6340:0",
|
||||
"script_runs_in": "crwdns6342:0crwdne6342:0",
|
||||
"script_has_full_access_to": "crwdns6344:0crwdne6344:0",
|
||||
"script_requires": "crwdns6346:0crwdne6346:0",
|
||||
"cookie_warning": "crwdns6348:0crwdne6348:0",
|
||||
"scheduled_script_description_1": "crwdns6350:0crwdne6350:0",
|
||||
"scheduled_script_description_2": "crwdns6352:0{{expression}}crwdnd6352:0{{time}}crwdne6352:0",
|
||||
"background_script_description": "crwdns6354:0crwdne6354:0",
|
||||
"install_success": "crwdns6356:0crwdne6356:0",
|
||||
"install": {
|
||||
"update_success": "crwdns6358:0crwdne6358:0"
|
||||
},
|
||||
"install_failed": "crwdns6360:0crwdne6360:0",
|
||||
"subscribe_success": "crwdns6362:0crwdne6362:0",
|
||||
"subscribe_failed": "crwdns6364:0crwdne6364:0",
|
||||
"current_version": "crwdns6366:0crwdne6366:0",
|
||||
"update_version": "crwdns6368:0crwdne6368:0",
|
||||
"background_script_tag": "crwdns6370:0crwdne6370:0",
|
||||
"scheduled_script_tag": "crwdns6372:0crwdne6372:0",
|
||||
"background_script": "crwdns6374:0crwdne6374:0",
|
||||
"scheduled_script": "crwdns6376:0crwdne6376:0",
|
||||
"install_from_legitimate_sources_warning": "crwdns6378:0crwdne6378:0",
|
||||
"antifeature_referral_link_title": "crwdns6380:0crwdne6380:0",
|
||||
"antifeature_referral_link_description": "crwdns6382:0crwdne6382:0",
|
||||
"antifeature_ads_title": "crwdns6384:0crwdne6384:0",
|
||||
"antifeature_ads_description": "crwdns6386:0crwdne6386:0",
|
||||
"antifeature_payment_title": "crwdns6388:0crwdne6388:0",
|
||||
"antifeature_payment_description": "crwdns6390:0crwdne6390:0",
|
||||
"antifeature_miner_title": "crwdns6392:0crwdne6392:0",
|
||||
"antifeature_miner_description": "crwdns6394:0crwdne6394:0",
|
||||
"antifeature_membership_title": "crwdns6396:0crwdne6396:0",
|
||||
"antifeature_membership_description": "crwdns6398:0crwdne6398:0",
|
||||
"antifeature_tracking_title": "crwdns6400:0crwdne6400:0",
|
||||
"antifeature_tracking_description": "crwdns6402:0crwdne6402:0",
|
||||
"script_info_load_failed": "crwdns6404:0crwdne6404:0",
|
||||
"script_status_tooltip": "crwdns6406:0crwdne6406:0",
|
||||
"get_script": "crwdns6408:0crwdne6408:0",
|
||||
"report_issue": "crwdns6410:0crwdne6410:0",
|
||||
"project_docs": "crwdns6412:0crwdne6412:0",
|
||||
"community": "crwdns6414:0crwdne6414:0",
|
||||
"popup": {
|
||||
"new_version_available": "crwdns6416:0crwdne6416:0"
|
||||
},
|
||||
"current_page_scripts": "crwdns6418:0crwdne6418:0",
|
||||
"enabled_background_scripts": "crwdns6420:0crwdne6420:0",
|
||||
"script_accessing_cross_origin_resource": "crwdns6422:0crwdne6422:0",
|
||||
"confirm_operation_description": "crwdns6512:0crwdne6512:0",
|
||||
"domain": "crwdns6426:0crwdne6426:0",
|
||||
"script_name": "crwdns6428:0crwdne6428:0",
|
||||
"request_domain": "crwdns6430:0crwdne6430:0",
|
||||
"request_url": "crwdns6432:0crwdne6432:0",
|
||||
"access_cookie_content": "crwdns6434:0crwdne6434:0",
|
||||
"confirm_script_operation": "crwdns6436:0crwdne6436:0",
|
||||
"cookie_domain": "crwdns6438:0crwdne6438:0",
|
||||
"script_operation_title": "crwdns6440:0crwdne6440:0",
|
||||
"script_operation_description": "crwdns6442:0${dir}crwdne6442:0",
|
||||
"script_permission_content": "crwdns6444:0crwdne6444:0",
|
||||
"sync_system_connect_failed": "crwdns6446:0crwdne6446:0",
|
||||
"sync_system_closed": "crwdns6448:0crwdne6448:0",
|
||||
"sync_system_closed_description": "crwdns6450:0crwdne6450:0",
|
||||
"auth_type": "crwdns6452:0crwdne6452:0",
|
||||
"url": "crwdns6454:0crwdne6454:0",
|
||||
"username": "crwdns6456:0crwdne6456:0",
|
||||
"password": "crwdns6458:0crwdne6458:0",
|
||||
"skip": "crwdns6460:0crwdne6460:0",
|
||||
"next": "crwdns6462:0crwdne6462:0",
|
||||
"back": "crwdns6464:0crwdne6464:0",
|
||||
"last": "crwdns6466:0crwdne6466:0",
|
||||
"start_guide_title": "crwdns6468:0crwdne6468:0",
|
||||
"start_guide_content": "crwdns6470:0crwdne6470:0",
|
||||
"guide_installed_scripts": "crwdns6472:0crwdne6472:0",
|
||||
"guide_script_list_title": "crwdns6474:0crwdne6474:0",
|
||||
"guide_script_list_content": "crwdns6476:0crwdne6476:0",
|
||||
"guide_script_list_enable_title": "crwdns6478:0crwdne6478:0",
|
||||
"guide_script_list_enable_content": "crwdns6480:0crwdne6480:0",
|
||||
"guide_script_list_apply_to_run_status_title": "crwdns6482:0crwdne6482:0",
|
||||
"guide_script_list_apply_to_run_status_content": "crwdns6484:0crwdne6484:0",
|
||||
"guide_script_list_sort_title": "crwdns6486:0crwdne6486:0",
|
||||
"guide_script_list_sort_content": "crwdns6488:0crwdne6488:0",
|
||||
"guide_tools_title": "crwdns6490:0crwdne6490:0",
|
||||
"guide_tools_content": "crwdns6492:0crwdne6492:0",
|
||||
"guide_tools_backup_title": "crwdns6494:0crwdne6494:0",
|
||||
"guide_tools_backup_content": "crwdns6496:0crwdne6496:0",
|
||||
"guide_setting_title": "crwdns6498:0crwdne6498:0",
|
||||
"guide_setting_content": "crwdns6500:0crwdne6500:0",
|
||||
"guide_setting_sync_title": "crwdns6502:0crwdne6502:0",
|
||||
"guide_setting_sync_content": "crwdns6900:0crwdne6900:0",
|
||||
"auto": "crwdns6902:0crwdne6902:0",
|
||||
"hide": "crwdns6904:0crwdne6904:0",
|
||||
"resize_column_width": "crwdns6906:0crwdne6906:0",
|
||||
"collapse": "crwdns6908:0crwdne6908:0",
|
||||
"expand": "crwdns6910:0crwdne6910:0",
|
||||
"menu_expand_num_before": "crwdns6912:0crwdne6912:0",
|
||||
"menu_expand_num_after": "crwdns6914:0crwdne6914:0"
|
||||
}
|
362
src/locales/en/translation.json
Normal file
362
src/locales/en/translation.json
Normal file
@ -0,0 +1,362 @@
|
||||
{
|
||||
"import_link": "Import Link",
|
||||
"import_link_failure": "Import Link Failed",
|
||||
"create_user_script": "Create User Script",
|
||||
"create_background_script": "Create Background Script",
|
||||
"create_scheduled_script": "Create Scheduled Script",
|
||||
"import_by_local": "Local Imported",
|
||||
"import_local_failure": "Local import failed",
|
||||
"import_local_success": "Local import success",
|
||||
"create_script": "Create Script",
|
||||
"user_guide": "User Guide",
|
||||
"api_docs": "API Docs",
|
||||
"development_guide": "Development Guide",
|
||||
"script_gallery": "Script Gallery",
|
||||
"community_forum": "Community Forum",
|
||||
"external_links": "External Links",
|
||||
"system_follow": "Follow System",
|
||||
"no_data": "No Data",
|
||||
"installed_scripts": "Install Script",
|
||||
"subscribe": "Subscribe",
|
||||
"logs": "Logs",
|
||||
"tools": "Tools",
|
||||
"settings": "Settings",
|
||||
"collapsible": "Collapsible",
|
||||
"guide": "Guide",
|
||||
"helpcenter": "Help Center",
|
||||
"general": "General",
|
||||
"language": "Language",
|
||||
"help_translate": "Help us translate",
|
||||
"script_sync": "Script Sync",
|
||||
"sync_delete": "Sync Delete",
|
||||
"enable_script_sync_to": "Enable Script Sync to",
|
||||
"save": "Save",
|
||||
"cloud_sync_account_verification": "Cloud Sync Account Verification in Progress...",
|
||||
"cloud_sync_verification_failed": "Cloud Sync Account Verification Failed",
|
||||
"save_success": "Save Successful",
|
||||
"update": "Update",
|
||||
"check_update": "Check Update",
|
||||
"script_subscription_check_interval": "Script/Subscription Update Check Interval",
|
||||
"never": "Never",
|
||||
"6_hours": "6 hours",
|
||||
"12_hours": "12 hours",
|
||||
"every_day": "Every Day",
|
||||
"every_week": "Every Week",
|
||||
"update_disabled_scripts": "Update Disabled Scripts",
|
||||
"silent_update_non_critical_changes": "Silent Update Non-critical Script Changes",
|
||||
"enable_eslint": "Enable ESLint",
|
||||
"eslint_rules": "ESLint Rules",
|
||||
"enter_eslint_rules": "Please Enter ESLint Rules, Configurations Can Be Downloaded from https://eslint.org/play/",
|
||||
"language_change_tip": "Language Change Successful",
|
||||
"backup": "Backup",
|
||||
"local": "Local",
|
||||
"export_file": "Export File",
|
||||
"import_file": "Import File",
|
||||
"cloud": "Cloud",
|
||||
"backup_to": "Backup To",
|
||||
"preparing_backup": "Preparing Backup to Cloud",
|
||||
"backup_success": "Backup Successful",
|
||||
"backup_failed": "Backup Failed",
|
||||
"no_backup_files": "No Backup Files",
|
||||
"backup_list": "Backup List",
|
||||
"open_backup_dir": "Open Backup Directory",
|
||||
"confirm_delete": "Confirm Deletion",
|
||||
"confirm_delete_backup_file": "Confirm Delete Backup File",
|
||||
"confirm_update": "Confirm update",
|
||||
"delete_success": "Delete Successful",
|
||||
"backup_strategy": "Backup Strategy",
|
||||
"under_construction": "Under Construction",
|
||||
"development_debugging": "Development Debugging",
|
||||
"vscode_url": "VSCode URL",
|
||||
"auto_connect_vscode_service": "Auto Connect VSCode Service",
|
||||
"connect": "Connect",
|
||||
"connection_success": "Connection Successful",
|
||||
"connection_failed": "Connection Failed",
|
||||
"select_import_script": "Please Select the Script to Import in the New Page",
|
||||
"import_error": "Import Error",
|
||||
"pulling_data_from_cloud": "Pulling Data from Cloud",
|
||||
"pull_failed": "Pull Failed",
|
||||
"restore": "Restore",
|
||||
"log_title": "Runtime Logs",
|
||||
"last_5_minutes": "Last 5 Minutes",
|
||||
"last_15_minutes": "Last 15 Minutes",
|
||||
"last_30_minutes": "Last 30 Minutes",
|
||||
"last_1_hour": "Last 1 Hour",
|
||||
"last_3_hours": "Last 3 Hours",
|
||||
"last_6_hours": "Last 6 Hours",
|
||||
"last_12_hours": "Last 12 Hours",
|
||||
"last_24_hours": "Last 24 Hours",
|
||||
"last_7_days": "Last 7 Days",
|
||||
"query": "Query",
|
||||
"labels": "Labels",
|
||||
"search_regex": "Search (Supports Regex)",
|
||||
"clean_schedule": "Schedule Cleanup",
|
||||
"days_ago_logs": "Logs of Days Ago",
|
||||
"delete_completed": "Deletion Completed",
|
||||
"delete_current_logs": "Delete Current Logs",
|
||||
"clear_completed": "Clearing Completed",
|
||||
"clear_logs": "Clear Logs",
|
||||
"total_logs": "A total of {{length}} logs were queried",
|
||||
"filtered_logs": "{{length}} logs after filtering",
|
||||
"enter_filter_conditions": "Please Enter Filter Conditions for Query",
|
||||
"permission": "Permission",
|
||||
"enter_subscribe_name": "Please Enter Subscription Name",
|
||||
"subscribe_url": "Subscription URL",
|
||||
"confirm_delete_subscription": "Are You Sure You Want to Delete This Subscription? Related Scripts Will Also Be Deleted",
|
||||
"list": {
|
||||
"confirm_delete": "Are You Sure You Want to Delete? Please Note That This and pasted the remaining text.",
|
||||
"confirm_update": "Are You Sure You Want to Update? Please Note That This is an irreversible operation."
|
||||
},
|
||||
"enable": "Enable",
|
||||
"script_list_enable_width": 120,
|
||||
"script_list_last_updated_width": 140,
|
||||
"script_list_apply_to_run_status_width": 160,
|
||||
"subscribe_list_enable_width": 120,
|
||||
"disable": "Disable",
|
||||
"name": "Name",
|
||||
"version": "Version",
|
||||
"apply_to_run_status": "Apply to/Run Status",
|
||||
"source": "Source",
|
||||
"home": "Home",
|
||||
"sorting": "Sorting",
|
||||
"last_updated": "Last Updated",
|
||||
"action": "Action",
|
||||
"foreground_page_script_tooltip": "Foreground page script, runs on the specified page",
|
||||
"background_script_tooltip": "Background script, runs on the specified page",
|
||||
"scheduled_script_tooltip": "Scheduled script, next run time:",
|
||||
"running": "Running",
|
||||
"completed": "Completed",
|
||||
"subscription_link": "Subscription Link",
|
||||
"subscription_installation": "Subscription Installation",
|
||||
"manually_created": "Local",
|
||||
"script_link": "Script Link",
|
||||
"user_installation": "Installation",
|
||||
"confirm_delete_script": "Are you sure you want to delete this script?",
|
||||
"delete_failed": "Deletion Failed",
|
||||
"enter_script_name": "Please enter script name",
|
||||
"update_not_supported": "This script does not support update checks",
|
||||
"checking_for_updates": "Checking for updates...",
|
||||
"new_version_available": "New version available",
|
||||
"latest_version": "Latest Version",
|
||||
"checked_for_all_selected": "Checked updates for all selected",
|
||||
"update_check_failed": "Update Check Failed",
|
||||
"stopping_script": "Stopping script",
|
||||
"script_stopped": "Script Stopped",
|
||||
"starting_script": "Starting script...",
|
||||
"starting_updates": "Starting Batch Updates...",
|
||||
"script_started": "Script Started",
|
||||
"batch_operations": "Batch Operations",
|
||||
"export": "Export",
|
||||
"delete": "Delete",
|
||||
"unknown_operation": "Unknown Operation",
|
||||
"confirm": "Confirm",
|
||||
"close": "Close",
|
||||
"page_script": "Page Script",
|
||||
"homepage": "Homepage",
|
||||
"script_website": "Script Website",
|
||||
"script_source": "Script Source Code",
|
||||
"bug_feedback_script_support": "Bug Feedback/Script Support",
|
||||
"config": "Config",
|
||||
"key": "Key",
|
||||
"value": "Value",
|
||||
"add": "Add",
|
||||
"type": "Type",
|
||||
"edit_value": "Edit Value",
|
||||
"add_value": "Add Value",
|
||||
"update_success": "Update Successful",
|
||||
"add_success": "Add Successful",
|
||||
"script_storage": "Script Storage",
|
||||
"enter_key": "Please enter key",
|
||||
"key_placeholder": "Key",
|
||||
"value_placeholder": "When the type is object, please enter data that can be JSON parsed",
|
||||
"clear": "Clear",
|
||||
"clear_success": "Clear Successful",
|
||||
"confirm_clear": "Are you sure you want to clear this storage space?",
|
||||
"type_string": "String",
|
||||
"type_number": "Number",
|
||||
"type_boolean": "Boolean",
|
||||
"type_object": "Object",
|
||||
"confirm_delete_resource": "Are you sure you want to delete this resource? This resource will reload on the next startup",
|
||||
"confirm_clear_resource": "Are you sure you want to clear these resources? Resources will reload on the next startup",
|
||||
"script_resource": "Script Resource",
|
||||
"permission_value": "Authorization Value",
|
||||
"allow": "Allow",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"confirm_delete_permission": "Confirm deletion of this authorization?",
|
||||
"script_setting": "Script Setting",
|
||||
"basic_info": "Basic Information",
|
||||
"update_url": "Update URL",
|
||||
"permission_management": "Permission Management",
|
||||
"add_permission": "Add Permission",
|
||||
"permission_cors": "Cross-domain (cors)",
|
||||
"permission_cookie": "Manage cookies",
|
||||
"match": "Match",
|
||||
"user_setting": "User Setting",
|
||||
"confirm_delete_exclude": "Confirm deletion of this exclusion?",
|
||||
"after_deleting_match_item": "After the script's match items are deleted, they will be automatically added to the match items",
|
||||
"confirm_delete_match": "Confirm deletion of this match?",
|
||||
"after_deleting_exclude_item": "After deleting the script's match item, it will be automatically added to the exclusion items",
|
||||
"add_match": "Add Match",
|
||||
"add_exclude": "Add Exclude",
|
||||
"website_match": "Website Match (@match)",
|
||||
"reset": "Reset",
|
||||
"website_exclude": "Website Exclude (@exclude)",
|
||||
"confirm_reset": "Confirm reset?",
|
||||
"script_total_runs": "The script has run {{runNum}} times, {{runNumByIframe}} times in iframes",
|
||||
"script_total_runs_single": "The script has run {{runNum}} times",
|
||||
"script_disabled": "The script is not enabled",
|
||||
"run_once": "Run Once",
|
||||
"stop": "Stop",
|
||||
"edit": "Edit",
|
||||
"exclude_on": "Exclude On",
|
||||
"exclude_off": "Exclude Off",
|
||||
"exclude_execution": "Exclude Execution",
|
||||
"user_config": "User Config",
|
||||
"gm_api": "GM Api",
|
||||
"storage_api": "Storage API",
|
||||
"use_file_system": "File System in Use",
|
||||
"open_directory": "Open Directory",
|
||||
"account_validation_failed": "Account Validation Failed",
|
||||
"not_set": "Not Set",
|
||||
"in_use": "In Use",
|
||||
"storage_error": "Storage Error",
|
||||
"upload_to_cloud": "Upload to Cloud",
|
||||
"save_failed": "Save Failed",
|
||||
"exporting": "Exporting...",
|
||||
"upload_to": "Upload To",
|
||||
"value_export_expression": "Value Export Expression",
|
||||
"overwrite_original_value_on_import": "Overwrite Original Value on Import",
|
||||
"cookie_export_expression": "Cookie Export Expression",
|
||||
"overwrite_original_cookie_on_import": "Overwrite Original Cookie on Import",
|
||||
"restore_default_values": "Restore Default Values",
|
||||
"get_confirm_error": "Get Confirmation Information Failed",
|
||||
"confirm_error": "Confirmation Failed",
|
||||
"ignore": "Ignore",
|
||||
"allow_once": "Allow Once",
|
||||
"temporary_allow": "Temporarily Allow This {{permissionContent}}",
|
||||
"temporary_allow_all": "Temporarily Allow All {{permissionContent}}",
|
||||
"permanent_allow": "Permanently Allow This {{permissionContent}}",
|
||||
"permanent_allow_all": "Permanently Allow All {{permissionContent}}",
|
||||
"deny_once": "Deny Once",
|
||||
"temporary_deny": "Temporarily Deny This {{permissionContent}}",
|
||||
"temporary_deny_all": "Temporarily Deny All {{permissionContent}}",
|
||||
"permanent_deny": "Permanently Deny This {{permissionContent}}",
|
||||
"permanent_deny_all": "Permanently Deny All {{permissionContent}}",
|
||||
"data_import": "Data Import",
|
||||
"import": "Import",
|
||||
"select_scripts_to_import": "Please select the scripts you want to import",
|
||||
"select_all": "Select All",
|
||||
"script_import_progress": "Script Import Progress",
|
||||
"select_subscribes_to_import": "Please select the subscriptions you want to import",
|
||||
"subscribe_import_progress": "Subscribe Import Progress",
|
||||
"author": "Author",
|
||||
"description": "Description",
|
||||
"operation": "Operation",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown",
|
||||
"add_new": "Add New",
|
||||
"no_operation": "No Operation",
|
||||
"enable_script": "Enable Script",
|
||||
"local_creation": "Local Creation",
|
||||
"import_success": "Import Successful",
|
||||
"install_script": "Install Script",
|
||||
"update_script": "Update Script",
|
||||
"install_subscribe": "Install Subscription",
|
||||
"update_subscribe": "Update Subscription",
|
||||
"invalid_link": "Invalid Link",
|
||||
"subscribe_install_label": "This subscription will install the following scripts",
|
||||
"script_runs_in": "Script will run on the following websites",
|
||||
"script_has_full_access_to": "Script will have full access to the following URLs",
|
||||
"script_requires": "Script requires the following external resources",
|
||||
"cookie_warning": "Please note, this script requests access to Cookie permissions, which is a dangerous permission. Please verify the security of the script.",
|
||||
"scheduled_script_description_1": "This is a scheduled script, which will automatically run at a specific time once enabled and can be manually controlled in the panel.",
|
||||
"scheduled_script_description_2": "Scheduled task expression: {{expression}}, most recent run time: {{time}}",
|
||||
"background_script_description": "This is a background script, which will automatically run once when the browser opens once enabled, and can be manually controlled in the panel.",
|
||||
"install_success": "Install Successful",
|
||||
"install": {
|
||||
"update_success": "Update Successful"
|
||||
},
|
||||
"install_failed": "Install Failed",
|
||||
"subscribe_success": "Subscription Successful",
|
||||
"subscribe_failed": "Subscription Failed",
|
||||
"current_version": "Current Version",
|
||||
"update_version": "Update Version",
|
||||
"background_script_tag": "This is a Background Script",
|
||||
"scheduled_script_tag": "This is a Scheduled Script",
|
||||
"background_script": "Background Script",
|
||||
"scheduled_script": "Scheduled Script",
|
||||
"install_from_legitimate_sources_warning": "Please install scripts from legitimate sources! Unknown scripts may invade your privacy or conduct malicious operations.",
|
||||
"antifeature_referral_link_title": "Referral Link",
|
||||
"antifeature_referral_link_description": "This script modifies or redirects to the author's referral link",
|
||||
"antifeature_ads_title": "Ads",
|
||||
"antifeature_ads_description": "This script inserts ads on the pages you visit",
|
||||
"antifeature_payment_title": "Payment",
|
||||
"antifeature_payment_description": "This script requires payment to be used properly",
|
||||
"antifeature_miner_title": "Mining",
|
||||
"antifeature_miner_description": "This script engages in mining activities",
|
||||
"antifeature_membership_title": "Membership Features",
|
||||
"antifeature_membership_description": "This script requires registration as a member to be used properly",
|
||||
"antifeature_tracking_title": "Tracking",
|
||||
"antifeature_tracking_description": "This script tracks your user information",
|
||||
"script_info_load_failed": "Failed to load script information",
|
||||
"script_status_tooltip": "You can control the opening status of scripts. Ordinary oil monkey scripts are enabled by default, and background scripts and timing scripts are disabled by default.",
|
||||
"get_script": "Get Script",
|
||||
"report_issue": "Report Issue",
|
||||
"project_docs": "Project Documentation",
|
||||
"community": "Community",
|
||||
"popup": {
|
||||
"new_version_available": "New Version Available"
|
||||
},
|
||||
"current_page_scripts": "Current Page Running Scripts",
|
||||
"enabled_background_scripts": "Enabled and Running Background Scripts",
|
||||
"script_accessing_cross_origin_resource": "Script is attempting to access a cross-origin resource",
|
||||
"confirm_operation_description": "Please confirm if you allow the script to perform this operation. The script can also add the @connect tag to bypass this option.",
|
||||
"domain": "Domain",
|
||||
"script_name": "Script Name",
|
||||
"request_domain": "Request Domain",
|
||||
"request_url": "Request URL",
|
||||
"access_cookie_content": "The script is attempting to access website cookie content",
|
||||
"confirm_script_operation": "Please confirm if you allow the script to perform this operation. Cookies contain important user data, so only grant access to trusted scripts.",
|
||||
"cookie_domain": "Cookie Domain",
|
||||
"script_operation_title": "Script is attempting to access script synchronization storage",
|
||||
"script_operation_description": "Please confirm whether you allow the script to perform this operation. If allowed, the script will be able to access the storage space you have set up and create a directory app/${dir} within it.",
|
||||
"script_permission_content": "Script",
|
||||
"sync_system_connect_failed": "Sync system connection failed",
|
||||
"sync_system_closed": "Sync turned off",
|
||||
"sync_system_closed_description": "Sync is disabled, please configure again",
|
||||
"auth_type": "Authentication Type",
|
||||
"url": "URL",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"skip": "Skip",
|
||||
"next": "Next",
|
||||
"back": "Back",
|
||||
"last": "Finish",
|
||||
"start_guide_title": "Welcome to ScriptCat Extension",
|
||||
"start_guide_content": "Next, we will introduce the basic usage of ScriptCat to you.",
|
||||
"guide_installed_scripts": "The scripts you have installed will be displayed here.",
|
||||
"guide_script_list_title": "Script Market",
|
||||
"guide_script_list_content": "You can install scripts from the <Link href=\"https://scriptcat.org/search\">Script Market</Link>. In addition to supporting user scripts, ScriptCat also supports <Link href=\"https://docs.scriptcat.org/docs/dev/backgroud/\">background scripts</Link>.",
|
||||
"guide_script_list_enable_title": "Enable Scripts",
|
||||
"guide_script_list_enable_content": "Scripts need to be enabled to be used. Page scripts are enabled by default upon installation, while background scripts are disabled by default.",
|
||||
"guide_script_list_apply_to_run_status_title": "Apply to and Run Status",
|
||||
"guide_script_list_apply_to_run_status_content": "The running status of scripts is displayed here. Hover over the tags to view the script type.",
|
||||
"guide_script_list_sort_title": "Sort/Last Update/Actions",
|
||||
"guide_script_list_sort_content": "You can drag the tags of scripts to sort them. Clicking on the \"Last Update\" column label will check for updates once. The \"Actions\" column allows you to enter script editing, control script running/stopping (for background scripts), and configure <Link href=\"https://docs.scriptcat.org/docs/dev/config/\">UserConfig</Link>.",
|
||||
"guide_tools_title": "Common Tools",
|
||||
"guide_tools_content": "The tools provide backup and development features.",
|
||||
"guide_tools_backup_title": "Backup",
|
||||
"guide_tools_backup_content": "Backup allows you to save scripts to avoid loss. You can export script files to your local machine or load script files from your local machine. You can also back up to the cloud for added convenience.",
|
||||
"guide_setting_title": "Settings",
|
||||
"guide_setting_content": "The settings mainly include language, script synchronization, update frequency, and other common options.",
|
||||
"guide_setting_sync_title": "Update and Sync",
|
||||
"guide_setting_sync_content": "The script synchronization feature allows you to easily sync the script content of this device to the cloud. If you select the option to sync deletions, when a script is deleted on this device, it will also be deleted from the cloud. You can also update the script version here to get more powerful features.",
|
||||
"auto": "Auto",
|
||||
"hide": "Hide",
|
||||
"resize_column_width": "Resize Column",
|
||||
"collapse": "Collapse",
|
||||
"expand": "Expand",
|
||||
"menu_expand_num_before": "Menu item more than",
|
||||
"menu_expand_num_after": "Auto-hide."
|
||||
}
|
59
src/locales/locales.ts
Normal file
59
src/locales/locales.ts
Normal file
@ -0,0 +1,59 @@
|
||||
import i18n from "i18next";
|
||||
import { initReactI18next } from "react-i18next";
|
||||
import dayjs from "dayjs";
|
||||
import relativeTime from "dayjs/plugin/relativeTime";
|
||||
import { Metadata } from "@App/app/repo/scripts";
|
||||
import enUS from "./en/translation.json";
|
||||
import viVN from "./vi/translation.json";
|
||||
import zhCN from "./zh-CN/translation.json";
|
||||
import zhTW from "./zh-TW/translation.json";
|
||||
import achUG from "./ach-UG/translation.json";
|
||||
import "dayjs/locale/zh-cn";
|
||||
import "dayjs/locale/zh-tw";
|
||||
|
||||
i18n.use(initReactI18next).init({
|
||||
fallbackLng: "zh-CN",
|
||||
lng: localStorage.language || chrome.i18n.getUILanguage(),
|
||||
interpolation: {
|
||||
escapeValue: false, // react already safes from xss => https://www.i18next.com/translation-function/interpolation#unescape
|
||||
},
|
||||
resources: {
|
||||
"en-US": { title: "English", translation: enUS },
|
||||
"vi-VN": { title: "Tiếng Việt", translation: viVN },
|
||||
"zh-CN": { title: "简体中文", translation: zhCN },
|
||||
"zh-TW": { title: "繁体中文", translation: zhTW },
|
||||
"ach-UG": { title: "伪语言", translation: achUG },
|
||||
},
|
||||
});
|
||||
|
||||
if (!localStorage.language) {
|
||||
chrome.i18n.getAcceptLanguages((lngs) => {
|
||||
// 遍历数组寻找匹配语言
|
||||
for (let i = 0; i < lngs.length; i += 1) {
|
||||
const lng = lngs[i];
|
||||
if (i18n.hasResourceBundle(lng, "translation")) {
|
||||
localStorage.language = lng;
|
||||
i18n.changeLanguage(lng);
|
||||
dayjs.locale(lng.toLocaleLowerCase());
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
dayjs.locale((localStorage.language as string).toLocaleLowerCase());
|
||||
}
|
||||
dayjs.extend(relativeTime);
|
||||
|
||||
export function i18nName(script: { name: string; metadata: Metadata }) {
|
||||
return script.metadata[`name:${i18n.language.toLowerCase()}`]
|
||||
? script.metadata[`name:${i18n.language.toLowerCase()}`][0]
|
||||
: script.name;
|
||||
}
|
||||
|
||||
export function i18nDescription(script: { metadata: Metadata }) {
|
||||
return script.metadata[`description:${i18n.language.toLowerCase()}`]
|
||||
? script.metadata[`description:${i18n.language.toLowerCase()}`][0]
|
||||
: script.metadata.description;
|
||||
}
|
||||
|
||||
export default i18n;
|
362
src/locales/vi/translation.json
Normal file
362
src/locales/vi/translation.json
Normal file
@ -0,0 +1,362 @@
|
||||
{
|
||||
"import_link": "Nhập Liên Kết",
|
||||
"import_link_failure": "Nhập Link Thất Bại",
|
||||
"create_user_script": "Tạo Script Người Dùng",
|
||||
"create_background_script": "Tạo Script Nền",
|
||||
"create_scheduled_script": "Tạo Script Theo Lịch",
|
||||
"import_by_local": "Nhập Từ Local",
|
||||
"import_local_failure": "Nhập Local Thất Bại",
|
||||
"import_local_success": "Nhập Local Thành Công",
|
||||
"create_script": "Tạo Script",
|
||||
"user_guide": "Hướng Dẫn Sử Dụng",
|
||||
"api_docs": "Tài Liệu Api",
|
||||
"development_guide": "Hướng Dẫn Phát Triển",
|
||||
"script_gallery": "Thư Viện Script",
|
||||
"community_forum": "Diễn Đàn Cộng Đồng",
|
||||
"external_links": "Liên Kết Bên Ngoài",
|
||||
"system_follow": "Theo Dõi Hệ Thống",
|
||||
"no_data": "Không Có Dữ Liệu",
|
||||
"installed_scripts": "Script Đã Cài Đặt",
|
||||
"subscribe": "Đăng Ký",
|
||||
"logs": "Logs",
|
||||
"tools": "Công Cụ",
|
||||
"settings": "Cài Đặt",
|
||||
"collapsible": "Thu Gọn Được",
|
||||
"guide": "Hướng Dẫn",
|
||||
"helpcenter": "Trung Tâm Trợ Giúp",
|
||||
"general": "Chung",
|
||||
"language": "Ngôn Ngữ",
|
||||
"help_translate": "Giúp Chúng Tôi Dịch",
|
||||
"script_sync": "Đồng Bộ Script",
|
||||
"sync_delete": "Đồng Bộ Xóa",
|
||||
"enable_script_sync_to": "Bật Đồng Bộ Script Đến",
|
||||
"save": "Lưu",
|
||||
"cloud_sync_account_verification": "Đang Xác Minh Tài Khoản Đồng Bộ Cloud...",
|
||||
"cloud_sync_verification_failed": "Xác Minh Tài Khoản Đồng Bộ Cloud Thất Bại",
|
||||
"save_success": "Lưu Thành Công",
|
||||
"update": "Cập Nhật",
|
||||
"check_update": "Kiểm Tra Cập Nhật",
|
||||
"script_subscription_check_interval": "Khoảng Thời Gian Kiểm Tra Cập Nhật Script/Đăng Ký",
|
||||
"never": "Không Bao Giờ",
|
||||
"6_hours": "6 Giờ",
|
||||
"12_hours": "12 Giờ",
|
||||
"every_day": "Mỗi Ngày",
|
||||
"every_week": "Mỗi Tuần",
|
||||
"update_disabled_scripts": "Cập Nhật Script Bị Vô Hiệu Hóa",
|
||||
"silent_update_non_critical_changes": "Tự Động Cập Nhật Thay Đổi Không Quan Trọng",
|
||||
"enable_eslint": "Bật Eslint",
|
||||
"eslint_rules": "Quy Tắc Eslint",
|
||||
"enter_eslint_rules": "Vui Lòng Nhập Quy Tắc Eslint, Cấu Hình Có Thể Được Tải Xuống Từ https://eslint.org/play/",
|
||||
"language_change_tip": "Thay Đổi Ngôn Ngữ Thành Công",
|
||||
"backup": "Sao Lưu",
|
||||
"local": "Local",
|
||||
"export_file": "Xuất File",
|
||||
"import_file": "Nhập File",
|
||||
"cloud": "Cloud",
|
||||
"backup_to": "Sao Lưu Đến",
|
||||
"preparing_backup": "Đang Chuẩn Bị Sao Lưu Lên Cloud",
|
||||
"backup_success": "Sao Lưu Thành Công",
|
||||
"backup_failed": "Sao Lưu Thất Bại",
|
||||
"no_backup_files": "Không Có File Sao Lưu",
|
||||
"backup_list": "Danh Sách Sao Lưu",
|
||||
"open_backup_dir": "Mở Thư Mục Sao Lưu",
|
||||
"confirm_delete": "Xác Nhận Xóa",
|
||||
"confirm_delete_backup_file": "Xác Nhận Xóa File Sao Lưu",
|
||||
"confirm_update": "Xác Nhận Cập Nhật",
|
||||
"delete_success": "Xóa Thành Công",
|
||||
"backup_strategy": "Chiến Lược Sao Lưu",
|
||||
"under_construction": "Đang Xây Dựng",
|
||||
"development_debugging": "Gỡ Bỏ Sự Cố Trong Quá Trình Phát Triển",
|
||||
"vscode_url": "Url Vscoode",
|
||||
"auto_connect_vscode_service": "Tự Động Kết Nối Dịch Vụ Vscoode",
|
||||
"connect": "Kết Nối",
|
||||
"connection_success": "Kết Nối Thành Công",
|
||||
"connection_failed": "Kết Nối Thất Bại",
|
||||
"select_import_script": "Vui Lòng Chọn Script Cần Nhập Trong Trang Mới",
|
||||
"import_error": "Lỗi Nhập",
|
||||
"pulling_data_from_cloud": "Đang Lấy Dữ Liệu Từ Cloud",
|
||||
"pull_failed": "Lấy Dữ Liệu Thất Bại",
|
||||
"restore": "Khôi Phục",
|
||||
"log_title": "Logs Thời Gian Chạy",
|
||||
"last_5_minutes": "5 Phút Gần Nhất",
|
||||
"last_15_minutes": "15 Phút Gần Nhất",
|
||||
"last_30_minutes": "30 Phút Gần Nhất",
|
||||
"last_1_hour": "1 Giờ Gần Nhất",
|
||||
"last_3_hours": "3 Giờ Gần Nhất",
|
||||
"last_6_hours": "6 Giờ Gần Nhất",
|
||||
"last_12_hours": "12 Giờ Gần Nhất",
|
||||
"last_24_hours": "24 Giờ Gần Nhất",
|
||||
"last_7_days": "7 Ngày Gần Nhất",
|
||||
"query": "Truy Vấn",
|
||||
"labels": "Nhãn",
|
||||
"search_regex": "Tìm Kiếm (Hỗ Trợ Regex)",
|
||||
"clean_schedule": "Dọn Dẹp Lịch Trình",
|
||||
"days_ago_logs": "Logs Của {{days}} Ngày Trước",
|
||||
"delete_completed": "Xóa Hoàn Thành",
|
||||
"delete_current_logs": "Xóa Logs Hiện Tại",
|
||||
"clear_completed": "Đang Xóa Hoàn Thành",
|
||||
"clear_logs": "Xóa Logs",
|
||||
"total_logs": "Tổng Cộng {{length}} Logs Đã Được Truy Vấn",
|
||||
"filtered_logs": "{{length}} Logs Sau Khi Lọc",
|
||||
"enter_filter_conditions": "Vui Lòng Nhập Điều Kiện Lọc Để Truy Vấn",
|
||||
"permission": "Quyền",
|
||||
"enter_subscribe_name": "Vui Lòng Nhập Tên Đăng Ký",
|
||||
"subscribe_url": "Url Đăng Ký",
|
||||
"confirm_delete_subscription": "Bạn Có Chắc Chắn Muốn Xóa Đăng Ký Này Không? Các Script Liên Quan Cũng Sẽ Bị Xóa",
|
||||
"list": {
|
||||
"confirm_delete": "Bạn Có Chắc Chắn Muốn Xóa Không? Xin Lưu Ý Rằng Điều Này Và Dán Vào Phần Văn Bản Còn Lại.",
|
||||
"confirm_update": "Bạn Có Chắc Chắn Muốn Cập Nhật Không? Xin Lưu Ý Rằng Đây Là Một Thao Tác Không Thể Hoàn Tác."
|
||||
},
|
||||
"enable": "Bật",
|
||||
"script_list_enable_width": 120,
|
||||
"script_list_last_updated_width": 140,
|
||||
"script_list_apply_to_run_status_width": 160,
|
||||
"subscribe_list_enable_width": 120,
|
||||
"disable": "Tắt",
|
||||
"name": "Tên",
|
||||
"version": "Phiên Bản",
|
||||
"apply_to_run_status": "Áp Dụng Cho/Trạng Thái Chạy",
|
||||
"source": "Nguồn",
|
||||
"home": "Trang Chủ",
|
||||
"sorting": "Sắp Xếp",
|
||||
"last_updated": "Cập Nhật Cuối Cùng",
|
||||
"action": "Hành Động",
|
||||
"foreground_page_script_tooltip": "Script Trang Tiền Cảnh, Chạy Trên Trang Được Chỉ Định",
|
||||
"background_script_tooltip": "Script Nền, Chạy Trên Trang Được Chỉ Định",
|
||||
"scheduled_script_tooltip": "Script Theo Lịch, Thời Gian Chạy Tiếp Theo:",
|
||||
"running": "Đang Chạy",
|
||||
"completed": "Hoàn Thành",
|
||||
"subscription_link": "Liên Kết Đăng Ký",
|
||||
"subscription_installation": "Cài Đặt Đăng Ký",
|
||||
"manually_created": "Local",
|
||||
"script_link": "Liên Kết Script",
|
||||
"user_installation": "Cài Đặt",
|
||||
"confirm_delete_script": "Bạn Có Chắc Chắn Muốn Xóa Script Này Không?",
|
||||
"delete_failed": "Xóa Thất Bại",
|
||||
"enter_script_name": "Vui Lòng Nhập Tên Script",
|
||||
"update_not_supported": "Script Này Không Hỗ Trợ Kiểm Tra Cập Nhật",
|
||||
"checking_for_updates": "Đang Kiểm Tra Cập Nhật...",
|
||||
"new_version_available": "Có Phiên Bản Mới",
|
||||
"latest_version": "Phiên Bản Mới Nhất",
|
||||
"checked_for_all_selected": "Đã Kiểm Tra Cập Nhật Cho Tất Cả Các Mục Đã Chọn",
|
||||
"update_check_failed": "Kiểm Tra Cập Nhật Thất Bại",
|
||||
"stopping_script": "Đang Dừng Script",
|
||||
"script_stopped": "Script Đã Dừng",
|
||||
"starting_script": "Đang Khởi Động Script...",
|
||||
"starting_updates": "Đang Bắt Đầu Cập Nhật Hàng Loạt...",
|
||||
"script_started": "Script Đã Khởi Động",
|
||||
"batch_operations": "Thao Tác Hàng Loạt",
|
||||
"export": "Xuất",
|
||||
"delete": "Xóa",
|
||||
"unknown_operation": "Thao Tác Không Xác Định",
|
||||
"confirm": "Xác Nhận",
|
||||
"close": "Đóng",
|
||||
"page_script": "Script Trang",
|
||||
"homepage": "Trang Chủ",
|
||||
"script_website": "Website Script",
|
||||
"script_source": "Mã Nguồn Script",
|
||||
"bug_feedback_script_support": "Phản Hồi Lỗi/Hỗ Trợ Script",
|
||||
"config": "Cấu Hình",
|
||||
"key": "Khóa",
|
||||
"value": "Giá Trị",
|
||||
"add": "Thêm",
|
||||
"type": "Kiểu",
|
||||
"edit_value": "Chỉnh Sửa Giá Trị",
|
||||
"add_value": "Thêm Giá Trị",
|
||||
"update_success": "Cập Nhật Thành Công",
|
||||
"add_success": "Thêm Thành Công",
|
||||
"script_storage": "Bộ Nhớ Script",
|
||||
"enter_key": "Vui Lòng Nhập Khóa",
|
||||
"key_placeholder": "Khóa",
|
||||
"value_placeholder": "Khi Kiểu Là Object, Vui Lòng Nhập Dữ Liệu Có Thể Được Giải Mã JSON",
|
||||
"clear": "Xóa",
|
||||
"clear_success": "Xóa Thành Công",
|
||||
"confirm_clear": "Bạn Có Chắc Chắn Muốn Xóa Không Gian Lưu Trữ Này Không?",
|
||||
"type_string": "Chuỗi",
|
||||
"type_number": "Số",
|
||||
"type_boolean": "Boolean",
|
||||
"type_object": "Đối Tượng",
|
||||
"confirm_delete_resource": "Bạn Có Chắc Chắn Muốn Xóa Tài Nguyên Này Không? Tài Nguyên Này Sẽ Được Tải Lại Ở Lần Khởi Động Tiếp Theo",
|
||||
"confirm_clear_resource": "Bạn Có Chắc Chắn Muốn Xóa Các Tài Nguyên Này Không? Tài Nguyên Sẽ Được Tải Lại Ở Lần Khởi Động Tiếp Theo",
|
||||
"script_resource": "Tài Nguyên Script",
|
||||
"permission_value": "Giá Trị Ủy Quyền",
|
||||
"allow": "Cho Phép",
|
||||
"yes": "Có",
|
||||
"no": "Không",
|
||||
"confirm_delete_permission": "Xác Nhận Xóa Ủy Quyền Này?",
|
||||
"script_setting": "Cài Đặt Script",
|
||||
"basic_info": "Thông Tin Cơ Bản",
|
||||
"update_url": "Url Cập Nhật",
|
||||
"permission_management": "Quản Lý Quyền",
|
||||
"add_permission": "Thêm Quyền",
|
||||
"permission_cors": "Chống Giả Mạo Nguồn Gốc (cors)",
|
||||
"permission_cookie": "Quản Lý Cookie",
|
||||
"match": "Phù Hợp",
|
||||
"user_setting": "Cài Đặt Người Dùng",
|
||||
"confirm_delete_exclude": "Xác Nhận Xóa Loại Trừ Này?",
|
||||
"after_deleting_match_item": "Sau Khi Các Mục Phù Hợp Của Script Được Xóa, Chúng Sẽ Được Tự Động Thêm Vào Các Mục Phù Hợp",
|
||||
"confirm_delete_match": "Xác Nhận Xóa Phù Hợp Này?",
|
||||
"after_deleting_exclude_item": "Sau Khi Xóa Mục Phù Hợp Của Script, Nó Sẽ Được Tự Động Thêm Vào Các Mục Loại Trừ",
|
||||
"add_match": "Thêm Phù Hợp",
|
||||
"add_exclude": "Thêm Loại Trừ",
|
||||
"website_match": "Phù Hợp Website (@match)",
|
||||
"reset": "Đặt Lại",
|
||||
"website_exclude": "Loại Trừ Website (@exclude)",
|
||||
"confirm_reset": "Xác Nhận Đặt Lại?",
|
||||
"script_total_runs": "Script Đã Chạy {{runNum}} Lần, {{runNumByIframe}} Lần Trong Iframe",
|
||||
"script_total_runs_single": "Script Đã Chạy {{runNum}} Lần",
|
||||
"script_disabled": "Script Đang Bị Vô Hiệu Hóa",
|
||||
"run_once": "Chạy Một Lần",
|
||||
"stop": "Dừng",
|
||||
"edit": "Chỉnh Sửa",
|
||||
"exclude_on": "Loại Trừ Bật",
|
||||
"exclude_off": "Loại Trừ Tắt",
|
||||
"exclude_execution": "Loại Trừ Thực Thi",
|
||||
"user_config": "Cấu Hình Người Dùng",
|
||||
"gm_api": "Gm Api",
|
||||
"storage_api": "Storage Api",
|
||||
"use_file_system": "Hệ Thống File Đang Sử Dụng",
|
||||
"open_directory": "Mở Thư Mục",
|
||||
"account_validation_failed": "Xác Thực Tài Khoản Thất Bại",
|
||||
"not_set": "Chưa Thiết Lập",
|
||||
"in_use": "Đang Sử Dụng",
|
||||
"storage_error": "Lỗi Bộ Nhớ",
|
||||
"upload_to_cloud": "Tải Lên Cloud",
|
||||
"save_failed": "Lưu Thất Bại",
|
||||
"exporting": "Đang Xuất...",
|
||||
"upload_to": "Tải Lên",
|
||||
"value_export_expression": "Biểu Thức Xuất Giá Trị",
|
||||
"overwrite_original_value_on_import": "Ghi Đè Giá Trị Gốc Khi Nhập",
|
||||
"cookie_export_expression": "Biểu Thức Xuất Cookie",
|
||||
"overwrite_original_cookie_on_import": "Ghi Đè Cookie Gốc Khi Nhập",
|
||||
"restore_default_values": "Khôi Phục Giá Trị Mặc Định",
|
||||
"get_confirm_error": "Lấy Thông Tin Xác Nhận Thất Bại",
|
||||
"confirm_error": "Xác Nhận Thất Bại",
|
||||
"ignore": "Bỏ Qua",
|
||||
"allow_once": "Cho Phép Một Lần",
|
||||
"temporary_allow": "Cho Phép Tạm Thời {{permissionContent}} Này",
|
||||
"temporary_allow_all": "Cho Phép Tạm Thời Tất Cả {{permissionContent}}",
|
||||
"permanent_allow": "Cho Phép Vĩnh Viễn {{permissionContent}} Này",
|
||||
"permanent_allow_all": "Cho Phép Vĩnh Viễn Tất Cả {{permissionContent}}",
|
||||
"deny_once": "Từ Chối Một Lần",
|
||||
"temporary_deny": "Từ Chối Tạm Thời {{permissionContent}} Này",
|
||||
"temporary_deny_all": "Từ Chối Tạm Thời Tất Cả {{permissionContent}}",
|
||||
"permanent_deny": "Từ Chối Vĩnh Viễn {{permissionContent}} Này",
|
||||
"permanent_deny_all": "Từ Chối Vĩnh Viễn Tất Cả {{permissionContent}}",
|
||||
"data_import": "Nhập Dữ Liệu",
|
||||
"import": "Nhập",
|
||||
"select_scripts_to_import": "Vui Lòng Chọn Script Bạn Muốn Nhập",
|
||||
"select_all": "Chọn Tất Cả",
|
||||
"script_import_progress": "Tiến Trình Nhập Script",
|
||||
"select_subscribes_to_import": "Vui Lòng Chọn Các Đăng Ký Bạn Muốn Nhập",
|
||||
"subscribe_import_progress": "Tiến Trình Nhập Đăng Ký",
|
||||
"author": "Tác Giả",
|
||||
"description": "Mô Tả",
|
||||
"operation": "Thao Tác",
|
||||
"error": "Lỗi",
|
||||
"unknown": "Không Xác Định",
|
||||
"add_new": "Thêm Mới",
|
||||
"no_operation": "Không Có Thao Tác",
|
||||
"enable_script": "Bật Script",
|
||||
"local_creation": "Tạo Local",
|
||||
"import_success": "Nhập Thành Công",
|
||||
"install_script": "Cài Đặt Script",
|
||||
"update_script": "Cập Nhật Script",
|
||||
"install_subscribe": "Cài Đặt Đăng Ký",
|
||||
"update_subscribe": "Cập Nhật Đăng Ký",
|
||||
"invalid_link": "Liên Kết Không Hợp Lệ",
|
||||
"subscribe_install_label": "Đăng Ký Này Sẽ Cài Đặt Các Script Sau",
|
||||
"script_runs_in": "Script Sẽ Chạy Trên Các Website Sau",
|
||||
"script_has_full_access_to": "Script Sẽ Có Quyền Truy Cập Đầy Đủ Vào Các Url Sau",
|
||||
"script_requires": "Script Cần Các Tài Nguyên Bên Ngoài Sau",
|
||||
"cookie_warning": "Xin Lưu Ý, Script Này Yêu Cầu Truy Cập Vào Quyền Cookie, Đây Là Một Quyền Nguy Hiểm. Vui Lòng Xác Minh Sự An Toàn Của Script.",
|
||||
"scheduled_script_description_1": "Đây Là Một Script Theo Lịch Trình, Sẽ Tự Động Chạy Vào Một Thời Gian Cụ Thể Sau Khi Được Bật Và Có Thể Được Điều Khiển Thủ Công Trong Bảng Điều Khiển.",
|
||||
"scheduled_script_description_2": "Biểu Thức Nhiệm Vụ Theo Lịch Trình: {{expression}}, Thời Gian Chạy Gần Nhất: {{time}}",
|
||||
"background_script_description": "Đây Là Một Script Nền, Sẽ Tự Động Chạy Một Lần Khi Trình Duyệt Mở Sau Khi Được Bật, Và Có Thể Được Điều Khiển Thủ Công Trong Bảng Điều Khiển.",
|
||||
"install_success": "Cài Đặt Thành Công",
|
||||
"install": {
|
||||
"update_success": "Cập Nhật Thành Công"
|
||||
},
|
||||
"install_failed": "Cài Đặt Thất Bại",
|
||||
"subscribe_success": "Đăng Ký Thành Công",
|
||||
"subscribe_failed": "Đăng Ký Thất Bại",
|
||||
"current_version": "Phiên Bản Hiện Tại",
|
||||
"update_version": "Phiên Bản Cập Nhật",
|
||||
"background_script_tag": "Đây Là Một Script Nền",
|
||||
"scheduled_script_tag": "Đây Là Một Script Theo Lịch Trình",
|
||||
"background_script": "Script Nền",
|
||||
"scheduled_script": "Script Theo Lịch Trình",
|
||||
"install_from_legitimate_sources_warning": "Vui Lòng Cài Đặt Script Từ Nguồn Uy Tín! Script Không Rõ Nguồn Gốc Có Thể Xâm Phạm Quyền Riêng Tư Của Bạn Hoặc Thực Hiện Các Thao Tác Có Hại.",
|
||||
"antifeature_referral_link_title": "Liên Kết Giới Thiệu",
|
||||
"antifeature_referral_link_description": "Script Này Sửa Đổi Hoặc Chuyển Hướng Đến Liên Kết Giới Thiệu Của Tác Giả",
|
||||
"antifeature_ads_title": "Quảng Cáo",
|
||||
"antifeature_ads_description": "Script Này Chèn Quảng Cáo Vào Các Trang Bạn Truy Cập",
|
||||
"antifeature_payment_title": "Thanh Toán",
|
||||
"antifeature_payment_description": "Script Này Yêu Cầu Thanh Toán Để Sử Dụng Đúng Cách",
|
||||
"antifeature_miner_title": "Đào Tiền Ảo",
|
||||
"antifeature_miner_description": "Script Này Tham Gia Hoạt Động Đào Tiền Ảo",
|
||||
"antifeature_membership_title": "Tính Năng Thành Viên",
|
||||
"antifeature_membership_description": "Script Này Yêu Cầu Đăng Ký Làm Thành Viên Để Sử Dụng Đúng Cách",
|
||||
"antifeature_tracking_title": "Theo Dõi",
|
||||
"antifeature_tracking_description": "Script Này Theo Dõi Thông Tin Người Dùng Của Bạn",
|
||||
"script_info_load_failed": "Thất Bại Khi Tải Thông Tin Script",
|
||||
"script_status_tooltip": "Bạn Có Thể Điều Khiển Trạng Thái Mở Của Script. Các Script Oil Monkey Thông Thường Được Bật Mặc Định, Và Script Nền Và Script Theo Lịch Trình Được Tắt Mặc Định.",
|
||||
"get_script": "Lấy Script",
|
||||
"report_issue": "Báo Cáo Sự Cố",
|
||||
"project_docs": "Tài Liệu Dự Án",
|
||||
"community": "Cộng Đồng",
|
||||
"popup": {
|
||||
"new_version_available": "Có Phiên Bản Mới"
|
||||
},
|
||||
"current_page_scripts": "Script Đang Chạy Trên Trang Hiện Tại",
|
||||
"enabled_background_scripts": "Script Nền Đã Bật Và Đang Chạy",
|
||||
"script_accessing_cross_origin_resource": "Script Đang Thử Truy Cập Tài Nguyên Từ Nguồn Gốc Khác",
|
||||
"confirm_operation_description": "Vui Lòng Xác Nhận Nếu Bạn Cho Phép Script Thực Hiện Thao Tác Này. Script Cũng Có Thể Thêm Thẻ @connect Để Bỏ Qua Tùy Chọn Này.",
|
||||
"domain": "Tên Miền",
|
||||
"script_name": "Tên Script",
|
||||
"request_domain": "Tên Miền Yêu Cầu",
|
||||
"request_url": "Url Yêu Cầu",
|
||||
"access_cookie_content": "Script Đang Thử Truy Cập Nội Dung Cookie Của Website",
|
||||
"confirm_script_operation": "Vui Lòng Xác Nhận Nếu Bạn Cho Phép Script Thực Hiện Thao Tác Này. Cookie Chứa Dữ Liệu Quan Trọng Của Người Dùng, Vì Vậy Chỉ Cấp Quyền Truy Cập Cho Các Script Uy Tín.",
|
||||
"cookie_domain": "Tên Miền Cookie",
|
||||
"script_operation_title": "Script Đang Thử Truy Cập Bộ Nhớ Đồng Bộ Script",
|
||||
"script_operation_description": "Vui Lòng Xác Nhận Nếu Bạn Cho Phép Script Thực Hiện Thao Tác Này. Nếu Được Cho Phép, Script Sẽ Có Thể Truy Cập Vào Không Gian Lưu Trữ Mà Bạn Đã Thiết Lập Và Tạo Một Thư Mục app/${dir} Bên Trong Nó.",
|
||||
"script_permission_content": "Script",
|
||||
"sync_system_connect_failed": "Kết Nối Hệ Thống Đồng Bộ Thất Bại",
|
||||
"sync_system_closed": "Đồng Bộ Tắt",
|
||||
"sync_system_closed_description": "Đồng Bộ Đã Bị Vô Hiệu Hóa, Vui Lòng Cấu Hình Lại",
|
||||
"auth_type": "Kiểu Xác Thực",
|
||||
"url": "Url",
|
||||
"username": "Tên Người Dùng",
|
||||
"password": "Mật Khẩu",
|
||||
"skip": "Bỏ Qua",
|
||||
"next": "Tiếp Theo",
|
||||
"back": "Quay Lại",
|
||||
"last": "Hoàn Tất",
|
||||
"start_guide_title": "Chào Mừng Đến Với Phần Mở Rộng Scriptcat",
|
||||
"start_guide_content": "Tiếp Theo, Chúng Tôi Sẽ Giới Thiệu Cách Sử Dụng Cơ Bản Của Scriptcat Cho Bạn.",
|
||||
"guide_installed_scripts": "Các Script Bạn Đã Cài Đặt Sẽ Được Hiển Thị Ở Đây.",
|
||||
"guide_script_list_title": "Chợ Script",
|
||||
"guide_script_list_content": "Bạn Có Thể Cài Đặt Script Từ <Link href=\"https://scriptcat.org/search\">Chợ Script</Link>. Ngoài Việc Hỗ Trợ Script Người Dùng, Scriptcat Còn Hỗ Trợ <Link href=\"https://docs.scriptcat.org/docs/dev/backgroud/\">Script Nền</Link>.",
|
||||
"guide_script_list_enable_title": "Bật Script",
|
||||
"guide_script_list_enable_content": "Script Cần Được Bật Để Sử Dụng. Script Trang Được Bật Mặc Định Khi Cài Đặt, Trong Khi Script Nền Được Tắt Mặc Định.",
|
||||
"guide_script_list_apply_to_run_status_title": "Áp Dụng Cho Và Trạng Thái Chạy",
|
||||
"guide_script_list_apply_to_run_status_content": "Trạng Thái Chạy Của Script Được Hiển Thị Ở Đây. Di Chuột Lên Trên Thẻ Để Xem Kiểu Script.",
|
||||
"guide_script_list_sort_title": "Sắp Xếp/Cập Nhật Cuối Cùng/Hành Động",
|
||||
"guide_script_list_sort_content": "Bạn Có Thể Kéo Thẻ Của Script Để Sắp Xếp Chúng. Nhấp Vào Nhãn Cột \"Cập Nhật Cuối Cùng\" Sẽ Kiểm Tra Cập Nhật Một Lần. Cột \"Hành Động\" Cho Phép Bạn Vào Chỉnh Sửa Script, Điều Khiển Script Chạy/Dừng (Đối Với Script Nền), Và Cấu Hình <Link href=\"https://docs.scriptcat.org/docs/dev/config/\">Userconfig</Link>.",
|
||||
"guide_tools_title": "Công Cụ Thông Dụng",
|
||||
"guide_tools_content": "Các Công Cụ Cung Cấp Các Tính Năng Sao Lưu Và Phát Triển.",
|
||||
"guide_tools_backup_title": "Sao Lưu",
|
||||
"guide_tools_backup_content": "Sao Lưu Cho Phép Bạn Lưu Script Để Tránh Mất Mát. Bạn Có Thể Xuất File Script Vào Máy Tính Của Bạn Hoặc Tải File Script Từ Máy Tính Của Bạn. Bạn Cũng Có Thể Sao Lưu Lên Cloud Để Tiện Lợi Hơn.",
|
||||
"guide_setting_title": "Cài Đặt",
|
||||
"guide_setting_content": "Cài Đặt Chủ Yếu Bao Gồm Ngôn Ngữ, Đồng Bộ Script, Tần Suất Cập Nhật Và Các Tùy Chọn Thông Dụng Khác.",
|
||||
"guide_setting_sync_title": "Cập Nhật Và Đồng Bộ",
|
||||
"guide_setting_sync_content": "Tính Năng Đồng Bộ Script Cho Phép Bạn Dễ Dàng Đồng Bộ Nội Dung Script Của Thiết Bị Này Lên Cloud. Nếu Bạn Chọn Tùy Chọn Đồng Bộ Xóa, Khi Một Script Được Xóa Trên Thiết Bị Này, Nó Cũng Sẽ Được Xóa Khỏi Cloud. Bạn Cũng Có Thể Cập Nhật Phiên Bản Script Ở Đây Để Có Được Các Tính Năng Mạnh Mẽ Hơn.",
|
||||
"auto": "Tự Động",
|
||||
"hide": "Ẩn",
|
||||
"resize_column_width": "Điều Chỉnh Kích Thước Cột",
|
||||
"collapse": "Thu Gọn",
|
||||
"expand": "Mở Rộng",
|
||||
"menu_expand_num_before": "Mục Menu Hơn",
|
||||
"menu_expand_num_after": "Tự Ẩn."
|
||||
}
|
362
src/locales/zh-CN/translation.json
Normal file
362
src/locales/zh-CN/translation.json
Normal file
@ -0,0 +1,362 @@
|
||||
{
|
||||
"import_link": "链接导入",
|
||||
"import_link_failure": "链接导入失败",
|
||||
"create_user_script": "新建普通脚本",
|
||||
"create_background_script": "新建后台脚本",
|
||||
"create_scheduled_script": "新建定时脚本",
|
||||
"import_by_local": "本地导入",
|
||||
"import_local_failure": "本地导入失败",
|
||||
"import_local_success": "本地导入成功",
|
||||
"create_script": "新建脚本",
|
||||
"user_guide": "使用指南",
|
||||
"api_docs": "API文档",
|
||||
"development_guide": "开发指南",
|
||||
"script_gallery": "脚本站",
|
||||
"community_forum": "社区论坛",
|
||||
"external_links": "外部链接",
|
||||
"system_follow": "跟随系统",
|
||||
"no_data": "暂无数据",
|
||||
"installed_scripts": "已安装脚本",
|
||||
"subscribe": "订阅",
|
||||
"logs": "日志",
|
||||
"tools": "工具",
|
||||
"settings": "设置",
|
||||
"collapsible": "收起侧边栏",
|
||||
"guide": "新手指引",
|
||||
"helpcenter": "帮助中心",
|
||||
"general": "通用",
|
||||
"language": "语言",
|
||||
"help_translate": "协助翻译",
|
||||
"script_sync": "脚本同步",
|
||||
"sync_delete": "同步删除",
|
||||
"enable_script_sync_to": "启用脚本同步至",
|
||||
"save": "保存",
|
||||
"cloud_sync_account_verification": "云同步账号信息验证中...",
|
||||
"cloud_sync_verification_failed": "云同步账号信息验证失败",
|
||||
"save_success": "保存成功",
|
||||
"update": "更新",
|
||||
"check_update": "检查更新",
|
||||
"script_subscription_check_interval": "脚本/订阅检查更新间隔",
|
||||
"never": "从不",
|
||||
"6_hours": "6小时",
|
||||
"12_hours": "12小时",
|
||||
"every_day": "每天",
|
||||
"every_week": "每周",
|
||||
"update_disabled_scripts": "更新已禁用脚本",
|
||||
"silent_update_non_critical_changes": "非重要变更静默更新脚本",
|
||||
"enable_eslint": "开启 ESLint",
|
||||
"eslint_rules": "ESLint规则",
|
||||
"enter_eslint_rules": "请输入 ESLint 规则,可以从 https://eslint.org/play/ 下载配置",
|
||||
"language_change_tip": "语言切换成功",
|
||||
"backup": "备份",
|
||||
"local": "本地",
|
||||
"export_file": "导出文件",
|
||||
"import_file": "导入文件",
|
||||
"cloud": "云端",
|
||||
"backup_to": "备份至",
|
||||
"preparing_backup": "正在准备备份到云端",
|
||||
"backup_success": "备份成功",
|
||||
"backup_failed": "备份失败",
|
||||
"no_backup_files": "没有备份文件",
|
||||
"backup_list": "备份列表",
|
||||
"open_backup_dir": "打开备份目录",
|
||||
"confirm_delete": "确认删除",
|
||||
"confirm_delete_backup_file": "确认删除备份文件",
|
||||
"confirm_update": "确认更新",
|
||||
"delete_success": "删除成功",
|
||||
"backup_strategy": "备份策略",
|
||||
"under_construction": "建设中",
|
||||
"development_debugging": "开发调试",
|
||||
"vscode_url": "VSCode地址",
|
||||
"auto_connect_vscode_service": "自动连接vscode服务",
|
||||
"connect": "连接",
|
||||
"connection_success": "连接成功",
|
||||
"connection_failed": "连接失败",
|
||||
"select_import_script": "请在新页面中选择要导入的脚本",
|
||||
"import_error": "导入错误",
|
||||
"pulling_data_from_cloud": "正在从云端拉取数据",
|
||||
"pull_failed": "拉取失败",
|
||||
"restore": "恢复",
|
||||
"log_title": "运行日志",
|
||||
"last_5_minutes": "最近5分钟",
|
||||
"last_15_minutes": "最近15分钟",
|
||||
"last_30_minutes": "最近30分钟",
|
||||
"last_1_hour": "最近1小时",
|
||||
"last_3_hours": "最近3小时",
|
||||
"last_6_hours": "最近6小时",
|
||||
"last_12_hours": "最近12小时",
|
||||
"last_24_hours": "最近24小时",
|
||||
"last_7_days": "最近7天",
|
||||
"query": "查询",
|
||||
"labels": "labels",
|
||||
"search_regex": "搜索(支持正则)",
|
||||
"clean_schedule": "定时清理",
|
||||
"days_ago_logs": "天前的日志",
|
||||
"delete_completed": "删除完成",
|
||||
"delete_current_logs": "删除当前日志",
|
||||
"clear_completed": "清空完成",
|
||||
"clear_logs": "清空日志",
|
||||
"total_logs": "共查询到 {{length}} 条日志",
|
||||
"filtered_logs": "筛选后 {{length}} 条日志",
|
||||
"enter_filter_conditions": "请输入筛选条件进行查询",
|
||||
"permission": "权限",
|
||||
"enter_subscribe_name": "请输入订阅名称",
|
||||
"subscribe_url": "订阅地址",
|
||||
"confirm_delete_subscription": "确定要删除此订阅吗? 相关的脚本也会被删除",
|
||||
"list": {
|
||||
"confirm_delete": "确定要删除吗?请注意这个操作无法恢复!",
|
||||
"confirm_update": "确认要更新吗?请注意此操作不可逆!"
|
||||
},
|
||||
"enable": "开启",
|
||||
"script_list_enable_width": 100,
|
||||
"script_list_last_updated_width": 120,
|
||||
"script_list_apply_to_run_status_width": 140,
|
||||
"subscribe_list_enable_width": 100,
|
||||
"disable": "关闭",
|
||||
"name": "名称",
|
||||
"version": "版本",
|
||||
"apply_to_run_status": "应用至/运行状态",
|
||||
"source": "来源",
|
||||
"home": "主页",
|
||||
"sorting": "排序",
|
||||
"last_updated": "最后更新",
|
||||
"action": "操作",
|
||||
"foreground_page_script_tooltip": "前台页面脚本,会在指定的页面上运行",
|
||||
"background_script_tooltip": "后台脚本,会在指定的页面上运行",
|
||||
"scheduled_script_tooltip": "定时脚本,下一次运行时间:",
|
||||
"running": "运行中",
|
||||
"completed": "运行完毕",
|
||||
"subscription_link": "订阅链接",
|
||||
"subscription_installation": "订阅安装",
|
||||
"manually_created": "手动新建",
|
||||
"script_link": "脚本链接",
|
||||
"user_installation": "用户安装",
|
||||
"confirm_delete_script": "确定要删除此脚本吗?",
|
||||
"delete_failed": "删除失败",
|
||||
"enter_script_name": "请输入脚本名",
|
||||
"update_not_supported": "该脚本不支持检查更新",
|
||||
"checking_for_updates": "检查更新中...",
|
||||
"new_version_available": "存在新版本",
|
||||
"latest_version": "已是最新版本",
|
||||
"checked_for_all_selected": "所选脚本皆已检查更新",
|
||||
"update_check_failed": "检查更新失败",
|
||||
"stopping_script": "正在停止脚本",
|
||||
"script_stopped": "脚本已停止",
|
||||
"starting_script": "正在启动脚本...",
|
||||
"starting_updates": "正在批量更新...",
|
||||
"script_started": "脚本已启动",
|
||||
"batch_operations": "批量操作",
|
||||
"export": "导出",
|
||||
"delete": "删除",
|
||||
"unknown_operation": "未知操作",
|
||||
"confirm": "确定",
|
||||
"close": "关闭",
|
||||
"page_script": "页面脚本",
|
||||
"homepage": "脚本主页",
|
||||
"script_website": "脚本站点",
|
||||
"script_source": "脚本源码",
|
||||
"bug_feedback_script_support": "BUG反馈/脚本支持站点",
|
||||
"config": "配置",
|
||||
"key": "key",
|
||||
"value": "value",
|
||||
"add": "新增",
|
||||
"type": "类型",
|
||||
"edit_value": "编辑值",
|
||||
"add_value": "新增值",
|
||||
"update_success": "修改成功",
|
||||
"add_success": "添加成功",
|
||||
"script_storage": "脚本储存",
|
||||
"enter_key": "请输入key",
|
||||
"key_placeholder": "key",
|
||||
"value_placeholder": "当类型为object时,请输入可以JSON解析的数据",
|
||||
"clear": "清空",
|
||||
"clear_success": "清空成功",
|
||||
"confirm_clear": "你真的要清空这个储存空间吗?",
|
||||
"type_string": "string",
|
||||
"type_number": "number",
|
||||
"type_boolean": "boolean",
|
||||
"type_object": "object",
|
||||
"confirm_delete_resource": "你确定删除此资源吗?在下次开启时将会重新加载此资源",
|
||||
"confirm_clear_resource": "你真的要清空这些资源吗?在下次开启时将会重新加载资源",
|
||||
"script_resource": "脚本资源",
|
||||
"permission_value": "授权值",
|
||||
"allow": "是否允许",
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
"confirm_delete_permission": "确认删除该授权?",
|
||||
"script_setting": "脚本设置",
|
||||
"basic_info": "基本信息",
|
||||
"update_url": "更新URL",
|
||||
"permission_management": "授权管理",
|
||||
"add_permission": "添加授权",
|
||||
"permission_cors": "跨域(cors)",
|
||||
"permission_cookie": "管理cookie",
|
||||
"match": "匹配",
|
||||
"user_setting": "用户设定",
|
||||
"confirm_delete_exclude": "确认删除该排除?",
|
||||
"after_deleting_match_item": "脚本设定的匹配项删除后会自动添加到匹配项中",
|
||||
"confirm_delete_match": "确认删除该匹配?",
|
||||
"after_deleting_exclude_item": "脚本设定的匹配项删除后会自动添加到排除项中",
|
||||
"add_match": "添加匹配",
|
||||
"add_exclude": "添加排除",
|
||||
"website_match": "网站匹配(@match)",
|
||||
"reset": "重置",
|
||||
"website_exclude": "网站排除(@exclude)",
|
||||
"confirm_reset": "确定重置?",
|
||||
"script_total_runs": "该脚本总共运行了{{runNum}}次,在iframe上运行了{{runNumByIframe}}次",
|
||||
"script_total_runs_single": "该脚本运行了{{runNum}}次",
|
||||
"script_disabled": "该脚本未开启",
|
||||
"run_once": "运行一次",
|
||||
"stop": "停止",
|
||||
"edit": "编辑",
|
||||
"exclude_on": "恢复在",
|
||||
"exclude_off": "排除在",
|
||||
"exclude_execution": "上执行",
|
||||
"user_config": "用户配置",
|
||||
"gm_api": "GM Api",
|
||||
"storage_api": "Storage API",
|
||||
"use_file_system": "使用的文件系统",
|
||||
"open_directory": "打开目录",
|
||||
"account_validation_failed": "账号信息验证失败",
|
||||
"not_set": "未设置",
|
||||
"in_use": "使用中",
|
||||
"storage_error": "储存错误",
|
||||
"upload_to_cloud": "上传至云",
|
||||
"save_failed": "保存失败",
|
||||
"exporting": "导出中...",
|
||||
"upload_to": "上传至",
|
||||
"value_export_expression": "值导出表达式",
|
||||
"overwrite_original_value_on_import": "导入时覆盖原值",
|
||||
"cookie_export_expression": "cookie导出表达式",
|
||||
"overwrite_original_cookie_on_import": "导入时覆盖原值",
|
||||
"restore_default_values": "恢复默认值",
|
||||
"get_confirm_error": "获取确认信息失败",
|
||||
"confirm_error": "确认失败",
|
||||
"ignore": "忽略",
|
||||
"allow_once": "允许一次",
|
||||
"temporary_allow": "临时允许此{{permissionContent}}",
|
||||
"temporary_allow_all": "临时允许全部{{permissionContent}}",
|
||||
"permanent_allow": "永久允许此{{permissionContent}}",
|
||||
"permanent_allow_all": "永久允许全部{{permissionContent}}",
|
||||
"deny_once": "拒绝一次",
|
||||
"temporary_deny": "临时拒绝此{{permissionContent}}",
|
||||
"temporary_deny_all": "临时拒绝全部{{permissionContent}}",
|
||||
"permanent_deny": "永久拒绝此{{permissionContent}}",
|
||||
"permanent_deny_all": "永久拒绝全部{{permissionContent}}",
|
||||
"data_import": "数据导入",
|
||||
"import": "导入",
|
||||
"select_scripts_to_import": "请选择你要导入的脚本",
|
||||
"select_all": "全选",
|
||||
"script_import_progress": "脚本导入进度",
|
||||
"select_subscribes_to_import": "请选择你要导入的订阅",
|
||||
"subscribe_import_progress": "订阅导入进度",
|
||||
"author": "作者",
|
||||
"description": "描述",
|
||||
"operation": "操作",
|
||||
"error": "错误",
|
||||
"unknown": "未知",
|
||||
"add_new": "新增",
|
||||
"no_operation": "不做操作",
|
||||
"enable_script": "开启脚本",
|
||||
"local_creation": "本地创建",
|
||||
"import_success": "导入成功",
|
||||
"install_script": "安装",
|
||||
"update_script": "更新",
|
||||
"install_subscribe": "安装订阅",
|
||||
"update_subscribe": "更新订阅",
|
||||
"invalid_link": "错误的链接",
|
||||
"subscribe_install_label": "该订阅将会安装下面的脚本",
|
||||
"script_runs_in": "脚本将在下面的网站中运行",
|
||||
"script_has_full_access_to": "脚本将获得以下地址的完整访问权限",
|
||||
"script_requires": "脚本引用了下列外部资源",
|
||||
"cookie_warning": "请注意,本脚本会申请 Cookie 的操作权限,这是一个危险的权限,请确认脚本的安全性。",
|
||||
"scheduled_script_description_1": "这是一个定时脚本,启用后将在特定时间自动运行,并可在面板中手动控制。",
|
||||
"scheduled_script_description_2": "定时任务表达式:{{expression}},最近一次运行时间:{{time}}",
|
||||
"background_script_description": "这是一个后台脚本,启用后将在浏览器打开时自动运行一次,并可在面板中手动控制。",
|
||||
"install_success": "安装成功",
|
||||
"install": {
|
||||
"update_success": "更新成功"
|
||||
},
|
||||
"install_failed": "安装失败",
|
||||
"subscribe_success": "订阅成功",
|
||||
"subscribe_failed": "订阅失败",
|
||||
"current_version": "当前版本",
|
||||
"update_version": "更新版本",
|
||||
"background_script_tag": "这是一个后台脚本",
|
||||
"scheduled_script_tag": "这是一个定时脚本",
|
||||
"background_script": "后台脚本",
|
||||
"scheduled_script": "定时脚本",
|
||||
"install_from_legitimate_sources_warning": "请从合法来源安装脚本!未知的脚本可能会侵犯您的隐私或者做出恶意的操作!",
|
||||
"antifeature_referral_link_title": "推荐链接",
|
||||
"antifeature_referral_link_description": "该脚本会修改或重定向到作者的返佣链接",
|
||||
"antifeature_ads_title": "附带广告",
|
||||
"antifeature_ads_description": "该脚本会在你访问的页面上插入广告",
|
||||
"antifeature_payment_title": "付费脚本",
|
||||
"antifeature_payment_description": "该脚本需要你付费才能够正常使用",
|
||||
"antifeature_miner_title": "挖矿",
|
||||
"antifeature_miner_description": "该脚本存在挖矿行为",
|
||||
"antifeature_membership_title": "会员功能",
|
||||
"antifeature_membership_description": "该脚本需要注册会员才能正常使用",
|
||||
"antifeature_tracking_title": "信息追踪",
|
||||
"antifeature_tracking_description": "该脚本会追踪你的用户信息",
|
||||
"script_info_load_failed": "脚本信息加载失败!",
|
||||
"script_status_tooltip": "可以控制脚本开启状态,普通油猴脚本默认开启,后台脚本、定时脚本默认关闭",
|
||||
"get_script": "获取脚本",
|
||||
"report_issue": "BUG/问题反馈",
|
||||
"project_docs": "项目文档",
|
||||
"community": "交流社区",
|
||||
"popup": {
|
||||
"new_version_available": "有新版本可用"
|
||||
},
|
||||
"current_page_scripts": "当前页运行脚本",
|
||||
"enabled_background_scripts": "开启和运行的后台脚本",
|
||||
"script_accessing_cross_origin_resource": "脚本正在试图访问跨域资源",
|
||||
"confirm_operation_description": "请您确认是否允许脚本进行此操作,脚本也可增加@connect标签跳过此选项",
|
||||
"domain": "域名",
|
||||
"script_name": "脚本名称",
|
||||
"request_domain": "请求域名",
|
||||
"request_url": "请求地址",
|
||||
"access_cookie_content": "脚本正在试图访问网站cookie内容",
|
||||
"confirm_script_operation": "请您确认是否允许脚本进行此操作,cookie是一项重要的用户数据,请务必只给信任的脚本授权.",
|
||||
"cookie_domain": "Cookie域",
|
||||
"script_operation_title": "脚本正在试图操作脚本同步储存空间",
|
||||
"script_operation_description": "请您确认是否允许脚本进行此操作,允许后将允许脚本操作你设定的储存空间,脚本会在储存空间下创建一个app/${dir}的目录进行使用",
|
||||
"script_permission_content": "脚本",
|
||||
"sync_system_connect_failed": "同步系统连接失败",
|
||||
"sync_system_closed": "已关闭同步",
|
||||
"sync_system_closed_description": "同步功能已关闭,请重新配置",
|
||||
"auth_type": "鉴权类型",
|
||||
"url": "URL",
|
||||
"username": "用户名",
|
||||
"password": "密码",
|
||||
"skip": "跳过",
|
||||
"next": "下一步",
|
||||
"back": "上一步",
|
||||
"last": "完成",
|
||||
"start_guide_title": "欢迎使用脚本猫扩展",
|
||||
"start_guide_content": "接下来我们将为您介绍脚本猫的基本使用方法",
|
||||
"guide_installed_scripts": "你所安装的脚本将会在这里显示",
|
||||
"guide_script_list_title": "脚本市场",
|
||||
"guide_script_list_content": "可以从<Link href=\"https://scriptcat.org/search\">脚本市场</Link>中安装脚本,脚本猫除了支持用户脚本以外,还支持<Link href=\"https://docs.scriptcat.org/docs/dev/backgroud/\">后台脚本</Link>",
|
||||
"guide_script_list_enable_title": "脚本开启",
|
||||
"guide_script_list_enable_content": "脚本需要开启才能使用,页面脚本安装默认开启,后台脚本安装默认关闭",
|
||||
"guide_script_list_apply_to_run_status_title": "应用至、与运行状态",
|
||||
"guide_script_list_apply_to_run_status_content": "脚本运行状态展示,鼠标悬浮至标签可以查看脚本类型",
|
||||
"guide_script_list_sort_title": "排序/最后更新/操作",
|
||||
"guide_script_list_sort_content": "你可以拖动脚本的标签进行排序,点击最后更新列标签可以对脚本进行一次检查更新,操作列可以进入脚本编辑、控制脚本的运行停止(后台脚本)、设置<Link href=\"https://docs.scriptcat.org/docs/dev/config/\">UserConfig</Link>",
|
||||
"guide_tools_title": "常用工具",
|
||||
"guide_tools_content": "工具中提供了备份和开发的工具",
|
||||
"guide_tools_backup_title": "备份",
|
||||
"guide_tools_backup_content": "备份可以保存脚本,避免丢失。可以导出脚本文件到本地,也可以加载本地的脚本文件。也可以备份到云端,更加方便。",
|
||||
"guide_setting_title": "设置",
|
||||
"guide_setting_content": "设置中主要包含了语言、脚本同步、更新频率等常用设置项",
|
||||
"guide_setting_sync_title": "更新与同步",
|
||||
"guide_setting_sync_content": "脚本同步功能可以方便的将本设备的脚本内容同步至云端,如果有多台设备请勾选同步删除选项,当本设备脚本删除时,会从云端删除对应的脚本,也会将其它设备的脚本删除。",
|
||||
"auto": "自动",
|
||||
"hide": "隐藏",
|
||||
"resize_column_width": "调整列宽",
|
||||
"collapse": "收起",
|
||||
"expand": "展开",
|
||||
"menu_expand_num_before": "菜单项超过",
|
||||
"menu_expand_num_after": "个时,自动隐藏"
|
||||
}
|
362
src/locales/zh-TW/translation.json
Normal file
362
src/locales/zh-TW/translation.json
Normal file
@ -0,0 +1,362 @@
|
||||
{
|
||||
"import_link": "鏈接導入",
|
||||
"import_link_failure": "鏈接導入失敗",
|
||||
"create_user_script": "新建普通腳本",
|
||||
"create_background_script": "新建後台腳本",
|
||||
"create_scheduled_script": "新建定時腳本",
|
||||
"import_by_local": "本地导入",
|
||||
"import_local_failure": "本地导入失败",
|
||||
"import_local_success": "本地导入成功",
|
||||
"create_script": "新建腳本",
|
||||
"user_guide": "使用指南",
|
||||
"api_docs": "API文檔",
|
||||
"development_guide": "開發指南",
|
||||
"script_gallery": "腳本站",
|
||||
"community_forum": "社區論壇",
|
||||
"external_links": "外部鏈接",
|
||||
"system_follow": "跟隨系統",
|
||||
"no_data": "暫無數據",
|
||||
"installed_scripts": "已安裝腳本",
|
||||
"subscribe": "訂閱",
|
||||
"logs": "日誌",
|
||||
"tools": "工具",
|
||||
"settings": "設置",
|
||||
"collapsible": "收起側邊欄",
|
||||
"guide": "新手指引",
|
||||
"helpcenter": "幫助中心",
|
||||
"general": "通用",
|
||||
"language": "語言",
|
||||
"help_translate": "協助翻譯",
|
||||
"script_sync": "腳本同步",
|
||||
"sync_delete": "同步刪除",
|
||||
"enable_script_sync_to": "啟用腳本同步至",
|
||||
"save": "保存",
|
||||
"cloud_sync_account_verification": "雲同步帳號信息驗證中...",
|
||||
"cloud_sync_verification_failed": "雲同步帳號信息驗證失敗",
|
||||
"save_success": "保存成功",
|
||||
"update": "更新",
|
||||
"check_update": "檢查更新",
|
||||
"script_subscription_check_interval": "腳本/訂閱檢查更新間隔",
|
||||
"never": "從不",
|
||||
"6_hours": "6小時",
|
||||
"12_hours": "12小時",
|
||||
"every_day": "每天",
|
||||
"every_week": "每週",
|
||||
"update_disabled_scripts": "更新已禁用腳本",
|
||||
"silent_update_non_critical_changes": "非重要變更靜默更新腳本",
|
||||
"enable_eslint": "開啟 ESLint",
|
||||
"eslint_rules": "ESLint規則",
|
||||
"enter_eslint_rules": "請輸入 ESLint 規則,可以從 https://eslint.org/play/ 下載配置",
|
||||
"language_change_tip": "語言切換成功",
|
||||
"backup": "備份",
|
||||
"local": "本地",
|
||||
"export_file": "導出文件",
|
||||
"import_file": "導入文件",
|
||||
"cloud": "雲端",
|
||||
"backup_to": "備份至",
|
||||
"preparing_backup": "正在準備備份到雲端",
|
||||
"backup_success": "備份成功",
|
||||
"backup_failed": "備份失敗",
|
||||
"no_backup_files": "沒有備份文件",
|
||||
"backup_list": "備份列表",
|
||||
"open_backup_dir": "打開備份目錄",
|
||||
"confirm_delete": "確認刪除",
|
||||
"confirm_delete_backup_file": "確認刪除備份文件",
|
||||
"confirm_update": "確認更新",
|
||||
"delete_success": "刪除成功",
|
||||
"backup_strategy": "備份策略",
|
||||
"under_construction": "建設中",
|
||||
"development_debugging": "開發調試",
|
||||
"vscode_url": "VSCode地址",
|
||||
"auto_connect_vscode_service": "自動連接vscode服務",
|
||||
"connect": "連接",
|
||||
"connection_success": "連接成功",
|
||||
"connection_failed": "連接失敗",
|
||||
"select_import_script": "請在新頁面中選擇要導入的腳本",
|
||||
"import_error": "導入錯誤",
|
||||
"pulling_data_from_cloud": "正在從雲端拉取數據",
|
||||
"pull_failed": "拉取失敗",
|
||||
"restore": "恢復",
|
||||
"log_title": "運行日誌",
|
||||
"last_5_minutes": "最近5分鐘",
|
||||
"last_15_minutes": "最近15分鐘",
|
||||
"last_30_minutes": "最近30分鐘",
|
||||
"last_1_hour": "最近1小時",
|
||||
"last_3_hours": "最近3小時",
|
||||
"last_6_hours": "最近6小時",
|
||||
"last_12_hours": "最近12小時",
|
||||
"last_24_hours": "最近24小時",
|
||||
"last_7_days": "最近7天",
|
||||
"query": "查詢",
|
||||
"labels": "Labels",
|
||||
"search_regex": "搜索(支持正則)",
|
||||
"clean_schedule": "定時清理",
|
||||
"days_ago_logs": "天前的日誌",
|
||||
"delete_completed": "刪除完成",
|
||||
"delete_current_logs": "刪除當前日誌",
|
||||
"clear_completed": "清空完成",
|
||||
"clear_logs": "清空日誌",
|
||||
"total_logs": "共查詢到 {{length}} 筆日誌",
|
||||
"filtered_logs": "篩選後 {{length}} 條日誌",
|
||||
"enter_filter_conditions": "請輸入篩選條件進行查詢",
|
||||
"permission": "權限",
|
||||
"enter_subscribe_name": "請輸入訂閱名稱",
|
||||
"subscribe_url": "訂閱地址",
|
||||
"confirm_delete_subscription": "確定要刪除此訂閱嗎?相關的腳本也會被刪除",
|
||||
"list": {
|
||||
"confirm_delete": "確定要刪除嗎?請注意這個操作無法恢復!",
|
||||
"confirm_update": "確認要更新嗎?請注意此操作不可逆!"
|
||||
},
|
||||
"enable": "開啟",
|
||||
"script_list_enable_width": 100,
|
||||
"script_list_last_updated_width": 120,
|
||||
"script_list_apply_to_run_status_width": 140,
|
||||
"subscribe_list_enable_width": 100,
|
||||
"disable": "關閉",
|
||||
"name": "名稱",
|
||||
"version": "版本",
|
||||
"apply_to_run_status": "應用至/運行狀態",
|
||||
"source": "來源",
|
||||
"home": "主頁",
|
||||
"sorting": "排序",
|
||||
"last_updated": "最後更新",
|
||||
"action": "操作",
|
||||
"foreground_page_script_tooltip": "前臺頁面腳本,會在指定的頁面上運行",
|
||||
"background_script_tooltip": "後臺腳本,會在指定的頁面上運行",
|
||||
"scheduled_script_tooltip": "定時腳本,下一次運行時間:",
|
||||
"running": "運行中",
|
||||
"completed": "運行完畢",
|
||||
"subscription_link": "訂閱鏈接",
|
||||
"subscription_installation": "訂閱安裝",
|
||||
"manually_created": "手動新建",
|
||||
"script_link": "腳本鏈接",
|
||||
"user_installation": "用戶安裝",
|
||||
"confirm_delete_script": "確定要刪除此腳本嗎?",
|
||||
"delete_failed": "刪除失敗",
|
||||
"enter_script_name": "請輸入腳本名",
|
||||
"update_not_supported": "該腳本不支持檢查更新",
|
||||
"checking_for_updates": "檢查更新中...",
|
||||
"new_version_available": "存在新版本",
|
||||
"latest_version": "已經是最新版本",
|
||||
"checked_for_all_selected": "所選腳本皆已檢查更新",
|
||||
"update_check_failed": "檢查更新失敗",
|
||||
"stopping_script": "正在停止腳本",
|
||||
"script_stopped": "腳本已停止",
|
||||
"starting_script": "正在啟動腳本...",
|
||||
"starting_updates": "正在批量更新...",
|
||||
"script_started": "腳本已啟動",
|
||||
"batch_operations": "批量操作",
|
||||
"export": "導出",
|
||||
"delete": "刪除",
|
||||
"unknown_operation": "未知操作",
|
||||
"confirm": "確定",
|
||||
"close": "關閉",
|
||||
"page_script": "頁面腳本",
|
||||
"homepage": "腳本主頁",
|
||||
"script_website": "腳本站點",
|
||||
"script_source": "腳本源碼",
|
||||
"bug_feedback_script_support": "BUG反饋/腳本支持站點",
|
||||
"config": "配置",
|
||||
"key": "key",
|
||||
"value": "value",
|
||||
"add": "新增",
|
||||
"type": "類型",
|
||||
"edit_value": "編輯值",
|
||||
"add_value": "新增值",
|
||||
"update_success": "修改成功",
|
||||
"add_success": "添加成功",
|
||||
"script_storage": "腳本儲存",
|
||||
"enter_key": "請輸入key",
|
||||
"key_placeholder": "key",
|
||||
"value_placeholder": "當類型為object時,請輸入可以JSON解析的數據",
|
||||
"clear": "清空",
|
||||
"clear_success": "清除成功",
|
||||
"confirm_clear": "你真的要清空這個儲存空間嗎?",
|
||||
"type_string": "string",
|
||||
"type_number": "number",
|
||||
"type_boolean": "boolean",
|
||||
"type_object": "object",
|
||||
"confirm_delete_resource": "你確定刪除此資源嗎?在下次開啟時將會重新加載此資源",
|
||||
"confirm_clear_resource": "你真的要清空這些資源嗎?在下次開啟時將會重新加載資源",
|
||||
"script_resource": "腳本資源",
|
||||
"permission_value": "授權值",
|
||||
"allow": "是否允許",
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
"confirm_delete_permission": "確認刪除該授權?",
|
||||
"script_setting": "腳本設置",
|
||||
"basic_info": "基本信息",
|
||||
"update_url": "更新URL",
|
||||
"permission_management": "授權管理",
|
||||
"add_permission": "添加授權",
|
||||
"permission_cors": "跨域(cors)",
|
||||
"permission_cookie": "管理cookie",
|
||||
"match": "匹配",
|
||||
"user_setting": "用戶設定",
|
||||
"confirm_delete_exclude": "確認刪除該排除?",
|
||||
"after_deleting_match_item": "腳本設定的匹配項刪除後會自動添加到匹配項中",
|
||||
"confirm_delete_match": "確認刪除該匹配?",
|
||||
"after_deleting_exclude_item": "腳本設定的匹配項刪除後會自動添加到排除項中",
|
||||
"add_match": "添加匹配",
|
||||
"add_exclude": "添加排除",
|
||||
"website_match": "網站匹配(@match)",
|
||||
"reset": "重置",
|
||||
"website_exclude": "網站排除(@exclude)",
|
||||
"confirm_reset": "確定重置?",
|
||||
"script_total_runs": "該腳本總共運行了{{runNum}}次,在iframe上運行了{{runNumByIframe}}次",
|
||||
"script_total_runs_single": "該腳本運行了{{runNum}}次",
|
||||
"script_disabled": "該腳本未開啟",
|
||||
"run_once": "運行一次",
|
||||
"stop": "停止",
|
||||
"edit": "編輯",
|
||||
"exclude_on": "恢復在",
|
||||
"exclude_off": "排除在",
|
||||
"exclude_execution": "上執行",
|
||||
"user_config": "用戶配置",
|
||||
"gm_api": "GM Api",
|
||||
"storage_api": "Storage API",
|
||||
"use_file_system": "使用的文件系統",
|
||||
"open_directory": "打開目錄",
|
||||
"account_validation_failed": "帳號信息驗證失敗",
|
||||
"not_set": "未設置",
|
||||
"in_use": "使用中",
|
||||
"storage_error": "儲存錯誤",
|
||||
"upload_to_cloud": "上傳至雲",
|
||||
"save_failed": "保存失敗",
|
||||
"exporting": "導出中...",
|
||||
"upload_to": "上傳至",
|
||||
"value_export_expression": "值導出表達式",
|
||||
"overwrite_original_value_on_import": "導入時覆蓋原值",
|
||||
"cookie_export_expression": "cookie導出表達式",
|
||||
"overwrite_original_cookie_on_import": "導入時覆蓋原值",
|
||||
"restore_default_values": "恢復默認值",
|
||||
"get_confirm_error": "獲取確認信息失敗",
|
||||
"confirm_error": "確認失敗",
|
||||
"ignore": "忽略",
|
||||
"allow_once": "允許一次",
|
||||
"temporary_allow": "臨時允許此{{permissionContent}}",
|
||||
"temporary_allow_all": "臨時允許全部{{permissionContent}}",
|
||||
"permanent_allow": "永久允許此{{permissionContent}}",
|
||||
"permanent_allow_all": "永久允許全部{{permissionContent}}",
|
||||
"deny_once": "拒絕一次",
|
||||
"temporary_deny": "臨時拒絕此{{permissionContent}}",
|
||||
"temporary_deny_all": "臨時拒絕全部{{permissionContent}}",
|
||||
"permanent_deny": "永久拒絕此{{permissionContent}}",
|
||||
"permanent_deny_all": "永久拒絕全部{{permissionContent}}",
|
||||
"data_import": "數據導入",
|
||||
"import": "導入",
|
||||
"select_scripts_to_import": "請選擇你要導入的腳本",
|
||||
"select_all": "全選",
|
||||
"script_import_progress": "腳本導入進度",
|
||||
"select_subscribes_to_import": "請選擇你要導入的訂閱",
|
||||
"subscribe_import_progress": "訂閱導入進度",
|
||||
"author": "作者",
|
||||
"description": "描述",
|
||||
"operation": "操作",
|
||||
"error": "錯誤",
|
||||
"unknown": "未知",
|
||||
"add_new": "新增",
|
||||
"no_operation": "不做操作",
|
||||
"enable_script": "開啟腳本",
|
||||
"local_creation": "本地創建",
|
||||
"import_success": "導入成功",
|
||||
"install_script": "安裝",
|
||||
"update_script": "更新",
|
||||
"install_subscribe": "安裝訂閱",
|
||||
"update_subscribe": "更新訂閱",
|
||||
"invalid_link": "錯誤的鏈接",
|
||||
"subscribe_install_label": "該訂閱將會安裝下面的腳本",
|
||||
"script_runs_in": "腳本將在下面的網站中運行",
|
||||
"script_has_full_access_to": "腳本將獲得以下地址的完整訪問權限",
|
||||
"script_requires": "腳本引用了下列外部資源",
|
||||
"cookie_warning": "請注意,本腳本會申請 Cookie 的操作權限,這是一項危險的權限,請確認腳本的安全性。",
|
||||
"scheduled_script_description_1": "這是一個定時腳本,啟用後將在特定時間自動運行,並可在面板中手動控制。",
|
||||
"scheduled_script_description_2": "定時任務表達式:{{expression}},最近一次運行時間:{{time}}",
|
||||
"background_script_description": "這是一個後臺腳本,啟用後將在瀏覽器打開時自動運行一次,並可在面板中手動控制。",
|
||||
"install_success": "安裝成功",
|
||||
"install": {
|
||||
"update_success": "更新成功"
|
||||
},
|
||||
"install_failed": "安裝失敗",
|
||||
"subscribe_success": "訂閱成功",
|
||||
"subscribe_failed": "訂閱失敗",
|
||||
"current_version": "當前版本",
|
||||
"update_version": "更新版本",
|
||||
"background_script_tag": "這是一個後臺腳本",
|
||||
"scheduled_script_tag": "這是一個定時腳本",
|
||||
"background_script": "後臺腳本",
|
||||
"scheduled_script": "定時腳本",
|
||||
"install_from_legitimate_sources_warning": "請從合法來源安裝腳本!未知的腳本可能會侵犯您的隱私或者做出惡意的操作!",
|
||||
"antifeature_referral_link_title": "推薦鏈接",
|
||||
"antifeature_referral_link_description": "該腳本會修改或重定向到作者的返佣鏈接",
|
||||
"antifeature_ads_title": "附帶廣告",
|
||||
"antifeature_ads_description": "該腳本會在你訪問的頁面上插入廣告",
|
||||
"antifeature_payment_title": "付費腳本",
|
||||
"antifeature_payment_description": "該腳本需要你付費才能夠正常使用",
|
||||
"antifeature_miner_title": "挖礦",
|
||||
"antifeature_miner_description": "該腳本存在挖礦行為",
|
||||
"antifeature_membership_title": "會員功能",
|
||||
"antifeature_membership_description": "該腳本需要註冊會員才能正常使用",
|
||||
"antifeature_tracking_title": "信息追蹤",
|
||||
"antifeature_tracking_description": "該腳本會追蹤你的用户信息",
|
||||
"script_info_load_failed": "腳本信息加載失敗!",
|
||||
"script_status_tooltip": "可以控制腳本開啟狀態,普通油猴腳本默認開啟,後臺腳本、定時腳本默認關閉",
|
||||
"get_script": "獲取腳本",
|
||||
"report_issue": "BUG/問題反饋",
|
||||
"project_docs": "項目文檔",
|
||||
"community": "交流社區",
|
||||
"popup": {
|
||||
"new_version_available": "有新版本可用"
|
||||
},
|
||||
"current_page_scripts": "當前頁運行腳本",
|
||||
"enabled_background_scripts": "開啟和運行的後臺腳本",
|
||||
"script_accessing_cross_origin_resource": "腳本正在試圖訪問跨域資源",
|
||||
"confirm_operation_description": "請您確認是否允許腳本進行此操作,腳本也可增加@connect標籤跳過此選項",
|
||||
"domain": "域名",
|
||||
"script_name": "腳本名稱",
|
||||
"request_domain": "請求域名",
|
||||
"request_url": "請求地址",
|
||||
"access_cookie_content": "腳本正在試圖訪問網站cookie內容",
|
||||
"confirm_script_operation": "請您確認是否允許腳本進行此操作,cookie是一項重要的用戶數據,請務必只給信任的腳本授權.",
|
||||
"cookie_domain": "Cookie域",
|
||||
"script_operation_title": "腳本正在試圖操作腳本同步儲存空間",
|
||||
"script_operation_description": "請您確認是否允許腳本進行此操作,允許後將允許腳本操作你設定的儲存空間,腳本會在儲存空間下創建一個app/${dir}的目錄進行使用",
|
||||
"script_permission_content": "腳本",
|
||||
"sync_system_connect_failed": "同步系統連接失敗",
|
||||
"sync_system_closed": "已關閉同步",
|
||||
"sync_system_closed_description": "同步功能已關閉,請重新配置",
|
||||
"auth_type": "鑒權類型",
|
||||
"url": "URL",
|
||||
"username": "用戶名",
|
||||
"password": "密碼",
|
||||
"skip": "跳過",
|
||||
"next": "下一步",
|
||||
"back": "上一步",
|
||||
"last": "完成",
|
||||
"start_guide_title": "歡迎使用腳本貓擴展",
|
||||
"start_guide_content": "接下來我們將為您介紹腳本貓的基本使用方法",
|
||||
"guide_installed_scripts": "你所安裝的腳本將會在這裡顯示",
|
||||
"guide_script_list_title": "腳本市場",
|
||||
"guide_script_list_content": "可以從<Link href=\"https://scriptcat.org/search\">腳本市場</Link>中安裝腳本,腳本貓除了支持用戶腳本以外,還支持<Link href=\"https://docs.scriptcat.org/docs/dev/backgroud/\">後臺腳本</Link>",
|
||||
"guide_script_list_enable_title": "腳本開啟",
|
||||
"guide_script_list_enable_content": "腳本需要開啟才能使用,頁面腳本安裝默認開啟,後臺腳本安裝默認關閉",
|
||||
"guide_script_list_apply_to_run_status_title": "應用至、與運行狀態",
|
||||
"guide_script_list_apply_to_run_status_content": "腳本運行狀態展示,鼠標懸浮至標籤可以查看腳本類型",
|
||||
"guide_script_list_sort_title": "排序/最後更新/操作",
|
||||
"guide_script_list_sort_content": "你可以拖動腳本的標籤進行排序,點擊最後更新列標籤可以對腳本進行一次檢查更新,操作列可以進入腳本編輯、控制腳本的運行停止(後臺腳本)、設置<Link href=\"https://docs.scriptcat.org/docs/dev/config/\">UserConfig</Link>",
|
||||
"guide_tools_title": "常用工具",
|
||||
"guide_tools_content": "工具中提供了備份和開發的工具",
|
||||
"guide_tools_backup_title": "備份",
|
||||
"guide_tools_backup_content": "備份可以保存腳本,避免丟失。可以導出腳本文件到本地,也可以加載本地的腳本文件。也可以備份到雲端,更加方便。",
|
||||
"guide_setting_title": "設置",
|
||||
"guide_setting_content": "設置中主要包含了語言、腳本同步、更新頻率等常用設置項",
|
||||
"guide_setting_sync_title": "更新與同步",
|
||||
"guide_setting_sync_content": "脚本同步功能可以方便的将本设备的脚本内容同步至云端,如果有多台设备请勾选同步删除选项,当本设备脚本删除时,会从云端删除对应的脚本,也会将其它设备的脚本删除。",
|
||||
"auto": "自动",
|
||||
"hide": "隐藏",
|
||||
"resize_column_width": "调整列宽",
|
||||
"collapse": "收起",
|
||||
"expand": "展开",
|
||||
"menu_expand_num_before": "菜单项超过",
|
||||
"menu_expand_num_after": "个时,自动隐藏"
|
||||
}
|
457
src/types/scriptcat.d.ts
vendored
Normal file
457
src/types/scriptcat.d.ts
vendored
Normal file
@ -0,0 +1,457 @@
|
||||
// @copyright https://github.com/silverwzw/Tampermonkey-Typescript-Declaration
|
||||
|
||||
declare const unsafeWindow: Window;
|
||||
|
||||
declare type ConfigType = "text" | "checkbox" | "select" | "mult-select" | "number" | "textarea" | "time";
|
||||
|
||||
declare interface Config {
|
||||
[key: string]: unknown;
|
||||
title: string;
|
||||
description: string;
|
||||
default?: unknown;
|
||||
type?: ConfigType;
|
||||
bind?: string;
|
||||
values?: unknown[];
|
||||
password?: boolean;
|
||||
// 文本类型时是字符串长度,数字类型时是最大值
|
||||
max?: number;
|
||||
min?: number;
|
||||
rows?: number; // textarea行数
|
||||
}
|
||||
|
||||
declare type UserConfig = { [key: string]: { [key: string]: Config } };
|
||||
|
||||
declare const GM_info: {
|
||||
version: string;
|
||||
scriptWillUpdate: boolean;
|
||||
scriptHandler: "ScriptCat";
|
||||
scriptUpdateURL?: string;
|
||||
// scriptSource: string;
|
||||
scriptMetaStr?: string;
|
||||
userConfig?: UserConfig;
|
||||
userConfigStr?: string;
|
||||
// isIncognito: boolean;
|
||||
// downloadMode: "native" | "disabled" | "browser";
|
||||
script: {
|
||||
author?: string;
|
||||
description?: string;
|
||||
// excludes: string[];
|
||||
grant: string[];
|
||||
header: string;
|
||||
// homepage?: string;
|
||||
icon?: string;
|
||||
icon64?: string;
|
||||
includes?: string[];
|
||||
// lastModified: number;
|
||||
matches: string[];
|
||||
name: string;
|
||||
namespace?: string;
|
||||
// position: number;
|
||||
"run-at": string;
|
||||
// resources: string[];
|
||||
// unwrap: boolean;
|
||||
version: string;
|
||||
/* options: {
|
||||
awareOfChrome: boolean;
|
||||
run_at: string;
|
||||
noframes?: boolean;
|
||||
compat_arrayLeft: boolean;
|
||||
compat_foreach: boolean;
|
||||
compat_forvarin: boolean;
|
||||
compat_metadata: boolean;
|
||||
compat_uW_gmonkey: boolean;
|
||||
override: {
|
||||
orig_excludes: string[];
|
||||
orig_includes: string[];
|
||||
use_includes: string[];
|
||||
use_excludes: string[];
|
||||
[key: string]: any;
|
||||
};
|
||||
[key: string]: any;
|
||||
}; */
|
||||
[key: string]: unknown;
|
||||
};
|
||||
[key: string]: unknown;
|
||||
};
|
||||
|
||||
declare function GM_addStyle(css: string): HTMLElement;
|
||||
|
||||
declare function GM_deleteValue(name: string): void;
|
||||
|
||||
declare function GM_listValues(): string[];
|
||||
|
||||
declare function GM_addValueChangeListener(name: string, listener: GMTypes.ValueChangeListener): number;
|
||||
|
||||
declare function GM_removeValueChangeListener(listenerId: number): void;
|
||||
|
||||
// 可以使用Promise实际等待值的设置完成
|
||||
declare function GM_setValue(name: string, value: unknown): Promise;
|
||||
|
||||
declare function GM_getValue(name: string, defaultValue?: unknown): unknown;
|
||||
|
||||
// 支持level和label
|
||||
declare function GM_log(message: string, level?: GMTypes.LoggerLevel, labels?: GMTypes.LoggerLabel): unknown;
|
||||
|
||||
declare function GM_getResourceText(name: string): string | undefined;
|
||||
|
||||
declare function GM_getResourceURL(name: string, isBlobUrl?: boolean = false): string | undefined;
|
||||
|
||||
declare function GM_registerMenuCommand(name: string, listener: () => void, accessKey?: string): number;
|
||||
|
||||
declare function GM_unregisterMenuCommand(id: number): void;
|
||||
|
||||
declare function GM_openInTab(url: string, options: GMTypes.OpenTabOptions): tab;
|
||||
declare function GM_openInTab(url: string, loadInBackground: boolean): tab;
|
||||
declare function GM_openInTab(url: string): tab;
|
||||
|
||||
declare function GM_xmlhttpRequest(details: GMTypes.XHRDetails): GMTypes.AbortHandle<void>;
|
||||
|
||||
declare function GM_download(details: GMTypes.DownloadDetails): GMTypes.AbortHandle<boolean>;
|
||||
declare function GM_download(url: string, filename: string): GMTypes.AbortHandle<boolean>;
|
||||
|
||||
declare function GM_getTab(callback: (obj: object) => unknown): void;
|
||||
|
||||
declare function GM_saveTab(obj: object): Promise<void>;
|
||||
|
||||
declare function GM_getTabs(callback: (objs: { [key: number]: object }) => unknown): void;
|
||||
|
||||
declare function GM_notification(details: GMTypes.NotificationDetails, ondone?: GMTypes.NotificationOnDone): void;
|
||||
declare function GM_notification(
|
||||
text: string,
|
||||
title: string,
|
||||
image: string,
|
||||
onclick?: GMTypes.NotificationOnClick
|
||||
): void;
|
||||
|
||||
declare function GM_closeNotification(id: string): void;
|
||||
|
||||
declare function GM_updateNotification(id: string, details: GMTypes.NotificationDetails): void;
|
||||
|
||||
declare function GM_setClipboard(data: string, info?: string | { type?: string; minetype?: string }): void;
|
||||
|
||||
declare function GM_addElement(tag: string, attribubutes: unknown);
|
||||
declare function GM_addElement(parentNode: Element, tag: string, attrs: unknown);
|
||||
|
||||
// name和domain不能都为空
|
||||
declare function GM_cookie(
|
||||
action: GMTypes.CookieAction,
|
||||
details: GMTypes.CookieDetails,
|
||||
ondone: (cookie: GMTypes.Cookie[], error: unknown | undefined) => void
|
||||
): void;
|
||||
|
||||
/**
|
||||
* 可以通过GM_addValueChangeListener获取tabid
|
||||
* 再通过tabid(前后端通信可能用到,ValueChangeListener会返回tabid),获取storeid,后台脚本用.
|
||||
* 请注意这是一个实验性质的API,后续可能会改变
|
||||
* @param tabid 页面的tabid
|
||||
* @param ondone 完成事件
|
||||
* @param callback.storeid 该页面的storeid,可以给GM_cookie使用
|
||||
* @param callback.error 错误信息
|
||||
* @deprecated 已废弃,请使用GM_cookie("store", tabid)替代
|
||||
*/
|
||||
declare function GM_getCookieStore(
|
||||
tabid: number,
|
||||
ondone: (storeId: number | undefined, error: unknown | undefined) => void
|
||||
): void;
|
||||
|
||||
/**
|
||||
* 设置浏览器代理
|
||||
* @deprecated 正式版中已废弃,后续可能会在beta版本中添加
|
||||
*/
|
||||
declare function CAT_setProxy(rule: CATType.ProxyRule[] | string): void;
|
||||
|
||||
/**
|
||||
* 清理所有代理规则
|
||||
* @deprecated 正式版中已废弃,后续可能会在beta版本中添加
|
||||
*/
|
||||
declare function CAT_clearProxy(): void;
|
||||
|
||||
/**
|
||||
* 输入x、y,模拟真实点击
|
||||
* @deprecated 正式版中已废弃,后续可能会在beta版本中添加
|
||||
*/
|
||||
declare function CAT_click(x: number, y: number): void;
|
||||
|
||||
/**
|
||||
* 打开脚本的用户配置页面
|
||||
*/
|
||||
declare function CAT_userConfig(): void;
|
||||
|
||||
/**
|
||||
* 操控管理器设置的储存系统,将会在目录下创建一个app/uuid目录供此 API 使用,如果指定了baseDir参数,则会使用baseDir作为基础目录
|
||||
* 上传时默认覆盖同名文件
|
||||
* @param action 操作类型 list 列出指定目录所有文件, upload 上传文件, download 下载文件, delete 删除文件, config 打开配置页, 暂时不提供move/mkdir等操作
|
||||
* @param details
|
||||
*/
|
||||
declare function CAT_fileStorage(
|
||||
action: "list",
|
||||
details: {
|
||||
// 文件路径
|
||||
path?: string;
|
||||
// 基础目录,如果未设置,则将脚本uuid作为目录
|
||||
baseDir?: string;
|
||||
onload?: (files: CATType.FileStorageFileInfo[]) => void;
|
||||
onerror?: (error: CATType.FileStorageError) => void;
|
||||
}
|
||||
): void;
|
||||
declare function CAT_fileStorage(
|
||||
action: "download",
|
||||
details: {
|
||||
file: CATType.FileStorageFileInfo; // 某些平台需要提供文件的hash值,所以需要传入文件信息
|
||||
onload: (data: Blob) => void;
|
||||
// onprogress?: (progress: number) => void;
|
||||
onerror?: (error: CATType.FileStorageError) => void;
|
||||
// public?: boolean;
|
||||
}
|
||||
): void;
|
||||
declare function CAT_fileStorage(
|
||||
action: "delete",
|
||||
details: {
|
||||
path: string;
|
||||
onload?: () => void;
|
||||
onerror?: (error: CATType.FileStorageError) => void;
|
||||
// public?: boolean;
|
||||
}
|
||||
): void;
|
||||
declare function CAT_fileStorage(
|
||||
action: "upload",
|
||||
details: {
|
||||
path: string;
|
||||
// 基础目录,如果未设置,则将脚本uuid作为目录
|
||||
baseDir?: string;
|
||||
data: Blob;
|
||||
onload?: () => void;
|
||||
// onprogress?: (progress: number) => void;
|
||||
onerror?: (error: CATType.FileStorageError) => void;
|
||||
// public?: boolean;
|
||||
}
|
||||
): void;
|
||||
declare function CAT_fileStorage(action: "config"): void;
|
||||
|
||||
/**
|
||||
* 脚本猫后台脚本重试, 当你的脚本出现错误时, 可以reject返回此错误, 以便脚本猫重试
|
||||
* 重试时间请注意不要与脚本执行时间冲突, 否则可能会导致重复执行, 最小重试时间为5s
|
||||
* @class CATRetryError
|
||||
*/
|
||||
declare class CATRetryError {
|
||||
/**
|
||||
* constructor 构造函数
|
||||
* @param {string} message 错误信息
|
||||
* @param {number} seconds x秒后重试, 单位秒
|
||||
*/
|
||||
constructor(message: string, seconds: number);
|
||||
|
||||
/**
|
||||
* constructor 构造函数
|
||||
* @param {string} message 错误信息
|
||||
* @param {Date} date 重试时间, 指定时间后重试
|
||||
*/
|
||||
constructor(message: string, date: Date);
|
||||
}
|
||||
|
||||
declare namespace CATType {
|
||||
interface ProxyRule {
|
||||
proxyServer: ProxyServer;
|
||||
matchUrl: string[];
|
||||
}
|
||||
|
||||
type ProxyScheme = "http" | "https" | "quic" | "socks4" | "socks5";
|
||||
|
||||
interface ProxyServer {
|
||||
scheme?: ProxyScheme;
|
||||
host: string;
|
||||
port?: number;
|
||||
}
|
||||
|
||||
interface FileStorageError {
|
||||
// 错误码 -1 未知错误 1 用户未配置文件储存源 2 文件储存源配置错误 3 路径不存在
|
||||
// 4 上传失败 5 下载失败 6 删除失败 7 不允许的文件路径 8 网络类型的错误
|
||||
code: -1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
||||
error: string;
|
||||
}
|
||||
|
||||
interface FileStorageFileInfo {
|
||||
// 文件名
|
||||
name: string;
|
||||
// 文件路径
|
||||
path: string;
|
||||
// 储存空间绝对路径
|
||||
absPath: string;
|
||||
// 文件大小
|
||||
size: number;
|
||||
// 文件摘要
|
||||
digest: string;
|
||||
// 文件创建时间
|
||||
createtime: number;
|
||||
// 文件修改时间
|
||||
updatetime: number;
|
||||
}
|
||||
}
|
||||
|
||||
declare namespace GMTypes {
|
||||
/*
|
||||
* store为获取隐身窗口之类的cookie,这是一个实验性质的API,后续可能会改变
|
||||
*/
|
||||
type CookieAction = "list" | "delete" | "set" | "store";
|
||||
|
||||
type LoggerLevel = "debug" | "info" | "warn" | "error";
|
||||
|
||||
type LoggerLabel = {
|
||||
[key: string]: string | boolean | number | undefined;
|
||||
};
|
||||
|
||||
interface CookieDetails {
|
||||
url?: string;
|
||||
name?: string;
|
||||
value?: string;
|
||||
domain?: string;
|
||||
path?: string;
|
||||
secure?: boolean;
|
||||
session?: boolean;
|
||||
storeId?: string;
|
||||
httpOnly?: boolean;
|
||||
expirationDate?: number;
|
||||
// store用
|
||||
tabId?: number;
|
||||
}
|
||||
|
||||
interface Cookie {
|
||||
domain: string;
|
||||
name: string;
|
||||
storeId: string;
|
||||
value: string;
|
||||
session: boolean;
|
||||
hostOnly: boolean;
|
||||
expirationDate?: number;
|
||||
path: string;
|
||||
httpOnly: boolean;
|
||||
secure: boolean;
|
||||
}
|
||||
|
||||
// tabid是只有后台脚本监听才有的参数
|
||||
type ValueChangeListener = (
|
||||
name: string,
|
||||
oldValue: unknown,
|
||||
newValue: unknown,
|
||||
remote: boolean,
|
||||
tabid?: number
|
||||
) => unknown;
|
||||
|
||||
interface OpenTabOptions {
|
||||
active?: boolean;
|
||||
insert?: boolean;
|
||||
setParent?: boolean;
|
||||
useOpen?: boolean; // 这是一个实验性/不兼容其他管理器/不兼容Firefox的功能
|
||||
}
|
||||
|
||||
interface XHRResponse {
|
||||
finalUrl?: string;
|
||||
readyState?: 0 | 1 | 2 | 3 | 4;
|
||||
responseHeaders?: string;
|
||||
status?: number;
|
||||
statusText?: string;
|
||||
response?: string | Blob | ArrayBuffer | Document | ReadableStream | null;
|
||||
responseText?: string;
|
||||
responseXML?: Document | null;
|
||||
responseType?: "text" | "arraybuffer" | "blob" | "json" | "document" | "stream";
|
||||
}
|
||||
|
||||
interface XHRProgress extends XHRResponse {
|
||||
done: number;
|
||||
lengthComputable: boolean;
|
||||
loaded: number;
|
||||
position?: number;
|
||||
total: number;
|
||||
totalSize: number;
|
||||
}
|
||||
|
||||
type Listener<OBJ> = (event: OBJ) => unknown;
|
||||
type ContextType = unknown;
|
||||
|
||||
interface XHRDetails {
|
||||
method?: "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "PATCH" | "OPTIONS";
|
||||
url: string;
|
||||
headers?: { [key: string]: string };
|
||||
data?: string | FormData | Blob;
|
||||
cookie?: string;
|
||||
binary?: boolean;
|
||||
timeout?: number;
|
||||
context?: ContextType;
|
||||
responseType?: "text" | "arraybuffer" | "blob" | "json" | "document" | "stream"; // stream 在当前版本是一个较为简陋的实现
|
||||
overrideMimeType?: string;
|
||||
anonymous?: boolean;
|
||||
fetch?: boolean;
|
||||
user?: string;
|
||||
password?: string;
|
||||
nocache?: boolean;
|
||||
maxRedirects?: number;
|
||||
|
||||
onload?: Listener<XHRResponse>;
|
||||
onloadstart?: Listener<XHRResponse>;
|
||||
onloadend?: Listener<XHRResponse>;
|
||||
onprogress?: Listener<XHRProgress>;
|
||||
onreadystatechange?: Listener<XHRResponse>;
|
||||
ontimeout?: () => void;
|
||||
onabort?: () => void;
|
||||
onerror?: (err: string) => void;
|
||||
}
|
||||
|
||||
interface AbortHandle<RETURN_TYPE> {
|
||||
abort(): RETURN_TYPE;
|
||||
}
|
||||
|
||||
interface DownloadError {
|
||||
error: "not_enabled" | "not_whitelisted" | "not_permitted" | "not_supported" | "not_succeeded" | "unknown";
|
||||
details?: string;
|
||||
}
|
||||
|
||||
interface DownloadDetails {
|
||||
method?: "GET" | "POST";
|
||||
url: string;
|
||||
name: string;
|
||||
headers?: { [key: string]: string };
|
||||
saveAs?: boolean;
|
||||
timeout?: number;
|
||||
cookie?: string;
|
||||
anonymous?: boolean;
|
||||
|
||||
onerror?: Listener<DownloadError>;
|
||||
ontimeout?: () => void;
|
||||
onload?: Listener<object>;
|
||||
onprogress?: Listener<XHRProgress>;
|
||||
}
|
||||
|
||||
interface NotificationThis extends NotificationDetails {
|
||||
id: string;
|
||||
}
|
||||
|
||||
type NotificationOnClick = (this: NotificationThis, id: string, index?: number) => unknown;
|
||||
type NotificationOnDone = (this: NotificationThis, user: boolean) => unknown;
|
||||
|
||||
interface NotificationButton {
|
||||
title: string;
|
||||
iconUrl?: string;
|
||||
}
|
||||
|
||||
interface NotificationDetails {
|
||||
text?: string;
|
||||
title?: string;
|
||||
image?: string;
|
||||
highlight?: boolean;
|
||||
silent?: boolean;
|
||||
timeout?: number;
|
||||
onclick?: NotificationOnClick;
|
||||
ondone?: NotificationOnDone;
|
||||
progress?: number;
|
||||
oncreate?: NotificationOnClick;
|
||||
buttons?: NotificationButton[];
|
||||
}
|
||||
|
||||
interface Tab {
|
||||
close(): void;
|
||||
|
||||
onclose?: () => void;
|
||||
closed?: boolean;
|
||||
name?: string;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user