mirror of
https://github.com/Kuingsmile/PicList.git
synced 2026-05-06 20:42:57 +08:00
✨ Feature(custom): split i18n in main and renderer, use vue-i18n
This commit is contained in:
326
.github/workflows/i18n-check.yml
vendored
326
.github/workflows/i18n-check.yml
vendored
@@ -1,326 +0,0 @@
|
||||
name: 'I18n Check - Find Unused Translation Keys'
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
auto_fix:
|
||||
description: 'Automatically remove unused keys and create PR'
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
pull_request:
|
||||
branches: [ main, dev ]
|
||||
paths:
|
||||
- 'src/**/*.vue'
|
||||
- 'src/**/*.ts'
|
||||
- 'src/**/*.js'
|
||||
- 'public/i18n/**/*.yml'
|
||||
- 'scripts/find-unused-i18n.mjs'
|
||||
- '.github/workflows/i18n-check.yml'
|
||||
push:
|
||||
branches: [ main, dev ]
|
||||
paths:
|
||||
- 'public/i18n/**/*.yml'
|
||||
|
||||
env:
|
||||
NODE_OPTIONS: '--max-old-space-size=4096'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
i18n-check:
|
||||
name: Check for Unused I18n Keys
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --frozen-lockfile
|
||||
|
||||
- name: Run i18n unused keys check
|
||||
id: i18n-check
|
||||
run: |
|
||||
echo "Running i18n unused keys analysis..."
|
||||
|
||||
# Run the script and capture output
|
||||
OUTPUT=$(node scripts/find-unused-i18n.mjs 2>&1)
|
||||
EXIT_CODE=$?
|
||||
|
||||
# Save the output to a file for the job summary
|
||||
echo "$OUTPUT" > i18n-check-output.txt
|
||||
|
||||
# Also output to console
|
||||
echo "$OUTPUT"
|
||||
|
||||
# Check if there are unused keys by looking for the specific pattern in output
|
||||
if echo "$OUTPUT" | grep -q "🗑️ Unused I18n Keys:"; then
|
||||
echo "unused_keys_found=true" >> $GITHUB_OUTPUT
|
||||
echo "❌ Found unused i18n keys!"
|
||||
exit 1
|
||||
else
|
||||
echo "unused_keys_found=false" >> $GITHUB_OUTPUT
|
||||
echo "✅ No unused i18n keys found!"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
- name: Generate Job Summary
|
||||
if: always()
|
||||
run: |
|
||||
echo "## 🌐 I18n Keys Analysis Report" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
|
||||
if [ -f i18n-check-output.txt ]; then
|
||||
echo "### 📊 Analysis Results" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
||||
cat i18n-check-output.txt >> $GITHUB_STEP_SUMMARY
|
||||
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
|
||||
if [ "${{ steps.i18n-check.outputs.unused_keys_found }}" = "true" ]; then
|
||||
echo "### ❌ Action Required" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Unused i18n keys were found. Consider:" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- Removing unused keys from locale files" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- Verifying that the keys are actually unused" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- Adding usage for keys that should be kept" >> $GITHUB_STEP_SUMMARY
|
||||
else
|
||||
echo "### ✅ All Clear" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "No unused i18n keys found. Great job maintaining clean translations! 🎉" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### 💡 Tips" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- Run \`yarn i18n:check\` locally to check for unused keys" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- Run \`yarn i18n:check:verbose\` for detailed usage information" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- This check runs automatically on PRs that modify Vue, TS, JS, or i18n files" >> $GITHUB_STEP_SUMMARY
|
||||
|
||||
- name: Upload analysis results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: i18n-analysis-results
|
||||
path: i18n-check-output.txt
|
||||
retention-days: 7
|
||||
|
||||
- name: Comment on PR (if unused keys found)
|
||||
if: github.event_name == 'pull_request' && steps.i18n-check.outputs.unused_keys_found == 'true'
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const fs = require('fs');
|
||||
|
||||
let output = '';
|
||||
try {
|
||||
output = fs.readFileSync('i18n-check-output.txt', 'utf8');
|
||||
} catch (error) {
|
||||
output = 'Unable to read analysis output';
|
||||
}
|
||||
|
||||
const body = `## 🌐 I18n Analysis Report
|
||||
|
||||
❌ **Unused i18n keys were found in this PR**
|
||||
|
||||
<details>
|
||||
<summary>📊 Click to view detailed analysis</summary>
|
||||
|
||||
\`\`\`
|
||||
${output}
|
||||
\`\`\`
|
||||
</details>
|
||||
|
||||
### 🔧 Action Required
|
||||
|
||||
Please review the unused keys listed above and consider:
|
||||
- **Removing** keys that are truly unused
|
||||
- **Verifying** that the detection is correct (some dynamic key usage might not be detected)
|
||||
- **Adding usage** for keys that should be kept
|
||||
|
||||
### 💡 Local Testing
|
||||
|
||||
You can run this analysis locally using:
|
||||
\`\`\`bash
|
||||
yarn i18n:check # Basic check
|
||||
yarn i18n:check:verbose # Detailed output with usage examples
|
||||
\`\`\`
|
||||
|
||||
---
|
||||
*This comment was automatically generated by the I18n Check workflow.*`;
|
||||
|
||||
github.rest.issues.createComment({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body: body
|
||||
});
|
||||
|
||||
locale-consistency-check:
|
||||
name: Check Locale File Consistency
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --frozen-lockfile
|
||||
|
||||
- name: Check locale files consistency
|
||||
run: |
|
||||
echo "Checking if all locale files have the same structure..."
|
||||
|
||||
# Run the i18n script in verbose mode to also check for inconsistencies
|
||||
node scripts/find-unused-i18n.mjs --verbose > locale-check.txt 2>&1
|
||||
|
||||
# Check if there are inconsistencies reported
|
||||
if grep -q "⚠️ Locale Inconsistencies:" locale-check.txt; then
|
||||
echo "❌ Found locale inconsistencies!"
|
||||
cat locale-check.txt
|
||||
exit 1
|
||||
else
|
||||
echo "✅ All locale files are consistent!"
|
||||
fi
|
||||
|
||||
- name: Generate Consistency Report
|
||||
if: always()
|
||||
run: |
|
||||
echo "## 🔄 Locale Consistency Check" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
|
||||
if grep -q "⚠️ Locale Inconsistencies:" locale-check.txt 2>/dev/null; then
|
||||
echo "### ❌ Inconsistencies Found" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Some keys exist in one locale but not others:" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
||||
cat locale-check.txt >> $GITHUB_STEP_SUMMARY
|
||||
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
||||
else
|
||||
echo "### ✅ All Locale Files Consistent" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "All locale files have matching key structures. Perfect! 🎉" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
|
||||
auto-fix:
|
||||
name: Auto-fix Unused I18n Keys
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'workflow_dispatch' && github.event.inputs.auto_fix == 'true'
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --frozen-lockfile
|
||||
|
||||
- name: Check for unused keys before deletion
|
||||
id: check-before
|
||||
run: |
|
||||
echo "Checking for unused keys..."
|
||||
|
||||
# Check if there are unused keys
|
||||
if node scripts/find-unused-i18n.mjs | grep -q "🗑️ Unused I18n Keys:"; then
|
||||
echo "unused_keys_found=true" >> $GITHUB_OUTPUT
|
||||
echo "✅ Found unused keys to clean up"
|
||||
else
|
||||
echo "unused_keys_found=false" >> $GITHUB_OUTPUT
|
||||
echo "ℹ️ No unused keys found"
|
||||
fi
|
||||
|
||||
- name: Delete unused keys
|
||||
if: steps.check-before.outputs.unused_keys_found == 'true'
|
||||
run: |
|
||||
echo "🗑️ Removing unused i18n keys..."
|
||||
node scripts/find-unused-i18n.mjs --delete
|
||||
|
||||
- name: Regenerate TypeScript types
|
||||
if: steps.check-before.outputs.unused_keys_found == 'true'
|
||||
run: |
|
||||
echo "🔄 Regenerating TypeScript types..."
|
||||
yarn i18n
|
||||
|
||||
- name: Create Pull Request
|
||||
if: steps.check-before.outputs.unused_keys_found == 'true'
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
commit-message: 'feat(i18n): remove unused translation keys'
|
||||
title: '🗑️ Remove unused i18n translation keys'
|
||||
body: |
|
||||
## 🗑️ Automated I18n Cleanup
|
||||
|
||||
This PR automatically removes unused translation keys that were detected by the i18n analysis script.
|
||||
|
||||
### ✨ Changes Made
|
||||
|
||||
- Removed unused translation keys from all locale files
|
||||
- Regenerated TypeScript type definitions
|
||||
|
||||
### 🔍 Analysis Details
|
||||
|
||||
The unused keys were identified by scanning the entire codebase for i18n usage patterns including:
|
||||
- `$T('KEY')` - Template usage
|
||||
- `T('KEY')` - Script usage
|
||||
- `i18nManager.T('KEY')` - Direct manager usage
|
||||
- Dynamic patterns with template literals
|
||||
|
||||
### ⚠️ Review Required
|
||||
|
||||
Please review the changes to ensure:
|
||||
- No keys were removed that are used in ways not detected by the script
|
||||
- All locale files maintain consistency
|
||||
- The TypeScript types were properly regenerated
|
||||
|
||||
---
|
||||
*This PR was automatically created by the I18n Auto-fix workflow.*
|
||||
branch: feat/cleanup-unused-i18n-keys
|
||||
delete-branch: true
|
||||
|
||||
- name: Generate Summary
|
||||
run: |
|
||||
if [ "${{ steps.check-before.outputs.unused_keys_found }}" = "true" ]; then
|
||||
echo "## 🗑️ I18n Auto-fix Completed" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "✅ Successfully removed unused translation keys and created a pull request." >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### 📝 Next Steps" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "1. Review the created pull request" >> $GITHUB_STEP_SUMMARY
|
||||
echo "2. Verify that no important keys were removed" >> $GITHUB_STEP_SUMMARY
|
||||
echo "3. Test the application to ensure everything works correctly" >> $GITHUB_STEP_SUMMARY
|
||||
echo "4. Merge the pull request when ready" >> $GITHUB_STEP_SUMMARY
|
||||
else
|
||||
echo "## ℹ️ No Action Needed" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "No unused i18n keys were found. Your translations are already clean! 🎉" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
@@ -1,8 +1,9 @@
|
||||
import { resolve } from 'node:path'
|
||||
import { dirname, resolve } from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite'
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
|
||||
|
||||
export default defineConfig({
|
||||
main: {
|
||||
// Main process configuration
|
||||
@@ -22,7 +23,13 @@ export default defineConfig({
|
||||
},
|
||||
preload: {
|
||||
// Preload scripts configuration
|
||||
plugins: [externalizeDepsPlugin()],
|
||||
plugins: [externalizeDepsPlugin(),
|
||||
VueI18nPlugin({
|
||||
/* options */
|
||||
// locale messages resource pre-compile option
|
||||
include: resolve(dirname(fileURLToPath(import.meta.url)), './src/renderer/i18n/locales/**')
|
||||
})
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': resolve('src/renderer'),
|
||||
|
||||
12
package.json
12
package.json
@@ -24,10 +24,6 @@
|
||||
"cz": "git-cz",
|
||||
"dev": "electron-vite dev --watch",
|
||||
"i18n": "node ./scripts/gen-i18n-types.js",
|
||||
"i18n:check": "node ./scripts/find-unused-i18n.js",
|
||||
"i18n:check:verbose": "node ./scripts/find-unused-i18n.js --verbose",
|
||||
"i18n:clean": "node ./scripts/find-unused-i18n.js --delete",
|
||||
"i18n:clean:dry-run": "node ./scripts/find-unused-i18n.js --delete --dry-run",
|
||||
"link": "node ./scripts/link.js",
|
||||
"lint": "eslint --ext .js,.jsx,.ts,.tsx,.vue src/",
|
||||
"lint:dpdm": "dpdm -T --tsconfig ./tsconfig.json --no-tree --no-warning --exit-code circular:1 src/main/index.ts",
|
||||
@@ -78,8 +74,8 @@
|
||||
"node-ssh-no-cpu-features": "^2.0.0",
|
||||
"nodejs-file-downloader": "^4.13.0",
|
||||
"piclist": "file:../piclist-core",
|
||||
"pinia": "^2.1.7",
|
||||
"pinia-plugin-persistedstate": "^3.2.1",
|
||||
"pinia": "^3.0.3",
|
||||
"pinia-plugin-persistedstate": "^4.4.1",
|
||||
"proxy-agent": "^6.5.0",
|
||||
"qiniu": "7.14.0",
|
||||
"qrcode.vue": "^3.6.0",
|
||||
@@ -91,6 +87,7 @@
|
||||
"uuid": "^11.1.0",
|
||||
"video.js": "^8.23.3",
|
||||
"vue": "^3.5.18",
|
||||
"vue-i18n": "^11.1.11",
|
||||
"vue-router": "^4.5.1",
|
||||
"vue3-lazyload": "^0.3.8",
|
||||
"vue3-photo-preview": "^0.3.0",
|
||||
@@ -100,6 +97,7 @@
|
||||
"devDependencies": {
|
||||
"@electron/notarize": "^3.0.1",
|
||||
"@eslint/js": "^9.32.0",
|
||||
"@intlify/unplugin-vue-i18n": "^6.0.8",
|
||||
"@types/ali-oss": "^6.16.11",
|
||||
"@types/fs-extra": "^11.0.4",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
@@ -125,7 +123,7 @@
|
||||
"eslint-plugin-prettier": "^5.5.3",
|
||||
"eslint-plugin-simple-import-sort": "^12.1.1",
|
||||
"eslint-plugin-unicorn": "^60.0.0",
|
||||
"eslint-plugin-vue": "^10.3.0",
|
||||
"eslint-plugin-vue": "^10.4.0",
|
||||
"husky": "^9.1.7",
|
||||
"node-bump-version": "^2.0.0",
|
||||
"npm-check-updates": "^18.0.2",
|
||||
|
||||
@@ -5,16 +5,13 @@ OPEN_MINI_WINDOW: Open Mini Window
|
||||
HIDE_MINI_WINDOW: Hide Mini Window
|
||||
CHOOSE_DEFAULT_PICBED: Choose Default Picbed
|
||||
RELOAD_APP: Reload App
|
||||
UPLOAD_FAILED: Upload Failed
|
||||
UPLOAD_SUCCEED: Upload Succeed
|
||||
UPLOAD_FAILED: Upload Failed
|
||||
UPLOAD_PROGRESS: Upload Progress
|
||||
OPERATION_SUCCEED: Operation Succeed
|
||||
OPERATION_FAILED: Operation Failed
|
||||
UPLOADING: Uploading
|
||||
QUICK_UPLOAD: Quick Upload
|
||||
UPLOAD_BY_CLIPBOARD: Upload by Clipboard
|
||||
SHOW_PICBED_QRCODE: Show Picbed Qrcode
|
||||
PICBED_QRCODE: Picbed Qrcode
|
||||
ENABLE: Enable
|
||||
DISABLE: Disable
|
||||
CONFIG_THING: Config ${c}
|
||||
@@ -28,18 +25,6 @@ START_WATCH_CLIPBOARD: Start Watch Clipboard
|
||||
STOP_WATCH_CLIPBOARD: Stop Watch Clipboard
|
||||
OPEN_TOOLBOX: Open Toolbox
|
||||
TOOLBOX: Toolbox
|
||||
TOOLBOX_TITLE: Troubleshoot PicList runtime issues
|
||||
TOOLBOX_SUB_TITLE: Scan the following items immediately to fix usage issues
|
||||
TOOLBOX_CHECK_CONFIG_FILE_BROKEN: Check if the configuration file is damaged
|
||||
TOOLBOX_CHECK_GALLERY_FILE_BROKEN: Check if the album file is damaged
|
||||
TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD: Check if there is a problem with clipboard picture upload
|
||||
TOOLBOX_CHECK_PROBLEM_WITH_PROXY: Check if the proxy settings are normal
|
||||
TOOLBOX_FIX_DONE_NEED_RELOAD: Repair completed, need to restart to take effect, restart or not
|
||||
TOOLBOX_CANT_AUTO_FIX: Unable to automatically repair, please repair the following problems yourself
|
||||
TOOLBOX_START_SCAN: Start scanning
|
||||
TOOLBOX_RE_SCAN: Re scanning
|
||||
TOOLBOX_START_FIX: Start fixing
|
||||
TOOLBOX_SUCCESS_TIPS: Congratulations, no problems were found
|
||||
TOOLBOX_CHECK_CONFIG_FILE_PATH_TIPS: 'The configuration file path is: ${path}'
|
||||
TOOLBOX_CHECK_CONFIG_FILE_BROKEN_TIPS: The configuration file is damaged
|
||||
TOOLBOX_CHECK_GALLERY_FILE_PATH_TIPS: 'The album file path is: ${path}'
|
||||
@@ -51,865 +36,12 @@ TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_WORKING: Proxy settings unavailable
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_TIPS: 'The temporary folder path for clipboard pictures is: ${path}'
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS: 'The temporary folder for clipboard pictures does not exist: ${path}'
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_ERROR_TIPS: 'Please create the folder yourself: ${path}'
|
||||
MANUAL_PAGE_OPEN_TIP: Please select the way to open the manual
|
||||
MANUAL_PAGE_OPEN_TIP_TITLE: Tips
|
||||
MANUAL_PAGE_OPEN_BY_BROWSER: Browser
|
||||
MANUAL_PAGE_OPEN_BY_BUILD_IN: Built-in Window
|
||||
MANUAL_PAGE_OPEN_SETTING_TIP: Select the way to open the manual
|
||||
UPLOAD_AREA: Upload
|
||||
UPLOAD_VIEW_HINT: Click to open picbeds settings
|
||||
MANAGE_PAGE: Manage
|
||||
GALLERY: Gallery
|
||||
REFRESH: Refresh
|
||||
MANUAL: Manual
|
||||
PICBEDS_SETTINGS: Picbeds
|
||||
PICLIST_SETTINGS: Settings
|
||||
PLUGIN_SETTINGS: Plugins
|
||||
CHOOSE_PICBED: Choose Picbed
|
||||
COPY_PICBED_CONFIG: Copy Picbed Config
|
||||
COPY_PICBED_CONFIG_SUCCEED: Copy Picbed Config Succeed
|
||||
INPUT: Input
|
||||
CANCEL: Cancel
|
||||
CONFIRM: Confirm
|
||||
RESET_PICBED_CONFIG: Reset
|
||||
CHOOSE_SHOWED_PICBED: Choose Showed Picbed
|
||||
CHOOSE_PASTE_FORMAT: Choose Paste Format
|
||||
COPY: Copy
|
||||
DELETE: Delete
|
||||
SELECT_ALL: Select All
|
||||
CHANGE_IMAGE_URL: Change Image URL
|
||||
CHANGE_IMAGE_URL_SUCCEED: Change Image URL Succeed
|
||||
COPY_LINK_SUCCEED: Copy Link Succeed
|
||||
BATCH_COPY_LINK_SUCCEED: Batch Copy Link Succeed
|
||||
FILE_RENAME: File Rename
|
||||
OPEN_FILE_PATH: Open file path
|
||||
GALLERY_SYNC_DELETE: Cloud Sync Delete
|
||||
GALLERY_SYNC_DELETE_NOTICE_TITLE: Notice
|
||||
GALLERY_SYNC_DELETE_NOTICE_SUCCEED: Cloud Delete Succeed
|
||||
GALLERY_SYNC_DELETE_NOTICE_FAILED: Cloud Delete Failed
|
||||
GALLERY_CHANGE_URL: Rename
|
||||
GALLERY_SEARCH_FILENAME: Search by Filename
|
||||
GALLERY_SEARCH_URL: Search by URL
|
||||
GALLERY_MATCHED: ' Matched: '
|
||||
UPLOAD_PAGE_COPY_UPLOAD_API: Copy Upload API
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_NAME: Image Processing
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE: Image Processing Settings
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST: Skip Process Ext List
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS: Enter the file extensions to skip processing, separated by commas (e.g., jpg,png,gif)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM: Add Watermark
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE: Watermark Type
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT: Text
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE: Image
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM: Full-Screen Watermark
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE: Watermark Angle
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT: Watermark Text
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH: Watermark Font Path (download font file for the first time)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO: Watermark Size Ratio
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR: Watermark Color, Please select from the color picker
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMPATH: Watermark Image Path (leave blank to use default image)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION: Watermark Position
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF: Remove EXIF Info
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_QUALITY: Compression Quality(1-100)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT: Convert Format
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT: Destination Format
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC: 'Specific Format, Please enter in json format, e.g. {"png": "jpg"}'
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFLIP: Whether to flip vertically
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFLOP: Whether to flip horizontally
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE: Resize to fixed size
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH: Width(Set to 0 to scale by height)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT: Height(Set to 0 to scale by width)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_HEIGHT: Skip resize when image height is smaller than target height
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_WIDTH: Skip resize when image width is smaller than target width
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT: Resize by percentage (Higher priority)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT: Resize Percentage, enter 50 for 50%
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE: Rotate
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE: Rotation Angle
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM: Save
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CANCEL: Cancel
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP: top
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM: bottom
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT: left
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT: right
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT: top left
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT: top right
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT: bottom left
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT: bottom right
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER: center
|
||||
UPLOAD_SHORT_URL: Short
|
||||
UPLOAD_NORMAL_URL: Long
|
||||
SETTINGS: Settings
|
||||
SETTINGS_OPEN_CONFIG_FILE: Open Config File
|
||||
SETTINGS_MIGRATE_FROM_PICGO: Migrate from PicGo
|
||||
SETTINGS_MIGRATE_FROM_PICGO_TITLE: Notice
|
||||
SETTINGS_MIGRATE_FROM_PICGO_CONTENT: Migrate from PicGo will overwrite your current settings and gallery, do you want to continue?
|
||||
SETTINGS_MIGRATE_FROM_PICGO_SUCCESS: Import succeed, please restart PicList
|
||||
SETTINGS_MIGRATE_FROM_PICGO_FAILED: Import failed
|
||||
SETTINGS_START_MODE: Default Start Mode
|
||||
SETTINGS_START_MODE_MINI: Mini Window
|
||||
SETTINGS_START_MODE_MAIN: Main Window
|
||||
SETTINGS_START_MODE_NO_TRAY: No Tray
|
||||
SETTINGS_START_MODE_QUIET: Quiet Mode
|
||||
SETTINGS_CLICK_TO_OPEN: Click to Open
|
||||
SETTINGS_SET_LOG_FILE: Set Log File
|
||||
SETTINGS_CLICK_TO_SET: Click to Set
|
||||
SETTINGS_CLICK_TO_CHECK: Click to Check
|
||||
SETTINGS_SET_SHORTCUT: Set Shortcut
|
||||
SETTINGS_CUSTOM_LINK_FORMAT: Custom Link Format
|
||||
SETTINGS_SET_PROXY_AND_MIRROR: Set Proxy and Mirror
|
||||
SETTINGS_SET_SERVER: Set Server
|
||||
SETTINGS_CHECK_UPDATE: Check Update
|
||||
SETTINGS_OPEN_UPDATE_HELPER: Open Update Helper
|
||||
SETTINGS_OPEN: Open
|
||||
SETTINGS_CLOSE: Close
|
||||
SETTINGS_CLOSE_MINI_WINDOW_SYNC: Close Mini Window When open Main Window
|
||||
SETTINGS_CLOSE_MAIN_WINDOW_SYNC: Close Main Window When open Mini Window
|
||||
SETTINGS_LAUNCH_ON_BOOT: Launch On Boot
|
||||
SETTINGS_RENAME_BEFORE_UPLOAD: Manual Rename
|
||||
SETTINGS_TIMESTAMP_RENAME: Timestamp Rename
|
||||
SETTINGS_ADVANCED_RENAME: Advanced Rename
|
||||
SETTINGS_ADVANCED_RENAME_ENABLE: Enable Advanced Rename
|
||||
SETTINGS_ADVANCED_RENAME_FORMAT: Advanced Rename Format
|
||||
SETTINGS_ENABLE_SECOND_PICBED: Enable Second Picbed
|
||||
SETTINGS_SET_SECOND_PICBED: Set Second Picbed
|
||||
SETTINGS_OPEN_UPLOAD_TIPS: Open Upload Tips
|
||||
SETTINGS_OPEN_UPLOAD_RESULT_TIPS: Open Upload Result Tips
|
||||
SETTINGS_MINI_WINDOW_ON_TOP: Mini Window On Top
|
||||
SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD: Auto Copy URL After Upload
|
||||
SETTINGS_TIPS_PLACEHOLDER_URL: Use $url to represent url position
|
||||
SETTINGS_TIPS_PLACEHOLDER_FILENAME: Use $fileName to represent file name position
|
||||
SETTINGS_TIPS_PLACEHOLDER_EXTNAME: Use $extName to represent file's ext position
|
||||
SETTINGS_TIPS_SUCH_AS: 'Such as: $url/$fileName'
|
||||
SETTINGS_UPLOAD_PROXY: Upload Proxy
|
||||
SETTINGS_PLUGIN_INSTALL_PROXY: Proxy for Plugin Install
|
||||
SETTINGS_PLUGIN_INSTALL_MIRROR: Mirror for Plugin Install
|
||||
SETTINGS_CURRENT_VERSION: Current Version
|
||||
SETTINGS_NEWEST_VERSION: Newest Version
|
||||
SETTINGS_GETING: Getting...
|
||||
SETTINGS_TIPS_HAS_NEW_VERSION: PicList has a new version, please click confirm to restart
|
||||
SETTINGS_LOG_FILE_PATH: Log File Path
|
||||
SETTINGS_CONFIG_FILE_PATH: Config File Path
|
||||
SETTINGS_LOG_FILE: Log File
|
||||
SETTINGS_GUI_LOG_FILE: GUI Log File
|
||||
SETTINGS_MANAGE_LOG_FILE: Manage Log File
|
||||
SETTINGS_LOG_LEVEL: Log Level
|
||||
SETTINGS_LOG_FILE_SIZE: Log File Size
|
||||
SETTINGS_SET_PICGO_SERVER: Set PicGo Server
|
||||
SETTINGS_TIPS_SERVER_NOTICE: If you don't know what is the server's function, please read the document, or don't modify the configuration.
|
||||
SETTINGS_ENABLE_SERVER: Enable Server
|
||||
SETTINGS_SET_SERVER_HOST: Set Server Host
|
||||
SETTINGS_SET_SERVER_PORT: Set Server Port
|
||||
SETTINGS_SET_SERVER_KEY: Set Auth Key
|
||||
SETTINGS_SET_WEB_SERVER: Set Web Server
|
||||
SETTINGS_TIPS_WEB_SERVER_NOTICE: If you don't know what is the web server's function, please read the document, or don't modify the configuration.
|
||||
SETTINGS_SET_ENABLE_WEB_SERVER: Enable Web Server
|
||||
SETTINGS_SET_WEB_SERVER_HOST: Set Web Server Host
|
||||
SETTINGS_SET_WEB_SERVER_PORT: Set Web Server Port
|
||||
SETTINGS_SET_WEB_SERVER_PATH: Set Web Server Path
|
||||
SETTINGS_TIP_PLACEHOLDER_WEB_HOST: Default:127.0.0.1
|
||||
SETTINGS_TIP_PLACEHOLDER_WEB_PORT: Default:37777
|
||||
SETTINGS_TIP_PLACEHOLDER_HOST: Default:127.0.0.1
|
||||
SETTINGS_TIP_PLACEHOLDER_PORT: Default:36677
|
||||
SETTINGS_TIP_PLACEHOLDER_KEY: This key is used to avoid malicious requests, through urlParams '?key=xxx' to pass
|
||||
SETTINGS_SET_SERVER_AES_KEY: Set AES Key for server response
|
||||
SETTINGS_LOG_LEVEL_ALL: All
|
||||
SETTINGS_LOG_LEVEL_SUCCESS: Success
|
||||
SETTINGS_LOG_LEVEL_ERROR: Error
|
||||
SETTINGS_LOG_LEVEL_INFO: Info
|
||||
SETTINGS_LOG_LEVEL_WARN: Warn
|
||||
SETTINGS_LOG_LEVEL_NONE: None
|
||||
SETTINGS_RESULT: Result
|
||||
SETTINGS_DEFAULT_PICBED: Default Picbed
|
||||
SETTINGS_SET_DEFAULT_PICBED: Set Default Picbed
|
||||
SETTINGS_NOT_CONFIG_OPTIONS: Not Config Options
|
||||
SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: Use Builtin Clipboard to Upload
|
||||
SETTINGS_CHOOSE_LANGUAGE: Choose Language
|
||||
UPLOADER_CONFIG_NAME: Configuration Name
|
||||
UPLOADER_CONFIG_PLACEHOLDER: Please Enter Configuration Name
|
||||
SELECTED_SETTING_HINT: Selected
|
||||
SETTINGS_MAIN_WINDOW_SIZE: Default Main Window Size
|
||||
SETTINGS_MAIN_WINDOW_SIZE_WIDTH: Default Main Window Width
|
||||
SETTINGS_MAIN_WINDOW_WIDTH_HINT: 'Default: 1200'
|
||||
SETTINGS_MAIN_WINDOW_SIZE_HEIGHT: Default Main Window Height
|
||||
SETTINGS_MAIN_WINDOW_HEIGHT_HINT: 'Default: 800'
|
||||
SETTINGS_RAW_PICGO_SIZE: Raw PicGo Size
|
||||
SETTINGS_CUSTOM_MINI_ICON_PATH: Custom Mini Window Icon Path
|
||||
SETTINGS_CUSTOM_MINI_ICON: Custom Mini Window Icon
|
||||
SETTINGS_COMPRESS_AND_WATERMARK: Compress and Watermark
|
||||
SETTINGS_SYNC_DELETE_CLOUD: Sync delete from cloud storage of gallery
|
||||
SETTINGS_ISHIDEDOCK: Hide Dock Icon
|
||||
SETTINGS_ISHIDEDOCK_TIPS: Not support hide dock and tray at the same time
|
||||
SETTINGS_ENCODE_OUTPUT_URL: Encode Output(or Copyed) URL
|
||||
SETTINGS_WATCH_CLIPBOARD: Watch clipboard when software start
|
||||
SETTINGS_SHORT_URL: Use short url
|
||||
SETTINGS_SHORT_URL_SERVER: Short url server
|
||||
SETTINGS_SHORT_URL_C1N_TOKEN: C1N Token
|
||||
SETTINGS_SHORT_URL_YOURLS_DOMAIN: YOURLS domain
|
||||
SETTINGS_SHORT_URL_YOURLS_SIGNATURE: YOURLS signature
|
||||
SETTINGS_SHORT_URL_CF_WORKER_HOST: Cloudflare Worker Host
|
||||
SETTINGS_SHORT_SINK_DOMAIN: sink domain
|
||||
SETTINGS_SHORT_SINK_TOKEN: sink token
|
||||
SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: Delete local file after upload
|
||||
SETTINGS_SYNC_CONFIG: Settings Sync Configuration
|
||||
SETTINGS_SYNC_CONFIG_TITLE: Sync Settings
|
||||
SETTINGS_SYNC_CONFIG_NOTE: The files to be synchronized are configuration files.
|
||||
SETTINGS_SYNC_CONFIG_SELECT_TYPE: Select sync method
|
||||
SETTINGS_SYNC_CONFIG_SELECT_FILE: Select files to sync
|
||||
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: Configuration files only
|
||||
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: Gallery files only
|
||||
SETTINGS_SYNC_CONFIG_SELECT_BOTH: Both configuration and gallery files
|
||||
SETTINGS_SYNC_CONFIG_GITEA_HOST: Gitea Host
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: username
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME: username
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: username
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: repository (private)
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO: repository
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: repository path
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: branch
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: branch
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: branch
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: Token
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: Token
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Token
|
||||
SETTINGS_SYNC_CONFIG_PROXY: Proxy
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: Please enter GitHub username
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER: Please enter Gitea username
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: Please enter Gitee username
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: Please enter GitHub repository name
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER: Please enter Gitea repository name
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: Please enter Gitee repository name
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: Please enter GitHub branch name
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: Please enter Gitee branch name
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER: Please enter Gitea branch name
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: Please enter GitHub Token
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER: Please enter Gitea Token
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: Please enter Gitee Token
|
||||
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: Please enter proxy
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT: WebDAV Endpoint
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT_PLACEHOLDER: Please enter WebDAV endpoint URL
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME: Username
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME_PLACEHOLDER: Please enter WebDAV username
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD: Password
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD_PLACEHOLDER: Please enter WebDAV password
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_AUTH_TYPE: Authentication Type
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SSL_ENABLED: Enable SSL/HTTPS
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH: Save Path
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH_PLACEHOLDER: Please select save path for sync files
|
||||
SETTINGS_UP_DOWN_DESC: Upload and download configuration files
|
||||
SETTINGS_SYNC_UPLOAD: Upload
|
||||
SETTINGS_SYNC_DOWNLOAD: Download
|
||||
SETTINGS_SYNC_UPLOAD_ALL: Upload all
|
||||
SETTINGS_SYNC_DOWNLOAD_ALL: Download all
|
||||
SETTINGS_SYNC_UPLOAD_SUCCESS: Successfully uploaded
|
||||
SETTINGS_SYNC_UPLOAD_FAILED: Upload failed
|
||||
SETTINGS_SYNC_DOWNLOAD_SUCCESS: Successfully downloaded
|
||||
SETTINGS_SYNC_DOWNLOAD_FAILED: Download failed
|
||||
SETTINGS_SYNC_COMMON_CONFIG: Common configuration
|
||||
SETTINGS_SYNC_MANAGE_CONFIG: Manage configuration
|
||||
SETTINGS_AUTO_IMPORT: Auto import config in manage page
|
||||
SETTINGS_AUTO_IMPORT_SELECT_PICBED: Select picbed
|
||||
SETTINGS_TAB_SYSTEM: System
|
||||
SETTINGS_TAB_SYNC_CONFIG: Configuration
|
||||
SETTINGS_TAB_UPLOAD: Upload
|
||||
SETTINGS_TAB_ADVANCED: Advanced
|
||||
SETTINGS_TAB_UPDATE: Update
|
||||
BUILTIN_CLIPBOARD_TIPS: Use builtin clipboard function to upload instead of using scripts
|
||||
SHORTCUT_NAME: Shortcut Name
|
||||
SHORTCUT_BIND: Shortcut Binding
|
||||
SHORTCUT_STATUS: Status
|
||||
SHORTCUT_ENABLED: Enabled
|
||||
SHORTCUT_DISABLED: Disabled
|
||||
SHORTCUT_SOURCE: Source
|
||||
SHORTCUT_HANDLE: Handle
|
||||
SHORTCUT_ENABLE: Enable
|
||||
SHORTCUT_DISABLE: Disable
|
||||
SHORTCUT_EDIT: Edit
|
||||
SHORTCUT_CHANGE_UPLOAD: Change Upload Shortcut
|
||||
WAIT_TO_UPLOAD: Wait to Upload
|
||||
ALREADY_UPLOAD: Already Uploaded
|
||||
DRAG_FILE_TO_HERE: Drag file to here, or
|
||||
CLICK_TO_UPLOAD: click to upload
|
||||
LINK_FORMAT: Link Format
|
||||
CLIPBOARD_PICTURE: Clipboard
|
||||
TIPS_DRAG_VALID_PICTURE_OR_URL: Drag valid picture or url to here
|
||||
TIPS_INPUT_URL: Input URL
|
||||
TIPS_HTTP_PREFIX: http:// or https://
|
||||
TIPS_INPUT_VALID_URL: Input valid URL
|
||||
PLUGIN_SEARCH_PLACEHOLDER: Search picgo plugins on npm, or click the button to view the awesome plugins list
|
||||
PLUGIN_INSTALL: Install
|
||||
PLUGIN_INSTALLING: Installing...
|
||||
PLUGIN_INSTALLED: Installed
|
||||
PLUGIN_DOING_SOMETHING: Doing...
|
||||
PLUGIN_LIST: Plugin List
|
||||
PLUGIN_IMPORT_LOCAL: Import Local Plugins
|
||||
PLUGIN_UPDATE_ALL: Update All Plugins
|
||||
TIPS_REMOVE_LINK: This operation will remove the picture from the album, continue?
|
||||
TIPS_WILL_REMOVE_CHOOSED_IMAGES: This operation will remove the picture from the album, continue?
|
||||
TIPS_MUST_CONTAINS_URL: Must contains $url or $fileName or $extName
|
||||
TIPS_NETWORK_ERROR: Network Error
|
||||
TIPS_NEED_RELOAD: Need Reload App
|
||||
TIPS_PLEASE_CHOOSE_LOG_LEVEL: Please choose log level
|
||||
TIPS_SET_SUCCEED: Set successfully
|
||||
TIPS_RESET_SUCCEED: Reset successfully
|
||||
TIPS_PLUGIN_NOT_GUI_IMPLEMENT: This plugin is not optimized for the GUI, continue?
|
||||
TIPS_GET_PLUGIN_LIST_FAILED: Get plugin list failed
|
||||
MANAGE_SETTING_TITLE: Manage Setting
|
||||
MANAGE_SETTING_ISAUTOREFRESH_TITLE: Auto refresh file list when entering new directory
|
||||
MANAGE_SETTING_ISAUTOREFRESH_TIPS: Only applies to non-paginated mode, data is cached to indexdb to speed up loading speed
|
||||
MANAGE_SETTING_CLEAR_CACHE_TITLE: 'Clear file list cache database, currently in use:'
|
||||
MANAGE_SETTING_CLEAR_CACHE_FREE_TITLE: 'Available:'
|
||||
MANAGE_SETTING_CLEAR_CACHE_TIPS: After clearing, the file list will be reloaded when entering a new directory next time
|
||||
MANAGE_SETTING_CLEAR_CACHE_PROMPT: Are you sure you want to clear the file list cache database?
|
||||
MANAGE_SETTING_CLEAR_CACHE_BUTTON: Clear
|
||||
MANAGE_SETTING_ISSHOWTHUMBNAIL_TITLE: Display the original image instead of format icon (requires public access permissions)
|
||||
MANAGE_SETTING_ISUSEPRESIGNEDURL_TITLE: Use presigned URL for image display
|
||||
MANAGE_SETTING_ISSHOWLIST_TITLE: Default display mode for the file list
|
||||
MANAGE_SETTING_ISSHOWLIST_ON: List
|
||||
MANAGE_SETTING_ISSHOWLIST_OFF: Card
|
||||
MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TITLE: Force custom URL to use HTTPS
|
||||
MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TIPS: After enabling, all operations will automatically add the https prefix to custom domains
|
||||
MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TITLE: Preserve directory structure when uploading
|
||||
MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TIPS: After disabling, all files will be expanded to the specified directory
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_A: Download
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_B: ' File '
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_C: will preserve the directory structure
|
||||
MANAGE_SETTING_ISDOWNLOADFOLDERKEEPDIRSTRUCTURE_TITLE_D: ' Folder '
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TIPS: After enabling, the original directory structure will be preserved
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TITLE: Maximum number of files to download simultaneously (1-9999)
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS: Not work on Tencent
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_INPUT_TIPS: Please enter the maximum number of files to download simultaneously
|
||||
MANAGE_SETTING_ISIGNORECASE_TITLE: Should file search be case-insensitive
|
||||
MANAGE_SETTING_ISIGNORECASE_TIPS: After enabling, the search will be case-insensitive
|
||||
MANAGE_SETTING_TIMESTAMPRENAME_TITLE: Rename uploaded files with timestamp - (highest priority)
|
||||
MANAGE_SETTING_TIMESTAMPRENAME_TIPS: After enabling, the uploaded file will be renamed with the timestamp
|
||||
MANAGE_SETTING_RANDOMSTRINGRENAME_TITLE: Rename uploaded files with random strings - (medium priority)
|
||||
MANAGE_SETTING_RANDOMSTRINGRENAME_TIPS: Random string length is 20
|
||||
MANAGE_SETTING_CUSTOMRENAME_TITLE: Rename uploaded files with custom names - (lowest priority)
|
||||
MANAGE_SETTING_CUSTOMRENAME_TIPS: After enabling, the uploaded file will be renamed with the custom pattern
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TITLE: Custom rename format, placeholders can be freely combined, please refer to the table below
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TIPS: Please enter the custom rename format
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TITLE: Placeholder
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TIPS: Description
|
||||
MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TITLE: Presigned URL expiration time (seconds)
|
||||
MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TIPS: Please enter the presigned URL expiration time
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_TITLE: Select default link format for copying
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN: Markdown
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN_WITH_LINK: Markdown with link
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_RAWURL: Raw URL
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_HTML: HTML
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_BBCODE: BBCode
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_CUSTOM: Custom
|
||||
MANAGE_SETTING_CUSTOM_COPY_FORMAT_TITLE: Custom link format($url -> raw url, $fileName -> raw fileName)
|
||||
MANAGE_SETTING_CUSTOM_COPY_FORMAT_TIPS: Please enter the custom link format
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TITLE: Choose default download folder
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TIPS: System default download directory
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_BUTTON: Choose folder
|
||||
MANAGE_SETTING_COPY_MESSAGE: Copied
|
||||
MANAGE_SETTING_CLEAR_CACHE_SUCCESS: Cleared successfully
|
||||
MANAGE_SETTING_CLEAR_CACHE_FAILED: Clear failed
|
||||
MANAGE_SETTING_ISENCODEURL_TITLE: Encode URL when copy
|
||||
MANAGE_SETTING_ISENCODEURL_TIPS: After enabling, the URL will be encoded when copying
|
||||
MANAGE_NO_DATA: No data
|
||||
MANAGE_MAIN_PAGE_NEW_BUCKET: New Bucket
|
||||
MANAGE_MAIN_PAGE_BACK_TO_HOME: Home
|
||||
MANAGE_MAIN_PAGE_SWITCH_PICBED: Switch
|
||||
MANAGE_MAIN_PAGE_SETTING: Setting
|
||||
MANAGE_MAIN_PAGE_SUBMIT: Submit
|
||||
MANAGE_MAIN_PAGE_TIPS: Tips
|
||||
MANAGE_MAIN_PAGE_TIPS_SUCCESS: Created successfully
|
||||
MANAGE_MAIN_PAGE_TIPS_FAILED: Create failed
|
||||
MANAGE_MAIN_PAGE_BUCKET: Bucket
|
||||
MANAGE_MAIN_PAGE_GALLERY: Album
|
||||
MANAGE_MAIN_PAGE_REPOSITORY: Repo
|
||||
MANAGE_CONSTANT_BASE_RULE: 'Please enter '
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A: Please enter the number of items displayed per page.
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B: The number of items displayed per page must be a number.
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C: The number of items displayed per page must be between 20 and 1000.
|
||||
MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A: Please enter the alias, which is the unique identifier for this configuration.
|
||||
MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B: The alias can only contain Chinese, English, numbers, underscores, and hyphens.
|
||||
MANAGE_CONSTANT_ALIAS_TOOLTIP: The alias can only contain Chinese, English, numbers, underscores, and hyphens.
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP: The number of items displayed per page must be between 20 and 1000.
|
||||
MANAGE_CONSTANT_PAGING_TOOLTIP: When paging is turned off, the directory list will use database caching to optimize performance.
|
||||
MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP: Separated by commas, e.g., bucket1,bucket2,bucket3, and corresponding to the starting directory order one by one.
|
||||
MANAGE_CONSTANT_BASE_DIR_TOOLTIP: Separated by commas, e.g., /dir1,/dir2,/dir3, corresponding to the storage bucket order one by one.
|
||||
MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP: When turned on, the domainbound to bucket will be automatically obtained. Else, it can be manually filled in.
|
||||
MANAGE_CONSTANT_SMMS_ALIAS_DESC: Alias - required
|
||||
MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER: Unique identifier of this configuration
|
||||
MANAGE_CONSTANT_SMMS_TOKEN_DESC: Token - required
|
||||
MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER: Please fill in your token
|
||||
MANAGE_CONSTANT_SMMS_PAGING_DESC: Whether to enable pagination
|
||||
MANAGE_CONSTANT_SMMS_EXPLAIN: For users in mainland China, please visit the backup domain https://smms.app. Do not upload images in large quantities.
|
||||
MANAGE_CONSTANT_SMMS_REFER_TEXT: 'Refer to: '
|
||||
MANAGE_CONSTANT_QINIU_NAME: Qiniu
|
||||
MANAGE_CONSTANT_QINIU_ALIAS_DESC: Alias - Required
|
||||
MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER: Unique identifier for this configuration
|
||||
MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC: accessKey - Required
|
||||
MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER: Please enter the accessKey
|
||||
MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC: secretKey - Required
|
||||
MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER: Please enter the secretKey
|
||||
MANAGE_CONSTANT_QINIU_BUCKET_DESC: space name - Optional
|
||||
MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER: 'English comma separated, for example: bucket1, bucket2'
|
||||
MANAGE_CONSTANT_QINIU_BASE_DIR_DESC: Base directory - Optional
|
||||
MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER: 'English comma separated, for example: /dir1, /dir2'
|
||||
MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC: Automatically get the bound domain name
|
||||
MANAGE_CONSTANT_QINIU_PAGING_DESC: Enable pagination
|
||||
MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC: Number of items displayed per page
|
||||
MANAGE_CONSTANT_QINIU_EXPLAIN: When configuring space name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.
|
||||
MANAGE_CONSTANT_QINIU_REFER_TEXT: 'Refer to: '
|
||||
MANAGE_CONSTANT_GITHUB_ALIAS_DESC: Alias - Required
|
||||
MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER: Unique identifier for this configuration
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_DESC: Token - Required
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER: Please enter the Token
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_TIPS: Please provide a token with full repo permissions
|
||||
MANAGE_CONSTANT_GITHUB_USER_DESC: Username - Required
|
||||
MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER: Please enter the Username
|
||||
MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE: Username
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_DESC: Proxy address - Optional
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER: 'For example: http://127.0.0.1:1080'
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_TIPS: If the access speed is slow, you can try configuring a proxy
|
||||
MANAGE_CONSTANT_GITHUB_PAGING_DESC: Enable pagination
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC: CDN acceleration domain name - Optional
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER: Support using {username}, {repo}, {branch}, and {path} as replacement placeholders
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS: 'For example: https://cdn.staticaly.com/gh/{username}/{repo}@{branch}/{path}'
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A: The acceleration domain name must start with http:// or https://
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B: The braces in the acceleration domain name must appear in pairs
|
||||
MANAGE_CONSTANT_GITHUB_EXPLAIN: There is an hourly limit for API calls, and uploading files larger than 100M is not supported
|
||||
MANAGE_CONSTANT_GITHUB_REFER_TEXT: 'Refer to:'
|
||||
MANAGE_CONSTANT_ALIYUN_NAME: Ali Cloud
|
||||
MANAGE_CONSTANT_ALIYUN_ALIAS_DESC: Alias - required
|
||||
MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER: The unique identifier of this configuration
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC: AccessKeyId - required
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC: AccessKeySecret - required
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER: Please fill in AccessKeySecret
|
||||
MANAGE_CONSTANT_ALIYUN_BUCKET_DESC: Bucket name - optional
|
||||
MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER: 'Separated by commas in English, for example: bucket1, bucket2'
|
||||
MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC: Base directory - optional
|
||||
MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER: 'Separated by commas in English, for example: /dir1, /dir2'
|
||||
MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC: Automatically obtain bound domain name
|
||||
MANAGE_CONSTANT_ALIYUN_PAGING_DESC: Whether to enable pagination
|
||||
MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC: Number of items displayed per page
|
||||
MANAGE_CONSTANT_ALIYUN_EXPLAIN: When configuring bucket name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.
|
||||
MANAGE_CONSTANT_ALIYUN_REFER_TEXT: 'Refer to: '
|
||||
MANAGE_CONSTANT_TENCENT_NAME: Tencent
|
||||
MANAGE_CONSTANT_TENCENT_ALIAS_DESC: Alias - Required
|
||||
MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER: Unique identifier for this configuration
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC: SecretID - Required
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER: Please fill in the SecretID
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC: SecretKey - Required
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER: Please fill in the SecretKey
|
||||
MANAGE_CONSTANT_TENCENT_APPID_DESC: App ID - Required
|
||||
MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER: Please fill in the App ID
|
||||
MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP: 'For example: 1250000000'
|
||||
MANAGE_CONSTANT_TENCENT_BUCKET_DESC: Bucket name - Optional (note the App ID must be included)
|
||||
MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER: 'Comma-separated list of bucket names, for example: bucket1-1250000000, bucket2-1250000000'
|
||||
MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC: Starting directory - Optional
|
||||
MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER: 'Comma-separated list of directories, for example: /dir1, /dir2'
|
||||
MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC: Automatically obtain binding domain name
|
||||
MANAGE_CONSTANT_TENCENT_PAGING_DESC: Enable paging
|
||||
MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC: Number of items to display per page
|
||||
MANAGE_CONSTANT_TENCENT_EXPLAIN: When configuring bucket name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.
|
||||
MANAGE_CONSTANT_TENCENT_REFER_TEXT: 'Refer to: '
|
||||
MANAGE_CONSTANT_UPYUN_NAME: Upyun
|
||||
MANAGE_CONSTANT_UPYUN_ALIAS_DESC: Alias - required
|
||||
MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER: Unique identifier of the configuration
|
||||
MANAGE_CONSTANT_UPYUN_BUCKET_DESC: Service name - required
|
||||
MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER: Name of the storage bucket corresponding to other object storage
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC: Operator name - required
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER: It is recommended to use an operator with full read, write, and delete permissions
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE: Operator
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC: Operator password - required
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER: Please enter the password
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE: Operator password
|
||||
MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC: Base directory - optional
|
||||
MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER: Initial directory when reading files
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC: Acceleration domain name - required
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER: Please start with http:// or https://
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A: Acceleration domain name cannot be empty
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B: Please start the custom domain name with http:// or https://
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_DESC: Anti-leech key - optional
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_PLACEHOLDER: Please enter the anti-leech key
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_TOOLTIP: If you do not need to use anti-leech, please leave it blank
|
||||
MANAGE_CONSTANT_UPYUN_EXPIRE_TIME_DESC: Expiration time(s) - optional
|
||||
MANAGE_CONSTANT_UPYUN_PAGING: Whether to enable pagination
|
||||
MANAGE_CONSTANT_UPYUN_ITEMS_PAGE: Number of items displayed per page
|
||||
MANAGE_CONSTANT_UPYUN_EXPLAIN: It is necessary to fill in the acceleration domain name of Upyun image bed, otherwise it cannot be used normally.
|
||||
MANAGE_CONSTANT_UPYUN_REFER_TEXT: 'Refer to: '
|
||||
MANAGE_CONSTANT_IMGUR_NAME: Imgur
|
||||
MANAGE_CONSTANT_IMGUR_ALIAS_DESC: Alias - required
|
||||
MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER: Unique identifier of the configuration
|
||||
MANAGE_CONSTANT_IMGUR_USERNAME_DESC: Imgur username - required
|
||||
MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER: Please enter the Imgur username
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC: Access token - required
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER: Please enter the access token
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP: Not the client ID, please refer to the configuration tutorial
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_DESC: Proxy - optional
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER: 'For example: http://127.0.0.1:1080'
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP: Please use a proxy in mainland China, otherwise it cannot be used normally
|
||||
MANAGE_CONSTANT_IMGUR_EXPLAIN: Please use a proxy in mainland China, API calls have restrictions, please pay attention to usage frequency
|
||||
MANAGE_CONSTANT_IMGUR_REFER_TEXT: 'Refer to: '
|
||||
MANAGE_CONSTANT_S3_NAME: S3-Compatible
|
||||
MANAGE_CONSTANT_S3_ALIAS_DESC: Alias - Required
|
||||
MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER: Unique identifier for this configuration
|
||||
MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC: Access Key ID - Required
|
||||
MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER: Please enter Access Key ID
|
||||
MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC: Secret Access Key - Required
|
||||
MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER: Please enter Secret Access Key
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_DESC: Endpoint - Optional
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER: e.g. s3.us-east-1.amazonaws.com
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP: If left blank, AWS S3 is accessed by default. Provide the root API endpoint
|
||||
MANAGE_CONSTANT_S3_SSLENABLED_DESC: Use HTTPS connection
|
||||
MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP: Disable this option if not supported by your platform.
|
||||
MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC: Enable S3 Path style
|
||||
MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP: Required when using Minio, for example.
|
||||
MANAGE_CONSTANT_S3_PROXY_DESC: Proxy - Optional
|
||||
MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER: e.g. http://127.0.0.1:1080
|
||||
MANAGE_CONSTANT_S3_PROXY_TOOLTIP: Use proxy if unable to access in some parts of Mainland China
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC: Permission for uploaded files
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE: Private
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ: Public read
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE: Public read and write
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ: Authenticated read
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ: Bucket owner read
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL: Bucket owner full control
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ: AWS execution read
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP: Permission options for uploaded files
|
||||
MANAGE_CONSTANT_S3_BUCKET_DESC: Bucket name - Optional
|
||||
MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER: English comma-separated list, e.g. bucket1,bucket2
|
||||
MANAGE_CONSTANT_S3_BASE_DIR_DESC: Base directory - Optional
|
||||
MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER: English comma-separated list, e.g. /dir1,/dir2
|
||||
MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_DESC: Enable Doge Cloud API
|
||||
MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_TOOLTIP: Support Doge Cloud API
|
||||
MANAGE_CONSTANT_S3_PAGING_DESC: Enable pagination
|
||||
MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC: Items per page
|
||||
MANAGE_CONSTANT_S3_EXPLAIN: When configuring bucket name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.
|
||||
MANAGE_CONSTANT_S3_REFER_TEXT: 'Refer to: '
|
||||
MANAGE_CONSTANT_WEBDAV_ALIAS_DESC: Alias - Required
|
||||
MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER: Unique identifier for this configuration
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_DESC: Address - Required
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER: e.g. https://example.com/dav
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP: Please enter the complete WebDAV address
|
||||
MANAGE_CONSTANT_WEBDAV_USERNAME_DESC: Username - Required
|
||||
MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER: Please enter your username
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_DESC: Special Configuration
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER: e.g. bucket1
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP: This cannot be modified, only for software compatibility consideration
|
||||
MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC: Password - Required
|
||||
MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER: Please enter your password
|
||||
MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC: Base Directory - Optional
|
||||
MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER: e.g. /dir1
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC: Custom Domain - Optional
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER: e.g. https://example.com
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP: If your WebDAV server supports custom domains, please fill in
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE: Custom domain should start with http:// or https://
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH: Web Path - Optional
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH_PLACEHOLDER: e.g. test/ttc
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH_TOOLTIP: Used to generate URL
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_DESC: Proxy - Optional
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER: e.g. http://127.0.0.1:1080
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP: If special network environment is required to access, please use proxy
|
||||
MANAGE_CONSTANT_WEBDAV_SSL_DESC: Use HTTPS Connection
|
||||
MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP: Depending on the configuration of your WebDAV server, if your server does not support HTTPS, please turn off this option
|
||||
MANAGE_CONSTANT_WEBDAV_AUTH_TYPE_DESC: Authentication Type
|
||||
MANAGE_CONSTANT_WEBDAV_EXPLAIN: WebDAV Configuration
|
||||
MANAGE_CONSTANT_WEBDAV_REFER_TEXT: 'Refer to:'
|
||||
MANAGE_CONSTANT_LOCAL_NAME: Local
|
||||
MANAGE_CONSTANT_LOCAL_ALIAS_DESC: Alias - Required
|
||||
MANAGE_CONSTANT_LOCAL_ALIAS_PLACEHOLDER: Unique identifier for this configuration
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_DESC: Base directory - Required
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_PLACEHOLDER: e.g. /dir1
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_DESC: Custom Domain - Optional
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_PLACEHOLDER: e.g. https://example.com
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_TOOLTIP: If your local path supports custom domains, please fill in
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH: Web Path - Optional
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH_PLACEHOLDER: e.g. test/ttc
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH_TOOLTIP: Used to generate URL
|
||||
MANAGE_CONSTANT_LOCAL_EXPLAIN: Local Configuration
|
||||
MANAGE_CONSTANT_LOCAL_REFER_TEXT: 'Refer to:'
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_RULE_MESSAGE: baseDir cannot be empty
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_DESC: Special Configuration
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: bucket1
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: This cannot be modified, only for software compatibility consideration
|
||||
MANAGE_CONSTANT_SFTP_NAME: SFTP
|
||||
MANAGE_CONSTANT_SFTP_ALIAS_DESC: Alias - Required
|
||||
MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER: Unique identifier for this configuration
|
||||
MANAGE_CONSTANT_SFTP_HOST_DESC: SSH Host - Required
|
||||
MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER: e.g. 233.233.233.233
|
||||
MANAGE_CONSTANT_SFTP_PORT_DESC: SSH Port - Required
|
||||
MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER: e.g. 22
|
||||
MANAGE_CONSTANT_SFTP_USERNAME_DESC: Username
|
||||
MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER: Please enter your username
|
||||
MANAGE_CONSTANT_SFTP_PASSWORD_DESC: Password
|
||||
MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER: Please enter your password
|
||||
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC: Private Key
|
||||
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER: Please enter your private key
|
||||
MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC: Private Key Password
|
||||
MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER: Please enter your private key password
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_DESC: Base Directory
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER: e.g. /dir1
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC: Custom Domain
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER: e.g. https://example.com
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP: If your SFTP server supports custom domains, please fill in
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH: Web Path
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER: e.g. test/ttc
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP: Used to generate URL
|
||||
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC: File mode
|
||||
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER: e.g. 0644
|
||||
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC: Directory mode
|
||||
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER: e.g. 0755
|
||||
MANAGE_CONSTANT_SFTP_EXPLAIN: SFTP Configuration
|
||||
MANAGE_CONSTANT_SFTP_REFER_TEXT: 'Refer to:'
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE: baseDir cannot be empty
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_DESC: Special Configuration
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER: e.g. bucket1
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: This cannot be modified, only for software compatibility consideration
|
||||
MANAGE_LOGIN_PAGE_PANE_NAME: Saved Config
|
||||
MANAGE_LOGIN_PAGE_PANE_KEY_NAME: Configuration
|
||||
MANAGE_LOGIN_PAGE_PANE_KEY_VALUE: Value
|
||||
MANAGE_LOGIN_PAGE_PANE_ENTER: Enter
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE: Delete
|
||||
MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER: Please select
|
||||
MANAGE_LOGIN_PAGE_PANE_IMPORT: Import
|
||||
MANAGE_LOGIN_PAGE_PANE_SAVE: Save
|
||||
MANAGE_LOGIN_PAGE_PANE_RESET: Reset
|
||||
MANAGE_LOGIN_PAGE_PANE_TABLE_TITLE: Existing configurations, click to copy corresponding cell data
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_MESSAGE_A: Please fill in
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ALIAS_MESSAGE: The alias can only contain Chinese, English, numbers, underscores, and hyphens
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ITEMS_PER_PAGE_MESSAGE: The number of items per page must be between 20-1000
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_CUSTOM_URL_MESSAGE: Custom domain name should start with http:// or https://
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME: Notice
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE: 'Alias overwritten: '
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_B: 'Alias saved: '
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C: 'Alias deleted: '
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D: 'Configuration with alias: '
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E: ' failed to delete'
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS: 'Copied '
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE: Are you sure to delete this?
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP: Tip
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM: Confirm
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL: Cancel
|
||||
MANAGE_BUCKET_PAGE_LOADING_TEXT: Loading...
|
||||
MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER: Please select a custom domain
|
||||
MANAGE_BUCKET_PAGE_CUSTOM_URL_INPUT_PLACEHOLDER: Please enter a custom domain
|
||||
MANAGE_BUCKET_PAGE_UPLOAD_FILES_TOOLTIP: Upload files
|
||||
MANAGE_BUCKET_PAGE_UPLOAD_FROM_URL_TOOLTIP: Upload from URL
|
||||
MANAGE_BUCKET_PAGE_CREATE_FOLDER_TOOLTIP: Create folder
|
||||
MANAGE_BUCKET_PAGE_DOWNLOAD_TOOLTIP: Download page
|
||||
MANAGE_BUCKET_PAGE_BATCH_RENAME_TOOLTIP: Batch rename
|
||||
MANAGE_BUCKET_PAGE_BATCH_COPY_URL_TOOLTIP: Batch copy URL
|
||||
MANAGE_BUCKET_PAGE_COPY_FILE_INFO_TOOLTIP: Copy file information
|
||||
MANAGE_BUCKET_PAGE_FORCE_REFRESH_TOOLTIP: Force refresh file list
|
||||
MANAGE_BUCKET_PAGE_SEARCH_PLACEHOLDER: Search files
|
||||
MANAGE_BUCKET_PAGE_ROOT_FOLDER: Root folder
|
||||
MANAGE_BUCKET_PAGE_FILE_NUMBER: 'Number of files: '
|
||||
MANAGE_BUCKET_PAGE_FILE_SIZE: 'Total size: '
|
||||
MANAGE_BUCKET_PAGE_SELECT_ALL: Select all
|
||||
MANAGE_BUCKET_PAGE_SELECT_NONE: Deselect all
|
||||
MANAGE_BUCKET_PAGE_SELECT_INVERT: Invert selection
|
||||
MANAGE_BUCKET_DOWNLOAD_BTN: Download
|
||||
MANAGE_BUCKET_DELETE_BTN: Delete
|
||||
MANAGE_BUCKET_SORT_TITLE: Sort
|
||||
MANAGE_BUCKET_SORT_NAME: Name
|
||||
MANAGE_BUCKET_SORT_SIZE: Size
|
||||
MANAGE_BUCKET_SORT_EXT: Type
|
||||
MANAGE_BUCKET_SORT_TIME: Time
|
||||
MANAGE_BUCKET_SORT_CHECK: Selected status
|
||||
MANAGE_BUCKET_SORT_INIT: Init
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: Please enter URL(s), support multiple URLs separated by line breaks
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: Confirm
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: Cancel
|
||||
MANAGE_BUCKET_URL_FORMAT_MARKDOWN: Markdown
|
||||
MANAGE_BUCKET_URL_FORMAT_MARKDOWN_WITH_LINK: Markdown-link
|
||||
MANAGE_BUCKET_URL_FORMAT_URL: Url
|
||||
MANAGE_BUCKET_URL_FORMAT_HTML: Html
|
||||
MANAGE_BUCKET_URL_FORMAT_BBCODE: BBCode
|
||||
MANAGE_BUCKET_URL_FORMAT_CUSTOM: Custom
|
||||
MANAGE_BUCKET_URL_FORMAT_PRESIGN: Presigned link
|
||||
MANAGE_BUCKET_FILE_INFO_TITLE: File information
|
||||
MANAGE_BUCKET_FILE_INFO_COPY_TIPS: Copy in JSON format
|
||||
MANAGE_BUCKET_FILE_LIST_LOADING: Loading, click to cancel
|
||||
MANAGE_BUCKET_FILE_LIST_DOWNLOAD_PRE: Preparing to download, click to cancel
|
||||
MANAGE_BUCKET_KEEP_FOLDER_STRUCTURE: Keep folder structure
|
||||
MANAGE_BUCKET_NOT_KEEP_FOLDER_STRUCTURE: Do not keep folder structure
|
||||
MANAGE_BUCKET_UPLOAD_AREA_TITLE: Drag and drop to upload, support recursive upload of folders
|
||||
MANAGE_BUCKET_UPLOAD_AREA_TEXT: 'Or: click to select file (folders are not supported)'
|
||||
MANAGE_BUCKET_UPLOAD_AREA_BTN_LOADING: Loading files
|
||||
MANAGE_BUCKET_UPLOAD_AREA_BTN: Upload
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR: Clear
|
||||
MANAGE_BUCKET_UPLOAD_AREA_STATUS_UPLOADING: Uploading
|
||||
MANAGE_BUCKET_UPLOAD_AREA_COPY_TASK: Copy upload task information
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR_UPLOADED_TASK: Clear completed tasks
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR_ALL_TASK: Clear all tasks
|
||||
MANAGE_BUCKET_UPLOAD_AREA_SUCCESS: Success
|
||||
MANAGE_BUCKET_UPLOAD_AREA_FAILED: Failed
|
||||
MANAGE_BUCKET_DOWNLOAD_PAGE_TITLE: Download page
|
||||
MANAGE_BUCKET_DOWNLOADING: Downloading
|
||||
MANAGE_BUCKET_DOWNLOAD_COPY_TASK: Copy download task information
|
||||
MANAGE_BUCKET_DOWNLOAD_CLEAR_DOWNLOADED_TASK: Clear completed tasks
|
||||
MANAGE_BUCKET_DOWNLOAD_CLEAR_ALL_TASK: Clear all tasks
|
||||
MANAGE_BUCKET_DOWNLOAD_OPEN_FOLDER: Open download folder
|
||||
MANAGE_BUCKET_DOWNLOAD_SUCCESS: Success
|
||||
MANAGE_BUCKET_DOWNLOAD_FAILED: Failed
|
||||
MANAGE_BUCKET_MARKDOWN_PREVIEW: Preview
|
||||
MANAGE_BUCKET_PLAY: Play
|
||||
MANAGE_BUCKET_RENAME_FILE: Rename file
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A: String or JS regular expression for matching during replacement
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS: Directly enter the regular expression, no need to add /
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A_PLACEHOLDER: 'For example: ^\d{4}-\d{2}-\d{2} '
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_B: String for replacement, placeholders from custom
|
||||
MANAGE_BUCKET_RENAME_FILE_TABLE_IID: Auto-incrementing number
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT: Replace extension if it matches
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_TIPS: Check this option if you want to modify the extension
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_YES: 'Yes'
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_NO: 'No'
|
||||
MANAGE_BUCKET_RENAME_FILE_CANCEL: Cancel
|
||||
MANAGE_BUCKET_RENAME_FILE_CONFIRM: Confirm
|
||||
MANAGE_BUCKET_COPY_SUCCESS: Copy success
|
||||
MANAGE_BUCKET_START_LOADING_MESSAGE: Start getting files
|
||||
MANAGE_BUCKET_END_LOADING_MESSAGE_FAIL: Failed to get file content
|
||||
MANAGE_BUCKET_LAST_PAGE_TITLE: Tip
|
||||
MANAGE_BUCKET_LAST_PAGE_MSG: This is the last page
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_TITLE: Tip
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG: Failed to get file list
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG2: Getting file list in the background, please do not switch pages
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG3: Loading file list, please try again later
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TITLE: Are you sure you want to download this folder?
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TIP: Tip
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CONFIRM: Confirm
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CANCEL: Cancel
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_SUCCESS: Successfully obtained download list
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_FAIL: Failed to obtain download list
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_CANCEL: Canceled
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_TITLE: Please enter the folder name
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_TIP: Create folder
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_CONFIRM: Confirm
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_CANCEL: Cancel
|
||||
MANAGE_BUCKET_CREATE_FOLDER_ERROR_MSG: Folder name can only contain Chinese, English, numbers, underscores, and slashes
|
||||
MANAGE_BUCKET_CREATE_FOLDER_SUCCESS: Successfully created, please refresh
|
||||
MANAGE_BUCKET_CREATE_FOLDER_FAIL: Failed to create
|
||||
MANAGE_BUCKET_UPLOAD_URL_ERROR_MSQ: Please enter a valid URL
|
||||
MANAGE_BUCKET_UPLOAD_URL_NOT_TITLE: Tip
|
||||
MANAGE_BUCKET_UPLOAD_URL_NOT_MSG: Starting background download, automatic upload after success
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG: Please enter the matching string
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG2: No matching files found
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG3: No files need to be renamed
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_A: Detected
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_B: files are duplicated. Do you want to continue?
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_C: Tip
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_CONFIRM: Confirm
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_CANCEL: Cancel
|
||||
MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_A: Rename successful
|
||||
MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_B: Failed
|
||||
MANAGE_BUCKET_BATCH_RENAME_CANCEL: Canceled
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_ERROR_MSG: Please select the file first
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_MSG_A: Copied
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_MSG_B: file(s) information
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_ERROR_MSG: Please select the file first
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_MSG_A: Copied
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_MSG_B: file(s) link
|
||||
MANAGE_BUCKET_CANCEL_LOADING_TITLE: Stop getting file list?
|
||||
MANAGE_BUCKET_CANCEL_LOADING_MSG: Tip
|
||||
MANAGE_BUCKET_CANCEL_LOADING_CONFIRM: Confirm
|
||||
MANAGE_BUCKET_CANCEL_LOADING_CANCEL: Cancel
|
||||
MANAGE_BUCKET_CANCEL_LOADING_SUCCESS: File list retrieval has been stopped
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_TITLE: Stop downloading file retrieval?
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_MSG: Prompt
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CONFIRM: Confirm
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CANCEL: Cancel
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_SUCCESS: Download file retrieval has been stopped
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_TITLE: Prompt
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_MSG: Successfully retrieved file list
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_MSG2: Some files failed to retrieve
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_A: Permanently delete
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_B: files, continue?
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_MSG: Prompt
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CONFIRM: Confirm
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CANCEL: Cancel
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_TITLE: Prompt
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG: Deletion failed
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG2: Deletion successful
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG3: Failed
|
||||
MANAGE_BUCKET_BATCH_DELETE_CANCEL: Deletion has been cancelled
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE: Permanently delete
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER: folder
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER_A: and all files in this directory
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FILE: file
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_C: Continue?
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_MSG: Prompt
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_CONFIRM: Confirm
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_CANCEL: Cancel
|
||||
MANAGE_BUCKET_DELETE_ERROR_MSG_TITLE: Prompt
|
||||
MANAGE_BUCKET_DELETE_ERROR_MSG_MSG: Deleting a folder may take some time, please be patient
|
||||
MANAGE_BUCKET_DELETE_SUCCESS: Deletion successful
|
||||
MANAGE_BUCKET_DELETE_FAIL: Deletion failed
|
||||
MANAGE_BUCKET_DELETE_CANCEL: Deletion has been cancelled
|
||||
MANAGE_BUCKET_RENAME_INFO_MSG: The new file name is the same as the original file name, no need to rename
|
||||
MANAGE_BUCKET_RENAME_SUCCESS: Rename successful
|
||||
MANAGE_BUCKET_RENAME_ERROR_MSG: Rename failed
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_FILENAME: File name
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_FINISHTIME: Completion time
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS: Status
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_SUCCESS: Success
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_FAIL: Failed
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_FILENAME: File name
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_TARGETFILEPATH: Upload path
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_FINISHTIME: Completion time
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS: Status
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_SUCCESS: Success
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_FAIL: Failed
|
||||
MANAGE_BUCKET_DOWNLOADING_COLUMN_FILENAME: File name
|
||||
MANAGE_BUCKET_DOWNLOADING_COLUMN_PROGRESS: Progress
|
||||
MANAGE_BUCKET_UPLOADING_COLUMN_FILENAME: File name
|
||||
MANAGE_BUCKET_UPLOADING_COLUMN_PROGRESS: Progress
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILENAME: File name
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILESIZE: Size
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILENUM: Number of files
|
||||
MANAGE_BUCKET_FILE_COLUMN_FILENAME: FileName
|
||||
MANAGE_BUCKET_FILE_COLUMN_COPY_URL: Copy link
|
||||
MANAGE_BUCKET_FILE_COLUMN_INFO: File Info
|
||||
MANAGE_BUCKET_FILE_COLUMN_FILESIZE: Size
|
||||
MANAGE_BUCKET_FILE_COLUMN_TIME: Time
|
||||
MANAGE_NEW_BUCKET_TCYUN_NAME: Tencent Cloud
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_DESC: Bucket Name
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_PLACEHOLDER: Please enter the Bucket name
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_A: Bucket name can't be empty
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_B: Bucket name length cannot exceed 23 characters
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_C: Bucket name can only contain lowercase letters, numbers, and hyphens, and cannot begin or end with a hyphen
|
||||
MANAGE_NEW_BUCKET_TCYUN_REGION: Region
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_DESC: Access Control
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_RW: Public Read and Write
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_R: Public Read
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PRIVATE: Private
|
||||
MANAGE_NEW_BUCKET_ALIYUN_NAME: Alibaba Cloud
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_DESC: Bucket Name
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_PLACEHOLDER: Please enter the Bucket name
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_A: Bucket name can't be empty
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_B: Bucket name length cannot exceed 63 characters
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_C: Bucket name can only contain lowercase letters, numbers, and hyphens, and cannot begin or end with a hyphen
|
||||
MANAGE_NEW_BUCKET_ALIYUN_REGION: Region
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_DESC: Access Control
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_RW: Public Read and Write
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_R: Public Read
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PRIVATE: Private
|
||||
MANAGE_NEW_BUCKET_QINIU_NAME: Qiniu Cloud
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_DESC: Bucket Name
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_PLACEHOLDER: Please enter the Bucket name
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_A: Bucket name can't be empty
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B: Bucket name length cannot exceed 63 characters
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: Bucket names can only contain lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.
|
||||
MANAGE_NEW_BUCKET_QINIU_REGION: Region
|
||||
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: Public Access
|
||||
MANAGE_NEW_BUCKET_S3PLIST_NAME: S3-Compatible
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC: Bucket Name
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER: Please enter the Bucket name
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A: Bucket name can't be empty
|
||||
MANAGE_NEW_BUCKET_S3PLIST_REGION: Region
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC: Access Control
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW: Public Read and Write
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R: Public Read
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE: Private
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ: Authenticated Read
|
||||
PLUGIN_INSTALL_FAILED: Plugin install failed
|
||||
PLUGIN_UNINSTALL_FAILED: Plugin uninstall failed
|
||||
PLUGIN_UPDATE_SUCCEED: Plugin update succeed
|
||||
PLUGIN_UPDATE_FAILED: Plugin update failed
|
||||
PLUGIN_IMPORT_SUCCEED: Plugin import succeed
|
||||
PLUGIN_IMPORT_FAILED: Plugin import failed
|
||||
|
||||
@@ -8,13 +8,10 @@ RELOAD_APP: 重启应用
|
||||
UPLOAD_SUCCEED: 上传成功
|
||||
UPLOAD_FAILED: 上传失败
|
||||
UPLOAD_PROGRESS: 上传进度
|
||||
OPERATION_SUCCEED: 操作成功
|
||||
OPERATION_FAILED: 操作失败
|
||||
UPLOADING: 正在上传
|
||||
QUICK_UPLOAD: 快捷上传
|
||||
UPLOAD_BY_CLIPBOARD: 剪贴板图片上传
|
||||
SHOW_PICBED_QRCODE: 生成图床配置二维码
|
||||
PICBED_QRCODE: 图床配置二维码
|
||||
ENABLE: 启用
|
||||
DISABLE: 禁用
|
||||
CONFIG_THING: 配置${c}
|
||||
@@ -28,18 +25,6 @@ START_WATCH_CLIPBOARD: 开始监听剪贴板
|
||||
STOP_WATCH_CLIPBOARD: 停止监听剪贴板
|
||||
OPEN_TOOLBOX: 打开修复工具箱
|
||||
TOOLBOX: 工具箱
|
||||
TOOLBOX_TITLE: 排查 PicList 运行时问题
|
||||
TOOLBOX_SUB_TITLE: 立即扫描以下项目,修复使用问题
|
||||
TOOLBOX_CHECK_CONFIG_FILE_BROKEN: 检查配置文件是否损坏
|
||||
TOOLBOX_CHECK_GALLERY_FILE_BROKEN: 检查相册文件是否损坏
|
||||
TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD: 检查剪贴板图片上传是否存在问题
|
||||
TOOLBOX_CHECK_PROBLEM_WITH_PROXY: 检查代理设置是否正常
|
||||
TOOLBOX_FIX_DONE_NEED_RELOAD: 修复完成,需要重启生效,是否重启
|
||||
TOOLBOX_CANT_AUTO_FIX: 无法自动修复,请自行修复以下问题
|
||||
TOOLBOX_START_SCAN: 开始扫描
|
||||
TOOLBOX_RE_SCAN: 重新扫描
|
||||
TOOLBOX_START_FIX: 开始修复
|
||||
TOOLBOX_SUCCESS_TIPS: 恭喜你,没有检查出问题
|
||||
TOOLBOX_CHECK_CONFIG_FILE_PATH_TIPS: 配置文件路径是:${path}
|
||||
TOOLBOX_CHECK_CONFIG_FILE_BROKEN_TIPS: 配置文件已损坏
|
||||
TOOLBOX_CHECK_GALLERY_FILE_PATH_TIPS: 相册文件路径是:${path}
|
||||
@@ -51,865 +36,12 @@ TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_WORKING: 代理设置不可用
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_TIPS: 剪贴板图片临时文件夹路径是:${path}
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS: 剪贴板图片临时文件夹不存在:${path}
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_ERROR_TIPS: 请自行创建文件夹:${path}
|
||||
MANUAL_PAGE_OPEN_TIP: 请选择打开方式
|
||||
MANUAL_PAGE_OPEN_TIP_TITLE: Tips
|
||||
MANUAL_PAGE_OPEN_BY_BROWSER: 浏览器
|
||||
MANUAL_PAGE_OPEN_BY_BUILD_IN: 内置窗口
|
||||
MANUAL_PAGE_OPEN_SETTING_TIP: 选择手册打开方式
|
||||
UPLOAD_AREA: 上传
|
||||
UPLOAD_VIEW_HINT: 点击打开图床设置
|
||||
MANAGE_PAGE: 管理
|
||||
GALLERY: 相册
|
||||
REFRESH: 刷新
|
||||
MANUAL: 手册
|
||||
PICBEDS_SETTINGS: 图床
|
||||
PICLIST_SETTINGS: 设置
|
||||
PLUGIN_SETTINGS: 插件
|
||||
CHOOSE_PICBED: 选择图床
|
||||
COPY_PICBED_CONFIG: 复制图床配置
|
||||
COPY_PICBED_CONFIG_SUCCEED: 复制图床配置成功
|
||||
INPUT: 输入框
|
||||
CANCEL: 取消
|
||||
CONFIRM: 确定
|
||||
RESET_PICBED_CONFIG: 重置
|
||||
CHOOSE_SHOWED_PICBED: 请选择显示的图床
|
||||
CHOOSE_PASTE_FORMAT: 请选择粘贴的格式
|
||||
COPY: 复制
|
||||
DELETE: 删除
|
||||
SELECT_ALL: 全选
|
||||
CHANGE_IMAGE_URL: 修改图片URL
|
||||
CHANGE_IMAGE_URL_SUCCEED: 修改图片URL成功
|
||||
COPY_LINK_SUCCEED: 复制链接成功
|
||||
BATCH_COPY_LINK_SUCCEED: 批量复制链接成功
|
||||
FILE_RENAME: 文件改名
|
||||
OPEN_FILE_PATH: 打开文件路径
|
||||
GALLERY_SYNC_DELETE: 删除云端
|
||||
GALLERY_SYNC_DELETE_NOTICE_TITLE: 通知
|
||||
GALLERY_SYNC_DELETE_NOTICE_SUCCEED: 云端删除成功
|
||||
GALLERY_SYNC_DELETE_NOTICE_FAILED: 云端删除失败
|
||||
GALLERY_CHANGE_URL: 修改
|
||||
GALLERY_SEARCH_FILENAME: 搜索文件名
|
||||
GALLERY_SEARCH_URL: 搜索URL
|
||||
GALLERY_MATCHED: ' 匹配到: '
|
||||
UPLOAD_PAGE_COPY_UPLOAD_API: 复制上传API
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_NAME: 图片处理
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE: 图片处理设置
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST: 跳过处理的文件扩展名列表
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS: '请填写需要跳过处理的文件扩展名列表, 以英文逗号分隔, 如: jpg,png,gif'
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM: 是否添加水印
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE: 水印类型
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT: 文字
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE: 图片
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM: 是否全屏水印
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE: 水印角度
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT: 水印文字
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH: 水印字体路径(第一次需下载字体文件)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO: 水印占原图比例
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR: 水印颜色,请从取色器中选择
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMPATH: 水印图片路径(留空使用默认图片)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION: 水印位置
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF: 是否移除EXIF信息
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_QUALITY: 压缩质量(1-100)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT: 是否转换格式
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT: 转换目的格式
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC: '精细化转换格式, 请输入JSON格式,如: {"png": "jpg"}'
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFLIP: 是否进行垂直翻转
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFLOP: 是否进行水平翻转
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE: 是否按固定尺寸调整图片
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH: 调整尺寸宽度(设为0则按高度等比缩放)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT: 调整尺寸高度(设为0则按宽度等比缩放)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_HEIGHT: 当图片高度小于设定高度时跳过缩放
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_WIDTH: 当图片宽度小于设定宽度时跳过缩放
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT: 是否按比例调整尺寸,优先级更高
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT: 调整尺寸比例, 输入50表示50%
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE: 是否旋转
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE: 旋转角度
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM: 保存
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CANCEL: 取消
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP: 上
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM: 下
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT: 左
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT: 右
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT: 左上
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT: 右上
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT: 左下
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT: 右下
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER: 中
|
||||
UPLOAD_SHORT_URL: 短链接
|
||||
UPLOAD_NORMAL_URL: 长链接
|
||||
SETTINGS: 设置
|
||||
SETTINGS_OPEN_CONFIG_FILE: 打开配置文件
|
||||
SETTINGS_MIGRATE_FROM_PICGO: 从PicGo迁移
|
||||
SETTINGS_MIGRATE_FROM_PICGO_TITLE: 通知
|
||||
SETTINGS_MIGRATE_FROM_PICGO_CONTENT: 即将导入PicGo的配置文件和相册, 这将覆盖当前的配置文件和相册, 是否继续?
|
||||
SETTINGS_MIGRATE_FROM_PICGO_SUCCESS: 导入成功, 请重启PicList生效
|
||||
SETTINGS_MIGRATE_FROM_PICGO_FAILED: 导入失败
|
||||
SETTINGS_START_MODE: 启动模式
|
||||
SETTINGS_START_MODE_MINI: mini窗口
|
||||
SETTINGS_START_MODE_MAIN: 主窗口
|
||||
SETTINGS_START_MODE_NO_TRAY: 隐藏托盘
|
||||
SETTINGS_START_MODE_QUIET: 静默启动
|
||||
SETTINGS_CLICK_TO_OPEN: 点击打开
|
||||
SETTINGS_SET_LOG_FILE: 设置日志文件
|
||||
SETTINGS_CLICK_TO_SET: 点击设置
|
||||
SETTINGS_CLICK_TO_CHECK: 点击检查
|
||||
SETTINGS_SET_SHORTCUT: 设置快捷键
|
||||
SETTINGS_CUSTOM_LINK_FORMAT: 自定义链接格式
|
||||
SETTINGS_SET_PROXY_AND_MIRROR: 设置代理和镜像地址
|
||||
SETTINGS_SET_SERVER: 设置Server
|
||||
SETTINGS_CHECK_UPDATE: 检查更新
|
||||
SETTINGS_OPEN_UPDATE_HELPER: 打开更新助手
|
||||
SETTINGS_OPEN: 开
|
||||
SETTINGS_CLOSE: 关
|
||||
SETTINGS_CLOSE_MINI_WINDOW_SYNC: 打开主窗口时关闭mini窗口
|
||||
SETTINGS_CLOSE_MAIN_WINDOW_SYNC: 打开mini窗口时关闭主窗口
|
||||
SETTINGS_LAUNCH_ON_BOOT: 开机自启
|
||||
SETTINGS_RENAME_BEFORE_UPLOAD: 手动重命名
|
||||
SETTINGS_TIMESTAMP_RENAME: 时间戳重命名
|
||||
SETTINGS_ADVANCED_RENAME: 高级重命名
|
||||
SETTINGS_ADVANCED_RENAME_ENABLE: 开启高级重命名
|
||||
SETTINGS_ADVANCED_RENAME_FORMAT: 重命名格式
|
||||
SETTINGS_ENABLE_SECOND_PICBED: 启用第二图床同步上传
|
||||
SETTINGS_SET_SECOND_PICBED: 设置第二图床
|
||||
SETTINGS_OPEN_UPLOAD_TIPS: 开启上传进度提示
|
||||
SETTINGS_OPEN_UPLOAD_RESULT_TIPS: 开启上传结果提示
|
||||
SETTINGS_MINI_WINDOW_ON_TOP: Mini窗口置顶
|
||||
SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD: 上传后自动复制URL
|
||||
SETTINGS_TIPS_PLACEHOLDER_URL: 用占位符 $url 来表示url的位置
|
||||
SETTINGS_TIPS_PLACEHOLDER_FILENAME: 用占位符 $fileName 来表示文件名的位置
|
||||
SETTINGS_TIPS_PLACEHOLDER_EXTNAME: 用占位符 $extName 来表示文件格式的位置
|
||||
SETTINGS_TIPS_SUCH_AS: 如
|
||||
SETTINGS_UPLOAD_PROXY: 上传代理
|
||||
SETTINGS_PLUGIN_INSTALL_PROXY: 插件安装代理
|
||||
SETTINGS_PLUGIN_INSTALL_MIRROR: 插件安装镜像
|
||||
SETTINGS_CURRENT_VERSION: 当前版本
|
||||
SETTINGS_NEWEST_VERSION: 最新版本
|
||||
SETTINGS_GETING: 正在获取中
|
||||
SETTINGS_TIPS_HAS_NEW_VERSION: PicList更新啦,请点击确定重启触发更新
|
||||
SETTINGS_LOG_FILE_PATH: 日志文件路径
|
||||
SETTINGS_CONFIG_FILE_PATH: 配置文件路径
|
||||
SETTINGS_LOG_FILE: 常规日志文件
|
||||
SETTINGS_GUI_LOG_FILE: GUI日志文件
|
||||
SETTINGS_MANAGE_LOG_FILE: 管理日志文件
|
||||
SETTINGS_LOG_LEVEL: 日志记录等级
|
||||
SETTINGS_LOG_FILE_SIZE: 日志文件大小
|
||||
SETTINGS_SET_PICGO_SERVER: 设置PicGo-Server
|
||||
SETTINGS_TIPS_SERVER_NOTICE: 如果你不知道Server的作用,请阅读文档,或者不用修改配置。
|
||||
SETTINGS_ENABLE_SERVER: 是否开启Server
|
||||
SETTINGS_SET_SERVER_HOST: 设置监听地址
|
||||
SETTINGS_SET_SERVER_PORT: 设置监听端口
|
||||
SETTINGS_SET_SERVER_KEY: 设置鉴权密钥
|
||||
SETTINGS_SET_WEB_SERVER: 设置Web服务
|
||||
SETTINGS_TIPS_WEB_SERVER_NOTICE: 如果你不知道Web服务的作用,请阅读文档,或者不用修改配置。
|
||||
SETTINGS_SET_ENABLE_WEB_SERVER: 是否开启Web服务
|
||||
SETTINGS_SET_WEB_SERVER_HOST: 设置Web服务监听地址
|
||||
SETTINGS_SET_WEB_SERVER_PORT: 设置Web服务监听端口
|
||||
SETTINGS_SET_WEB_SERVER_PATH: 设置Web服务路径
|
||||
SETTINGS_TIP_PLACEHOLDER_WEB_HOST: 推荐默认地址:127.0.0.1
|
||||
SETTINGS_TIP_PLACEHOLDER_WEB_PORT: 推荐默认端口:37777
|
||||
SETTINGS_TIP_PLACEHOLDER_HOST: 推荐默认地址:127.0.0.1
|
||||
SETTINGS_TIP_PLACEHOLDER_PORT: 推荐默认端口:36677
|
||||
SETTINGS_TIP_PLACEHOLDER_KEY: 用于接口鉴权, 通过url参数添加'?key=xxx'
|
||||
SETTINGS_SET_SERVER_AES_KEY: 设置接口数据加密密钥
|
||||
SETTINGS_LOG_LEVEL_ALL: 全部-All
|
||||
SETTINGS_LOG_LEVEL_SUCCESS: 成功-Success
|
||||
SETTINGS_LOG_LEVEL_ERROR: 错误-Error
|
||||
SETTINGS_LOG_LEVEL_INFO: 普通-Info
|
||||
SETTINGS_LOG_LEVEL_WARN: 提醒-Warn
|
||||
SETTINGS_LOG_LEVEL_NONE: 不记录日志-None
|
||||
SETTINGS_RESULT: 设置结果
|
||||
SETTINGS_DEFAULT_PICBED: 设置默认图床
|
||||
SETTINGS_SET_DEFAULT_PICBED: 设为默认图床
|
||||
SETTINGS_NOT_CONFIG_OPTIONS: 暂无配置项
|
||||
SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: 使用内置剪贴板上传
|
||||
SETTINGS_CHOOSE_LANGUAGE: 选择语言
|
||||
BUILTIN_CLIPBOARD_TIPS: 使用内置剪贴板函数而不是调用脚本获取剪贴板图片
|
||||
UPLOADER_CONFIG_NAME: 图床配置名
|
||||
UPLOADER_CONFIG_PLACEHOLDER: 请输入配置名称
|
||||
SELECTED_SETTING_HINT: 已选中
|
||||
SETTINGS_MAIN_WINDOW_SIZE: 默认主窗口大小(需重启)
|
||||
SETTINGS_MAIN_WINDOW_SIZE_WIDTH: 默认主窗口宽度
|
||||
SETTINGS_MAIN_WINDOW_WIDTH_HINT: '默认宽度: 1200'
|
||||
SETTINGS_MAIN_WINDOW_SIZE_HEIGHT: 默认主窗口高度
|
||||
SETTINGS_MAIN_WINDOW_HEIGHT_HINT: '默认高度: 800'
|
||||
SETTINGS_RAW_PICGO_SIZE: 原PicGo大小
|
||||
SETTINGS_CUSTOM_MINI_ICON_PATH: 自定义Mini窗口图标路径
|
||||
SETTINGS_CUSTOM_MINI_ICON: 是否自定义Mini窗口图标
|
||||
SETTINGS_COMPRESS_AND_WATERMARK: 设置图片水印和压缩-格式转换等参数
|
||||
SETTINGS_SYNC_DELETE_CLOUD: 相册内删除时同步删除云端文件
|
||||
SETTINGS_ISHIDEDOCK: 是否隐藏dock图标
|
||||
SETTINGS_ISHIDEDOCK_TIPS: 不支持同时隐藏dock和托盘
|
||||
SETTINGS_ENCODE_OUTPUT_URL: 输出(复制) URL 时进行转义
|
||||
SETTINGS_WATCH_CLIPBOARD: 软件启动时自动监听剪贴板上传
|
||||
SETTINGS_SHORT_URL: 使用短链接
|
||||
SETTINGS_SHORT_URL_SERVER: 短链接服务
|
||||
SETTINGS_SHORT_URL_C1N_TOKEN: C1N Token
|
||||
SETTINGS_SHORT_URL_YOURLS_DOMAIN: YOURLS域名
|
||||
SETTINGS_SHORT_URL_YOURLS_SIGNATURE: YOURLS signature
|
||||
SETTINGS_SHORT_URL_CF_WORKER_HOST: Cloudflare Worker域名
|
||||
SETTINGS_SHORT_SINK_DOMAIN: sink域名
|
||||
SETTINGS_SHORT_SINK_TOKEN: sink token
|
||||
SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: 上传后删除本地文件
|
||||
SETTINGS_SYNC_CONFIG: 设置配置同步
|
||||
SETTINGS_SYNC_CONFIG_TITLE: 同步设置
|
||||
SETTINGS_SYNC_CONFIG_NOTE: 同步的文件为配置文件
|
||||
SETTINGS_SYNC_CONFIG_SELECT_TYPE: 选择同步方式
|
||||
SETTINGS_SYNC_CONFIG_SELECT_FILE: 选择同步文件
|
||||
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: 仅配置文件
|
||||
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: 仅相册文件
|
||||
SETTINGS_SYNC_CONFIG_SELECT_BOTH: 配置文件和相册文件
|
||||
SETTINGS_SYNC_CONFIG_GITEA_HOST: Gitea 网址
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: GitHub用户名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME: Gitea用户名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: Gitee用户名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: 仓库(私有)
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO: 仓库
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: 仓库路径名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: GitHub分支
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: Gitea分支
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: Gitee分支
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: GitHub Token
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: Gitea Token
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Gitee Token
|
||||
SETTINGS_SYNC_CONFIG_PROXY: 代理
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: 请输入GitHub用户名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER: 请输入Gitea用户名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: 请输入Gitee用户名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: 请输入GitHub仓库名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER: 请输入Gitea仓库名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: 请输入Gitee仓库名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: 请输入GitHub分支名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER: 请输入Gitea分支名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: 请输入Gitee分支名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: 请输入GitHub Token
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER: 请输入Gitea Token
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: 请输入Gitee Token
|
||||
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: 请输入代理地址
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT: WebDAV端点
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT_PLACEHOLDER: 请输入WebDAV端点URL
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME: 用户名
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME_PLACEHOLDER: 请输入WebDAV用户名
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD: 密码
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD_PLACEHOLDER: 请输入WebDAV密码
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_AUTH_TYPE: 认证类型
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SSL_ENABLED: 启用SSL/HTTPS
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH: 保存路径
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH_PLACEHOLDER: 请选择同步文件的保存路径
|
||||
SETTINGS_UP_DOWN_DESC: 上传下载配置文件
|
||||
SETTINGS_SYNC_UPLOAD: 上传
|
||||
SETTINGS_SYNC_DOWNLOAD: 下载
|
||||
SETTINGS_SYNC_UPLOAD_ALL: 上传所有
|
||||
SETTINGS_SYNC_DOWNLOAD_ALL: 下载所有
|
||||
SETTINGS_SYNC_UPLOAD_SUCCESS: 上传成功
|
||||
SETTINGS_SYNC_UPLOAD_FAILED: 上传失败
|
||||
SETTINGS_SYNC_DOWNLOAD_SUCCESS: 下载成功
|
||||
SETTINGS_SYNC_DOWNLOAD_FAILED: 下载失败
|
||||
SETTINGS_SYNC_COMMON_CONFIG: 通用配置
|
||||
SETTINGS_SYNC_MANAGE_CONFIG: 管理配置
|
||||
SETTINGS_AUTO_IMPORT: 管理页面自动导入配置
|
||||
SETTINGS_AUTO_IMPORT_SELECT_PICBED: 选择需要开启自动导入的图床
|
||||
SETTINGS_TAB_SYSTEM: 系统设置
|
||||
SETTINGS_TAB_SYNC_CONFIG: 同步与配置
|
||||
SETTINGS_TAB_UPLOAD: 上传设置
|
||||
SETTINGS_TAB_ADVANCED: 高级设置
|
||||
SETTINGS_TAB_UPDATE: 更新
|
||||
SHORTCUT_NAME: 快捷键名称
|
||||
SHORTCUT_BIND: 快捷键绑定
|
||||
SHORTCUT_STATUS: 状态
|
||||
SHORTCUT_ENABLED: 已启用
|
||||
SHORTCUT_DISABLED: 已禁用
|
||||
SHORTCUT_SOURCE: 来源
|
||||
SHORTCUT_HANDLE: 操作
|
||||
SHORTCUT_ENABLE: 启用
|
||||
SHORTCUT_DISABLE: 禁用
|
||||
SHORTCUT_EDIT: 编辑
|
||||
SHORTCUT_CHANGE_UPLOAD: 修改上传快捷键
|
||||
WAIT_TO_UPLOAD: 等待上传
|
||||
ALREADY_UPLOAD: 已上传
|
||||
DRAG_FILE_TO_HERE: 将文件拖拽到此处,或
|
||||
CLICK_TO_UPLOAD: 点击上传
|
||||
LINK_FORMAT: 链接格式
|
||||
CLIPBOARD_PICTURE: 剪贴板
|
||||
TIPS_DRAG_VALID_PICTURE_OR_URL: 请拖入合法的图片文件或者图片URL地址
|
||||
TIPS_INPUT_URL: 请输入URL
|
||||
TIPS_HTTP_PREFIX: http://或者https://开头
|
||||
TIPS_INPUT_VALID_URL: 请输入合法的URL
|
||||
PLUGIN_SEARCH_PLACEHOLDER: 搜索npm上的PicGo插件,或者点击上方按钮查看优秀插件列表
|
||||
PLUGIN_INSTALL: 安装
|
||||
PLUGIN_INSTALLING: 安装中
|
||||
PLUGIN_INSTALLED: 已安装
|
||||
PLUGIN_DOING_SOMETHING: 进行中
|
||||
PLUGIN_LIST: 插件列表
|
||||
PLUGIN_IMPORT_LOCAL: 导入本地插件
|
||||
PLUGIN_UPDATE_ALL: 更新全部插件
|
||||
TIPS_REMOVE_LINK: 此操作将把该图片移出相册, 是否继续?
|
||||
TIPS_WILL_REMOVE_CHOOSED_IMAGES: 将在相册中移除刚才选中的 ${m} 张图片,是否继续?
|
||||
TIPS_MUST_CONTAINS_URL: 必须含有$url 或 $fileName 或 $extName
|
||||
TIPS_NETWORK_ERROR: 网络错误暂时无法获取
|
||||
TIPS_NEED_RELOAD: 需要重启生效
|
||||
TIPS_PLEASE_CHOOSE_LOG_LEVEL: 请选择日志记录等级
|
||||
TIPS_SET_SUCCEED: 设置成功
|
||||
TIPS_RESET_SUCCEED: 重置成功
|
||||
TIPS_PLUGIN_NOT_GUI_IMPLEMENT: 该插件未对可视化界面进行优化, 是否继续安装?
|
||||
TIPS_GET_PLUGIN_LIST_FAILED: 获取插件列表失败
|
||||
MANAGE_SETTING_TITLE: 管理页面设置
|
||||
MANAGE_SETTING_ISAUTOREFRESH_TITLE: 每次进入新目录时,是否自动刷新文件列表
|
||||
MANAGE_SETTING_ISAUTOREFRESH_TIPS: 仅对不分页模式有效,默认在加载过一次后自动缓存到数据库来加快下次加载速度
|
||||
MANAGE_SETTING_CLEAR_CACHE_TITLE: '清空文件列表缓存数据库 已占用:'
|
||||
MANAGE_SETTING_CLEAR_CACHE_FREE_TITLE: '剩余可用:'
|
||||
MANAGE_SETTING_CLEAR_CACHE_TIPS: 清空后下次进入新目录时将会重新加载文件列表
|
||||
MANAGE_SETTING_CLEAR_CACHE_PROMPT: 确定要清空文件列表缓存数据库吗?
|
||||
MANAGE_SETTING_CLEAR_CACHE_BUTTON: 清空
|
||||
MANAGE_SETTING_ISSHOWTHUMBNAIL_TITLE: 图片显示为原图而非默认文件格式图标(需要存储桶可公开访问)
|
||||
MANAGE_SETTING_ISUSEPRESIGNEDURL_TITLE: 使用预签名URL预览图片
|
||||
MANAGE_SETTING_ISSHOWLIST_TITLE: 文件列表默认显示方式
|
||||
MANAGE_SETTING_ISSHOWLIST_ON: 列表
|
||||
MANAGE_SETTING_ISSHOWLIST_OFF: 卡片
|
||||
MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TITLE: 为自定义域名开启强制HTTPS
|
||||
MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TIPS: 开启后, 复制链接等操作将会自动为自定义域名添加https前缀
|
||||
MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TITLE: 上传时保留目录结构
|
||||
MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TIPS: 关闭后会将所有文件展开到指定目录下
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_A: 下载
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_B: 文件
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_C: 时保留目录结构
|
||||
MANAGE_SETTING_ISDOWNLOADFOLDERKEEPDIRSTRUCTURE_TITLE_D: 文件夹
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TIPS: 开启后,下载时会保留原始目录结构
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TITLE: 最大同时下载文件数(1-9999)
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS: 腾讯云由于后端实现不同,该设置不生效
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_INPUT_TIPS: 请输入最大同时下载文件数
|
||||
MANAGE_SETTING_ISIGNORECASE_TITLE: 文件搜索时,是否忽略大小写
|
||||
MANAGE_SETTING_ISIGNORECASE_TIPS: 开启后,搜索时会忽略大小写
|
||||
MANAGE_SETTING_TIMESTAMPRENAME_TITLE: 上传文件时间戳重命名--(优先级最高)
|
||||
MANAGE_SETTING_TIMESTAMPRENAME_TIPS: 开启后,上传文件时会自动重命名为时间戳
|
||||
MANAGE_SETTING_RANDOMSTRINGRENAME_TITLE: 上传文件随机字符串重命名--(优先级中)
|
||||
MANAGE_SETTING_RANDOMSTRINGRENAME_TIPS: 随机字符串长度为20
|
||||
MANAGE_SETTING_CUSTOMRENAME_TITLE: 上传文件自定义重命名--(优先级最低)
|
||||
MANAGE_SETTING_CUSTOMRENAME_TIPS: 请填写自定义重命名格式
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TITLE: 自定义重命名格式,占位符请参考下表,可自由组合
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TIPS: 请填写自定义重命名格式
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TITLE: 占位符
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TIPS: 描述
|
||||
MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TITLE: 预签名URL过期时间(单位:秒)
|
||||
MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TIPS: 请填写预签名URL过期时间
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_TITLE: 选择默认复制的链接格式
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN: Markdown
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN_WITH_LINK: Markdown(带链接)
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_RAWURL: 原始链接
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_HTML: HTML格式
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_BBCODE: BBCode格式
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_CUSTOM: 自定义格式
|
||||
MANAGE_SETTING_CUSTOM_COPY_FORMAT_TITLE: 自定义链接格式($url为链接,$fileName为文件名)
|
||||
MANAGE_SETTING_CUSTOM_COPY_FORMAT_TIPS: 请填写自定义链接格式
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TITLE: 选择下载目录
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TIPS: 系统默认下载目录
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_BUTTON: 选择目录
|
||||
MANAGE_SETTING_COPY_MESSAGE: 已复制
|
||||
MANAGE_SETTING_CLEAR_CACHE_SUCCESS: 清除成功
|
||||
MANAGE_SETTING_CLEAR_CACHE_FAILED: 清除失败
|
||||
MANAGE_SETTING_ISENCODEURL_TITLE: 复制链接时进行URL编码
|
||||
MANAGE_SETTING_ISENCODEURL_TIPS: 根据平台选择是否开启
|
||||
MANAGE_NO_DATA: 暂无数据
|
||||
MANAGE_MAIN_PAGE_NEW_BUCKET: 新建存储桶
|
||||
MANAGE_MAIN_PAGE_BACK_TO_HOME: 返回首页
|
||||
MANAGE_MAIN_PAGE_SWITCH_PICBED: 切换图床
|
||||
MANAGE_MAIN_PAGE_SETTING: 设置
|
||||
MANAGE_MAIN_PAGE_SUBMIT: 提交
|
||||
MANAGE_MAIN_PAGE_TIPS: 提示
|
||||
MANAGE_MAIN_PAGE_TIPS_SUCCESS: 创建成功
|
||||
MANAGE_MAIN_PAGE_TIPS_FAILED: 创建失败
|
||||
MANAGE_MAIN_PAGE_BUCKET: 存储桶
|
||||
MANAGE_MAIN_PAGE_GALLERY: 相册
|
||||
MANAGE_MAIN_PAGE_REPOSITORY: 仓库
|
||||
MANAGE_CONSTANT_BASE_RULE: 请输入
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A: 请输入每页显示数量
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B: 每页显示数量必须为数字
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C: 每页显示数量必须在20-1000之间
|
||||
MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A: 请输入别名, 该配置的唯一标识
|
||||
MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B: 别名只能包含中文、英文、数字、下划线和中划线
|
||||
MANAGE_CONSTANT_ALIAS_TOOLTIP: 别名只能包含中文、英文、数字、下划线和中划线
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP: 每页显示数量必须在20-1000之间
|
||||
MANAGE_CONSTANT_PAGING_TOOLTIP: 关闭分页时,目录列表将使用数据库缓存以优化性能
|
||||
MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP: 英文逗号分隔,如:bucket1,bucket2,bucket3,和起始目录顺序一一对应
|
||||
MANAGE_CONSTANT_BASE_DIR_TOOLTIP: 英文逗号分隔,如:/dir1,/dir2,/dir3, 和存储桶顺序一一对应
|
||||
MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP: 开启时,将自动获取存储桶绑定的域名,关闭时可手动填写
|
||||
MANAGE_CONSTANT_SMMS_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER: 该配置的唯一标识
|
||||
MANAGE_CONSTANT_SMMS_TOKEN_DESC: Token-必需
|
||||
MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER: 请填写Token
|
||||
MANAGE_CONSTANT_SMMS_PAGING_DESC: 是否开启分页
|
||||
MANAGE_CONSTANT_SMMS_EXPLAIN: 大陆地区请访问备用域名https://smms.app, 请勿大批量上传图片,否则API接口会被限制
|
||||
MANAGE_CONSTANT_SMMS_REFER_TEXT: '配置教程请参考: '
|
||||
MANAGE_CONSTANT_QINIU_NAME: 七牛云
|
||||
MANAGE_CONSTANT_QINIU_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER: 该配置的唯一标识
|
||||
MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC: accessKey-必需
|
||||
MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER: 请填写accessKey
|
||||
MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC: secretKey-必需
|
||||
MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER: 请填写secretKey
|
||||
MANAGE_CONSTANT_QINIU_BUCKET_DESC: 空间名-可选
|
||||
MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER: 英文逗号分隔,例如:bucket1,bucket2
|
||||
MANAGE_CONSTANT_QINIU_BASE_DIR_DESC: 起始目录-可选
|
||||
MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER: 英文逗号分隔,例如:/dir1,/dir2
|
||||
MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC: 是否自动获取绑定域名
|
||||
MANAGE_CONSTANT_QINIU_PAGING_DESC: 是否开启分页
|
||||
MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC: 每页显示数量
|
||||
MANAGE_CONSTANT_QINIU_EXPLAIN: 空间名和起始目录配置时可通过英文逗号分隔设置,顺序必须一致,逗号间留空或缺失项使用默认值
|
||||
MANAGE_CONSTANT_QINIU_REFER_TEXT: '配置教程请参考: '
|
||||
MANAGE_CONSTANT_GITHUB_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER: 该配置的唯一标识
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_DESC: Token-必需
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER: 请填写Token
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_TIPS: 请提供具有完整repo权限的token,否则部分功能可能无法使用
|
||||
MANAGE_CONSTANT_GITHUB_USER_DESC: 用户名-必需
|
||||
MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER: 请填写用户名
|
||||
MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE: 用户名
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_DESC: 代理地址-可选
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER: 例如:http://127.0.0.1:1080
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_TIPS: 如果访问速度较慢,可以尝试配置代理
|
||||
MANAGE_CONSTANT_GITHUB_PAGING_DESC: 是否开启分页
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC: CDN加速域名-可选
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER: 支持使用{username}、{repo}、{branch}和{path}作为替换占位符,用于适配不同仓库和分支
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS: '例如: https://cdn.staticaly.com/gh/{username}/{repo}@{branch}/{path}'
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A: 加速域名请以http://或https://开头
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B: 加速域名中的大括号必须成对出现
|
||||
MANAGE_CONSTANT_GITHUB_EXPLAIN: API调用有每小时上限,此外不支持上传超过100M的文件
|
||||
MANAGE_CONSTANT_GITHUB_REFER_TEXT: '配置教程请参考: '
|
||||
MANAGE_CONSTANT_ALIYUN_NAME: 阿里云
|
||||
MANAGE_CONSTANT_ALIYUN_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER: 该配置的唯一标识
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC: accessKeyId-必需
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC: accessKeySecret-必需
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER: 请填写accessKeySecret
|
||||
MANAGE_CONSTANT_ALIYUN_BUCKET_DESC: 存储桶名-可选
|
||||
MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER: 英文逗号分隔,例如:bucket1,bucket2
|
||||
MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC: 起始目录-可选
|
||||
MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER: 英文逗号分隔,例如:/dir1,/dir2
|
||||
MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC: 是否自动获取绑定域名
|
||||
MANAGE_CONSTANT_ALIYUN_PAGING_DESC: 是否开启分页
|
||||
MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC: 每页显示数量
|
||||
MANAGE_CONSTANT_ALIYUN_EXPLAIN: 存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值
|
||||
MANAGE_CONSTANT_ALIYUN_REFER_TEXT: '配置教程请参考: '
|
||||
MANAGE_CONSTANT_TENCENT_NAME: 腾讯云
|
||||
MANAGE_CONSTANT_TENCENT_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER: 该配置的唯一标识
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC: secretId-必需
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER: 请填写secretId
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC: secretKey-必需
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER: 请填写secretKey
|
||||
MANAGE_CONSTANT_TENCENT_APPID_DESC: appId-必需
|
||||
MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER: 请填写appId
|
||||
MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP: 例如:1250000000
|
||||
MANAGE_CONSTANT_TENCENT_BUCKET_DESC: 存储桶名-可选(注意包含AppId)
|
||||
MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER: 英文逗号分隔,例如:bucket1-1250000000,bucket2-1250000000
|
||||
MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC: 起始目录-可选
|
||||
MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER: 英文逗号分隔,例如:/dir1,/dir2
|
||||
MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC: 是否自动获取绑定域名
|
||||
MANAGE_CONSTANT_TENCENT_PAGING_DESC: 是否开启分页
|
||||
MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC: 每页显示数量
|
||||
MANAGE_CONSTANT_TENCENT_EXPLAIN: 存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值
|
||||
MANAGE_CONSTANT_TENCENT_REFER_TEXT: '配置教程请参考: '
|
||||
MANAGE_CONSTANT_UPYUN_NAME: 又拍云
|
||||
MANAGE_CONSTANT_UPYUN_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER: 该配置的唯一标识
|
||||
MANAGE_CONSTANT_UPYUN_BUCKET_DESC: 服务名-必需
|
||||
MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER: 对应其它对象存储的存储桶名
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC: 操作员名-必需
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER: 推荐使用具有读取、写入和删除完整权限的操作员
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE: 操作员
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC: 操作员密码-必需
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER: 请填写密码
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE: 操作员密码
|
||||
MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC: 起始目录-可选
|
||||
MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER: 读取文件时的初始目录
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC: 加速域名-必需
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER: 请以http://或https://开头
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A: 加速域名不能为空
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B: 自定义域名请以http://或https://开头
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_DESC: 防盗链密钥-可选
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_PLACEHOLDER: 请填写防盗链密钥
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_TOOLTIP: 如果不填写,默认不启用防盗链
|
||||
MANAGE_CONSTANT_UPYUN_EXPIRE_TIME_DESC: 防盗链过期时间(秒)-可选
|
||||
MANAGE_CONSTANT_UPYUN_PAGING: 是否开启分页
|
||||
MANAGE_CONSTANT_UPYUN_ITEMS_PAGE: 每页显示数量
|
||||
MANAGE_CONSTANT_UPYUN_EXPLAIN: 又拍云图床务必填写加速域名,否则无法正常使用
|
||||
MANAGE_CONSTANT_UPYUN_REFER_TEXT: '配置教程请参考: '
|
||||
MANAGE_CONSTANT_IMGUR_NAME: Imgur
|
||||
MANAGE_CONSTANT_IMGUR_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER: 该配置的唯一标识
|
||||
MANAGE_CONSTANT_IMGUR_USERNAME_DESC: imgur用户名-必需
|
||||
MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER: 请填写imgur用户名
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC: access token-必需
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER: 请填写access token
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP: 不是clientID,请参考配置教程
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_DESC: 代理-可选
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER: 例如:http://127.0.0.1:1080
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP: 大陆地区请使用代理,否则无法正常使用
|
||||
MANAGE_CONSTANT_IMGUR_EXPLAIN: 大陆地区请使用代理,API调用存在限制,请注意使用频率
|
||||
MANAGE_CONSTANT_IMGUR_REFER_TEXT: '配置教程请参考: '
|
||||
MANAGE_CONSTANT_S3_NAME: S3兼容云
|
||||
MANAGE_CONSTANT_S3_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER: 该配置的唯一标识
|
||||
MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC: accessKeyId-必需
|
||||
MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER: 请填写accessKeyId
|
||||
MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC: secretAccessKey-必需
|
||||
MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER: 请填写secretAccessKey
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_DESC: endpoint-可选
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER: 例如:s3.us-east-1.amazonaws.com
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP: 如果不填写,默认访问 AWS S3,请提供根API endpoint
|
||||
MANAGE_CONSTANT_S3_SSLENABLED_DESC: 使用HTTPS连接
|
||||
MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP: 如果您的平台不支持,请关闭该选项
|
||||
MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC: 启用 S3 Path style
|
||||
MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP: 例如使用 minio 时需要启用
|
||||
MANAGE_CONSTANT_S3_PROXY_DESC: 代理-可选
|
||||
MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER: 例如:http://127.0.0.1:1080
|
||||
MANAGE_CONSTANT_S3_PROXY_TOOLTIP: 如果部分平台大陆地区无法访问,请使用代理
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC: 上传文件的权限
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE: 私有
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ: 公共读
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE: 公共读写
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ: 授权读
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ: 桶所有者读
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL: 桶所有者完全控制
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ: AWS执行读
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP: 上传文件的权限,可选值:private、public-read、public-read-write、authenticated-read、bucket-owner-read、bucket-owner-full-control、aws-exec-read
|
||||
MANAGE_CONSTANT_S3_BUCKET_DESC: 存储桶名-可选
|
||||
MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER: 英文逗号分隔,例如:bucket1,bucket2
|
||||
MANAGE_CONSTANT_S3_BASE_DIR_DESC: 起始目录-可选
|
||||
MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER: 英文逗号分隔,例如:/dir1,/dir2
|
||||
MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_DESC: 是否使用Doge Cloud
|
||||
MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_TOOLTIP: 开启后,将使用Doge Cloud的API
|
||||
MANAGE_CONSTANT_S3_PAGING_DESC: 是否开启分页
|
||||
MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC: 每页显示数量
|
||||
MANAGE_CONSTANT_S3_EXPLAIN: 存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值
|
||||
MANAGE_CONSTANT_S3_REFER_TEXT: '配置教程请参考: '
|
||||
MANAGE_CONSTANT_WEBDAV_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER: 该配置的唯一标识
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_DESC: 地址-必需
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER: 例如:https://example.com/dav
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP: 请填写完整的WebDAV地址
|
||||
MANAGE_CONSTANT_WEBDAV_USERNAME_DESC: 用户名-必需
|
||||
MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER: 请填写用户名
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_DESC: 特殊配置
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER: 例如:bucket1
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP: 此处不可修改,仅为软件兼容性考虑
|
||||
MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC: 密码-必需
|
||||
MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER: 请填写密码
|
||||
MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC: 起始目录-可选
|
||||
MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER: 例如:/dir1
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC: 自定义域名-可选
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER: 例如:https://example.com
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP: 如果您的WebDAV服务器支持自定义域名,请填写
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE: 自定义域名请以http://或https://开头
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH: 网址拼接用起始路径
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH_PLACEHOLDER: 例如:test/ttc
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH_TOOLTIP: 用于拼接网址
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_DESC: 代理-可选
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER: 例如:http://127.0.0.1:1080
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP: 如果需要特殊网络环境才能访问,请使用代理
|
||||
MANAGE_CONSTANT_WEBDAV_SSL_DESC: 使用HTTPS连接
|
||||
MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP: 根据WebDAV服务器的配置,如果您的服务器不支持HTTPS,请关闭该选项
|
||||
MANAGE_CONSTANT_WEBDAV_AUTH_TYPE_DESC: 认证类型
|
||||
MANAGE_CONSTANT_WEBDAV_EXPLAIN: WebDAV配置
|
||||
MANAGE_CONSTANT_WEBDAV_REFER_TEXT: '配置教程请参考: '
|
||||
MANAGE_CONSTANT_LOCAL_NAME: 本地存储
|
||||
MANAGE_CONSTANT_LOCAL_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_LOCAL_ALIAS_PLACEHOLDER: 该配置的唯一标识
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_DESC: 起始目录-必需
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_PLACEHOLDER: 请填写起始目录
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_DESC: 自定义域名-可选
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_PLACEHOLDER: 例如:https://example.com
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_TOOLTIP: 如果您的本地存储支持自定义域名,请填写
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH: 网址拼接用起始路径
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH_PLACEHOLDER: 例如:test/ttc
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH_TOOLTIP: 用于拼接网址
|
||||
MANAGE_CONSTANT_LOCAL_EXPLAIN: 本地存储配置
|
||||
MANAGE_CONSTANT_LOCAL_REFER_TEXT: '配置教程请参考: '
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_RULE_MESSAGE: 起始目录不能为空
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_DESC: 特殊配置
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: 例如:bucket1
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: 此处不可修改,仅为软件兼容性考虑
|
||||
MANAGE_CONSTANT_SFTP_NAME: SFTP
|
||||
MANAGE_CONSTANT_SFTP_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER: 该配置的唯一标识
|
||||
MANAGE_CONSTANT_SFTP_HOST_DESC: SSH地址-必需
|
||||
MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER: 例如:233.233.233.233
|
||||
MANAGE_CONSTANT_SFTP_PORT_DESC: SSH端口-必需
|
||||
MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER: 例如:22
|
||||
MANAGE_CONSTANT_SFTP_USERNAME_DESC: 用户名
|
||||
MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER: 请填写用户名
|
||||
MANAGE_CONSTANT_SFTP_PASSWORD_DESC: 密码
|
||||
MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER: 请填写密码
|
||||
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC: 私钥地址
|
||||
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER: 请填写私钥地址
|
||||
MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC: 私钥密码
|
||||
MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER: 请填写私钥密码
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_DESC: 起始目录-可选
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER: 例如:/dir1
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC: 自定义域名-可选
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER: 例如:https://example.com
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP: 如果您的对应路径支持域名访问,请填写
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH: 网址拼接用起始路径
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER: 例如:test/ttc
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP: 用于拼接网址
|
||||
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC: 文件权限
|
||||
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER: 例如:0644
|
||||
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC: 目录权限
|
||||
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER: 例如:0755
|
||||
MANAGE_CONSTANT_SFTP_EXPLAIN: SFTP配置
|
||||
MANAGE_CONSTANT_SFTP_REFER_TEXT: '配置教程请参考: '
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE: 起始目录不能为空
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_DESC: 特殊配置
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER: 例如:bucket1
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: 此处不可修改,仅为软件兼容性考虑
|
||||
MANAGE_LOGIN_PAGE_PANE_NAME: 已保存配置
|
||||
MANAGE_LOGIN_PAGE_PANE_KEY_NAME: 配置项
|
||||
MANAGE_LOGIN_PAGE_PANE_KEY_VALUE: 值
|
||||
MANAGE_LOGIN_PAGE_PANE_ENTER: 进入
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE: 删除
|
||||
MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER: 请选择
|
||||
MANAGE_LOGIN_PAGE_PANE_IMPORT: 导入
|
||||
MANAGE_LOGIN_PAGE_PANE_SAVE: 保存
|
||||
MANAGE_LOGIN_PAGE_PANE_RESET: 重置
|
||||
MANAGE_LOGIN_PAGE_PANE_TABLE_TITLE: 已有配置,单击可复制对应单元格数据
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_MESSAGE_A: 请填写
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ALIAS_MESSAGE: 别名只能包含中文、英文、数字、下划线和中划线
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ITEMS_PER_PAGE_MESSAGE: 每页数量必须在20-1000之间
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_CUSTOM_URL_MESSAGE: 自定义域名请以http://或https://开头
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME: 通知
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE: 已覆盖别名
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_B: 已保存别名
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C: 已删除别名
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D: 删除别名为
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E: 的配置失败
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS: 已复制
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE: 确定要删除配置么?
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP: 提示
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM: 确定
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL: 取消
|
||||
MANAGE_BUCKET_PAGE_LOADING_TEXT: 加载文件中...
|
||||
MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER: 请选择自定义域名
|
||||
MANAGE_BUCKET_PAGE_CUSTOM_URL_INPUT_PLACEHOLDER: 请输入自定义域名
|
||||
MANAGE_BUCKET_PAGE_UPLOAD_FILES_TOOLTIP: 文件上传(支持多选)
|
||||
MANAGE_BUCKET_PAGE_UPLOAD_FROM_URL_TOOLTIP: 从URL上传
|
||||
MANAGE_BUCKET_PAGE_CREATE_FOLDER_TOOLTIP: 创建文件夹
|
||||
MANAGE_BUCKET_PAGE_DOWNLOAD_TOOLTIP: 下载页面
|
||||
MANAGE_BUCKET_PAGE_BATCH_RENAME_TOOLTIP: 批量重命名
|
||||
MANAGE_BUCKET_PAGE_BATCH_COPY_URL_TOOLTIP: 批量复制URL
|
||||
MANAGE_BUCKET_PAGE_COPY_FILE_INFO_TOOLTIP: 复制文件信息
|
||||
MANAGE_BUCKET_PAGE_FORCE_REFRESH_TOOLTIP: 强制刷新文件列表
|
||||
MANAGE_BUCKET_PAGE_SEARCH_PLACEHOLDER: 搜索文件
|
||||
MANAGE_BUCKET_PAGE_ROOT_FOLDER: 根目录
|
||||
MANAGE_BUCKET_PAGE_FILE_NUMBER: '文件数: '
|
||||
MANAGE_BUCKET_PAGE_FILE_SIZE: '总大小: '
|
||||
MANAGE_BUCKET_PAGE_SELECT_ALL: 全选
|
||||
MANAGE_BUCKET_PAGE_SELECT_NONE: 取消
|
||||
MANAGE_BUCKET_PAGE_SELECT_INVERT: 反选
|
||||
MANAGE_BUCKET_DOWNLOAD_BTN: 下载
|
||||
MANAGE_BUCKET_DELETE_BTN: 删除
|
||||
MANAGE_BUCKET_SORT_TITLE: 排序
|
||||
MANAGE_BUCKET_SORT_NAME: 文件名
|
||||
MANAGE_BUCKET_SORT_SIZE: 大小
|
||||
MANAGE_BUCKET_SORT_EXT: 类型
|
||||
MANAGE_BUCKET_SORT_TIME: 时间
|
||||
MANAGE_BUCKET_SORT_CHECK: 选中状态
|
||||
MANAGE_BUCKET_SORT_INIT: 初始化
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: 请输入URL,支持多个URL,以换行分隔
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: 确定
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: 取消
|
||||
MANAGE_BUCKET_URL_FORMAT_MARKDOWN: Markdown
|
||||
MANAGE_BUCKET_URL_FORMAT_MARKDOWN_WITH_LINK: Markdown-link
|
||||
MANAGE_BUCKET_URL_FORMAT_URL: Url
|
||||
MANAGE_BUCKET_URL_FORMAT_HTML: Html
|
||||
MANAGE_BUCKET_URL_FORMAT_BBCODE: BBCode
|
||||
MANAGE_BUCKET_URL_FORMAT_CUSTOM: 自定义
|
||||
MANAGE_BUCKET_URL_FORMAT_PRESIGN: 预签名链接
|
||||
MANAGE_BUCKET_FILE_INFO_TITLE: 文件信息
|
||||
MANAGE_BUCKET_FILE_INFO_COPY_TIPS: 复制JSON格式信息
|
||||
MANAGE_BUCKET_FILE_LIST_LOADING: 加载中,点击取消
|
||||
MANAGE_BUCKET_FILE_LIST_DOWNLOAD_PRE: 准备下载中,点击取消
|
||||
MANAGE_BUCKET_KEEP_FOLDER_STRUCTURE: 保持目录结构
|
||||
MANAGE_BUCKET_NOT_KEEP_FOLDER_STRUCTURE: 不保持目录结构
|
||||
MANAGE_BUCKET_UPLOAD_AREA_TITLE: 拖放上传支持递归上传文件夹
|
||||
MANAGE_BUCKET_UPLOAD_AREA_TEXT: 或:点击选择文件(不支持文件夹)
|
||||
MANAGE_BUCKET_UPLOAD_AREA_BTN_LOADING: 读取文件中
|
||||
MANAGE_BUCKET_UPLOAD_AREA_BTN: 上传
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR: 清空
|
||||
MANAGE_BUCKET_UPLOAD_AREA_STATUS_UPLOADING: 上传中
|
||||
MANAGE_BUCKET_UPLOAD_AREA_COPY_TASK: 复制上传任务信息
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR_UPLOADED_TASK: 清空已完成任务
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR_ALL_TASK: 清空所有任务
|
||||
MANAGE_BUCKET_UPLOAD_AREA_SUCCESS: 成功
|
||||
MANAGE_BUCKET_UPLOAD_AREA_FAILED: 失败
|
||||
MANAGE_BUCKET_DOWNLOAD_PAGE_TITLE: 下载页面
|
||||
MANAGE_BUCKET_DOWNLOADING: 下载中
|
||||
MANAGE_BUCKET_DOWNLOAD_COPY_TASK: 复制下载任务信息
|
||||
MANAGE_BUCKET_DOWNLOAD_CLEAR_DOWNLOADED_TASK: 清空已完成任务
|
||||
MANAGE_BUCKET_DOWNLOAD_CLEAR_ALL_TASK: 清空所有任务
|
||||
MANAGE_BUCKET_DOWNLOAD_OPEN_FOLDER: 打开下载目录
|
||||
MANAGE_BUCKET_DOWNLOAD_SUCCESS: 成功
|
||||
MANAGE_BUCKET_DOWNLOAD_FAILED: 失败
|
||||
MANAGE_BUCKET_MARKDOWN_PREVIEW: 预览
|
||||
MANAGE_BUCKET_PLAY: 播放
|
||||
MANAGE_BUCKET_RENAME_FILE: 文件重命名
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A: 进行替换时匹配的字符串或js正则表达式
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS: 正则表达式请直接输入,不需要加上/
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A_PLACEHOLDER: '例如:^\d{4}-\d{2}-\d{2} '
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_B: 需要替换的字符串,可使用自定义重命名规则中的占位符
|
||||
MANAGE_BUCKET_RENAME_FILE_TABLE_IID: 自增数字
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT: 是否匹配扩展名进行替换
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_TIPS: 如果希望修改扩展名,请勾选此项
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_YES: 是
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_NO: 否
|
||||
MANAGE_BUCKET_RENAME_FILE_CANCEL: 取消
|
||||
MANAGE_BUCKET_RENAME_FILE_CONFIRM: 确定
|
||||
MANAGE_BUCKET_COPY_SUCCESS: 复制成功
|
||||
MANAGE_BUCKET_START_LOADING_MESSAGE: 开始获取文件
|
||||
MANAGE_BUCKET_END_LOADING_MESSAGE_FAIL: 获取文件内容失败
|
||||
MANAGE_BUCKET_LAST_PAGE_TITLE: 提示
|
||||
MANAGE_BUCKET_LAST_PAGE_MSG: 已经是最后一页了
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_TITLE: 提示
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG: 获取文件列表失败
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG2: 正在后台获取文件列表,请不要切换页面
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG3: 正在加载文件列表,请稍后再试
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TITLE: 确定要下载该文件夹吗?
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TIP: 提示
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CONFIRM: 确定
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CANCEL: 取消
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_SUCCESS: 获取下载列表成功
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_FAIL: 获取失败
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_CANCEL: 已取消
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_TITLE: 请输入文件夹名称
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_TIP: 新建文件夹
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_CONFIRM: 确定
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_CANCEL: 取消
|
||||
MANAGE_BUCKET_CREATE_FOLDER_ERROR_MSG: 文件夹名称只能包含中文、英文、数字、下划线和斜杠
|
||||
MANAGE_BUCKET_CREATE_FOLDER_SUCCESS: 创建成功, 请刷新
|
||||
MANAGE_BUCKET_CREATE_FOLDER_FAIL: 创建失败
|
||||
MANAGE_BUCKET_UPLOAD_URL_ERROR_MSQ: 请输入有效的URL
|
||||
MANAGE_BUCKET_UPLOAD_URL_NOT_TITLE: 提示
|
||||
MANAGE_BUCKET_UPLOAD_URL_NOT_MSG: 开始后台下载,成功后自动上传
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG: 请输入匹配字符串
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG2: 没有匹配到文件
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG3: 没有需要重命名的文件
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_A: 检测到有
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_B: 个文件重复,是否继续
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_C: 提示
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_CONFIRM: 确定
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_CANCEL: 取消
|
||||
MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_A: 重命名成功
|
||||
MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_B: 失败
|
||||
MANAGE_BUCKET_BATCH_RENAME_CANCEL: 已取消
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_ERROR_MSG: 请先选择文件
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_MSG_A: 已复制
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_MSG_B: 个文件信息
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_ERROR_MSG: 请先选择文件
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_MSG_A: 已复制
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_MSG_B: 个链接
|
||||
MANAGE_BUCKET_CANCEL_LOADING_TITLE: 是否停止获取文件列表?
|
||||
MANAGE_BUCKET_CANCEL_LOADING_MSG: 提示
|
||||
MANAGE_BUCKET_CANCEL_LOADING_CONFIRM: 确定
|
||||
MANAGE_BUCKET_CANCEL_LOADING_CANCEL: 取消
|
||||
MANAGE_BUCKET_CANCEL_LOADING_SUCCESS: 文件列表获取已停止
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_TITLE: 是否停止下载文件获取?
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_MSG: 提示
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CONFIRM: 确定
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CANCEL: 取消
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_SUCCESS: 下载文件获取已停止
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_TITLE: 提示
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_MSG: 获取文件列表成功
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_MSG2: 部分文件获取失败
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_A: 将永久删除
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_B: 个文件,是否继续?
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_MSG: 提示
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CONFIRM: 确定
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CANCEL: 取消
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_TITLE: 提示
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG: 删除失败
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG2: 删除成功
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG3: 失败
|
||||
MANAGE_BUCKET_BATCH_DELETE_CANCEL: 已取消删除
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE: 将永久删除
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER: 文件夹
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER_A: 和该目录下的所有文件
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FILE: 文件
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_C: 是否继续
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_MSG: 提示
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_CONFIRM: 确定
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_CANCEL: 取消
|
||||
MANAGE_BUCKET_DELETE_ERROR_MSG_TITLE: 提示
|
||||
MANAGE_BUCKET_DELETE_ERROR_MSG_MSG: 删除文件夹可能需要一段时间,请耐心等待
|
||||
MANAGE_BUCKET_DELETE_SUCCESS: 删除成功
|
||||
MANAGE_BUCKET_DELETE_FAIL: 删除失败
|
||||
MANAGE_BUCKET_DELETE_CANCEL: 已取消删除
|
||||
MANAGE_BUCKET_RENAME_INFO_MSG: 新文件名与原文件名相同,无需重命名
|
||||
MANAGE_BUCKET_RENAME_SUCCESS: 重命名成功
|
||||
MANAGE_BUCKET_RENAME_ERROR_MSG: 重命名失败
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_FINISHTIME: 完成时间
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS: 状态
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_SUCCESS: 成功
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_FAIL: 失败
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_TARGETFILEPATH: 上传路径
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_FINISHTIME: 完成时间
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS: 状态
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_SUCCESS: 成功
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_FAIL: 失败
|
||||
MANAGE_BUCKET_DOWNLOADING_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_DOWNLOADING_COLUMN_PROGRESS: 进度
|
||||
MANAGE_BUCKET_UPLOADING_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_UPLOADING_COLUMN_PROGRESS: 进度
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILESIZE: 大小
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILENUM: 文件数
|
||||
MANAGE_BUCKET_FILE_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_FILE_COLUMN_COPY_URL: 复制链接
|
||||
MANAGE_BUCKET_FILE_COLUMN_INFO: 文件信息
|
||||
MANAGE_BUCKET_FILE_COLUMN_FILESIZE: 大小
|
||||
MANAGE_BUCKET_FILE_COLUMN_TIME: 修改时间
|
||||
MANAGE_NEW_BUCKET_TCYUN_NAME: 腾讯云
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_DESC: Bucket名
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_PLACEHOLDER: 请输入Bucket名
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_A: Bucket名不能为空
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_B: Bucket名称长度不能超过23个字符
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_C: Bucket名称只能包含小写字母、数字和中划线,且不能以中划线开头和结尾
|
||||
MANAGE_NEW_BUCKET_TCYUN_REGION: 区域
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_DESC: 访问权限
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_RW: 公共读写
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_R: 公共读
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PRIVATE: 私有
|
||||
MANAGE_NEW_BUCKET_ALIYUN_NAME: 阿里云
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_DESC: Bucket名
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_PLACEHOLDER: 请输入Bucket名
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_A: Bucket名不能为空
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_B: Bucket名称长度不能超过63个字符
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_C: Bucket名称只能包含小写字母、数字和中划线,且不能以中划线开头和结尾
|
||||
MANAGE_NEW_BUCKET_ALIYUN_REGION: 区域
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_DESC: 访问权限
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_RW: 公共读写
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_R: 公共读
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PRIVATE: 私有
|
||||
MANAGE_NEW_BUCKET_QINIU_NAME: 七牛云
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_DESC: Bucket名
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_PLACEHOLDER: 请输入Bucket名
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_A: Bucket名不能为空
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B: Bucket名称长度不能超过63个字符
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: Bucket名称只能包含小写字母、数字和中划线,且不能以中划线开头和结尾
|
||||
MANAGE_NEW_BUCKET_QINIU_REGION: 区域
|
||||
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: 公开访问
|
||||
MANAGE_NEW_BUCKET_S3PLIST_NAME: S3兼容云
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC: Bucket名
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER: 请输入Bucket名
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A: Bucket名不能为空
|
||||
MANAGE_NEW_BUCKET_S3PLIST_REGION: 区域
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC: 访问权限
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW: 公共读写
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R: 公共读
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE: 私有
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ: 授权读
|
||||
PLUGIN_INSTALL_FAILED: 插件安装失败
|
||||
PLUGIN_UNINSTALL_FAILED: 插件卸载失败
|
||||
PLUGIN_UPDATE_SUCCEED: 插件更新成功
|
||||
PLUGIN_UPDATE_FAILED: 插件更新失败
|
||||
PLUGIN_IMPORT_SUCCEED: 插件导入成功
|
||||
PLUGIN_IMPORT_FAILED: 插件导入失败
|
||||
|
||||
@@ -8,13 +8,10 @@ RELOAD_APP: 重啟程式
|
||||
UPLOAD_SUCCEED: 上傳成功
|
||||
UPLOAD_FAILED: 上傳失敗
|
||||
UPLOAD_PROGRESS: 上傳進度
|
||||
OPERATION_SUCCEED: 操作成功
|
||||
OPERATION_FAILED: 操作失敗
|
||||
UPLOADING: 正在上傳
|
||||
QUICK_UPLOAD: 快速上傳
|
||||
UPLOAD_BY_CLIPBOARD: 剪貼簿圖片上傳
|
||||
SHOW_PICBED_QRCODE: 產生圖床配置 QRCODE
|
||||
PICBED_QRCODE: 圖床配置 QRCODE
|
||||
ENABLE: 啟用
|
||||
DISABLE: 禁用
|
||||
CONFIG_THING: 設定${c}
|
||||
@@ -28,18 +25,6 @@ START_WATCH_CLIPBOARD: 開始監聽剪貼簿
|
||||
STOP_WATCH_CLIPBOARD: 停止監聽剪貼簿
|
||||
OPEN_TOOLBOX: 開啟修復工具箱
|
||||
TOOLBOX: 工具箱
|
||||
TOOLBOX_TITLE: 排查 PicList 執行時問題
|
||||
TOOLBOX_SUB_TITLE: 立即掃描以下項目,修復使用問題
|
||||
TOOLBOX_CHECK_CONFIG_FILE_BROKEN: 檢查配置文件是否損壞
|
||||
TOOLBOX_CHECK_GALLERY_FILE_BROKEN: 檢查相冊文件是否損壞
|
||||
TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD: 檢查剪貼板圖片上傳是否存在問題
|
||||
TOOLBOX_CHECK_PROBLEM_WITH_PROXY: 檢查代理設置是否正常
|
||||
TOOLBOX_FIX_DONE_NEED_RELOAD: 修復完成,需要重啓生效,是否重啓
|
||||
TOOLBOX_CANT_AUTO_FIX: 無法自動修復,請自行修復以下問題
|
||||
TOOLBOX_START_SCAN: 開始掃描
|
||||
TOOLBOX_RE_SCAN: 重新掃描
|
||||
TOOLBOX_START_FIX: 開始修復
|
||||
TOOLBOX_SUCCESS_TIPS: 恭喜你,沒有檢查出問題
|
||||
TOOLBOX_CHECK_CONFIG_FILE_PATH_TIPS: 配置文件路徑是:${path}
|
||||
TOOLBOX_CHECK_CONFIG_FILE_BROKEN_TIPS: 配置文件已損壞
|
||||
TOOLBOX_CHECK_GALLERY_FILE_PATH_TIPS: 相冊文件路徑是:${path}
|
||||
@@ -51,865 +36,12 @@ TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_WORKING: 代理設置不可用
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_TIPS: 剪貼板圖片臨時文件夾路徑是:${path}
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS: 剪貼板圖片臨時文件夾不存在:${path}
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_ERROR_TIPS: 請自行創建文件夾:${path}
|
||||
MANUAL_PAGE_OPEN_TIP: 請選擇打開方式
|
||||
MANUAL_PAGE_OPEN_TIP_TITLE: Tips
|
||||
MANUAL_PAGE_OPEN_BY_BROWSER: 瀏覽器
|
||||
MANUAL_PAGE_OPEN_BY_BUILD_IN: 內置窗口
|
||||
MANUAL_PAGE_OPEN_SETTING_TIP: 選擇打開手冊方式
|
||||
UPLOAD_AREA: 上傳
|
||||
UPLOAD_VIEW_HINT: 點擊打開圖床設定
|
||||
MANAGE_PAGE: 管理
|
||||
GALLERY: 相簿
|
||||
REFRESH: 刷新
|
||||
MANUAL: 手冊
|
||||
PICBEDS_SETTINGS: 圖床
|
||||
PICLIST_SETTINGS: 設定
|
||||
PLUGIN_SETTINGS: 插件
|
||||
CHOOSE_PICBED: 選擇圖床
|
||||
COPY_PICBED_CONFIG: 複製圖床設定
|
||||
COPY_PICBED_CONFIG_SUCCEED: 複製圖床設定成功
|
||||
INPUT: 輸入框
|
||||
CANCEL: 取消
|
||||
CONFIRM: 確定
|
||||
RESET_PICBED_CONFIG: 重置
|
||||
CHOOSE_SHOWED_PICBED: 請選擇顯示的圖床
|
||||
CHOOSE_PASTE_FORMAT: 請選擇貼上的格式
|
||||
COPY: 複製
|
||||
DELETE: 刪除
|
||||
SELECT_ALL: 全選
|
||||
CHANGE_IMAGE_URL: 修改圖片URL
|
||||
CHANGE_IMAGE_URL_SUCCEED: 修改圖片URL成功
|
||||
COPY_LINK_SUCCEED: 複製連結成功
|
||||
BATCH_COPY_LINK_SUCCEED: 批量複製連結成功
|
||||
FILE_RENAME: 檔案改名
|
||||
OPEN_FILE_PATH: 打開檔案路徑
|
||||
GALLERY_SYNC_DELETE: 刪除雲端
|
||||
GALLERY_SYNC_DELETE_NOTICE_TITLE: 通知
|
||||
GALLERY_SYNC_DELETE_NOTICE_SUCCEED: 雲端刪除成功
|
||||
GALLERY_SYNC_DELETE_NOTICE_FAILED: 雲端刪除失敗
|
||||
GALLERY_CHANGE_URL: 修改
|
||||
GALLERY_SEARCH_FILENAME: 搜尋文件名
|
||||
GALLERY_SEARCH_URL: 搜尋URL
|
||||
GALLERY_MATCHED: ' 匹配到: '
|
||||
UPLOAD_PAGE_COPY_UPLOAD_API: 複製上傳API
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_NAME: 圖片處理
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE: 圖片處理設置
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST: 跳過處理的文件擴展名列表
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS: '請填寫需要跳過處理的文件擴展名列表, 以英文逗號分隔, 如: jpg,png,gif'
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM: 是否添加水印
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE: 水印類型
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT: 文字
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE: 圖片
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM: 是否全屏水印
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE: 水印角度
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT: 水印文字
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH: 水印字體路徑(第一次需下載字體文件)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO: 水印占原圖比例
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR: 水印顏色,請從取色器中選擇
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMPATH: 水印圖片路徑(留空使用預設圖片)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION: 水印位置
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF: 是否移除EXIF信息
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_QUALITY: 壓縮質量(1-100)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT: 是否轉換格式
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT: 轉換目的格式
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC: 指定格式, 请输入JSON格式配置,如{"jpg":"png"}
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFLIP: 是否進行垂直翻轉
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFLOP: 是否進行水平翻轉
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE: 是否按固定尺寸調整圖片
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH: 調整尺寸寬度(設為0則按高度等比縮放)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT: 調整尺寸高度(設為0則按寬度等比縮放)
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_HEIGHT: 當圖片高度小於設定高度時跳過縮放
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_WIDTH: 當圖片寬度小於設定寬度時跳過縮放
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT: 是否按比例調整尺寸,優先級更高
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT: 調整尺寸比例,輸入50表示50%
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE: 是否旋轉
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE: 旋轉角度
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM: 儲存
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CANCEL: 取消
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP: 上
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM: 下
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT: 左
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT: 右
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT: 左上
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT: 右上
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT: 左下
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT: 右下
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER: 中
|
||||
UPLOAD_SHORT_URL: 短連結
|
||||
UPLOAD_NORMAL_URL: 长連結
|
||||
SETTINGS: 設定
|
||||
SETTINGS_OPEN_CONFIG_FILE: 打開設定檔案
|
||||
SETTINGS_MIGRATE_FROM_PICGO: 從PicGo導入設定
|
||||
SETTINGS_MIGRATE_FROM_PICGO_TITLE: 通知
|
||||
SETTINGS_MIGRATE_FROM_PICGO_CONTENT: 即將導入PicGo的設定文件和相冊, 這將會覆蓋當前的設定, 是否繼續?
|
||||
SETTINGS_MIGRATE_FROM_PICGO_SUCCESS: 導入成功, 請重啟應用
|
||||
SETTINGS_MIGRATE_FROM_PICGO_FAILED: 導入失敗
|
||||
SETTINGS_START_MODE: 啟動模式
|
||||
SETTINGS_START_MODE_MINI: mini視窗
|
||||
SETTINGS_START_MODE_MAIN: 主視窗
|
||||
SETTINGS_START_MODE_QUIET: 靜默啟動
|
||||
SETTINGS_START_MODE_NO_TRAY: 隐藏托盘
|
||||
SETTINGS_CLICK_TO_OPEN: 點擊打開
|
||||
SETTINGS_SET_LOG_FILE: 設定記錄檔案
|
||||
SETTINGS_CLICK_TO_SET: 點擊設定
|
||||
SETTINGS_CLICK_TO_CHECK: 點擊檢查
|
||||
SETTINGS_SET_SHORTCUT: 設定快捷鍵
|
||||
SETTINGS_CUSTOM_LINK_FORMAT: 自訂連結格式
|
||||
SETTINGS_SET_PROXY_AND_MIRROR: 設定PROXY和鏡像地址
|
||||
SETTINGS_SET_SERVER: 設定Server
|
||||
SETTINGS_CHECK_UPDATE: 檢查更新
|
||||
SETTINGS_OPEN_UPDATE_HELPER: 打開更新助手
|
||||
SETTINGS_OPEN: 開
|
||||
SETTINGS_CLOSE: 關
|
||||
SETTINGS_CLOSE_MINI_WINDOW_SYNC: 開主窗口同步關閉mini窗口
|
||||
SETTINGS_CLOSE_MAIN_WINDOW_SYNC: 關mini窗口同步關閉主窗口
|
||||
SETTINGS_LAUNCH_ON_BOOT: 開機時啟動
|
||||
SETTINGS_RENAME_BEFORE_UPLOAD: 手動重新命名
|
||||
SETTINGS_TIMESTAMP_RENAME: 以時間戳命名
|
||||
SETTINGS_ADVANCED_RENAME: 高級命名
|
||||
SETTINGS_ADVANCED_RENAME_ENABLE: 啟用高級命名
|
||||
SETTINGS_ADVANCED_RENAME_FORMAT: 高級命名格式
|
||||
SETTINGS_ENABLE_SECOND_PICBED: 啟用第二圖床同步上傳
|
||||
SETTINGS_SET_SECOND_PICBED: 設定第二圖床
|
||||
SETTINGS_OPEN_UPLOAD_TIPS: 開啟上傳提示
|
||||
SETTINGS_OPEN_UPLOAD_RESULT_TIPS: 開啟上傳結果提示
|
||||
SETTINGS_MINI_WINDOW_ON_TOP: Mini視窗置頂
|
||||
SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD: 上傳後自動複製URL
|
||||
SETTINGS_TIPS_PLACEHOLDER_URL: 用佔位符 $url 來表示URL的位置
|
||||
SETTINGS_TIPS_PLACEHOLDER_FILENAME: 用佔位符 $fileName 來表示檔案名稱的位置
|
||||
SETTINGS_TIPS_PLACEHOLDER_EXTNAME: 用佔位符 $extName 來表示檔案格式的位置
|
||||
SETTINGS_TIPS_SUCH_AS: 如
|
||||
SETTINGS_UPLOAD_PROXY: 上傳PROXY
|
||||
SETTINGS_PLUGIN_INSTALL_PROXY: 插件安裝PROXY
|
||||
SETTINGS_PLUGIN_INSTALL_MIRROR: 插件安裝鏡像
|
||||
SETTINGS_CURRENT_VERSION: 當前版本
|
||||
SETTINGS_NEWEST_VERSION: 最新版本
|
||||
SETTINGS_GETING: 正在取得中
|
||||
SETTINGS_TIPS_HAS_NEW_VERSION: PicList更新啦,請點擊確定重启應用
|
||||
SETTINGS_LOG_FILE_PATH: 記錄檔案路徑
|
||||
SETTINGS_CONFIG_FILE_PATH: 設定檔案路徑
|
||||
SETTINGS_LOG_FILE: 記錄檔案
|
||||
SETTINGS_GUI_LOG_FILE: GUI記錄檔案
|
||||
SETTINGS_MANAGE_LOG_FILE: 管理記錄檔案
|
||||
SETTINGS_LOG_LEVEL: 記錄等级
|
||||
SETTINGS_LOG_FILE_SIZE: 記錄檔案大小
|
||||
SETTINGS_SET_PICGO_SERVER: 設定PicGo-Server
|
||||
SETTINGS_TIPS_SERVER_NOTICE: 如果你不知道Server的作用,請閱讀文檔,或者不用修改設定。
|
||||
SETTINGS_ENABLE_SERVER: 是否開啟Server
|
||||
SETTINGS_SET_SERVER_HOST: 設定監聽地址
|
||||
SETTINGS_SET_SERVER_PORT: 設定監聽端口
|
||||
SETTINGS_SET_SERVER_KEY: 設定鑒權密鑰
|
||||
SETTINGS_SET_WEB_SERVER: 設定Web服務
|
||||
SETTINGS_TIPS_WEB_SERVER_NOTICE: 如果你不知道Web服務的作用,請閱讀文檔,或者不用修改設定。
|
||||
SETTINGS_SET_ENABLE_WEB_SERVER: 是否開啟Web服務
|
||||
SETTINGS_SET_WEB_SERVER_HOST: 設定Web服務地
|
||||
SETTINGS_SET_WEB_SERVER_PORT: 設定Web服務端口
|
||||
SETTINGS_SET_WEB_SERVER_PATH: 設定Web服務路徑
|
||||
SETTINGS_TIP_PLACEHOLDER_WEB_HOST: 推薦預設地址:127.0.0.1
|
||||
SETTINGS_TIP_PLACEHOLDER_WEB_PORT: 推薦預設端口:37777
|
||||
SETTINGS_TIP_PLACEHOLDER_HOST: 推薦預設地址:127.0.0.1
|
||||
SETTINGS_TIP_PLACEHOLDER_PORT: 推薦預設端口:36677
|
||||
SETTINGS_TIP_PLACEHOLDER_KEY: 用於接口鑒權, 通過url參數添加'?key=xxx'
|
||||
SETTINGS_SET_SERVER_AES_KEY: 設定AES加密密鑰
|
||||
SETTINGS_LOG_LEVEL_ALL: 全部-All
|
||||
SETTINGS_LOG_LEVEL_SUCCESS: 成功-Success
|
||||
SETTINGS_LOG_LEVEL_ERROR: 錯誤-Error
|
||||
SETTINGS_LOG_LEVEL_INFO: 普通-Info
|
||||
SETTINGS_LOG_LEVEL_WARN: 提醒-Warn
|
||||
SETTINGS_LOG_LEVEL_NONE: 不記錄-None
|
||||
SETTINGS_RESULT: 設定結果
|
||||
SETTINGS_DEFAULT_PICBED: 設定預設圖床
|
||||
SETTINGS_SET_DEFAULT_PICBED: 設為預設圖床
|
||||
SETTINGS_NOT_CONFIG_OPTIONS: 暫無設定選項
|
||||
SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: 使用內建剪貼簿上傳
|
||||
SETTINGS_CHOOSE_LANGUAGE: 選擇語言
|
||||
BUILTIN_CLIPBOARD_TIPS: 使用內建剪貼簿函數而不是調用腳本取得剪貼簿內的照片
|
||||
UPLOADER_CONFIG_NAME: 圖床配置名
|
||||
UPLOADER_CONFIG_PLACEHOLDER: 請輸入配置名稱
|
||||
SELECTED_SETTING_HINT: 已選中
|
||||
SETTINGS_MAIN_WINDOW_SIZE: 默認主視窗大小
|
||||
SETTINGS_MAIN_WINDOW_SIZE_WIDTH: 默認主視窗寬度
|
||||
SETTINGS_MAIN_WINDOW_WIDTH_HINT: '默認: 1200'
|
||||
SETTINGS_MAIN_WINDOW_SIZE_HEIGHT: 默認主視窗高度
|
||||
SETTINGS_MAIN_WINDOW_HEIGHT_HINT: '默認: 800'
|
||||
SETTINGS_RAW_PICGO_SIZE: 原PicGo大小
|
||||
SETTINGS_CUSTOM_MINI_ICON_PATH: 自訂Mini視窗圖示路徑
|
||||
SETTINGS_CUSTOM_MINI_ICON: 自訂Mini視窗圖示
|
||||
SETTINGS_COMPRESS_AND_WATERMARK: 設置圖片浮水印和壓縮-格式轉換等參數
|
||||
SETTINGS_SYNC_DELETE_CLOUD: 從相簿中刪除並同步從雲端刪除
|
||||
SETTINGS_ISHIDEDOCK: 是否隱藏dock圖示
|
||||
SETTINGS_ISHIDEDOCK_TIPS: 不支持同時隱藏dock和托盘
|
||||
SETTINGS_ENCODE_OUTPUT_URL: 輸出(複製) URL 時進行轉義
|
||||
SETTINGS_WATCH_CLIPBOARD: 軟體啟動時自動監聽剪貼簿上傳
|
||||
SETTINGS_SHORT_URL: 使用短網址
|
||||
SETTINGS_SHORT_URL_SERVER: 短網址服務
|
||||
SETTINGS_SHORT_URL_C1N_TOKEN: C1N Token
|
||||
SETTINGS_SHORT_URL_YOURLS_DOMAIN: YOURLS域名
|
||||
SETTINGS_SHORT_URL_YOURLS_SIGNATURE: YOURLS signature
|
||||
SETTINGS_SHORT_URL_CF_WORKER_HOST: Cloudflare Worker Host
|
||||
SETTINGS_SHORT_SINK_DOMAIN: sink域名
|
||||
SETTINGS_SHORT_SINK_TOKEN: sink token
|
||||
SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: 上傳後刪除本地檔案
|
||||
SETTINGS_SYNC_CONFIG: 設置同步配置
|
||||
SETTINGS_SYNC_CONFIG_TITLE: 同步設置
|
||||
SETTINGS_SYNC_CONFIG_NOTE: 同步的檔案为配置檔案
|
||||
SETTINGS_SYNC_CONFIG_SELECT_TYPE: 選擇同步方式
|
||||
SETTINGS_SYNC_CONFIG_SELECT_FILE: 選擇同步檔案
|
||||
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: 僅配置檔案
|
||||
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: 僅相簿檔案
|
||||
SETTINGS_SYNC_CONFIG_SELECT_BOTH: 配置檔案和相簿檔案
|
||||
SETTINGS_SYNC_CONFIG_GITEA_HOST: Gitea Host
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME: 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: 儲存庫(私有)
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO: 儲存庫
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: 儲存庫路径
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: GitHub 分支
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: Gitea 分支
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: Gitee 分支
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: GitHub Token
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: Gitea Token
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: Gitee Token
|
||||
SETTINGS_SYNC_CONFIG_PROXY: 代理
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: 請輸入 GitHub 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER: 請輸入 Gitea 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: 請輸入 Gitee 用戶名
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: 請輸入 GitHub 儲存庫名稱
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER: 請輸入 Gitea 儲存庫名稱
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: 請輸入 Gitee 儲存庫名稱
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: 請輸入 GitHub 分支名稱
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER: 請輸入 Gitea 分支名稱
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: 請輸入 Gitee 分支名稱
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: 請輸入 GitHub Token
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER: 請輸入 Gitea Token
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: 請輸入 Gitee Token
|
||||
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: 請輸入代理地址
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT: WebDAV端點
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT_PLACEHOLDER: 請輸入WebDAV端點URL
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME: 用戶名
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME_PLACEHOLDER: 請輸入WebDAV用戶名
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD: 密碼
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD_PLACEHOLDER: 請輸入WebDAV密碼
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_AUTH_TYPE: 認證類型
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SSL_ENABLED: 啟用SSL/HTTPS
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH: 保存路徑
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH_PLACEHOLDER: 請選擇同步檔案的保存路徑
|
||||
SETTINGS_UP_DOWN_DESC: 上傳和下載配置檔案
|
||||
SETTINGS_SYNC_UPLOAD: 上傳
|
||||
SETTINGS_SYNC_DOWNLOAD: 下載
|
||||
SETTINGS_SYNC_UPLOAD_ALL: 上傳全部
|
||||
SETTINGS_SYNC_DOWNLOAD_ALL: 下載全部
|
||||
SETTINGS_SYNC_UPLOAD_SUCCESS: 上傳成功
|
||||
SETTINGS_SYNC_UPLOAD_FAILED: 上傳失敗
|
||||
SETTINGS_SYNC_DOWNLOAD_SUCCESS: 下載成功
|
||||
SETTINGS_SYNC_DOWNLOAD_FAILED: 下載失敗
|
||||
SETTINGS_SYNC_COMMON_CONFIG: 通用配置
|
||||
SETTINGS_SYNC_MANAGE_CONFIG: 管理配置
|
||||
SETTINGS_AUTO_IMPORT: 管理頁面自動導入配置
|
||||
SETTINGS_AUTO_IMPORT_SELECT_PICBED: 選擇需要開啟自動導入的圖床
|
||||
SETTINGS_TAB_SYSTEM: 系統設置
|
||||
SETTINGS_TAB_SYNC_CONFIG: 同步與配置
|
||||
SETTINGS_TAB_UPLOAD: 上傳設置
|
||||
SETTINGS_TAB_ADVANCED: 高級設置
|
||||
SETTINGS_TAB_UPDATE: 更新
|
||||
SHORTCUT_NAME: 快捷鍵名稱
|
||||
SHORTCUT_BIND: 快捷鍵綁定
|
||||
SHORTCUT_STATUS: 狀態
|
||||
SHORTCUT_ENABLED: 已啟用
|
||||
SHORTCUT_DISABLED: 已禁用
|
||||
SHORTCUT_SOURCE: 來源
|
||||
SHORTCUT_HANDLE: 操作
|
||||
SHORTCUT_ENABLE: 啟用
|
||||
SHORTCUT_DISABLE: 禁用
|
||||
SHORTCUT_EDIT: 編輯
|
||||
SHORTCUT_CHANGE_UPLOAD: 修改上傳快捷鍵
|
||||
WAIT_TO_UPLOAD: 等待上傳
|
||||
ALREADY_UPLOAD: 已上傳
|
||||
DRAG_FILE_TO_HERE: 將檔案拖曳到此處,或
|
||||
CLICK_TO_UPLOAD: 點擊上傳
|
||||
LINK_FORMAT: 連結格式
|
||||
CLIPBOARD_PICTURE: 剪貼簿
|
||||
TIPS_DRAG_VALID_PICTURE_OR_URL: 請拖入合法的圖片檔案或者圖片URL地址
|
||||
TIPS_INPUT_URL: 請輸入URL
|
||||
TIPS_HTTP_PREFIX: http://或者https://開頭
|
||||
TIPS_INPUT_VALID_URL: 請輸入合法的URL
|
||||
PLUGIN_SEARCH_PLACEHOLDER: 搜尋npm上的PicGo插件,或者點擊上方按鈕查看優秀插件列表
|
||||
PLUGIN_INSTALL: 安裝
|
||||
PLUGIN_INSTALLING: 安裝中
|
||||
PLUGIN_INSTALLED: 已安裝
|
||||
PLUGIN_DOING_SOMETHING: 進行中
|
||||
PLUGIN_LIST: 插件列表
|
||||
PLUGIN_IMPORT_LOCAL: 導入本地插件
|
||||
PLUGIN_UPDATE_ALL: 更新全部插件
|
||||
TIPS_REMOVE_LINK: 此操作將在相簿中移除該圖片,是否繼續?
|
||||
TIPS_WILL_REMOVE_CHOOSED_IMAGES: 將在相簿中移除剛才選中的 ${m} 張圖片,是否繼續?
|
||||
TIPS_MUST_CONTAINS_URL: 必須含有$url 或 $fileName 或 $extName
|
||||
TIPS_NETWORK_ERROR: 網路錯誤,暫時無法取得
|
||||
TIPS_NEED_RELOAD: 需要重新啟動生效
|
||||
TIPS_PLEASE_CHOOSE_LOG_LEVEL: 請選擇記錄等級
|
||||
TIPS_SET_SUCCEED: 設定成功
|
||||
TIPS_RESET_SUCCEED: 重置成功
|
||||
TIPS_PLUGIN_NOT_GUI_IMPLEMENT: 該插件未對GUI進行優化,是否繼續安裝?
|
||||
TIPS_GET_PLUGIN_LIST_FAILED: 取得插件列表失敗
|
||||
MANAGE_SETTING_TITLE: 管理設定
|
||||
MANAGE_SETTING_ISAUTOREFRESH_TITLE: 每次進入新目錄時,是否自動重新整理檔案列表
|
||||
MANAGE_SETTING_ISAUTOREFRESH_TIPS: 僅對不分頁模式有效,預設會在載入後自動快取至資料庫以提升下次載入速度
|
||||
MANAGE_SETTING_CLEAR_CACHE_TITLE: '清空檔案列表快取資料庫 已佔用:'
|
||||
MANAGE_SETTING_CLEAR_CACHE_FREE_TITLE: '剩餘可用:'
|
||||
MANAGE_SETTING_CLEAR_CACHE_TIPS: 清空後下次進入新目錄時將會重新載入檔案列表
|
||||
MANAGE_SETTING_CLEAR_CACHE_PROMPT: 確定要清空檔案列表快取資料庫嗎?
|
||||
MANAGE_SETTING_CLEAR_CACHE_BUTTON: 清空
|
||||
MANAGE_SETTING_ISSHOWTHUMBNAIL_TITLE: 顯示圖片的原始圖像而非預設的檔案格式圖示(需要存儲桶公開訪問權限)
|
||||
MANAGE_SETTING_ISUSEPRESIGNEDURL_TITLE: 使用預簽名URL预览圖片
|
||||
MANAGE_SETTING_ISSHOWLIST_TITLE: 檔案列表預設顯示方式
|
||||
MANAGE_SETTING_ISSHOWLIST_ON: 列表
|
||||
MANAGE_SETTING_ISSHOWLIST_OFF: 卡片
|
||||
MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TITLE: 自定義域名啟用強制 HTTPS
|
||||
MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TIPS: 開啟後,複製鏈結等操作將會自動為自定義域名添加 HTTPS 前綴
|
||||
MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TITLE: 保留上傳時的目錄結構
|
||||
MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TIPS: 停用後,所有文件將會展開到指定目錄下
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_A: 下載
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_B: 文件
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_C: 時保留目錄結構
|
||||
MANAGE_SETTING_ISDOWNLOADFOLDERKEEPDIRSTRUCTURE_TITLE_D: 目錄
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TIPS: 啟用後,下載時會保留原始目錄結構
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TITLE: 最大同時下載檔案數量(1-9999)
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS: 由於後端實現方式不同,此設定在腾讯云上不生效
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_INPUT_TIPS: 請輸入最大同時下載檔案數量
|
||||
MANAGE_SETTING_ISIGNORECASE_TITLE: 搜尋檔案時,是否忽略大小寫
|
||||
MANAGE_SETTING_ISIGNORECASE_TIPS: 啟用後,搜尋時將會忽略大小寫
|
||||
MANAGE_SETTING_TIMESTAMPRENAME_TITLE: 上傳檔案時間戳重新命名--(最高優先級)
|
||||
MANAGE_SETTING_TIMESTAMPRENAME_TIPS: 啟用後,上傳檔案時將會使用時間戳重新命名
|
||||
MANAGE_SETTING_RANDOMSTRINGRENAME_TITLE: 上傳檔案隨機字符串重新命名--(中優先級)
|
||||
MANAGE_SETTING_RANDOMSTRINGRENAME_TIPS: 隨機字符串長度為20
|
||||
MANAGE_SETTING_CUSTOMRENAME_TITLE: 上傳檔案自定義重新命名--(最低優先級)
|
||||
MANAGE_SETTING_CUSTOMRENAME_TIPS: 啟用後,上傳檔案時將會使用自定義重新命名
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TITLE: 自訂重新命名格式,占位符請參考下表,可自由組合
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TIPS: 請輸入自訂重新命名格式
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TITLE: 占位符
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TIPS: 說明
|
||||
MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TITLE: 預設下載鏈結有效期(秒)
|
||||
MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TIPS: 請輸入下載鏈結有效期
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_TITLE: 選擇預設複製的連結格式
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN: Markdown
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN_WITH_LINK: Markdown(帶連結)
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_RAWURL: 原始鏈結
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_HTML: HTML格式
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_BBCODE: BBCode格式
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_CUSTOM: 自定義格式
|
||||
MANAGE_SETTING_CUSTOM_COPY_FORMAT_TITLE: 自定義鏈結格式($url為原始鏈結,$fileName為檔案名稱)
|
||||
MANAGE_SETTING_CUSTOM_COPY_FORMAT_TIPS: 請輸入自定義鏈結格式
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TITLE: 選擇下載目錄
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TIPS: 系統預設下載目錄
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_BUTTON: 選擇目錄
|
||||
MANAGE_SETTING_COPY_MESSAGE: 已複製
|
||||
MANAGE_SETTING_CLEAR_CACHE_SUCCESS: 清除成功
|
||||
MANAGE_SETTING_CLEAR_CACHE_FAILED: 清除失敗
|
||||
MANAGE_SETTING_ISENCODEURL_TITLE: 複製鏈結時編碼
|
||||
MANAGE_SETTING_ISENCODEURL_TIPS: 啟用後,複製鏈結時將會編碼
|
||||
MANAGE_NO_DATA: 暫無數據
|
||||
MANAGE_MAIN_PAGE_NEW_BUCKET: 新建存儲桶
|
||||
MANAGE_MAIN_PAGE_BACK_TO_HOME: 返回首頁
|
||||
MANAGE_MAIN_PAGE_SWITCH_PICBED: 切換圖床
|
||||
MANAGE_MAIN_PAGE_SETTING: 設定
|
||||
MANAGE_MAIN_PAGE_SUBMIT: 提交
|
||||
MANAGE_MAIN_PAGE_TIPS: 提示
|
||||
MANAGE_MAIN_PAGE_TIPS_SUCCESS: 創建成功
|
||||
MANAGE_MAIN_PAGE_TIPS_FAILED: 創建失敗
|
||||
MANAGE_MAIN_PAGE_BUCKET: 存儲桶
|
||||
MANAGE_MAIN_PAGE_GALLERY: 圖庫
|
||||
MANAGE_MAIN_PAGE_REPOSITORY: 倉庫
|
||||
MANAGE_CONSTANT_BASE_RULE: 請輸入
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A: 請輸入每頁顯示數量
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B: 每頁顯示數量必須為數字
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C: 每頁顯示數量必須在20-1000之間
|
||||
MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A: 請輸入別名,該配置的唯一標識
|
||||
MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B: 別名只能包含中文、英文、數字、下劃線和中劃線
|
||||
MANAGE_CONSTANT_ALIAS_TOOLTIP: 別名只能包含中文、英文、數字、下劃線和中劃線
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP: 每頁顯示數量必須在20-1000之間
|
||||
MANAGE_CONSTANT_PAGING_TOOLTIP: 關閉分頁時,目錄列表將使用數據庫緩存以優化性能
|
||||
MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP: 英文逗號分隔,如:bucket1,bucket2,bucket3,和起始目錄順序一一對應
|
||||
MANAGE_CONSTANT_BASE_DIR_TOOLTIP: 英文逗號分隔,如:/dir1,/dir2,/dir3, 和存儲桶順序一一對應
|
||||
MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP: 開啟時,將自動獲取存儲桶綁定的域名,關閉時可手動填寫
|
||||
MANAGE_CONSTANT_SMMS_ALIAS_DESC: 配置別名-必需
|
||||
MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER: 該配置的唯一標識
|
||||
MANAGE_CONSTANT_SMMS_TOKEN_DESC: Token-必需
|
||||
MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER: 請填寫Token
|
||||
MANAGE_CONSTANT_SMMS_PAGING_DESC: 是否開啟分頁
|
||||
MANAGE_CONSTANT_SMMS_EXPLAIN: 大陸地區請訪問備用域名https://smms.app,請勿大批量上傳圖片,否則API接口會被限制
|
||||
MANAGE_CONSTANT_SMMS_REFER_TEXT: 配置教程請參考:
|
||||
MANAGE_CONSTANT_QINIU_NAME: 七牛雲
|
||||
MANAGE_CONSTANT_QINIU_ALIAS_DESC: 配置別名-必需
|
||||
MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER: 該配置的唯一標識
|
||||
MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC: accessKey-必需
|
||||
MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER: 請填寫 accessKey
|
||||
MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC: secretKey-必需
|
||||
MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER: 請填寫 secretKey
|
||||
MANAGE_CONSTANT_QINIU_BUCKET_DESC: 空間名-可選
|
||||
MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER: 英文逗號分隔,例如:bucket1,bucket2
|
||||
MANAGE_CONSTANT_QINIU_BASE_DIR_DESC: 起始目錄-可選
|
||||
MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER: 英文逗號分隔,例如:/dir1,/dir2
|
||||
MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC: 是否自動獲取綁定域名
|
||||
MANAGE_CONSTANT_QINIU_PAGING_DESC: 是否開啟分頁
|
||||
MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC: 每頁顯示數量
|
||||
MANAGE_CONSTANT_QINIU_EXPLAIN: 空間名和起始目錄配置時可通過英文逗號分隔設置,順序必須一致,逗號間留空或缺失項使用默認值
|
||||
MANAGE_CONSTANT_QINIU_REFER_TEXT: '配置教程請參考: '
|
||||
MANAGE_CONSTANT_GITHUB_ALIAS_DESC: 配置別名-必需
|
||||
MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER: 該配置的唯一標識
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_DESC: Token-必需
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER: 請填寫Token
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_TIPS: 請提供具有完整repo權限的token,否則部分功能可能無法使用
|
||||
MANAGE_CONSTANT_GITHUB_USER_DESC: 用戶名-必需
|
||||
MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER: 請填寫用戶名
|
||||
MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE: 用戶名
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_DESC: 代理地址-可選
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER: 例如:http://127.0.0.1:1080
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_TIPS: 如果訪問速度較慢,可以嘗試配置代理
|
||||
MANAGE_CONSTANT_GITHUB_PAGING_DESC: 是否開啟分頁
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC: CDN加速域名-可選
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER: 支持使用{username}、{repo}、{branch}和{path}作為替換占位符,用於適配不同倉庫和分支
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS: '例如: https://cdn.staticaly.com/gh/{username}/{repo}@{branch}/{path}'
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A: 加速域名請以http://或https://開頭
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B: 加速域名中的大括號必須成對出現
|
||||
MANAGE_CONSTANT_GITHUB_EXPLAIN: API調用有每小時上限,此外不支持上傳超過100M的文件
|
||||
MANAGE_CONSTANT_GITHUB_REFER_TEXT: 配置教程請參考:
|
||||
MANAGE_CONSTANT_ALIYUN_NAME: 阿里雲
|
||||
MANAGE_CONSTANT_ALIYUN_ALIAS_DESC: 配置別名-必需
|
||||
MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER: 該配置的唯一標識
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC: accessKeyId-必需
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC: accessKeySecret-必需
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER: 請填寫accessKeySecret
|
||||
MANAGE_CONSTANT_ALIYUN_BUCKET_DESC: 儲存桶名-可選
|
||||
MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER: 英文逗號分隔,例如:bucket1,bucket2
|
||||
MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC: 起始目錄-可選
|
||||
MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER: 英文逗號分隔,例如:/dir1,/dir2
|
||||
MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC: 是否自動獲取綁定域名
|
||||
MANAGE_CONSTANT_ALIYUN_PAGING_DESC: 是否開啟分頁
|
||||
MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC: 每頁顯示數量
|
||||
MANAGE_CONSTANT_ALIYUN_EXPLAIN: 儲存桶名和起始目錄配置時可通過英文逗號分隔不同儲存桶的設置,順序必須一致,逗號間留空或缺失項使用默認值
|
||||
MANAGE_CONSTANT_ALIYUN_REFER_TEXT: '配置教程請參考: '
|
||||
MANAGE_CONSTANT_TENCENT_NAME: 腾讯雲
|
||||
MANAGE_CONSTANT_TENCENT_ALIAS_DESC: 配置别名-必需
|
||||
MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER: 該配置的唯一標識
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC: secretId-必需
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER: 請填寫 secretId
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC: secretKey-必需
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER: 請填寫 secretKey
|
||||
MANAGE_CONSTANT_TENCENT_APPID_DESC: appId-必需
|
||||
MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER: 請填寫 appId
|
||||
MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP: 例如:1250000000
|
||||
MANAGE_CONSTANT_TENCENT_BUCKET_DESC: 存儲桶名-可選(注意包含AppId)
|
||||
MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER: 英文逗號分隔,例如:bucket1-1250000000,bucket2-1250000000
|
||||
MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC: 起始目錄-可選
|
||||
MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER: 英文逗號分隔,例如:/dir1,/dir2
|
||||
MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC: 是否自動獲取綁定域名
|
||||
MANAGE_CONSTANT_TENCENT_PAGING_DESC: 是否開啟分頁
|
||||
MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC: 每頁顯示數量
|
||||
MANAGE_CONSTANT_TENCENT_EXPLAIN: 存儲桶名和起始目錄配置時可通過英文逗號分隔不同存儲桶的設置,順序必須一致,逗號間留空或缺失項使用默認值
|
||||
MANAGE_CONSTANT_TENCENT_REFER_TEXT: '配置教程請參考: '
|
||||
MANAGE_CONSTANT_UPYUN_NAME: 又拍雲
|
||||
MANAGE_CONSTANT_UPYUN_ALIAS_DESC: 配置別名-必需
|
||||
MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER: 該配置的唯一標識
|
||||
MANAGE_CONSTANT_UPYUN_BUCKET_DESC: 服務名-必需
|
||||
MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER: 對應其它對象存儲的存儲桶名
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC: 操作員名-必需
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER: 推薦使用具有讀取、寫入和刪除完整權限的操作員
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE: 操作員
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC: 操作員密碼-必需
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER: 請填寫密碼
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE: 操作員密碼
|
||||
MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC: 起始目錄-可選
|
||||
MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER: 讀取文件時的初始目錄
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC: 加速域名-必需
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER: 請以http://或https://開頭
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A: 加速域名不能為空
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B: 自定義域名請以http://或https://開頭
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_DESC: 防盗链密钥-可選
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_PLACEHOLDER: 請填寫防盗链密钥
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_TOOLTIP: 如果不填寫,則不啟用防盗链
|
||||
MANAGE_CONSTANT_UPYUN_EXPIRE_TIME_DESC: 防盗链有效期(秒)-可選
|
||||
MANAGE_CONSTANT_UPYUN_PAGING: 是否開啟分頁
|
||||
MANAGE_CONSTANT_UPYUN_ITEMS_PAGE: 每頁顯示數量
|
||||
MANAGE_CONSTANT_UPYUN_EXPLAIN: 又拍雲圖床必須填寫加速域名,否則無法正常使用
|
||||
MANAGE_CONSTANT_UPYUN_REFER_TEXT: '配置教程請參考: '
|
||||
MANAGE_CONSTANT_IMGUR_NAME: Imgur
|
||||
MANAGE_CONSTANT_IMGUR_ALIAS_DESC: 配置別名-必需
|
||||
MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER: 該配置的唯一標識
|
||||
MANAGE_CONSTANT_IMGUR_USERNAME_DESC: Imgur用戶名-必需
|
||||
MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER: 請填寫Imgur用戶名
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC: Access Token-必需
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER: 請填寫Access Token
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP: 不是client ID,請參考配置教程
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_DESC: 代理-可選
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER: 例如:http://127.0.0.1:1080
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP: 大陸地區請使用代理,否則無法正常使用
|
||||
MANAGE_CONSTANT_IMGUR_EXPLAIN: 大陸地區請使用代理,API調用存在限制,請注意使用頻率
|
||||
MANAGE_CONSTANT_IMGUR_REFER_TEXT: '配置教程請參考:'
|
||||
MANAGE_CONSTANT_S3_NAME: S3兼容雲
|
||||
MANAGE_CONSTANT_S3_ALIAS_DESC: 配置別名-必需
|
||||
MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER: 該配置的唯一標識
|
||||
MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC: accessKeyId-必需
|
||||
MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER: 請填寫accessKeyId
|
||||
MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC: secretAccessKey-必需
|
||||
MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER: 請填寫secretAccessKey
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_DESC: endpoint-可選
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER: 例如:s3.us-east-1.amazonaws.com
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP: 如果不填寫,默認訪問 AWS S3,請提供根API endpoint
|
||||
MANAGE_CONSTANT_S3_SSLENABLED_DESC: 使用HTTPS連接
|
||||
MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP: 如果您的平臺不支持,請關閉該選項
|
||||
MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC: 啟用 S3 Path style
|
||||
MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP: 例如使用 minio 時需要啟用
|
||||
MANAGE_CONSTANT_S3_PROXY_DESC: 代理-可選
|
||||
MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER: 例如:http://127.0.0.1:1080
|
||||
MANAGE_CONSTANT_S3_PROXY_TOOLTIP: 如果部分平臺大陸地區無法訪問,請使用代理
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC: 上傳文件的權限
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE: 私有
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ: 公共讀
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE: 公共讀寫
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ: 授權讀
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ: 桶所有者讀
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL: 桶所有者完全控制
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ: AWS執行讀
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP: 上傳文件的權限,可選值:private、public-read、public-read-write、authenticated-read、bucket-owner-read、bucket-owner-full-control、aws-exec-read
|
||||
MANAGE_CONSTANT_S3_BUCKET_DESC: 存儲桶名-可選
|
||||
MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER: 英文逗號分隔,例如:bucket1,bucket2
|
||||
MANAGE_CONSTANT_S3_BASE_DIR_DESC: 起始目錄-可選
|
||||
MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER: 英文逗號分隔,例如:/dir1,/dir2
|
||||
MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_DESC: 啟用 Doge Cloud 支援
|
||||
MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_TOOLTIP: 啟用後,將會啟用Doge Cloud API
|
||||
MANAGE_CONSTANT_S3_PAGING_DESC: 是否開啟分頁
|
||||
MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC: 每頁顯示數量
|
||||
MANAGE_CONSTANT_S3_EXPLAIN: 存儲桶名和起始目錄配置時可通過英文逗號分隔不同存儲桶的設置,順序必須一致,逗號間留空或缺失項使用默認值
|
||||
MANAGE_CONSTANT_S3_REFER_TEXT: '配置教程請參考:'
|
||||
MANAGE_CONSTANT_WEBDAV_ALIAS_DESC: 配置別名-必需
|
||||
MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER: 該配置的唯一標識
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_DESC: 地址-必需
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER: 例如:https://example.com/dav
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP: 請填寫完整的WebDAV地址
|
||||
MANAGE_CONSTANT_WEBDAV_USERNAME_DESC: 使用者名稱-必需
|
||||
MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER: 請填寫使用者名稱
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_DESC: 特殊配置
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER: 例如:bucket1
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP: 此處不可修改,僅為軟體相容性考量
|
||||
MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC: 密碼-必需
|
||||
MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER: 請填寫密碼
|
||||
MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC: 起始目錄-可選
|
||||
MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER: 例如:/dir1
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC: 自訂網域名稱-可選
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER: 例如:https://example.com
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP: 如果您的WebDAV伺服器支援自訂網域名稱,請填寫
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE: 自訂網域名稱請以http://或https://開頭
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH: WebDAV網路路徑-可選
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH_PLACEHOLDER: 例如:test/ttc
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH_TOOLTIP: 用於拼接網址
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_DESC: 代理-可選
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER: 例如:http://127.0.0.1:1080
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP: 如果需要特殊網路環境才能訪問,請使用代理
|
||||
MANAGE_CONSTANT_WEBDAV_SSL_DESC: 使用HTTPS連線
|
||||
MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP: 根據WebDAV伺服器的配置,如果您的伺服器不支援HTTPS,請關閉該選項
|
||||
MANAGE_CONSTANT_WEBDAV_AUTH_TYPE_DESC: 認證類型
|
||||
MANAGE_CONSTANT_WEBDAV_EXPLAIN: WebDAV配置
|
||||
MANAGE_CONSTANT_WEBDAV_REFER_TEXT: '配置教程請參考: '
|
||||
MANAGE_CONSTANT_LOCAL_NAME: 本地
|
||||
MANAGE_CONSTANT_LOCAL_ALIAS_DESC: 配置別名-必需
|
||||
MANAGE_CONSTANT_LOCAL_ALIAS_PLACEHOLDER: 該配置的唯一標識
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_DESC: 起始目錄-必需
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_PLACEHOLDER: 請填寫起始目錄
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_DESC: 自定義網域-可選
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_PLACEHOLDER: 例如:https://example.com
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_TOOLTIP: 如果您的目錄支援自定義網域,請填寫
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH: 網路路徑-可選
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH_PLACEHOLDER: 例如:test/ttc
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH_TOOLTIP: 用於拼接網址
|
||||
MANAGE_CONSTANT_LOCAL_EXPLAIN: 本地配置
|
||||
MANAGE_CONSTANT_LOCAL_REFER_TEXT: '配置教程請參考: '
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_RULE_MESSAGE: 起始目錄不能為空
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_DESC: 特殊配置
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: 例如:bucket1
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: 此處不可修改,僅為軟體相容性考量
|
||||
MANAGE_CONSTANT_SFTP_NAME: SFTP
|
||||
MANAGE_CONSTANT_SFTP_ALIAS_DESC: 配置別名-必需
|
||||
MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER: 該配置的唯一標識
|
||||
MANAGE_CONSTANT_SFTP_HOST_DESC: 地址-必需
|
||||
MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER: 例如:233.233.233.233
|
||||
MANAGE_CONSTANT_SFTP_PORT_DESC: 端口-必需
|
||||
MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER: 例如:22
|
||||
MANAGE_CONSTANT_SFTP_USERNAME_DESC: 用戶名
|
||||
MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER: 請填寫用戶名
|
||||
MANAGE_CONSTANT_SFTP_PASSWORD_DESC: 密碼
|
||||
MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER: 請填寫密碼
|
||||
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC: 私鑰地址
|
||||
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER: 請填寫私鑰地址
|
||||
MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC: 私鑰密碼
|
||||
MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER: 請填寫私鑰密碼
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_DESC: 起始目錄-可選
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER: 例如:/dir1
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC: 自定義網域-可選
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER: 例如:https://example.com
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP: 如果您的目錄支援自定義網域,請填寫
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH: 網路路徑-可選
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER: 例如:test/ttc
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP: 用於拼接網址
|
||||
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC: 文件權限
|
||||
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER: 例如:0644
|
||||
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC: 目錄權限
|
||||
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER: 例如:0755
|
||||
MANAGE_CONSTANT_SFTP_EXPLAIN: SFTP配置
|
||||
MANAGE_CONSTANT_SFTP_REFER_TEXT: '配置教程請參考: '
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE: 起始目錄不能為空
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_DESC: 特殊配置
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER: 例如:bucket1
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: 此處不可修改,僅為軟體相容性考量
|
||||
MANAGE_LOGIN_PAGE_PANE_NAME: 已保存配置
|
||||
MANAGE_LOGIN_PAGE_PANE_KEY_NAME: 配置項
|
||||
MANAGE_LOGIN_PAGE_PANE_KEY_VALUE: 值
|
||||
MANAGE_LOGIN_PAGE_PANE_ENTER: 進入
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE: 刪除
|
||||
MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER: 請選擇
|
||||
MANAGE_LOGIN_PAGE_PANE_IMPORT: 導入
|
||||
MANAGE_LOGIN_PAGE_PANE_SAVE: 保存
|
||||
MANAGE_LOGIN_PAGE_PANE_RESET: 重置
|
||||
MANAGE_LOGIN_PAGE_PANE_TABLE_TITLE: 已有配置,單擊可複製對應儲存格資料
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_MESSAGE_A: 請填寫
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ALIAS_MESSAGE: 別名只能包含中文、英文、數字、下劃線和中劃線
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ITEMS_PER_PAGE_MESSAGE: 每頁數量必須在20-1000之間
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_CUSTOM_URL_MESSAGE: 自定義網域請以http://或https://開頭
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME: 通知
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE: 已覆蓋別名
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_B: 已保存別名
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C: 已刪除別名
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D: 刪除別名為
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E: 的配置失敗
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS: 已複製
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE: 確定要删除嗎??
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP: 提示
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM: 確定
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL: 取消
|
||||
MANAGE_BUCKET_PAGE_LOADING_TEXT: 載入檔案中...
|
||||
MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER: 請選擇自訂域名
|
||||
MANAGE_BUCKET_PAGE_CUSTOM_URL_INPUT_PLACEHOLDER: 請輸入自訂域名
|
||||
MANAGE_BUCKET_PAGE_UPLOAD_FILES_TOOLTIP: 檔案上傳(支援多選)
|
||||
MANAGE_BUCKET_PAGE_UPLOAD_FROM_URL_TOOLTIP: 從 URL 上傳
|
||||
MANAGE_BUCKET_PAGE_CREATE_FOLDER_TOOLTIP: 建立資料夾
|
||||
MANAGE_BUCKET_PAGE_DOWNLOAD_TOOLTIP: 下載頁面
|
||||
MANAGE_BUCKET_PAGE_BATCH_RENAME_TOOLTIP: 批次重新命名
|
||||
MANAGE_BUCKET_PAGE_BATCH_COPY_URL_TOOLTIP: 批次複製 URL
|
||||
MANAGE_BUCKET_PAGE_COPY_FILE_INFO_TOOLTIP: 複製檔案資訊
|
||||
MANAGE_BUCKET_PAGE_FORCE_REFRESH_TOOLTIP: 強制重新整理檔案列表
|
||||
MANAGE_BUCKET_PAGE_SEARCH_PLACEHOLDER: 搜尋檔案
|
||||
MANAGE_BUCKET_PAGE_ROOT_FOLDER: 根目錄
|
||||
MANAGE_BUCKET_PAGE_FILE_NUMBER: 檔案數:
|
||||
MANAGE_BUCKET_PAGE_FILE_SIZE: 總大小:
|
||||
MANAGE_BUCKET_PAGE_SELECT_ALL: 全選
|
||||
MANAGE_BUCKET_PAGE_SELECT_NONE: 取消選擇
|
||||
MANAGE_BUCKET_PAGE_SELECT_INVERT: 反選
|
||||
MANAGE_BUCKET_DOWNLOAD_BTN: 下載
|
||||
MANAGE_BUCKET_DELETE_BTN: 刪除
|
||||
MANAGE_BUCKET_SORT_TITLE: 排序
|
||||
MANAGE_BUCKET_SORT_NAME: 檔案名稱
|
||||
MANAGE_BUCKET_SORT_SIZE: 大小
|
||||
MANAGE_BUCKET_SORT_EXT: 類型
|
||||
MANAGE_BUCKET_SORT_TIME: 時間
|
||||
MANAGE_BUCKET_SORT_CHECK: 選取狀態
|
||||
MANAGE_BUCKET_SORT_INIT: 初始化
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: 請輸入 URL,支援多個 URL,以換行分隔
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: 確定
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: 取消
|
||||
MANAGE_BUCKET_URL_FORMAT_MARKDOWN: Markdown
|
||||
MANAGE_BUCKET_URL_FORMAT_MARKDOWN_WITH_LINK: Markdown-link
|
||||
MANAGE_BUCKET_URL_FORMAT_URL: Url
|
||||
MANAGE_BUCKET_URL_FORMAT_HTML: Html
|
||||
MANAGE_BUCKET_URL_FORMAT_BBCODE: BBCode
|
||||
MANAGE_BUCKET_URL_FORMAT_CUSTOM: 自訂
|
||||
MANAGE_BUCKET_URL_FORMAT_PRESIGN: 預簽名連結
|
||||
MANAGE_BUCKET_FILE_INFO_TITLE: 檔案資訊
|
||||
MANAGE_BUCKET_FILE_INFO_COPY_TIPS: 複製 JSON 格式資訊
|
||||
MANAGE_BUCKET_FILE_LIST_LOADING: 載入中,點擊取消
|
||||
MANAGE_BUCKET_FILE_LIST_DOWNLOAD_PRE: 準備下載中,點擊取消
|
||||
MANAGE_BUCKET_KEEP_FOLDER_STRUCTURE: 保持目錄結構
|
||||
MANAGE_BUCKET_NOT_KEEP_FOLDER_STRUCTURE: 不保持目錄結構
|
||||
MANAGE_BUCKET_UPLOAD_AREA_TITLE: 拖放上傳支援遞歸上傳資料夾
|
||||
MANAGE_BUCKET_UPLOAD_AREA_TEXT: 或:點選選擇檔案(不支援資料夾)
|
||||
MANAGE_BUCKET_UPLOAD_AREA_BTN_LOADING: 讀取檔案中
|
||||
MANAGE_BUCKET_UPLOAD_AREA_BTN: 上傳
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR: 清空
|
||||
MANAGE_BUCKET_UPLOAD_AREA_STATUS_UPLOADING: 上傳中
|
||||
MANAGE_BUCKET_UPLOAD_AREA_COPY_TASK: 複製上傳任務資訊
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR_UPLOADED_TASK: 清空已完成任務
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR_ALL_TASK: 清空所有任務
|
||||
MANAGE_BUCKET_UPLOAD_AREA_SUCCESS: 成功
|
||||
MANAGE_BUCKET_UPLOAD_AREA_FAILED: 失敗
|
||||
MANAGE_BUCKET_DOWNLOAD_PAGE_TITLE: 下載頁面
|
||||
MANAGE_BUCKET_DOWNLOADING: 下載中
|
||||
MANAGE_BUCKET_DOWNLOAD_COPY_TASK: 複製下載任務資訊
|
||||
MANAGE_BUCKET_DOWNLOAD_CLEAR_DOWNLOADED_TASK: 清空已完成任務
|
||||
MANAGE_BUCKET_DOWNLOAD_CLEAR_ALL_TASK: 清空所有任務
|
||||
MANAGE_BUCKET_DOWNLOAD_OPEN_FOLDER: 開啟下載目錄
|
||||
MANAGE_BUCKET_DOWNLOAD_SUCCESS: 成功
|
||||
MANAGE_BUCKET_DOWNLOAD_FAILED: 失敗
|
||||
MANAGE_BUCKET_MARKDOWN_PREVIEW: 預覽
|
||||
MANAGE_BUCKET_PLAY: 播放
|
||||
MANAGE_BUCKET_RENAME_FILE: 檔案重新命名
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A: 進行替換時匹配的字串或 JS 正則表達式
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS: 正則表達式請直接輸入,不需要加上 /
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A_PLACEHOLDER: 例如:^\d{4}-\d{2}-\d{2}
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_B: 需要替換的字串,可使用自訂重新命名規則中的佔位符
|
||||
MANAGE_BUCKET_RENAME_FILE_TABLE_IID: 自增數字
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT: 是否匹配副檔名進行替換
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_TIPS: 如果希望修改副檔名,請勾選此項
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_YES: 是
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_NO: 否
|
||||
MANAGE_BUCKET_RENAME_FILE_CANCEL: 取消
|
||||
MANAGE_BUCKET_RENAME_FILE_CONFIRM: 確定
|
||||
MANAGE_BUCKET_COPY_SUCCESS: 複製成功
|
||||
MANAGE_BUCKET_START_LOADING_MESSAGE: 開始取得檔案
|
||||
MANAGE_BUCKET_END_LOADING_MESSAGE_FAIL: 取得檔案內容失敗
|
||||
MANAGE_BUCKET_LAST_PAGE_TITLE: 提示
|
||||
MANAGE_BUCKET_LAST_PAGE_MSG: 已經是最後一頁了
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_TITLE: 提示
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG: 獲取檔案列表失敗
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG2: 正在後台獲取檔案列表,請勿切換頁面
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG3: 正在載入檔案列表,請稍後再試
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TITLE: 確定要下載該資料夾嗎?
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TIP: 提示
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CONFIRM: 確定
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CANCEL: 取消
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_SUCCESS: 獲取下載列表成功
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_FAIL: 獲取失敗
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_CANCEL: 已取消
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_TITLE: 請輸入資料夾名稱
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_TIP: 新建資料夾
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_CONFIRM: 確定
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_CANCEL: 取消
|
||||
MANAGE_BUCKET_CREATE_FOLDER_ERROR_MSG: 資料夾名稱只能包含中文、英文、數字、下劃線和斜線
|
||||
MANAGE_BUCKET_CREATE_FOLDER_SUCCESS: 創建成功,請刷新
|
||||
MANAGE_BUCKET_CREATE_FOLDER_FAIL: 創建失敗
|
||||
MANAGE_BUCKET_UPLOAD_URL_ERROR_MSQ: 請輸入有效的URL
|
||||
MANAGE_BUCKET_UPLOAD_URL_NOT_TITLE: 提示
|
||||
MANAGE_BUCKET_UPLOAD_URL_NOT_MSG: 開始後台下載,成功後自動上傳
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG: 請輸入匹配字串
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG2: 沒有匹配到檔案
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG3: 沒有需要重命名的檔案
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_A: 檢測到有
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_B: 個檔案重複,是否繼續
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_C: 提示
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_CONFIRM: 確定
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_CANCEL: 取消
|
||||
MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_A: 重命名成功
|
||||
MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_B: 失敗
|
||||
MANAGE_BUCKET_BATCH_RENAME_CANCEL: 已取消
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_ERROR_MSG: 請先選擇檔案
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_MSG_A: 已複製
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_MSG_B: 個檔案資訊
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_ERROR_MSG: 請先選擇檔案
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_MSG_A: 已複製
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_MSG_B: 個連結
|
||||
MANAGE_BUCKET_CANCEL_LOADING_TITLE: 是否停止獲取檔案列表?
|
||||
MANAGE_BUCKET_CANCEL_LOADING_MSG: 提示
|
||||
MANAGE_BUCKET_CANCEL_LOADING_CONFIRM: 确定
|
||||
MANAGE_BUCKET_CANCEL_LOADING_CANCEL: 取消
|
||||
MANAGE_BUCKET_CANCEL_LOADING_SUCCESS: 文件列表获取已停止
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_TITLE: 是否停止下载文件获取?
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_MSG: 提示
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CONFIRM: 确定
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CANCEL: 取消
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_SUCCESS: 下载文件获取已停止
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_TITLE: 提示
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_MSG: 获取文件列表成功
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_MSG2: 部分文件获取失败
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_A: 将永久删除
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_B: 个文件,是否继续?
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_MSG: 提示
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CONFIRM: 确定
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CANCEL: 取消
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_TITLE: 提示
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG: 删除失败
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG2: 删除成功
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG3: 失败
|
||||
MANAGE_BUCKET_BATCH_DELETE_CANCEL: 已取消删除
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE: 将永久删除
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER: 文件夹
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER_A: 和该目录下的所有文件
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FILE: 文件
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_C: 是否继续
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_MSG: 提示
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_CONFIRM: 确定
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_CANCEL: 取消
|
||||
MANAGE_BUCKET_DELETE_ERROR_MSG_TITLE: 提示
|
||||
MANAGE_BUCKET_DELETE_ERROR_MSG_MSG: 删除文件夹可能需要一段时间,请耐心等待
|
||||
MANAGE_BUCKET_DELETE_SUCCESS: 刪除成功
|
||||
MANAGE_BUCKET_DELETE_FAIL: 刪除失敗
|
||||
MANAGE_BUCKET_DELETE_CANCEL: 已取消删除
|
||||
MANAGE_BUCKET_RENAME_INFO_MSG: 新文件名和原文件名相同,無需重命名
|
||||
MANAGE_BUCKET_RENAME_SUCCESS: 重命名成功
|
||||
MANAGE_BUCKET_RENAME_ERROR_MSG: 重命名失敗
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_FINISHTIME: 完成時間
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS: 狀態
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_SUCCESS: 成功
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_FAIL: 失敗
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_TARGETFILEPATH: 上傳路徑
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_FINISHTIME: 完成時間
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS: 狀態
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_SUCCESS: 成功
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_FAIL: 失敗
|
||||
MANAGE_BUCKET_DOWNLOADING_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_DOWNLOADING_COLUMN_PROGRESS: 進度
|
||||
MANAGE_BUCKET_UPLOADING_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_UPLOADING_COLUMN_PROGRESS: 進度
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILESIZE: 大小
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILENUM: 文件數
|
||||
MANAGE_BUCKET_FILE_COLUMN_FILENAME: 文件名
|
||||
MANAGE_BUCKET_FILE_COLUMN_COPY_URL: 複製鏈接
|
||||
MANAGE_BUCKET_FILE_COLUMN_INFO: 文件信息
|
||||
MANAGE_BUCKET_FILE_COLUMN_FILESIZE: 大小
|
||||
MANAGE_BUCKET_FILE_COLUMN_TIME: 修改時間
|
||||
MANAGE_NEW_BUCKET_TCYUN_NAME: 腾讯雲
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_DESC: Bucket名稱
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_PLACEHOLDER: 請輸入Bucket名稱
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_A: Bucket名稱不能為空
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_B: Bucket名稱長度不能超過23個字符
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_C: Bucket名稱只能包含小寫字母、數字和中橫線,且不能以中橫線開頭和結尾
|
||||
MANAGE_NEW_BUCKET_TCYUN_REGION: 區域
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_DESC: 訪問權限
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_RW: 公共讀寫
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_R: 公共讀
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PRIVATE: 私有
|
||||
MANAGE_NEW_BUCKET_ALIYUN_NAME: 阿里雲
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_DESC: Bucket名稱
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_PLACEHOLDER: 請輸入Bucket名稱
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_A: Bucket名稱不能為空
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_B: Bucket名稱長度不能超過63個字符
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_C: Bucket名稱只能包含小寫字母、數字和中橫線,且不能以中橫線開頭和結尾
|
||||
MANAGE_NEW_BUCKET_ALIYUN_REGION: 區域
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_DESC: 訪問權限
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_RW: 公共讀寫
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_R: 公共讀
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PRIVATE: 私有
|
||||
MANAGE_NEW_BUCKET_QINIU_NAME: 七牛雲
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_DESC: Bucket名稱
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_PLACEHOLDER: 請輸入Bucket名稱
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_A: Bucket名稱不能為空
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B: Bucket名稱長度不能超過63個字符
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: Bucket名稱只能包含小寫字母、數字和中橫線,且不能以中橫線開頭和結尾
|
||||
MANAGE_NEW_BUCKET_QINIU_REGION: 區域
|
||||
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: 公開訪問
|
||||
MANAGE_NEW_BUCKET_S3PLIST_NAME: S3兼容雲
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC: Bucket名稱
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER: 請輸入Bucket名稱
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A: Bucket名稱不能為空
|
||||
MANAGE_NEW_BUCKET_S3PLIST_REGION: 區域
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC: 訪問權限
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW: 公共讀寫
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R: 公共讀
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE: 私有
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ: 授權讀
|
||||
PLUGIN_INSTALL_FAILED: 插件安裝失敗
|
||||
PLUGIN_UNINSTALL_FAILED: 插件卸載失敗
|
||||
PLUGIN_UPDATE_SUCCEED: 插件更新成功
|
||||
PLUGIN_UPDATE_FAILED: 插件更新失敗
|
||||
PLUGIN_IMPORT_SUCCEED: 插件導入成功
|
||||
PLUGIN_IMPORT_FAILED: 插件導入失敗
|
||||
|
||||
@@ -1,500 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import { readdirSync, readFileSync, writeFileSync } from 'node:fs'
|
||||
import { basename, dirname, extname, join, relative } from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
import { dump, load } from 'js-yaml'
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url)
|
||||
const __dirname = dirname(__filename)
|
||||
|
||||
const LOCALE_DIR = join(__dirname, '../public/i18n')
|
||||
const SRC_DIR = join(__dirname, '../src')
|
||||
|
||||
// Parse command line arguments
|
||||
const args = process.argv.slice(2)
|
||||
const isVerbose = args.includes('--verbose') || args.includes('-v')
|
||||
const shouldDelete = args.includes('--delete') || args.includes('-d')
|
||||
const isDryRun = args.includes('--dry-run')
|
||||
|
||||
const colors = {
|
||||
reset: '\x1b[0m',
|
||||
bright: '\x1b[1m',
|
||||
red: '\x1b[31m',
|
||||
green: '\x1b[32m',
|
||||
yellow: '\x1b[33m',
|
||||
blue: '\x1b[34m',
|
||||
magenta: '\x1b[35m',
|
||||
cyan: '\x1b[36m'
|
||||
}
|
||||
|
||||
function colorize (text, color) {
|
||||
return `${colors[color]}${text}${colors.reset}`
|
||||
}
|
||||
|
||||
console.log(`\n🔍 Analyzing i18n keys in ${LOCALE_DIR} and source files in ${SRC_DIR}`)
|
||||
if (shouldDelete) {
|
||||
console.log(colorize(`🗑️ Delete mode enabled ${isDryRun ? '(DRY RUN)' : ''}`, 'yellow'))
|
||||
}
|
||||
console.log('')
|
||||
|
||||
function flattenKeys (obj, prefix = '') {
|
||||
const keys = []
|
||||
|
||||
for (const [key, value] of Object.entries(obj)) {
|
||||
const fullKey = prefix ? `${prefix}.${key}` : key
|
||||
|
||||
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
||||
keys.push(...flattenKeys(value, fullKey))
|
||||
} else {
|
||||
keys.push(fullKey)
|
||||
}
|
||||
}
|
||||
|
||||
return keys
|
||||
}
|
||||
|
||||
function readLocaleFile (filePath) {
|
||||
try {
|
||||
const content = readFileSync(filePath, 'utf8')
|
||||
return load(content) || {}
|
||||
} catch (error) {
|
||||
console.error(colorize(`Error reading ${filePath}: ${error.message}`, 'red'))
|
||||
return {}
|
||||
}
|
||||
}
|
||||
|
||||
function getAllI18nKeys () {
|
||||
const localeFiles = readdirSync(LOCALE_DIR).filter(file => file.endsWith('.yml'))
|
||||
const allKeys = new Set()
|
||||
const localeData = {}
|
||||
|
||||
console.log(colorize('\n📁 Found locale files:', 'blue'))
|
||||
|
||||
for (const file of localeFiles) {
|
||||
const filePath = join(LOCALE_DIR, file)
|
||||
const locale = basename(file, '.yml')
|
||||
const data = readLocaleFile(filePath)
|
||||
const keys = flattenKeys(data)
|
||||
|
||||
localeData[locale] = {
|
||||
file: filePath,
|
||||
keys,
|
||||
data
|
||||
}
|
||||
|
||||
keys.forEach(key => allKeys.add(key))
|
||||
|
||||
console.log(` ${colorize('✓', 'green')} ${file} (${keys.length} keys)`)
|
||||
}
|
||||
|
||||
return {
|
||||
allKeys: Array.from(allKeys).sort(),
|
||||
localeData
|
||||
}
|
||||
}
|
||||
|
||||
function findFiles (dir, extensions = ['.vue', '.ts', '.js']) {
|
||||
const files = []
|
||||
|
||||
function walk (currentDir) {
|
||||
try {
|
||||
const entries = readdirSync(currentDir, { withFileTypes: true })
|
||||
|
||||
for (const entry of entries) {
|
||||
const fullPath = join(currentDir, entry.name)
|
||||
|
||||
if (entry.isDirectory()) {
|
||||
if (!['node_modules', '.git', 'dist', 'build', 'target', 'dist_electron'].includes(entry.name)) {
|
||||
walk(fullPath)
|
||||
}
|
||||
} else if (entry.isFile()) {
|
||||
const ext = extname(entry.name)
|
||||
if (extensions.includes(ext)) {
|
||||
files.push(fullPath)
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn(colorize(`Warning: Cannot read directory ${currentDir}: ${error.message}`, 'yellow'))
|
||||
}
|
||||
}
|
||||
|
||||
walk(dir)
|
||||
return files
|
||||
}
|
||||
|
||||
function findKeyUsage (keys) {
|
||||
const usage = {}
|
||||
const dynamicPatterns = []
|
||||
|
||||
keys.forEach(key => {
|
||||
usage[key] = {
|
||||
used: false,
|
||||
files: [],
|
||||
patterns: [],
|
||||
dynamicMatch: false
|
||||
}
|
||||
})
|
||||
|
||||
console.log(colorize('\n🔍 Searching for key usage in source files...', 'blue'))
|
||||
|
||||
const sourceFiles = findFiles(SRC_DIR)
|
||||
|
||||
console.log(` Found ${sourceFiles.length} source files to analyze`)
|
||||
|
||||
const searchPatterns = [
|
||||
/\$T\s*\(\s*['"`]([^'"`]+)['"`]/g,
|
||||
/(?:^|[^a-zA-Z$])T\s*\(\s*['"`]([^'"`]+)['"`]/g,
|
||||
/\{\{\s*\$T\s*\(\s*['"`]([^'"`]+)['"`]/g,
|
||||
/i18nManager\.T\s*\(\s*['"`]([^'"`]+)['"`]/g
|
||||
]
|
||||
|
||||
const dynamicPattern = /\$T\s*\(\s*`([^`]*\$\{[^}]+\}[^`]*)`/g
|
||||
|
||||
sourceFiles.forEach(filePath => {
|
||||
try {
|
||||
const content = readFileSync(filePath, 'utf8')
|
||||
const relativePath = relative(join(__dirname, '..'), filePath)
|
||||
|
||||
searchPatterns.forEach((pattern, patternIndex) => {
|
||||
let match
|
||||
while ((match = pattern.exec(content)) !== null) {
|
||||
const key = match[1]
|
||||
if (usage[key]) {
|
||||
usage[key].used = true
|
||||
if (!usage[key].files.includes(relativePath)) {
|
||||
usage[key].files.push(relativePath)
|
||||
}
|
||||
if (!usage[key].patterns.includes(patternIndex)) {
|
||||
usage[key].patterns.push(patternIndex)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
let dynamicMatch
|
||||
while ((dynamicMatch = dynamicPattern.exec(content)) !== null) {
|
||||
const templateString = dynamicMatch[1]
|
||||
|
||||
const staticParts = templateString.split(/\$\{[^}]+\}/)
|
||||
|
||||
const patternInfo = {
|
||||
template: templateString,
|
||||
file: relativePath,
|
||||
staticParts
|
||||
}
|
||||
|
||||
if (!dynamicPatterns.some(p => p.template === templateString && p.file === relativePath)) {
|
||||
dynamicPatterns.push(patternInfo)
|
||||
}
|
||||
|
||||
keys.forEach(key => {
|
||||
if (matchesDynamicPattern(key, staticParts)) {
|
||||
if (usage[key]) {
|
||||
usage[key].used = true
|
||||
usage[key].dynamicMatch = true
|
||||
if (!usage[key].files.includes(relativePath)) {
|
||||
usage[key].files.push(relativePath)
|
||||
}
|
||||
if (!usage[key].patterns.includes('dynamic')) {
|
||||
usage[key].patterns.push('dynamic')
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(colorize(`Error reading ${filePath}: ${error.message}`, 'red'))
|
||||
}
|
||||
})
|
||||
|
||||
usage._dynamicPatterns = dynamicPatterns
|
||||
|
||||
return usage
|
||||
}
|
||||
|
||||
function matchesDynamicPattern (key, staticParts) {
|
||||
if (staticParts.length === 0) return false
|
||||
|
||||
let keyIndex = 0
|
||||
|
||||
for (let i = 0; i < staticParts.length; i++) {
|
||||
const part = staticParts[i]
|
||||
|
||||
if (part === '') {
|
||||
if (i < staticParts.length - 1) {
|
||||
const nextPart = staticParts[i + 1]
|
||||
if (nextPart) {
|
||||
const nextIndex = key.indexOf(nextPart, keyIndex)
|
||||
if (nextIndex === -1) return false
|
||||
keyIndex = nextIndex
|
||||
}
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
if (i === 0) {
|
||||
if (!key.startsWith(part)) return false
|
||||
keyIndex = part.length
|
||||
} else if (i === staticParts.length - 1) {
|
||||
if (part && !key.endsWith(part)) return false
|
||||
} else {
|
||||
const index = key.indexOf(part, keyIndex)
|
||||
if (index === -1) return false
|
||||
keyIndex = index + part.length
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
function findLocaleInconsistencies (localeData) {
|
||||
const locales = Object.keys(localeData)
|
||||
const inconsistencies = {}
|
||||
|
||||
if (locales.length < 2) {
|
||||
return inconsistencies
|
||||
}
|
||||
|
||||
locales.forEach(locale => {
|
||||
const currentKeys = new Set(localeData[locale].keys)
|
||||
inconsistencies[locale] = {
|
||||
missing: [],
|
||||
extra: []
|
||||
}
|
||||
|
||||
locales.forEach(otherLocale => {
|
||||
if (locale !== otherLocale) {
|
||||
localeData[otherLocale].keys.forEach(key => {
|
||||
if (!currentKeys.has(key) && !inconsistencies[locale].missing.includes(key)) {
|
||||
inconsistencies[locale].missing.push(key)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
localeData[locale].keys.forEach(key => {
|
||||
const existsInOthers = locales.some(
|
||||
otherLocale => locale !== otherLocale && localeData[otherLocale].keys.includes(key)
|
||||
)
|
||||
if (!existsInOthers) {
|
||||
inconsistencies[locale].extra.push(key)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
return inconsistencies
|
||||
}
|
||||
|
||||
function deleteUnusedKeys (unusedKeys, localeData, isDryRun = false) {
|
||||
const results = {}
|
||||
|
||||
Object.entries(localeData).forEach(([locale, data]) => {
|
||||
results[locale] = {
|
||||
deleted: [],
|
||||
errors: []
|
||||
}
|
||||
|
||||
try {
|
||||
const updatedData = { ...data.data }
|
||||
|
||||
unusedKeys.forEach(key => {
|
||||
if (key in updatedData) {
|
||||
if (!isDryRun) {
|
||||
delete updatedData[key]
|
||||
}
|
||||
results[locale].deleted.push(key)
|
||||
}
|
||||
})
|
||||
|
||||
if (!isDryRun && results[locale].deleted.length > 0) {
|
||||
const yamlContent = dump(updatedData, {
|
||||
indent: 2,
|
||||
lineWidth: -1,
|
||||
noRefs: true,
|
||||
sortKeys: false
|
||||
})
|
||||
writeFileSync(data.file, yamlContent, 'utf8')
|
||||
}
|
||||
} catch (error) {
|
||||
results[locale].errors.push(`Failed to process ${locale}: ${error.message}`)
|
||||
}
|
||||
})
|
||||
|
||||
return results
|
||||
}
|
||||
|
||||
function main () {
|
||||
console.log(colorize('🌐 PicList - I18n Usage Analyzer', 'cyan'))
|
||||
console.log(colorize('==================================', 'cyan'))
|
||||
|
||||
const { allKeys, localeData } = getAllI18nKeys()
|
||||
|
||||
console.log(colorize(`\n📊 Total unique keys found: ${allKeys.length}`, 'yellow'))
|
||||
const usage = findKeyUsage(allKeys)
|
||||
const dynamicPatterns = usage._dynamicPatterns || []
|
||||
delete usage._dynamicPatterns
|
||||
|
||||
const usedKeys = allKeys.filter(key => usage[key].used)
|
||||
const unusedKeys = allKeys.filter(key => !usage[key].used)
|
||||
const dynamicallyUsedKeys = usedKeys.filter(key => usage[key].dynamicMatch)
|
||||
const staticUsedKeys = usedKeys.filter(key => !usage[key].dynamicMatch)
|
||||
|
||||
const inconsistencies = findLocaleInconsistencies(localeData)
|
||||
|
||||
console.log(colorize('\n📈 Usage Summary:', 'blue'))
|
||||
console.log(` ${colorize('✓', 'green')} Used keys: ${usedKeys.length}`)
|
||||
console.log(` ${colorize('→', 'cyan')} Static usage: ${staticUsedKeys.length}`)
|
||||
console.log(` ${colorize('→', 'magenta')} Dynamic usage: ${dynamicallyUsedKeys.length}`)
|
||||
console.log(` ${colorize('✗', 'red')} Unused keys: ${unusedKeys.length}`)
|
||||
console.log(` ${colorize('📊', 'yellow')} Usage rate: ${((usedKeys.length / allKeys.length) * 100).toFixed(1)}%`)
|
||||
|
||||
if (dynamicPatterns.length > 0) {
|
||||
console.log(colorize('\n🔮 Dynamic I18n Patterns Detected:', 'magenta'))
|
||||
console.log(colorize('===================================', 'magenta'))
|
||||
|
||||
dynamicPatterns.forEach((pattern, index) => {
|
||||
console.log(colorize(`\n${index + 1}. Template: \`${pattern.template}\``, 'cyan'))
|
||||
console.log(` File: ${pattern.file}`)
|
||||
console.log(` Static parts: [${pattern.staticParts.map(p => `"${p}"`).join(', ')}]`)
|
||||
|
||||
const matchingKeys = allKeys.filter(key => matchesDynamicPattern(key, pattern.staticParts))
|
||||
if (matchingKeys.length > 0) {
|
||||
console.log(
|
||||
` ${colorize('Matches', 'green')} (${matchingKeys.length}): ${matchingKeys.slice(0, 5).join(', ')}${
|
||||
matchingKeys.length > 5 ? '...' : ''
|
||||
}`
|
||||
)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (unusedKeys.length > 0) {
|
||||
console.log(colorize('\n🗑️ Unused I18n Keys:', 'red'))
|
||||
console.log(colorize('====================', 'red'))
|
||||
|
||||
const groupedUnused = {}
|
||||
unusedKeys.forEach(key => {
|
||||
const namespace = key.includes('.') ? key.split('.')[0] : 'ROOT'
|
||||
if (!groupedUnused[namespace]) {
|
||||
groupedUnused[namespace] = []
|
||||
}
|
||||
groupedUnused[namespace].push(key)
|
||||
})
|
||||
|
||||
Object.entries(groupedUnused).forEach(([namespace, keys]) => {
|
||||
console.log(colorize(`\n[${namespace}] - ${keys.length} unused keys:`, 'yellow'))
|
||||
keys.forEach(key => {
|
||||
console.log(` ${colorize('✗', 'red')} ${key}`)
|
||||
})
|
||||
})
|
||||
} else {
|
||||
console.log(colorize('\n🎉 No unused keys found! All i18n keys are being used.', 'green'))
|
||||
}
|
||||
|
||||
const hasInconsistencies = Object.values(inconsistencies).some(inc => inc.missing.length > 0 || inc.extra.length > 0)
|
||||
|
||||
if (hasInconsistencies) {
|
||||
console.log(colorize('\n⚠️ Locale Inconsistencies:', 'yellow'))
|
||||
console.log(colorize('=========================', 'yellow'))
|
||||
|
||||
Object.entries(inconsistencies).forEach(([locale, data]) => {
|
||||
if (data.missing.length > 0 || data.extra.length > 0) {
|
||||
console.log(colorize(`\n[${locale}.yml]:`, 'cyan'))
|
||||
|
||||
if (data.missing.length > 0) {
|
||||
console.log(colorize(` Missing ${data.missing.length} keys:`, 'red'))
|
||||
data.missing.forEach(key => {
|
||||
console.log(` ${colorize('✗', 'red')} ${key}`)
|
||||
})
|
||||
}
|
||||
|
||||
if (data.extra.length > 0) {
|
||||
console.log(colorize(` Extra ${data.extra.length} keys:`, 'blue'))
|
||||
data.extra.forEach(key => {
|
||||
console.log(` ${colorize('!', 'blue')} ${key}`)
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (isVerbose) {
|
||||
console.log(colorize('\n📋 Sample Used Keys (first 10):', 'blue'))
|
||||
console.log(colorize('=================================', 'blue'))
|
||||
|
||||
usedKeys.slice(0, 10).forEach(key => {
|
||||
const files = usage[key].files.slice(0, 3)
|
||||
const moreFiles = usage[key].files.length > 3 ? ` (+${usage[key].files.length - 3} more)` : ''
|
||||
const usageType = usage[key].dynamicMatch ? colorize('(dynamic)', 'magenta') : colorize('(static)', 'cyan')
|
||||
console.log(` ${colorize('✓', 'green')} ${key} ${usageType}`)
|
||||
console.log(` Used in: ${files.join(', ')}${moreFiles}`)
|
||||
})
|
||||
|
||||
if (dynamicallyUsedKeys.length > 0) {
|
||||
console.log(colorize('\n🔮 Dynamic Key Usage Details:', 'magenta'))
|
||||
console.log(colorize('=============================', 'magenta'))
|
||||
|
||||
dynamicallyUsedKeys.slice(0, 5).forEach(key => {
|
||||
const files = usage[key].files.slice(0, 2)
|
||||
console.log(` ${colorize('✨', 'magenta')} ${key}`)
|
||||
console.log(` Files: ${files.join(', ')}`)
|
||||
})
|
||||
|
||||
if (dynamicallyUsedKeys.length > 5) {
|
||||
console.log(` ... and ${dynamicallyUsedKeys.length - 5} more dynamic keys`)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (shouldDelete && unusedKeys.length > 0) {
|
||||
console.log(colorize('\n🗑️ Deleting Unused Keys:', 'yellow'))
|
||||
console.log(colorize('=========================', 'yellow'))
|
||||
|
||||
if (isDryRun) {
|
||||
console.log(colorize('🔍 DRY RUN MODE - No files will be modified', 'cyan'))
|
||||
}
|
||||
|
||||
const deletionResults = deleteUnusedKeys(unusedKeys, localeData, isDryRun)
|
||||
|
||||
Object.entries(deletionResults).forEach(([locale, result]) => {
|
||||
console.log(colorize(`\n[${locale}.yml]:`, 'cyan'))
|
||||
if (result.deleted.length > 0) {
|
||||
console.log(colorize(` Deleted ${result.deleted.length} keys:`, 'green'))
|
||||
result.deleted.forEach(key => {
|
||||
console.log(` ${colorize('✓', 'green')} ${key}`)
|
||||
})
|
||||
}
|
||||
if (result.errors.length > 0) {
|
||||
console.log(colorize(` Errors ${result.errors.length}:`, 'red'))
|
||||
result.errors.forEach(error => {
|
||||
console.log(` ${colorize('✗', 'red')} ${error}`)
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
if (!isDryRun) {
|
||||
console.log(colorize('\n✨ Deletion complete! Remember to regenerate type definitions.', 'green'))
|
||||
console.log(colorize('💡 Run `yarn i18n` to update TypeScript types', 'blue'))
|
||||
}
|
||||
}
|
||||
|
||||
console.log(colorize('\n✨ Analysis complete!', 'cyan'))
|
||||
|
||||
if (unusedKeys.length > 0 && !shouldDelete) {
|
||||
console.log(colorize('\n💡 Tips:', 'blue'))
|
||||
console.log(colorize('- Run with --verbose (-v) flag to see usage details of used keys', 'blue'))
|
||||
console.log(colorize('- Run with --delete (-d) flag to automatically remove unused keys', 'blue'))
|
||||
console.log(colorize('- Run with --delete --dry-run to preview what would be deleted', 'blue'))
|
||||
} else if (unusedKeys.length === 0) {
|
||||
console.log(colorize('\n💡 Tip: Run with --verbose (-v) flag to see usage details of used keys', 'blue'))
|
||||
}
|
||||
|
||||
if (unusedKeys.length > 0 && !shouldDelete) {
|
||||
process.exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
@@ -8,7 +8,7 @@ const languageFileName = 'zh-CN.yml'
|
||||
const __filename = fileURLToPath(import.meta.url)
|
||||
const __dirname = dirname(__filename)
|
||||
|
||||
const i18nFolder = join(__dirname, '../public/i18n')
|
||||
const i18nFolder = join(__dirname, '../resources/i18n')
|
||||
const typeFolder = join(__dirname, '../src/universal/types')
|
||||
const languageFile = join(i18nFolder, languageFileName)
|
||||
|
||||
|
||||
27
scripts/yamltojson.js
Normal file
27
scripts/yamltojson.js
Normal file
@@ -0,0 +1,27 @@
|
||||
// convert-yaml-to-json.mjs
|
||||
import fs from 'node:fs/promises'
|
||||
import path from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
import yaml from 'js-yaml'
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url)
|
||||
const __dirname = path.dirname(__filename)
|
||||
|
||||
// Change these paths as needed
|
||||
const inputPath = path.resolve('./resources/i18n/zh-TW.yml')
|
||||
const outputPath = path.resolve(__dirname, './zh-TW.json')
|
||||
|
||||
async function convertYamlToJson (yamlFile, jsonFile) {
|
||||
try {
|
||||
const fileContent = await fs.readFile(yamlFile, 'utf8')
|
||||
const data = yaml.load(fileContent)
|
||||
const jsonContent = JSON.stringify(data, null, 2)
|
||||
await fs.writeFile(jsonFile, jsonContent, 'utf8')
|
||||
console.log(`Converted ${yamlFile} to ${jsonFile}`)
|
||||
} catch (err) {
|
||||
console.error('Error during conversion:', err)
|
||||
}
|
||||
}
|
||||
|
||||
convertYamlToJson(inputPath, outputPath)
|
||||
@@ -22,7 +22,7 @@ import { IPasteStyle, IWindowList } from '#/types/enum'
|
||||
import { IBounds, ImgInfo } from '#/types/types'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { buildPicBedListMenu } from '~/events/remotes/menu'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
import clipboardPoll from '~/utils/clipboardPoll'
|
||||
import { ensureFilePath, handleCopyUrl, setTray, tray } from '~/utils/common'
|
||||
import { isMacOSVersionGreaterThanOrEqualTo } from '~/utils/getMacOSVersion'
|
||||
@@ -40,11 +40,11 @@ export function setDockMenu () {
|
||||
const isListeningClipboard = db.get(configPaths.settings.isListeningClipboard) || false
|
||||
const dockMenu = Menu.buildFromTemplate([
|
||||
{
|
||||
label: T('OPEN_MAIN_WINDOW'),
|
||||
label: $t('OPEN_MAIN_WINDOW'),
|
||||
click: openMainWindow
|
||||
},
|
||||
{
|
||||
label: T('START_WATCH_CLIPBOARD'),
|
||||
label: $t('START_WATCH_CLIPBOARD'),
|
||||
click () {
|
||||
db.set(configPaths.settings.isListeningClipboard, true)
|
||||
clipboardPoll.startListening()
|
||||
@@ -57,7 +57,7 @@ export function setDockMenu () {
|
||||
visible: !isListeningClipboard
|
||||
},
|
||||
{
|
||||
label: T('STOP_WATCH_CLIPBOARD'),
|
||||
label: $t('STOP_WATCH_CLIPBOARD'),
|
||||
click () {
|
||||
db.set(configPaths.settings.isListeningClipboard, false)
|
||||
clipboardPoll.stopListening()
|
||||
@@ -76,9 +76,9 @@ export function createMenu () {
|
||||
{
|
||||
label: 'PicList',
|
||||
submenu: [
|
||||
{ label: T('OPEN_MAIN_WINDOW'), click: openMainWindow },
|
||||
{ label: $t('OPEN_MAIN_WINDOW'), click: openMainWindow },
|
||||
{
|
||||
label: T('RELOAD_APP'),
|
||||
label: $t('RELOAD_APP'),
|
||||
click () {
|
||||
app.relaunch()
|
||||
app.exit(0)
|
||||
@@ -86,7 +86,7 @@ export function createMenu () {
|
||||
}
|
||||
]
|
||||
},
|
||||
{ label: T('CHOOSE_DEFAULT_PICBED'), type: 'submenu', submenu },
|
||||
{ label: $t('CHOOSE_DEFAULT_PICBED'), type: 'submenu', submenu },
|
||||
{
|
||||
label: 'Edit',
|
||||
submenu: [
|
||||
@@ -100,8 +100,8 @@ export function createMenu () {
|
||||
]
|
||||
},
|
||||
{
|
||||
label: T('QUIT'),
|
||||
submenu: [{ label: T('QUIT'), role: 'quit' }]
|
||||
label: $t('QUIT'),
|
||||
submenu: [{ label: $t('QUIT'), role: 'quit' }]
|
||||
}
|
||||
])
|
||||
Menu.setApplicationMenu(appMenu)
|
||||
@@ -133,40 +133,40 @@ export function createContextMenu () {
|
||||
if (process.platform === 'darwin' || process.platform === 'win32') {
|
||||
const submenu = buildPicBedListMenu()
|
||||
const template: (MenuItemConstructorOptions | MenuItem)[] = [
|
||||
{ label: T('OPEN_MAIN_WINDOW'), click: openMainWindow },
|
||||
{ label: T('CHOOSE_DEFAULT_PICBED'), type: 'submenu', submenu },
|
||||
{ label: $t('OPEN_MAIN_WINDOW'), click: openMainWindow },
|
||||
{ label: $t('CHOOSE_DEFAULT_PICBED'), type: 'submenu', submenu },
|
||||
{
|
||||
label: T('START_WATCH_CLIPBOARD'),
|
||||
label: $t('START_WATCH_CLIPBOARD'),
|
||||
click: startWatchClipboard,
|
||||
visible: !isListeningClipboard
|
||||
},
|
||||
{
|
||||
label: T('STOP_WATCH_CLIPBOARD'),
|
||||
label: $t('STOP_WATCH_CLIPBOARD'),
|
||||
click: stopWatchClipboard,
|
||||
visible: isListeningClipboard
|
||||
},
|
||||
{
|
||||
label: T('RELOAD_APP'),
|
||||
label: $t('RELOAD_APP'),
|
||||
click () {
|
||||
app.relaunch()
|
||||
app.exit(0)
|
||||
}
|
||||
},
|
||||
{ label: T('QUIT'), role: 'quit' }
|
||||
{ label: $t('QUIT'), role: 'quit' }
|
||||
]
|
||||
if (process.platform === 'win32') {
|
||||
template.splice(
|
||||
2,
|
||||
0,
|
||||
{
|
||||
label: T('OPEN_MINI_WINDOW'),
|
||||
label: $t('OPEN_MINI_WINDOW'),
|
||||
click () {
|
||||
openMiniWindow(false)
|
||||
},
|
||||
visible: !isMiniWindowVisible
|
||||
},
|
||||
{
|
||||
label: T('HIDE_MINI_WINDOW'),
|
||||
label: $t('HIDE_MINI_WINDOW'),
|
||||
click: hideMiniWindow,
|
||||
visible: isMiniWindowVisible
|
||||
}
|
||||
@@ -182,31 +182,31 @@ export function createContextMenu () {
|
||||
// 目前的实现无法正常工作
|
||||
|
||||
contextMenu = Menu.buildFromTemplate([
|
||||
{ label: T('OPEN_MAIN_WINDOW'), click: openMainWindow },
|
||||
{ label: $t('OPEN_MAIN_WINDOW'), click: openMainWindow },
|
||||
{
|
||||
label: T('OPEN_MINI_WINDOW'),
|
||||
label: $t('OPEN_MINI_WINDOW'),
|
||||
click () {
|
||||
openMiniWindow(false)
|
||||
},
|
||||
visible: !isMiniWindowVisible
|
||||
},
|
||||
{
|
||||
label: T('HIDE_MINI_WINDOW'),
|
||||
label: $t('HIDE_MINI_WINDOW'),
|
||||
click: hideMiniWindow,
|
||||
visible: isMiniWindowVisible
|
||||
},
|
||||
{
|
||||
label: T('START_WATCH_CLIPBOARD'),
|
||||
label: $t('START_WATCH_CLIPBOARD'),
|
||||
click: startWatchClipboard,
|
||||
visible: !isListeningClipboard
|
||||
},
|
||||
{
|
||||
label: T('STOP_WATCH_CLIPBOARD'),
|
||||
label: $t('STOP_WATCH_CLIPBOARD'),
|
||||
click: stopWatchClipboard,
|
||||
visible: isListeningClipboard
|
||||
},
|
||||
{
|
||||
label: T('ABOUT'),
|
||||
label: $t('ABOUT'),
|
||||
click () {
|
||||
dialog.showMessageBox({
|
||||
title: 'PicList',
|
||||
@@ -216,7 +216,7 @@ export function createContextMenu () {
|
||||
})
|
||||
}
|
||||
},
|
||||
{ label: T('QUIT'), role: 'quit' }
|
||||
{ label: $t('QUIT'), role: 'quit' }
|
||||
])
|
||||
}
|
||||
}
|
||||
@@ -343,7 +343,7 @@ export function createTray (tooltip: string) {
|
||||
: !!db.get(configPaths.settings.uploadResultNotification)
|
||||
if (isShowResultNotification) {
|
||||
const notification = new Notification({
|
||||
title: T('UPLOAD_SUCCEED'),
|
||||
title: $t('UPLOAD_SUCCEED'),
|
||||
body: shortUrl || imgs[i].imgUrl!
|
||||
// icon: files[i]
|
||||
})
|
||||
|
||||
@@ -10,7 +10,7 @@ import { IPicGo } from 'piclist'
|
||||
import { IPasteStyle, IWindowList } from '#/types/enum'
|
||||
import { IFileWithPath, ImgInfo, IStringKeyMap, IUploadOption } from '#/types/types'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { T } from '~/i18n/index'
|
||||
import { T as $t } from '~/i18n/index'
|
||||
import { handleCopyUrl, handleUrlEncodeWithSetting } from '~/utils/common'
|
||||
import { changeCurrentUploader } from '~/utils/handleUploaderConfig'
|
||||
import pasteTemplate from '~/utils/pasteTemplate'
|
||||
@@ -61,7 +61,7 @@ export const uploadClipboardFiles = async (): Promise<IStringKeyMap> => {
|
||||
: !!db.get(configPaths.settings.uploadResultNotification)
|
||||
if (isShowResultNotification) {
|
||||
const notification = new Notification({
|
||||
title: T('UPLOAD_SUCCEED'),
|
||||
title: $t('UPLOAD_SUCCEED'),
|
||||
body: shortUrl || img[0].imgUrl!
|
||||
// icon: img[0].imgUrl
|
||||
})
|
||||
@@ -82,8 +82,8 @@ export const uploadClipboardFiles = async (): Promise<IStringKeyMap> => {
|
||||
}
|
||||
} else {
|
||||
const notification = new Notification({
|
||||
title: T('UPLOAD_FAILED'),
|
||||
body: T('TIPS_UPLOAD_NOT_PICTURES')
|
||||
title: $t('UPLOAD_FAILED'),
|
||||
body: $t('TIPS_UPLOAD_NOT_PICTURES')
|
||||
})
|
||||
notification.show()
|
||||
return {
|
||||
@@ -141,7 +141,7 @@ export const uploadChoosedFiles = async (
|
||||
: !!db.get(configPaths.settings.uploadResultNotification)
|
||||
if (isShowResultNotification) {
|
||||
const notification = new Notification({
|
||||
title: T('UPLOAD_SUCCEED'),
|
||||
title: $t('UPLOAD_SUCCEED'),
|
||||
body: shortUrl || imgs[i].imgUrl!
|
||||
// icon: files[i].path
|
||||
})
|
||||
|
||||
@@ -11,13 +11,13 @@ import fs from 'fs-extra'
|
||||
import { IPicGo } from 'piclist'
|
||||
import writeFile from 'write-file-atomic'
|
||||
|
||||
import { GET_RENAME_FILE_NAME, RENAME_FILE_NAME, TALKING_DATA_EVENT } from '#/events/constants'
|
||||
import { GET_RENAME_FILE_NAME, RENAME_FILE_NAME } from '#/events/constants'
|
||||
import { ICOREBuildInEvent, IWindowList } from '#/types/enum'
|
||||
import { IAnalyticsData, ImgInfo, ITalkingDataOptions, IUploadOption } from '#/types/types'
|
||||
import { ImgInfo, IUploadOption } from '#/types/types'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { CLIPBOARD_IMAGE_FOLDER } from '#/utils/static'
|
||||
import { T } from '~/i18n'
|
||||
import { calcDurationRange, getClipboardFilePath, showNotification } from '~/utils/common'
|
||||
import { T as $t } from '~/i18n'
|
||||
import { getClipboardFilePath, showNotification } from '~/utils/common'
|
||||
|
||||
const waitForRename = (window: BrowserWindow, id: number): Promise<string | null> => {
|
||||
return new Promise(resolve => {
|
||||
@@ -33,21 +33,6 @@ const waitForRename = (window: BrowserWindow, id: number): Promise<string | null
|
||||
})
|
||||
}
|
||||
|
||||
const handleTalkingData = (webContents: WebContents, options: IAnalyticsData) => {
|
||||
const { type, fromClipboard, count, duration } = options
|
||||
const data: ITalkingDataOptions = {
|
||||
EventId: 'upload',
|
||||
Label: type,
|
||||
MapKv: {
|
||||
by: fromClipboard ? 'clipboard' : 'files',
|
||||
count,
|
||||
duration: calcDurationRange(duration || 0),
|
||||
type
|
||||
}
|
||||
}
|
||||
webContents.send(TALKING_DATA_EVENT, data)
|
||||
}
|
||||
|
||||
class Uploader {
|
||||
private webContents: WebContents | null = null
|
||||
|
||||
@@ -67,8 +52,8 @@ class Uploader {
|
||||
picgo.on(ICOREBuildInEvent.BEFORE_TRANSFORM, () => {
|
||||
if (db.get(configPaths.settings.uploadNotification)) {
|
||||
const notification = new Notification({
|
||||
title: T('UPLOAD_PROGRESS'),
|
||||
body: T('UPLOADING')
|
||||
title: $t('UPLOAD_PROGRESS'),
|
||||
body: $t('UPLOADING')
|
||||
})
|
||||
notification.show()
|
||||
}
|
||||
@@ -164,19 +149,9 @@ class Uploader {
|
||||
|
||||
async uploadReturnCtx (img?: IUploadOption, skipProcess = false): Promise<IPicGo | false> {
|
||||
try {
|
||||
const startTime = Date.now()
|
||||
const ctx = await picgo.uploadReturnCtx(img, skipProcess)
|
||||
if (!Array.isArray(ctx.output) || !ctx.output.some((item: ImgInfo) => item.imgUrl)) return false
|
||||
|
||||
if (this.webContents) {
|
||||
handleTalkingData(this.webContents, {
|
||||
fromClipboard: !img,
|
||||
type: db.get(configPaths.picBed.uploader) || db.get(configPaths.picBed.current) || 'smms',
|
||||
count: img ? img.length : 1,
|
||||
duration: Date.now() - startTime
|
||||
} as IAnalyticsData)
|
||||
}
|
||||
|
||||
ctx.output.forEach((item: ImgInfo) => {
|
||||
item.config = JSON.parse(JSON.stringify(db.get(`picBed.${item.type}`)))
|
||||
})
|
||||
@@ -186,7 +161,7 @@ class Uploader {
|
||||
logger.error(e)
|
||||
setTimeout(() => {
|
||||
showNotification({
|
||||
title: T('UPLOAD_FAILED'),
|
||||
title: $t('UPLOAD_FAILED'),
|
||||
body: util.format(e.stack),
|
||||
clickToCopy: true
|
||||
})
|
||||
@@ -199,18 +174,8 @@ class Uploader {
|
||||
|
||||
async upload (img?: IUploadOption): Promise<ImgInfo[] | false> {
|
||||
try {
|
||||
const startTime = Date.now()
|
||||
const output = await picgo.upload(img)
|
||||
if (!Array.isArray(output) || !output.some((item: ImgInfo) => item.imgUrl)) return false
|
||||
|
||||
if (this.webContents) {
|
||||
handleTalkingData(this.webContents, {
|
||||
fromClipboard: !img,
|
||||
type: db.get(configPaths.picBed.uploader) || db.get(configPaths.picBed.current) || 'smms',
|
||||
count: img ? img.length : 1,
|
||||
duration: Date.now() - startTime
|
||||
} as IAnalyticsData)
|
||||
}
|
||||
output.forEach((item: ImgInfo) => {
|
||||
item.config = JSON.parse(JSON.stringify(db.get(`picBed.${item.type}`)))
|
||||
})
|
||||
@@ -219,7 +184,7 @@ class Uploader {
|
||||
logger.error(e)
|
||||
setTimeout(() => {
|
||||
showNotification({
|
||||
title: T('UPLOAD_FAILED'),
|
||||
title: $t('UPLOAD_FAILED'),
|
||||
body: util.format(e.stack),
|
||||
clickToCopy: true
|
||||
})
|
||||
|
||||
@@ -10,7 +10,7 @@ import { IWindowListItem } from '#/types/electron'
|
||||
import { IWindowList } from '#/types/enum'
|
||||
import { IBrowserWindowOptions } from '#/types/types'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
|
||||
import logo from '../../../../../resources/logo.png?asset'
|
||||
import {
|
||||
@@ -171,7 +171,7 @@ const toolboxWindowOptions = {
|
||||
center: true,
|
||||
fullscreenable: false,
|
||||
resizable: false,
|
||||
title: `PicList ${T('TOOLBOX')}`,
|
||||
title: `PicList ${$t('TOOLBOX')}`,
|
||||
vibrancy: 'ultra-dark',
|
||||
icon: logo,
|
||||
webPreferences: {
|
||||
|
||||
@@ -7,7 +7,7 @@ import fs from 'fs-extra'
|
||||
import writeFile from 'write-file-atomic'
|
||||
|
||||
import { notificationList } from '#/utils/notification'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
|
||||
const STORE_PATH = app.getPath('userData')
|
||||
|
||||
@@ -19,8 +19,8 @@ let _configFilePath = ''
|
||||
let hasCheckPath = false
|
||||
|
||||
const errorMsg = {
|
||||
broken: T('TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_DEFAULT'),
|
||||
brokenButBackup: T('TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_BACKUP')
|
||||
broken: $t('TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_DEFAULT'),
|
||||
brokenButBackup: $t('TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_BACKUP')
|
||||
}
|
||||
|
||||
function dbChecker () {
|
||||
@@ -41,7 +41,7 @@ function dbChecker () {
|
||||
}
|
||||
let configFile: string = '{}'
|
||||
const optionsTpl = {
|
||||
title: T('TIPS_NOTICE'),
|
||||
title: $t('TIPS_NOTICE'),
|
||||
body: ''
|
||||
}
|
||||
// config save bak
|
||||
@@ -58,7 +58,7 @@ function dbChecker () {
|
||||
JSON.parse(configFile)
|
||||
writeFile.sync(configFilePath, configFile, { encoding: 'utf-8' })
|
||||
const stats = fs.statSync(configFileBackupPath)
|
||||
optionsTpl.body = `${errorMsg.brokenButBackup}\n${T('TIPS_PICGO_BACKUP_FILE_VERSION', {
|
||||
optionsTpl.body = `${errorMsg.brokenButBackup}\n${$t('TIPS_PICGO_BACKUP_FILE_VERSION', {
|
||||
v: dayjs(stats.mtime).format('YYYY-MM-DD HH:mm:ss')
|
||||
})}`
|
||||
notificationList.push(optionsTpl)
|
||||
@@ -108,8 +108,8 @@ function dbPathChecker (): string {
|
||||
const logger = getLogger(piclistLogPath, 'PicList')
|
||||
if (!hasCheckPath) {
|
||||
const optionsTpl = {
|
||||
title: T('TIPS_NOTICE'),
|
||||
body: T('TIPS_CUSTOM_CONFIG_FILE_PATH_ERROR')
|
||||
title: $t('TIPS_NOTICE'),
|
||||
body: $t('TIPS_CUSTOM_CONFIG_FILE_PATH_ERROR')
|
||||
}
|
||||
notificationList.push(optionsTpl)
|
||||
hasCheckPath = true
|
||||
|
||||
@@ -4,7 +4,7 @@ import fs from 'fs-extra'
|
||||
import { IConfig } from 'piclist'
|
||||
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
interface IJSON {
|
||||
[propsName: string]: string | number | IJSON
|
||||
}
|
||||
@@ -37,7 +37,7 @@ class ConfigStore {
|
||||
enable: true,
|
||||
key: 'CommandOrControl+Alt+P',
|
||||
name: 'upload',
|
||||
label: T('QUICK_UPLOAD')
|
||||
label: $t('QUICK_UPLOAD')
|
||||
})
|
||||
}
|
||||
this.read()
|
||||
|
||||
@@ -12,7 +12,7 @@ import { SHOW_INPUT_BOX } from '#/events/constants'
|
||||
import { IPasteStyle } from '#/types/enum'
|
||||
import { IGuiApi, ImgInfo, IShowFileExplorerOption, IShowInputBoxOption, IShowMessageBoxOption, IShowMessageBoxResult, IShowNotificationOption, IUploadOption } from '#/types/types'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
import { handleCopyUrl } from '~/utils/common'
|
||||
import pasteTemplate from '~/utils/pasteTemplate'
|
||||
|
||||
@@ -104,7 +104,7 @@ class GuiApi implements IGuiApi {
|
||||
: !!db.get(configPaths.settings.uploadResultNotification)
|
||||
if (isShowResultNotification) {
|
||||
const notification = new Notification({
|
||||
title: T('UPLOAD_SUCCEED'),
|
||||
title: $t('UPLOAD_SUCCEED'),
|
||||
body: shortUrl || (imgs[i].imgUrl! as string)
|
||||
// icon: imgs[i].imgUrl
|
||||
})
|
||||
@@ -179,8 +179,8 @@ class GuiApi implements IGuiApi {
|
||||
const guiApi = GuiApi.getInstance()
|
||||
guiApi
|
||||
.showMessageBox({
|
||||
title: T('TIPS_WARNING'),
|
||||
message: T('TIPS_PLUGIN_REMOVE_GALLERY_ITEM'),
|
||||
title: $t('TIPS_WARNING'),
|
||||
message: $t('TIPS_PLUGIN_REMOVE_GALLERY_ITEM'),
|
||||
type: 'info',
|
||||
buttons: ['Yes', 'No']
|
||||
})
|
||||
@@ -202,8 +202,8 @@ class GuiApi implements IGuiApi {
|
||||
const guiApi = GuiApi.getInstance()
|
||||
guiApi
|
||||
.showMessageBox({
|
||||
title: T('TIPS_WARNING'),
|
||||
message: T('TIPS_PLUGIN_REMOVE_GALLERY_ITEM'),
|
||||
title: $t('TIPS_WARNING'),
|
||||
message: $t('TIPS_PLUGIN_REMOVE_GALLERY_ITEM'),
|
||||
type: 'info',
|
||||
buttons: ['Yes', 'No']
|
||||
})
|
||||
|
||||
@@ -18,7 +18,7 @@ import { IWindowList } from '#/types/enum'
|
||||
import { IPicGoPlugin, IUploaderConfig } from '#/types/types'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { handlePluginUninstall, handlePluginUpdate } from '~/events/rpc/routes/plugin/utils'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
import clipboardPoll from '~/utils/clipboardPoll'
|
||||
import { setTrayToolTip } from '~/utils/common'
|
||||
import getPicBeds from '~/utils/getPicBeds'
|
||||
@@ -36,28 +36,28 @@ const buildMiniPageMenu = () => {
|
||||
const submenu = buildPicBedListMenu()
|
||||
const template: (MenuItemConstructorOptions | MenuItem)[] = [
|
||||
{
|
||||
label: T('OPEN_MAIN_WINDOW'),
|
||||
label: $t('OPEN_MAIN_WINDOW'),
|
||||
click: openMainWindow
|
||||
},
|
||||
{
|
||||
label: T('CHOOSE_DEFAULT_PICBED'),
|
||||
label: $t('CHOOSE_DEFAULT_PICBED'),
|
||||
type: 'submenu',
|
||||
submenu
|
||||
},
|
||||
{
|
||||
label: T('UPLOAD_BY_CLIPBOARD'),
|
||||
label: $t('UPLOAD_BY_CLIPBOARD'),
|
||||
click () {
|
||||
uploadClipboardFiles()
|
||||
}
|
||||
},
|
||||
{
|
||||
label: T('HIDE_MINI_WINDOW'),
|
||||
label: $t('HIDE_MINI_WINDOW'),
|
||||
click () {
|
||||
BrowserWindow.getFocusedWindow()!.hide()
|
||||
}
|
||||
},
|
||||
{
|
||||
label: T('START_WATCH_CLIPBOARD'),
|
||||
label: $t('START_WATCH_CLIPBOARD'),
|
||||
click () {
|
||||
db.set(configPaths.settings.isListeningClipboard, true)
|
||||
ClipboardWatcher.startListening()
|
||||
@@ -70,7 +70,7 @@ const buildMiniPageMenu = () => {
|
||||
visible: !isListeningClipboard
|
||||
},
|
||||
{
|
||||
label: T('STOP_WATCH_CLIPBOARD'),
|
||||
label: $t('STOP_WATCH_CLIPBOARD'),
|
||||
click () {
|
||||
db.set(configPaths.settings.isListeningClipboard, false)
|
||||
ClipboardWatcher.stopListening()
|
||||
@@ -80,7 +80,7 @@ const buildMiniPageMenu = () => {
|
||||
visible: isListeningClipboard
|
||||
},
|
||||
{
|
||||
label: T('RELOAD_APP'),
|
||||
label: $t('RELOAD_APP'),
|
||||
click () {
|
||||
app.relaunch()
|
||||
app.exit(0)
|
||||
@@ -88,7 +88,7 @@ const buildMiniPageMenu = () => {
|
||||
},
|
||||
{
|
||||
role: 'quit',
|
||||
label: T('QUIT')
|
||||
label: $t('QUIT')
|
||||
}
|
||||
]
|
||||
return Menu.buildFromTemplate(template)
|
||||
@@ -97,7 +97,7 @@ const buildMiniPageMenu = () => {
|
||||
const buildMainPageMenu = (win: BrowserWindow) => {
|
||||
const template = [
|
||||
{
|
||||
label: T('ABOUT'),
|
||||
label: $t('ABOUT'),
|
||||
click () {
|
||||
dialog.showMessageBox({
|
||||
title: 'PicList',
|
||||
@@ -107,26 +107,26 @@ const buildMainPageMenu = (win: BrowserWindow) => {
|
||||
}
|
||||
},
|
||||
{
|
||||
label: T('SHOW_PICBED_QRCODE'),
|
||||
label: $t('SHOW_PICBED_QRCODE'),
|
||||
click () {
|
||||
win?.webContents?.send(SHOW_MAIN_PAGE_QRCODE)
|
||||
}
|
||||
},
|
||||
{
|
||||
label: T('OPEN_TOOLBOX'),
|
||||
label: $t('OPEN_TOOLBOX'),
|
||||
click () {
|
||||
const window = windowManager.create(IWindowList.TOOLBOX_WINDOW)
|
||||
window?.show()
|
||||
}
|
||||
},
|
||||
{
|
||||
label: T('SHOW_DEVTOOLS'),
|
||||
label: $t('SHOW_DEVTOOLS'),
|
||||
click () {
|
||||
win?.webContents?.openDevTools({ mode: 'detach' })
|
||||
}
|
||||
},
|
||||
{
|
||||
label: T('FEEDBACK'),
|
||||
label: $t('FEEDBACK'),
|
||||
click () {
|
||||
const url = 'https://github.com/Kuingsmile/PicList/issues'
|
||||
shell.openExternal(url)
|
||||
@@ -144,7 +144,7 @@ const buildSecondPicBedMenu = () => {
|
||||
const picBedConfigList = picgo.getConfig<IUploaderConfig>('uploader')
|
||||
const currentPicBedMenuItem = [
|
||||
{
|
||||
label: `${T('CURRENT_SECOND_PICBED')} - ${currentPicBedName || 'None'}`,
|
||||
label: `${$t('CURRENT_SECOND_PICBED')} - ${currentPicBedName || 'None'}`,
|
||||
enabled: false
|
||||
},
|
||||
{
|
||||
@@ -196,7 +196,7 @@ const buildPicBedListMenu = () => {
|
||||
const picBedConfigList = picgo.getConfig<IUploaderConfig>('uploader')
|
||||
const currentPicBedMenuItem = [
|
||||
{
|
||||
label: `${T('CURRENT_PICBED')} - ${currentPicBedName}`,
|
||||
label: `${$t('CURRENT_PICBED')} - ${currentPicBedName}`,
|
||||
enabled: false
|
||||
},
|
||||
{
|
||||
@@ -276,7 +276,7 @@ const handleRestoreState = (item: string, name: string): void => {
|
||||
const buildPluginPageMenu = (plugin: IPicGoPlugin) => {
|
||||
const menu = [
|
||||
{
|
||||
label: T('ENABLE_PLUGIN'),
|
||||
label: $t('ENABLE_PLUGIN'),
|
||||
enabled: !plugin.enabled,
|
||||
click () {
|
||||
picgo.saveConfig({
|
||||
@@ -287,7 +287,7 @@ const buildPluginPageMenu = (plugin: IPicGoPlugin) => {
|
||||
}
|
||||
},
|
||||
{
|
||||
label: T('DISABLE_PLUGIN'),
|
||||
label: $t('DISABLE_PLUGIN'),
|
||||
enabled: plugin.enabled,
|
||||
click () {
|
||||
picgo.saveConfig({
|
||||
@@ -306,7 +306,7 @@ const buildPluginPageMenu = (plugin: IPicGoPlugin) => {
|
||||
}
|
||||
},
|
||||
{
|
||||
label: T('UNINSTALL_PLUGIN'),
|
||||
label: $t('UNINSTALL_PLUGIN'),
|
||||
click () {
|
||||
const window = windowManager.get(IWindowList.SETTING_WINDOW)!
|
||||
window.webContents.send(PICGO_HANDLE_PLUGIN_ING, plugin.fullName)
|
||||
@@ -314,7 +314,7 @@ const buildPluginPageMenu = (plugin: IPicGoPlugin) => {
|
||||
}
|
||||
},
|
||||
{
|
||||
label: T('UPDATE_PLUGIN'),
|
||||
label: $t('UPDATE_PLUGIN'),
|
||||
click () {
|
||||
const window = windowManager.get(IWindowList.SETTING_WINDOW)!
|
||||
window.webContents.send(PICGO_HANDLE_PLUGIN_ING, plugin.fullName)
|
||||
@@ -325,7 +325,7 @@ const buildPluginPageMenu = (plugin: IPicGoPlugin) => {
|
||||
for (const i in plugin.config) {
|
||||
if (plugin.config[i].config.length > 0) {
|
||||
const obj = {
|
||||
label: T('CONFIG_THING', {
|
||||
label: $t('CONFIG_THING', {
|
||||
c: `${i} - ${plugin.config[i].fullName || plugin.config[i].name}`
|
||||
}),
|
||||
click () {
|
||||
@@ -345,7 +345,7 @@ const buildPluginPageMenu = (plugin: IPicGoPlugin) => {
|
||||
const currentTransformer = picgo.getConfig<string>(configPaths.picBed.transformer) || 'path'
|
||||
const pluginTransformer = plugin.config.transformer.name
|
||||
const obj = {
|
||||
label: `${currentTransformer === pluginTransformer ? T('DISABLE') : T('ENABLE')}transformer - ${plugin.config.transformer.name}`,
|
||||
label: `${currentTransformer === pluginTransformer ? $t('DISABLE') : $t('ENABLE')}transformer - ${plugin.config.transformer.name}`,
|
||||
click () {
|
||||
const transformer = plugin.config.transformer.name
|
||||
const currentTransformer = picgo.getConfig<string>(configPaths.picBed.transformer) || 'path'
|
||||
|
||||
@@ -1,20 +1,13 @@
|
||||
import { GalleryDB } from '@core/datastore'
|
||||
import picgo from '@core/picgo'
|
||||
import logger from '@core/picgo/logger'
|
||||
import GuiApi from 'apis/gui'
|
||||
import { clipboard } from 'electron'
|
||||
|
||||
import { ICOREBuildInEvent, IPasteStyle, IRPCActionType, IRPCType } from '#/types/enum'
|
||||
import { IIPCEvent } from '#/types/rpc'
|
||||
import { ILogType, ImgInfo, ISftpPlistConfig, IStringKeyMap } from '#/types/types'
|
||||
import { ImgInfo } from '#/types/types'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { RPCRouter } from '~/events/rpc/router'
|
||||
import {
|
||||
removeFileFromDogeInMain,
|
||||
removeFileFromHuaweiInMain,
|
||||
removeFileFromS3InMain,
|
||||
removeFileFromSFTPInMain
|
||||
} from '~/utils/deleteFunc'
|
||||
import pasteTemplate from '~/utils/pasteTemplate'
|
||||
interface IFilter {
|
||||
orderBy?: 'asc' | 'desc'
|
||||
@@ -98,43 +91,6 @@ const galleryRoutes = [
|
||||
return await dbStore.insertMany(args[0])
|
||||
},
|
||||
type: IRPCType.INVOKE
|
||||
},
|
||||
{
|
||||
action: IRPCActionType.GALLERY_LOG_DELETE_MSG,
|
||||
handler: async (_: IIPCEvent, args: [msg: string, logLevel: ILogType]) => {
|
||||
const [msg, logLevel] = args
|
||||
console.log(msg, logLevel)
|
||||
logger[logLevel](msg)
|
||||
}
|
||||
},
|
||||
{
|
||||
action: IRPCActionType.GALLERY_DELETE_SFTP_FILE,
|
||||
handler: async (_: IIPCEvent, args: [config: ISftpPlistConfig, fileName: string]) => {
|
||||
const [config, fileName] = args
|
||||
return await removeFileFromSFTPInMain(config, fileName)
|
||||
},
|
||||
type: IRPCType.INVOKE
|
||||
},
|
||||
{
|
||||
action: IRPCActionType.GALLERY_DELETE_AWS_S3_FILE,
|
||||
handler: async (_: IIPCEvent, args: [configMap: IStringKeyMap]) => {
|
||||
return await removeFileFromS3InMain(args[0])
|
||||
},
|
||||
type: IRPCType.INVOKE
|
||||
},
|
||||
{
|
||||
action: IRPCActionType.GALLERY_DELETE_DOGE_FILE,
|
||||
handler: async (_: IIPCEvent, args: [configMap: IStringKeyMap]) => {
|
||||
return await removeFileFromDogeInMain(args[0])
|
||||
},
|
||||
type: IRPCType.INVOKE
|
||||
},
|
||||
{
|
||||
action: IRPCActionType.GALLERY_DELETE_HUAWEI_OSS_FILE,
|
||||
handler: async (_: IIPCEvent, args: [configMap: IStringKeyMap]) => {
|
||||
return await removeFileFromHuaweiInMain(args[0])
|
||||
},
|
||||
type: IRPCType.INVOKE
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import { ICOREBuildInEvent, IPicGoHelperType, IWindowList } from '#/types/enum'
|
||||
import { IIPCEvent } from '#/types/rpc'
|
||||
import { IDispose, IPicGoPlugin } from '#/types/types'
|
||||
import { handleStreamlinePluginName, simpleClone } from '#/utils/common'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
import { showNotification } from '~/utils/common'
|
||||
|
||||
const STORE_PATH = dbPathDir()
|
||||
@@ -108,8 +108,8 @@ const handleNPMError = (): IDispose => {
|
||||
if (msg === 'NPM is not installed') {
|
||||
dialog
|
||||
.showMessageBox({
|
||||
title: T('TIPS_ERROR'),
|
||||
message: T('TIPS_INSTALL_NODE_AND_RELOAD_PICGO'),
|
||||
title: $t('TIPS_ERROR'),
|
||||
message: $t('TIPS_INSTALL_NODE_AND_RELOAD_PICGO'),
|
||||
buttons: ['Yes']
|
||||
})
|
||||
.then(res => {
|
||||
@@ -131,7 +131,7 @@ export const handlePluginUpdate = async (fullName: string | string[]) => {
|
||||
window.webContents.send('updateSuccess', res.body[0])
|
||||
} else {
|
||||
showNotification({
|
||||
title: T('PLUGIN_UPDATE_FAILED'),
|
||||
title: $t('PLUGIN_UPDATE_FAILED'),
|
||||
body: res.body as string
|
||||
})
|
||||
}
|
||||
@@ -148,7 +148,7 @@ export const handlePluginUninstall = async (fullName: string) => {
|
||||
shortKeyHandler.unregisterPluginShortKey(res.body[0])
|
||||
} else {
|
||||
showNotification({
|
||||
title: T('PLUGIN_UNINSTALL_FAILED'),
|
||||
title: $t('PLUGIN_UNINSTALL_FAILED'),
|
||||
body: res.body as string
|
||||
})
|
||||
}
|
||||
@@ -165,7 +165,7 @@ export const pluginGetListFunc = async (event: IIPCEvent) => {
|
||||
} catch (e: any) {
|
||||
event.sender.send('pluginList', [])
|
||||
showNotification({
|
||||
title: T('TIPS_GET_PLUGIN_LIST_FAILED'),
|
||||
title: $t('TIPS_GET_PLUGIN_LIST_FAILED'),
|
||||
body: e.message
|
||||
})
|
||||
picgo.log.error(e)
|
||||
@@ -185,7 +185,7 @@ export const pluginInstallFunc = async (event: IIPCEvent, args: [fullName: strin
|
||||
await shortKeyHandler.registerPluginShortKey(res.body[0])
|
||||
} else {
|
||||
showNotification({
|
||||
title: T('PLUGIN_INSTALL_FAILED'),
|
||||
title: $t('PLUGIN_INSTALL_FAILED'),
|
||||
body: res.body as string
|
||||
})
|
||||
}
|
||||
@@ -208,17 +208,17 @@ export const pluginImportLocalFunc = async (event: IIPCEvent) => {
|
||||
} catch (e: any) {
|
||||
event.sender.send('pluginList', [])
|
||||
showNotification({
|
||||
title: T('TIPS_GET_PLUGIN_LIST_FAILED'),
|
||||
title: $t('TIPS_GET_PLUGIN_LIST_FAILED'),
|
||||
body: e.message
|
||||
})
|
||||
}
|
||||
showNotification({
|
||||
title: T('PLUGIN_IMPORT_SUCCEED'),
|
||||
title: $t('PLUGIN_IMPORT_SUCCEED'),
|
||||
body: ''
|
||||
})
|
||||
} else {
|
||||
showNotification({
|
||||
title: T('PLUGIN_IMPORT_FAILED'),
|
||||
title: $t('PLUGIN_IMPORT_FAILED'),
|
||||
body: res.body as string
|
||||
})
|
||||
}
|
||||
|
||||
@@ -6,12 +6,12 @@ import { TOGGLE_SHORTKEY_MODIFIED_MODE } from '#/events/constants'
|
||||
import { IRPCActionType, IRPCType } from '#/types/enum'
|
||||
import { IIPCEvent } from '#/types/rpc'
|
||||
import { IShortKeyConfig } from '#/types/types'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
|
||||
const notificationFunc = (result: boolean) => {
|
||||
const notification = new Notification({
|
||||
title: T(`OPERATION_${result ? 'SUCCEED' : 'FAILED'}`),
|
||||
body: T(`TIPS_SHORTCUT_MODIFIED_${result ? 'SUCCEED' : 'CONFLICT'}`)
|
||||
title: $t(`OPERATION_${result ? 'SUCCEED' : 'FAILED'}`),
|
||||
body: $t(`TIPS_SHORTCUT_MODIFIED_${result ? 'SUCCEED' : 'CONFLICT'}`)
|
||||
})
|
||||
notification.show()
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
import picgo from '@core/picgo'
|
||||
import windowManager from 'apis/app/window/windowManager'
|
||||
import { app, IpcMainEvent, shell } from 'electron'
|
||||
import { IIPCEvent } from 'root/src/universal/types/rpc'
|
||||
|
||||
import { SET_CURRENT_LANGUAGE } from '#/events/constants'
|
||||
import { IRPCActionType, IWindowList } from '#/types/enum'
|
||||
import { IRPCActionType } from '#/types/enum'
|
||||
import { IIPCEvent } from '#/types/rpc'
|
||||
import { i18nManager } from '~/i18n'
|
||||
|
||||
export default [
|
||||
@@ -33,35 +31,12 @@ export default [
|
||||
shell.openExternal(args[0])
|
||||
}
|
||||
},
|
||||
{
|
||||
action: IRPCActionType.GET_LANGUAGE_LIST,
|
||||
handler: async (event: IIPCEvent) => {
|
||||
(event as IpcMainEvent).returnValue = i18nManager.languageList
|
||||
}
|
||||
},
|
||||
{
|
||||
action: IRPCActionType.GET_CURRENT_LANGUAGE,
|
||||
handler: async (event: IIPCEvent) => {
|
||||
const { lang, locales } = i18nManager.getCurrentLocales()
|
||||
;(event as IpcMainEvent).returnValue = [lang, locales]
|
||||
}
|
||||
},
|
||||
{
|
||||
action: IRPCActionType.SET_CURRENT_LANGUAGE,
|
||||
handler: async (_: IIPCEvent, args: [language: string]) => {
|
||||
i18nManager.setCurrentLanguage(args[0])
|
||||
const { lang, locales } = i18nManager.getCurrentLocales()
|
||||
const { lang } = i18nManager.getCurrentLocales()
|
||||
picgo.i18n.setLanguage(lang)
|
||||
if (process.platform === 'darwin') {
|
||||
const trayWindow = windowManager.get(IWindowList.TRAY_WINDOW)
|
||||
trayWindow?.webContents.send(SET_CURRENT_LANGUAGE, lang, locales)
|
||||
}
|
||||
const settingWindow = windowManager.get(IWindowList.SETTING_WINDOW)
|
||||
settingWindow?.webContents.send(SET_CURRENT_LANGUAGE, lang, locales)
|
||||
if (windowManager.has(IWindowList.MINI_WINDOW)) {
|
||||
const miniWindow = windowManager.get(IWindowList.MINI_WINDOW)
|
||||
miniWindow?.webContents.send(SET_CURRENT_LANGUAGE, lang, locales)
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -7,7 +7,7 @@ import { IToolboxItemCheckStatus, IToolboxItemType } from '#/types/enum'
|
||||
import { IToolboxCheckerMap, IToolboxFixMap } from '#/types/rpc'
|
||||
import { CLIPBOARD_IMAGE_FOLDER } from '#/utils/static'
|
||||
import { sendToolboxResWithType } from '~/events/rpc/routes/toolbox/utils'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
|
||||
const sendToolboxRes = sendToolboxResWithType(IToolboxItemType.HAS_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD)
|
||||
|
||||
@@ -25,7 +25,7 @@ export const checkClipboardUploadMap: IToolboxCheckerMap<IToolboxItemType.HAS_PR
|
||||
if (fs.existsSync(clipboardImagePath)) {
|
||||
sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.SUCCESS,
|
||||
msg: T('TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_TIPS', {
|
||||
msg: $t('TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_TIPS', {
|
||||
path: clipboardImagePath
|
||||
}),
|
||||
value: clipboardImagePath
|
||||
@@ -33,7 +33,7 @@ export const checkClipboardUploadMap: IToolboxCheckerMap<IToolboxItemType.HAS_PR
|
||||
} else {
|
||||
sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.ERROR,
|
||||
msg: T('TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS', {
|
||||
msg: $t('TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS', {
|
||||
path: clipboardImagePath
|
||||
}),
|
||||
value: path.dirname(clipboardImagePath)
|
||||
@@ -42,7 +42,7 @@ export const checkClipboardUploadMap: IToolboxCheckerMap<IToolboxItemType.HAS_PR
|
||||
} else {
|
||||
sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.ERROR,
|
||||
msg: T('TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS', {
|
||||
msg: $t('TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS', {
|
||||
path: defaultClipboardImagePath
|
||||
}),
|
||||
value: path.dirname(defaultClipboardImagePath)
|
||||
@@ -66,7 +66,7 @@ export const fixClipboardUploadMap: IToolboxFixMap<IToolboxItemType.HAS_PROBLEM_
|
||||
return {
|
||||
type: IToolboxItemType.HAS_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD,
|
||||
status: IToolboxItemCheckStatus.ERROR,
|
||||
msg: T('TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_ERROR_TIPS', {
|
||||
msg: $t('TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_ERROR_TIPS', {
|
||||
path: clipboardImagePath
|
||||
}),
|
||||
value: path.dirname(clipboardImagePath)
|
||||
|
||||
@@ -2,13 +2,13 @@ import path from 'node:path'
|
||||
|
||||
import { DB_PATH, GalleryDB } from '@core/datastore'
|
||||
import { dbPathChecker } from '@core/datastore/dbChecker'
|
||||
import { IpcMainEvent } from 'electron'
|
||||
import type { IpcMainEvent } from 'electron'
|
||||
import fs from 'fs-extra'
|
||||
|
||||
import { IToolboxItemCheckStatus, IToolboxItemType } from '#/types/enum'
|
||||
import { IToolboxCheckerMap, IToolboxFixMap } from '#/types/rpc'
|
||||
import type { IToolboxCheckerMap, IToolboxFixMap } from '#/types/rpc'
|
||||
import { sendToolboxResWithType } from '~/events/rpc/routes/toolbox/utils'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
|
||||
export const checkFileMap: IToolboxCheckerMap<
|
||||
IToolboxItemType.IS_CONFIG_FILE_BROKEN | IToolboxItemType.IS_GALLERY_FILE_BROKEN
|
||||
@@ -24,7 +24,7 @@ export const checkFileMap: IToolboxCheckerMap<
|
||||
await fs.readJSON(configFilePath)
|
||||
sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.SUCCESS,
|
||||
msg: T('TOOLBOX_CHECK_CONFIG_FILE_PATH_TIPS', {
|
||||
msg: $t('TOOLBOX_CHECK_CONFIG_FILE_PATH_TIPS', {
|
||||
path: configFilePath
|
||||
}),
|
||||
value: configFilePath
|
||||
@@ -33,7 +33,7 @@ export const checkFileMap: IToolboxCheckerMap<
|
||||
} catch (e) {
|
||||
sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.ERROR,
|
||||
msg: T('TOOLBOX_CHECK_CONFIG_FILE_BROKEN_TIPS'),
|
||||
msg: $t('TOOLBOX_CHECK_CONFIG_FILE_BROKEN_TIPS'),
|
||||
value: path.dirname(configFilePath)
|
||||
})
|
||||
}
|
||||
@@ -47,7 +47,7 @@ export const checkFileMap: IToolboxCheckerMap<
|
||||
if (galleryDB.errorList.length === 0) {
|
||||
sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.SUCCESS,
|
||||
msg: T('TOOLBOX_CHECK_GALLERY_FILE_PATH_TIPS', {
|
||||
msg: $t('TOOLBOX_CHECK_GALLERY_FILE_PATH_TIPS', {
|
||||
path: DB_PATH
|
||||
}),
|
||||
value: path.dirname(DB_PATH)
|
||||
@@ -55,7 +55,7 @@ export const checkFileMap: IToolboxCheckerMap<
|
||||
} else {
|
||||
sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.ERROR,
|
||||
msg: T('TOOLBOX_CHECK_GALLERY_FILE_BROKEN_TIPS'),
|
||||
msg: $t('TOOLBOX_CHECK_GALLERY_FILE_BROKEN_TIPS'),
|
||||
value: path.dirname(DB_PATH)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import tunnel from 'tunnel'
|
||||
import { IToolboxItemCheckStatus, IToolboxItemType } from '#/types/enum'
|
||||
import { IToolboxCheckerMap } from '#/types/rpc'
|
||||
import { sendToolboxResWithType } from '~/events/rpc/routes/toolbox/utils'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
|
||||
function getProxy (proxyStr: string): AxiosRequestConfig['proxy'] | null {
|
||||
if (proxyStr) {
|
||||
@@ -39,7 +39,7 @@ export const checkProxyMap: IToolboxCheckerMap<IToolboxItemType.HAS_PROBLEM_WITH
|
||||
if (!config) {
|
||||
return sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.SUCCESS,
|
||||
msg: T('TOOLBOX_CHECK_PROXY_NO_PROXY_TIPS')
|
||||
msg: $t('TOOLBOX_CHECK_PROXY_NO_PROXY_TIPS')
|
||||
})
|
||||
}
|
||||
|
||||
@@ -47,14 +47,14 @@ export const checkProxyMap: IToolboxCheckerMap<IToolboxItemType.HAS_PROBLEM_WITH
|
||||
if (!proxy) {
|
||||
return sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.SUCCESS,
|
||||
msg: T('TOOLBOX_CHECK_PROXY_NO_PROXY_TIPS')
|
||||
msg: $t('TOOLBOX_CHECK_PROXY_NO_PROXY_TIPS')
|
||||
})
|
||||
} else {
|
||||
const proxyOptions = getProxy(proxy)
|
||||
if (!proxyOptions) {
|
||||
return sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.ERROR,
|
||||
msg: T('TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_CORRECT')
|
||||
msg: $t('TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_CORRECT')
|
||||
})
|
||||
} else {
|
||||
const httpsAgent = tunnel.httpsOverHttp({
|
||||
@@ -69,13 +69,13 @@ export const checkProxyMap: IToolboxCheckerMap<IToolboxItemType.HAS_PROBLEM_WITH
|
||||
})
|
||||
return sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.SUCCESS,
|
||||
msg: T('TOOLBOX_CHECK_PROXY_SUCCESS_TIPS')
|
||||
msg: $t('TOOLBOX_CHECK_PROXY_SUCCESS_TIPS')
|
||||
})
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
return sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.ERROR,
|
||||
msg: T('TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_WORKING')
|
||||
msg: $t('TOOLBOX_CHECK_PROXY_PROXY_IS_NOT_WORKING')
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -84,7 +84,7 @@ export const checkProxyMap: IToolboxCheckerMap<IToolboxItemType.HAS_PROBLEM_WITH
|
||||
|
||||
sendToolboxRes(event, {
|
||||
status: IToolboxItemCheckStatus.SUCCESS,
|
||||
msg: T('TOOLBOX_CHECK_PROXY_NO_PROXY_TIPS')
|
||||
msg: $t('TOOLBOX_CHECK_PROXY_NO_PROXY_TIPS')
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import { IPasteStyle, IRPCActionType, IRPCType, IWindowList } from '#/types/enum
|
||||
import { IIPCEvent } from '#/types/rpc'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { RPCRouter } from '~/events/rpc/router'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
import { generateShortUrl, handleCopyUrl, setTrayToolTip } from '~/utils/common'
|
||||
import pasteTemplate from '~/utils/pasteTemplate'
|
||||
|
||||
@@ -44,7 +44,7 @@ const trayRoutes = [
|
||||
: !!db.get(configPaths.settings.uploadResultNotification)
|
||||
if (isShowResultNotification) {
|
||||
const notification = new Notification({
|
||||
title: T('UPLOAD_SUCCEED'),
|
||||
title: $t('UPLOAD_SUCCEED'),
|
||||
body: shortUrl || img[0].imgUrl!
|
||||
// icon: file[0]
|
||||
// icon: img[0].imgUrl
|
||||
|
||||
@@ -23,7 +23,7 @@ import { CLIPBOARD_IMAGE_FOLDER } from '#/utils/static'
|
||||
import busEventList from '~/events/busEventList'
|
||||
import { rpcServer } from '~/events/rpc'
|
||||
import { startFileServer, stopFileServer } from '~/fileServer'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
import fixPath from '~/lifeCycle/fixPath'
|
||||
import UpDownTaskQueue from '~/manage/datastore/upDownTaskQueue'
|
||||
import getManageApi from '~/manage/Main'
|
||||
@@ -95,16 +95,16 @@ updater.autoUpdater.on('update-available', async (info: updater.UpdateInfo) => {
|
||||
dialog
|
||||
.showMessageBox({
|
||||
type: 'info',
|
||||
title: T('FIND_NEW_VERSION'),
|
||||
title: $t('FIND_NEW_VERSION'),
|
||||
buttons: ['Yes', 'Go to download page'],
|
||||
message:
|
||||
T('TIPS_FIND_NEW_VERSION', {
|
||||
$t('TIPS_FIND_NEW_VERSION', {
|
||||
v: info.version
|
||||
}) +
|
||||
'\n\n' +
|
||||
displayLog +
|
||||
truncatedNote,
|
||||
checkboxLabel: T('NO_MORE_NOTICE'),
|
||||
checkboxLabel: $t('NO_MORE_NOTICE'),
|
||||
checkboxChecked: false
|
||||
})
|
||||
.then(result => {
|
||||
@@ -132,9 +132,9 @@ updater.autoUpdater.on('update-downloaded', () => {
|
||||
dialog
|
||||
.showMessageBox({
|
||||
type: 'info',
|
||||
title: T('UPDATE_DOWNLOADED'),
|
||||
title: $t('UPDATE_DOWNLOADED'),
|
||||
buttons: ['Yes', 'No'],
|
||||
message: T('TIPS_UPDATE_DOWNLOADED')
|
||||
message: $t('TIPS_UPDATE_DOWNLOADED')
|
||||
})
|
||||
.then(result => {
|
||||
const window = windowManager.get(IWindowList.SETTING_WINDOW)!
|
||||
|
||||
@@ -7,7 +7,7 @@ import fs from 'fs-extra'
|
||||
import writeFile from 'write-file-atomic'
|
||||
|
||||
import { notificationList } from '#/utils/notification'
|
||||
import { T } from '~/i18n'
|
||||
import { T as $t } from '~/i18n'
|
||||
|
||||
const STORE_PATH = app.getPath('userData')
|
||||
const manageConfigFilePath = path.join(STORE_PATH, 'manage.json')
|
||||
@@ -17,8 +17,8 @@ let _configFilePath = ''
|
||||
let hasCheckPath = false
|
||||
|
||||
const errorMsg = {
|
||||
broken: T('TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_DEFAULT'),
|
||||
brokenButBackup: T('TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_BACKUP')
|
||||
broken: $t('TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_DEFAULT'),
|
||||
brokenButBackup: $t('TIPS_PICGO_CONFIG_FILE_BROKEN_WITH_BACKUP')
|
||||
}
|
||||
|
||||
function manageDbChecker () {
|
||||
@@ -29,7 +29,7 @@ function manageDbChecker () {
|
||||
}
|
||||
let configFile: string = '{}'
|
||||
const optionsTpl = {
|
||||
title: T('TIPS_NOTICE'),
|
||||
title: $t('TIPS_NOTICE'),
|
||||
body: ''
|
||||
}
|
||||
// config save bak
|
||||
@@ -48,7 +48,7 @@ function manageDbChecker () {
|
||||
encoding: 'utf-8'
|
||||
})
|
||||
const stats = fs.statSync(manageConfigFileBackupPath)
|
||||
optionsTpl.body = `${errorMsg.brokenButBackup}\n${T('TIPS_PICGO_BACKUP_FILE_VERSION', {
|
||||
optionsTpl.body = `${errorMsg.brokenButBackup}\n${$t('TIPS_PICGO_BACKUP_FILE_VERSION', {
|
||||
v: dayjs(stats.mtime).format('YYYY-MM-DD HH:mm:ss')
|
||||
})}`
|
||||
notificationList.push(optionsTpl)
|
||||
@@ -101,8 +101,8 @@ function managePathChecker (): string {
|
||||
const logger = getLogger(manageLogPath, 'Manage')
|
||||
if (!hasCheckPath) {
|
||||
const optionsTpl = {
|
||||
title: T('TIPS_NOTICE'),
|
||||
body: T('TIPS_CUSTOM_CONFIG_FILE_PATH_ERROR')
|
||||
title: $t('TIPS_NOTICE'),
|
||||
body: $t('TIPS_CUSTOM_CONFIG_FILE_PATH_ERROR')
|
||||
}
|
||||
notificationList?.push(optionsTpl)
|
||||
hasCheckPath = true
|
||||
|
||||
@@ -10,7 +10,7 @@ import { ICOREBuildInEvent, IWindowList } from '#/types/enum'
|
||||
import { IHttpResponse, ImgInfo, IObj } from '#/types/types'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { picBedsCanbeDeleted } from '#/utils/static'
|
||||
import { T } from '~/i18n/index'
|
||||
import { T as $t } from '~/i18n/index'
|
||||
|
||||
export const handleResponse = ({
|
||||
response,
|
||||
@@ -54,8 +54,8 @@ export const deleteChoosedFiles = async (list: ImgInfo[]): Promise<boolean[]> =>
|
||||
if (item.type !== undefined && picBedsCanbeDeleted.includes(item.type)) {
|
||||
const noteFunc = (value: boolean) => {
|
||||
const notification = new Notification({
|
||||
title: T('MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG2'),
|
||||
body: T(value ? 'GALLERY_SYNC_DELETE_NOTICE_SUCCEED' : 'GALLERY_SYNC_DELETE_NOTICE_FAILED')
|
||||
title: $t('MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG2'),
|
||||
body: $t(value ? 'GALLERY_SYNC_DELETE_NOTICE_SUCCEED' : 'GALLERY_SYNC_DELETE_NOTICE_FAILED')
|
||||
})
|
||||
notification.show()
|
||||
}
|
||||
|
||||
@@ -81,20 +81,6 @@ export const showMessageBox = (options: any) => {
|
||||
})
|
||||
}
|
||||
|
||||
export const calcDurationRange = (duration: number) => {
|
||||
if (duration < 1000) return 500
|
||||
if (duration < 1500) return 1000
|
||||
if (duration < 3000) return 2000
|
||||
if (duration < 5000) return 3000
|
||||
if (duration < 7000) return 5000
|
||||
if (duration < 10000) return 8000
|
||||
if (duration < 12000) return 10000
|
||||
if (duration < 20000) return 15000
|
||||
if (duration < 30000) return 20000
|
||||
// max range
|
||||
return 100000
|
||||
}
|
||||
|
||||
/**
|
||||
* macOS public.file-url will get encoded file path,
|
||||
* so we need to decode it
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import crypto from 'node:crypto'
|
||||
import path from 'node:path'
|
||||
|
||||
import { I18n, ObjectAdapter } from '@piclist/i18n'
|
||||
import { clipboard, contextBridge, ipcRenderer, webFrame } from 'electron'
|
||||
import fs from 'fs-extra'
|
||||
import yaml from 'js-yaml'
|
||||
@@ -11,10 +10,6 @@ import { isReactive, isRef, toRaw, unref } from 'vue'
|
||||
import { RPC_ACTIONS, RPC_ACTIONS_INVOKE } from '#/events/constants'
|
||||
import { IpcRendererListener } from '#/types/electron'
|
||||
import { IRPCActionType } from '#/types/enum'
|
||||
import { ILocales, ILocalesKey } from '#/types/i18n'
|
||||
import { IStringKeyMap } from '#/types/types'
|
||||
|
||||
let i18nObj: I18n | null = null
|
||||
|
||||
export const getRawData = (args: any): any => {
|
||||
if (isRef(args)) return unref(args)
|
||||
@@ -94,21 +89,6 @@ try {
|
||||
lookup: mime.lookup
|
||||
}
|
||||
})
|
||||
|
||||
contextBridge.exposeInMainWorld('i18n', {
|
||||
setLocales: (lang: string, locales: ILocales) => {
|
||||
const objectAdapter = new ObjectAdapter({
|
||||
[lang]: locales
|
||||
})
|
||||
i18nObj = new I18n({
|
||||
adapter: objectAdapter,
|
||||
defaultLanguage: lang
|
||||
})
|
||||
},
|
||||
translate: (key: ILocalesKey, args: IStringKeyMap = {}): string => {
|
||||
return i18nObj?.translate(key, args) || key
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
}
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
|
||||
@font-face {font-family: "iconfont";
|
||||
src: url('iconfont.eot?t=1523001890286'); /* IE9*/
|
||||
src: url('iconfont.eot?t=1523001890286#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
||||
url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAApcAAsAAAAADqAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kmaY21hcAAAAYAAAACMAAAB5Jz6bNVnbHlmAAACDAAABisAAAfkf7GmJ2hlYWQAAAg4AAAALwAAADYQ+dpBaGhlYQAACGgAAAAcAAAAJAfeA4lobXR4AAAIhAAAABQAAAAgH+kAAGxvY2EAAAiYAAAAEgAAABII+gbebWF4cAAACKwAAAAfAAAAIAEYAMxuYW1lAAAIzAAAAUUAAAJtPlT+fXBvc3QAAAoUAAAASAAAAF2Rted1eJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/ss4gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDxfzdzwv4EhhrmBoQEozAiSAwAxwA0deJzFkdEJwzAMRE9ymoRiSv+TETpK6BQZwvSr+2QvZYz0ZLmFTpAzz/gOGRkLwAVAIg/SAfKGwPViKjVPuNa8w5M+Y4TyXExttmXfjoNpMbHp574SVmfccOdy12Ngv8TbStvjNMl5rf+V6742N5DS4BOtwX+DaeA1NgU+O5sDn6Etgc9x3wLoBwU0H794nG1VXYwcRxHu6p7unt+enf/9m9293buZde5u97w/M3Zs7xof2AoJPsLJ4JMR52AUEUgiJcLxQ2znEEIkEEQiJGOQIl0QCDlKpCgP5MXipAiJl5N44S0IAvjVQkGKBUIs9OzFEkjslGqner7pmar6vhpEEfr3n8htUkYe6qLD6JPoswgBW4a2wDEspKMeXoZggQaRL0jaSRd4p90jJyBqMz8cZKMkYpzZIKABw4VBlvZwCuPRBB+DQRgDVGrVTXep7pJXQC+njW/PPo1/CkGzU7cnq7OHVqb+oOWpV0zXrbjuyyqjVMVYsQU8FYUa1XQ2+xm1q8Ht5iHcBLOSVh/Zslo197EXR0/HS5EGsLMDXq0lfjF1qo60q9XQcyu8ZKnlqtVZ9OHKHaPsmXHyFyR/IHP9DXmP5GhdBgJ4A6IwS8csyXvAkyxqQNCAfAIyTEeZ9HkSRtkgmgAPmUQH83tiYOEBCKO9GcW3XirZ8MUJLrVwtaK0O62zgWLrG8+Tcki5A8dP5t/ITx4Hh9OwTK6eNV2wnRdvYTojOZ3t3bzTJ7a+KSY0rYOvAU3JGphhQ6UXri+diLRpn6iHbPuQSvpTLTqxdP0C1Q+1ntdt0r9zc29W5MXmed0jWyhEPfQw+gK6hJ6UGfqsnaR5RybDxz0YZVPZpOgwbyfjUZEh6xSL+bBYDHzGi/y5mJu8mmdunoWc8QnIdXpQrXnWRF6VJzIUkN6nAflIhAIA8EuPq5ppaurVn5MbhsDKtK9QQ8iFM9vYvtJIRj1Cnjj/4Ksbb/6TQfSvM0fOYyArF3vThdmPX7ilKLde2Cn87voWxlvrpwp/LozjlTjGC4ZtG8qTPyDyMSIQGJS3vtWwDUYPnyIY7FBg/JWHFcM+rWjidHZs90i3D+SNndJ3oOrw/indrNVVcWkDP3d+6zLGl7fOPze7CZuTySbM/W5ztSkNIVwUlXyEP0Cvob0DpgiwD/64wHNPAj8KZWGGgyyfKAUdRknao2lSKCDpQ/Ix3iapLJe0ZJRPyHAQNkHWawqyZH0oliV0LLswIVOYSM3ILaU1YVBsOcjmmLlJXBFAgwSSiwfvIoXHWmnRWAnOpjgL4XfNMyFXmKgtW1xlinfE1lvML5l0fXnoXvr97aeZs8itmpmugKYQsLnhirrgbFEjRjSo+HpDCybR5742XrBj3n3QUAittAdR/WhtrChO4HBDjWhiV5dMZlK93F4JAu61PSte9a2KZmCTVayKzhlRMYms0lo5wrxW/RSMa4stGzChhiq6PjXLq7O7Xs3fI3WdcuGwNn6f1koKlnsebdiVqARlTY1ZPU7a3vb6A7ZKACuawhy99aWhc1hjPNZc1yxToli44J3GlRIvHYk2Hh/JCPi4ay1bfrfu1ip9InxXxQb3adPwBCWgLOpuq1lmFMtxwyPHjG1HngLTbVUQtWG7S4aBsaYqs10eJN16ydZLoeZWFQwFrua/qwSUEEpBDhVF6m+XfEAuIhOV0SKaILQk2zicwCiRg5RBiKIM5QlKGYruK0dqLGey1ccg8EM5LbN8XHBJdjxpc/g1lKzjluNYx01ndoGCvb8PNqWzD/f3Zx/m9O4779ylc39PEFwyLsyBsGWUMBEvmy3zWRmBU3GklzfQ/97g/p3S/80JDXGjeMwNYYTO65ZVzEjJ/b/iX6I1yfyMFYOvXTAw6hXan7NTWh5KysohmRwwsQCEw8WMvO+VFfzHf2x8QnRjunMZcGhd+y5zTH9j8/PbluWDGrZyXVxa9mtC0hbt48t9UMR7wl47ybazHarYj7x76tFXGkcbGMdrR39icd1tf9+xHMu9tmGYf74/x39LfkVOo20ZJGky/wB1Pn4XKUt5yK+SfOEsTbK5kKTgChxnbnFxLpjhfIjLJJLikJWX048daKtTCKvA5RkmUK7oPntWq9i60X2o6vsYjDLFnhss6UIFJap2Lo4D68uU6tfunXti+XvVuubzZ7SqMHSJDzyJjyjxPD/RBFfC2hz+GGPa9b+f+2of/8GRfVF/ZJiStkmnNl2wqFn1mowGK55uPvDo4mofnG+qLul85uuvzt5+xi/9D7xt/l+4o3TOPvVD2JDl+g9+5y00AHicY2BkYGAA4vdhFhPj+W2+MnCzMIDAtbfeSgj6/wIWBuYEIJeDgQkkCgAriQovAHicY2BkYGBu+N/AEMPCAAJAkpEBFXAAAEcOAnF4nGNhYGBgfsnAwMKAHQMAGtcBCQAAAAAAdgDiAYoCogMIA1oD8gAAeJxjYGRgYOBgOMDAxgACTEDMBYQMDP/BfAYAHGwB5QB4nGWPTU7DMBCFX/oHpBKqqGCH5AViASj9EatuWFRq911036ZOmyqJI8et1ANwHo7ACTgC3IA78EgnmzaWx9+8eWNPANzgBx6O3y33kT1cMjtyDRe4F65TfxBukF+Em2jjVbhF/U3YxzOmwm10YXmD17hi9oR3YQ8dfAjXcI1P4Tr1L+EG+Vu4iTv8CrfQ8erCPuZeV7iNRy/2x1YvnF6p5UHFockikzm/gple75KFrdLqnGtbxCZTg6BfSVOdaVvdU+zXQ+ciFVmTqgmrOkmMyq3Z6tAFG+fyUa8XiR6EJuVYY/62xgKOcQWFJQ6MMUIYZIjK6Og7VWb0r7FDwl57Vj3N53RbFNT/c4UBAvTPXFO6stJ5Ok+BPV8bUnV0K27LnpQ0kV7NSRKyQl7WtlRC6gE2ZVeOEXpc0Yk/KGdI/wAJWm7IAAAAeJxtyMEOQDAQBNCZslX+UhE2kbaSbvD3JK7e8cHhM+BfoGPDlkLPjoE9ePlV62ZRzkVjljrdlryVPY+zHJrUxMpbwANFHA6a') format('woff'),
|
||||
url('iconfont.ttf?t=1523001890286') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
||||
url('iconfont.svg?t=1523001890286#iconfont') format('svg'); /* iOS 4.1- */
|
||||
}
|
||||
|
||||
[class*=" el-icon-ui"], [class^=el-icon-ui] {
|
||||
font-family:"iconfont" !important;
|
||||
font-size:16px;
|
||||
font-style:normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.el-icon-ui-github:before { content: "\e7ab"; }
|
||||
|
||||
.el-icon-ui-weibo:before { content: "\e61c"; }
|
||||
|
||||
.el-icon-ui-tcyun:before { content: "\e64c"; }
|
||||
|
||||
.el-icon-ui-upload:before { content: "\e61b"; }
|
||||
|
||||
.el-icon-ui-qiniu:before { content: "\e601"; }
|
||||
|
||||
.el-icon-ui-upyun:before { content: "\e602"; }
|
||||
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 16 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 109 KiB |
@@ -12,14 +12,14 @@
|
||||
size="small"
|
||||
>
|
||||
<el-form-item
|
||||
:label="$T('UPLOADER_CONFIG_NAME')"
|
||||
:label="$t('UPLOADER_CONFIG_NAME')"
|
||||
required
|
||||
prop="_configName"
|
||||
>
|
||||
<el-input
|
||||
v-model="ruleForm._configName"
|
||||
type="input"
|
||||
:placeholder="$T('UPLOADER_CONFIG_PLACEHOLDER')"
|
||||
:placeholder="$t('UPLOADER_CONFIG_PLACEHOLDER')"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- dynamic config -->
|
||||
@@ -109,7 +109,6 @@ import { marked } from 'marked'
|
||||
import { reactive, ref, toRefs, watch } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
|
||||
import { T as $T } from '@/i18n/index'
|
||||
import { getConfig } from '@/utils/dataSender'
|
||||
import { IPicGoPluginConfig, IStringKeyMap } from '#/types/types'
|
||||
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
size="small"
|
||||
>
|
||||
<el-form-item
|
||||
:label="$T('UPLOADER_CONFIG_NAME')"
|
||||
:label="$t('UPLOADER_CONFIG_NAME')"
|
||||
required
|
||||
prop="_configName"
|
||||
>
|
||||
<el-input
|
||||
v-model="ruleForm._configName"
|
||||
type="input"
|
||||
:placeholder="$T('UPLOADER_CONFIG_PLACEHOLDER')"
|
||||
:placeholder="$t('UPLOADER_CONFIG_PLACEHOLDER')"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- dynamic config -->
|
||||
@@ -82,7 +82,6 @@ import type { FormInstance } from 'element-plus'
|
||||
import { cloneDeep, union } from 'lodash-es'
|
||||
import { reactive, ref, watch } from 'vue'
|
||||
|
||||
import { T as $T } from '@/i18n'
|
||||
import { getConfig } from '@/utils/dataSender'
|
||||
import { IPicGoPluginConfig, IStringKeyMap } from '#/types/types'
|
||||
|
||||
|
||||
@@ -6,17 +6,17 @@
|
||||
size="default"
|
||||
:model="waterMarkForm"
|
||||
>
|
||||
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST')">
|
||||
<el-form-item :label="$t('UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST')">
|
||||
<el-input
|
||||
v-model="skipProcessForm.skipProcessExtList"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 2, maxRows: 4 }"
|
||||
/>
|
||||
<div class="text-xs text-gray-500">
|
||||
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS') }}
|
||||
{{ $t('UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS') }}
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM')">
|
||||
<el-form-item :label="$t('UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM')">
|
||||
<el-switch
|
||||
v-model="waterMarkForm.isAddWatermark"
|
||||
:style="switchStyle"
|
||||
@@ -24,20 +24,20 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="waterMarkForm.isAddWatermark"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE')"
|
||||
>
|
||||
<el-radio-group v-model="waterMarkForm.watermarkType">
|
||||
<el-radio value="text">
|
||||
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT') }}
|
||||
{{ $t('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT') }}
|
||||
</el-radio>
|
||||
<el-radio value="image">
|
||||
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE') }}
|
||||
{{ $t('UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE') }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="waterMarkForm.isAddWatermark"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM')"
|
||||
>
|
||||
<el-switch
|
||||
v-model="waterMarkForm.isFullScreenWatermark"
|
||||
@@ -46,7 +46,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="waterMarkForm.isAddWatermark"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE')"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="waterMarkForm.watermarkDegree"
|
||||
@@ -55,19 +55,19 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'text'"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT')"
|
||||
>
|
||||
<el-input v-model="waterMarkForm.watermarkText" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'text'"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH')"
|
||||
>
|
||||
<el-input v-model="waterMarkForm.watermarkFontPath" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="waterMarkForm.isAddWatermark"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO')"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="waterMarkForm.watermarkScaleRatio"
|
||||
@@ -78,7 +78,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'text'"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR')"
|
||||
>
|
||||
<el-color-picker
|
||||
v-model="waterMarkForm.watermarkColor"
|
||||
@@ -87,13 +87,13 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="waterMarkForm.isAddWatermark && waterMarkForm.watermarkType === 'image'"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMPATH')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_WMPATH')"
|
||||
>
|
||||
<el-input v-model="waterMarkForm.watermarkImagePath" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="waterMarkForm.isAddWatermark"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION')"
|
||||
>
|
||||
<el-radio-group v-model="waterMarkForm.watermarkPosition">
|
||||
<el-radio
|
||||
@@ -105,13 +105,13 @@
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF')">
|
||||
<el-form-item :label="$t('UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF')">
|
||||
<el-switch
|
||||
v-model="compressForm.isRemoveExif"
|
||||
:style="switchStyle"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_QUALITY')">
|
||||
<el-form-item :label="$t('UPLOAD_PAGE_IMAGE_PROCESS_QUALITY')">
|
||||
<el-input-number
|
||||
v-model="compressForm.quality"
|
||||
:min="1"
|
||||
@@ -119,7 +119,7 @@
|
||||
:step="1"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT')">
|
||||
<el-form-item :label="$t('UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT')">
|
||||
<el-switch
|
||||
v-model="compressForm.isConvert"
|
||||
:style="switchStyle"
|
||||
@@ -127,7 +127,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="compressForm.isConvert"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT')"
|
||||
>
|
||||
<el-select
|
||||
v-model="compressForm.convertFormat"
|
||||
@@ -144,7 +144,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="compressForm.isConvert"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC')"
|
||||
>
|
||||
<el-input
|
||||
v-model="formatConvertObj"
|
||||
@@ -153,19 +153,19 @@
|
||||
:autosize="{ minRows: 2, maxRows: 4 }"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISFLIP')">
|
||||
<el-form-item :label="$t('UPLOAD_PAGE_IMAGE_PROCESS_ISFLIP')">
|
||||
<el-switch
|
||||
v-model="compressForm.isFlip"
|
||||
:style="switchStyle"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISFLOP')">
|
||||
<el-form-item :label="$t('UPLOAD_PAGE_IMAGE_PROCESS_ISFLOP')">
|
||||
<el-switch
|
||||
v-model="compressForm.isFlop"
|
||||
:style="switchStyle"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE')">
|
||||
<el-form-item :label="$t('UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE')">
|
||||
<el-switch
|
||||
v-model="compressForm.isReSize"
|
||||
:style="switchStyle"
|
||||
@@ -173,7 +173,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="compressForm.isReSize"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH')"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="compressForm.reSizeWidth"
|
||||
@@ -182,7 +182,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="compressForm.isReSize"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT')"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="compressForm.reSizeHeight"
|
||||
@@ -191,7 +191,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="compressForm.isReSize && compressForm.reSizeHeight! > 0 && compressForm.reSizeWidth === 0"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_HEIGHT')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_HEIGHT')"
|
||||
>
|
||||
<el-switch
|
||||
v-model="compressForm.skipReSizeOfSmallImg"
|
||||
@@ -200,14 +200,14 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="compressForm.isReSize && compressForm.reSizeWidth! > 0 && compressForm.reSizeHeight === 0"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_WIDTH')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_WIDTH')"
|
||||
>
|
||||
<el-switch
|
||||
v-model="compressForm.skipReSizeOfSmallImg"
|
||||
:style="switchStyle"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT')">
|
||||
<el-form-item :label="$t('UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT')">
|
||||
<el-switch
|
||||
v-model="compressForm.isReSizeByPercent"
|
||||
:style="switchStyle"
|
||||
@@ -215,14 +215,14 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="compressForm.isReSizeByPercent"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT')"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="compressForm.reSizePercent"
|
||||
:min="0"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE')">
|
||||
<el-form-item :label="$t('UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE')">
|
||||
<el-switch
|
||||
v-model="compressForm.isRotate"
|
||||
:style="switchStyle"
|
||||
@@ -230,7 +230,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-show="compressForm.isRotate"
|
||||
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE')"
|
||||
:label="$t('UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE')"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="compressForm.rotateDegree"
|
||||
@@ -242,10 +242,10 @@
|
||||
type="primary"
|
||||
@click="handleSaveConfig"
|
||||
>
|
||||
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM') }}
|
||||
{{ $t('UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM') }}
|
||||
</el-button>
|
||||
<el-button @click="closeDialog">
|
||||
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_CANCEL') }}
|
||||
{{ $t('UPLOAD_PAGE_IMAGE_PROCESS_CANCEL') }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -254,23 +254,23 @@
|
||||
<script lang="ts" setup>
|
||||
import type { IBuildInCompressOptions, IBuildInWaterMarkOptions } from 'piclist'
|
||||
import { onBeforeMount, reactive, ref, toRaw } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
import { T as $T } from '@/i18n/index'
|
||||
import { getConfig, saveConfig } from '@/utils/dataSender'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
|
||||
const { t } = useI18n()
|
||||
const imageProcessDialogVisible = defineModel<boolean>()
|
||||
|
||||
const waterMarkPositionMap = new Map([
|
||||
['north', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP')],
|
||||
['northeast', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT')],
|
||||
['southeast', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT')],
|
||||
['south', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM')],
|
||||
['southwest', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT')],
|
||||
['northwest', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT')],
|
||||
['west', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT')],
|
||||
['east', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT')],
|
||||
['centre', $T('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER')]
|
||||
['north', t('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP')],
|
||||
['northeast', t('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT')],
|
||||
['southeast', t('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT')],
|
||||
['south', t('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM')],
|
||||
['southwest', t('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT')],
|
||||
['northwest', t('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT')],
|
||||
['west', t('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT')],
|
||||
['east', t('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT')],
|
||||
['centre', t('UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER')]
|
||||
])
|
||||
const imageExtList = ['jpg', 'jpeg', 'png', 'webp', 'bmp', 'tiff', 'tif', 'svg', 'ico', 'avif', 'heif', 'heic']
|
||||
const availableFormat = [
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="showInputBoxVisible"
|
||||
:title="inputBoxOptions.title || $T('INPUT')"
|
||||
:title="inputBoxOptions.title || $t('INPUT')"
|
||||
:modal-append-to-body="false"
|
||||
append-to-body
|
||||
>
|
||||
@@ -14,14 +14,14 @@
|
||||
round
|
||||
@click="handleInputBoxCancel"
|
||||
>
|
||||
{{ $T('CANCEL') }}
|
||||
{{ $t('CANCEL') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
round
|
||||
@click="handleInputBoxConfirm"
|
||||
>
|
||||
{{ $T('CONFIRM') }}
|
||||
{{ $t('CONFIRM') }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -31,7 +31,6 @@
|
||||
import type { IpcRendererEvent } from 'electron'
|
||||
import { onBeforeMount, onBeforeUnmount, reactive, ref } from 'vue'
|
||||
|
||||
import { T as $T } from '@/i18n/index'
|
||||
import $bus from '@/utils/bus'
|
||||
import { SHOW_INPUT_BOX, SHOW_INPUT_BOX_RESPONSE } from '#/events/constants'
|
||||
import { IShowInputBoxOption } from '#/types/types'
|
||||
|
||||
@@ -1,53 +1,5 @@
|
||||
import { ILocales, ILocalesKey } from 'root/src/universal/types/i18n'
|
||||
|
||||
import { updatePageReloadCount } from '@/utils/global'
|
||||
import { SET_CURRENT_LANGUAGE } from '#/events/constants'
|
||||
import { builtinI18nList } from '#/i18n'
|
||||
import { IRPCActionType } from '#/types/enum'
|
||||
import { II18nItem, IStringKeyMap } from '#/types/types'
|
||||
|
||||
export class I18nManager {
|
||||
#i18nFileList: II18nItem[] = builtinI18nList
|
||||
|
||||
constructor () {
|
||||
this.#getCurrentLanguage()
|
||||
this.#getLanguageList()
|
||||
window.electron.ipcRendererOn(SET_CURRENT_LANGUAGE, (_, lang: string, locales: ILocales) => {
|
||||
this.#setLocales(lang, locales)
|
||||
updatePageReloadCount()
|
||||
})
|
||||
}
|
||||
|
||||
#getLanguageList () {
|
||||
this.#i18nFileList = window.electron.sendRpcSync(IRPCActionType.GET_LANGUAGE_LIST)
|
||||
}
|
||||
|
||||
#getCurrentLanguage () {
|
||||
const [lang, locales] = window.electron.sendRpcSync(IRPCActionType.GET_CURRENT_LANGUAGE)
|
||||
this.#setLocales(lang, locales)
|
||||
}
|
||||
|
||||
#setLocales (lang: string, locales: ILocales) {
|
||||
window.i18n.setLocales(lang, locales)
|
||||
}
|
||||
|
||||
T (key: ILocalesKey, args: IStringKeyMap = {}): string {
|
||||
return window.i18n?.translate(key, args) || key
|
||||
}
|
||||
|
||||
setCurrentLanguage (lang: string) {
|
||||
export function setCurrentLanguage (lang: string) {
|
||||
window.electron.sendRPC(IRPCActionType.SET_CURRENT_LANGUAGE, lang)
|
||||
}
|
||||
|
||||
get languageList () {
|
||||
return this.#i18nFileList
|
||||
}
|
||||
}
|
||||
|
||||
const i18nManager = new I18nManager()
|
||||
|
||||
const T = (key: ILocalesKey, args: IStringKeyMap = {}): string => {
|
||||
return i18nManager.T(key, args)
|
||||
}
|
||||
|
||||
export { i18nManager, T }
|
||||
|
||||
876
src/renderer/i18n/locales/en.json
Normal file
876
src/renderer/i18n/locales/en.json
Normal file
@@ -0,0 +1,876 @@
|
||||
{
|
||||
"OPEN_MAIN_WINDOW": "Open Main Window",
|
||||
"OPERATION_SUCCEED": "Operation Succeed",
|
||||
"QUICK_UPLOAD": "Quick Upload",
|
||||
"PICBED_QRCODE": "Picbed Qrcode",
|
||||
"CONFIG_THING": "Config ${c}",
|
||||
"TOOLBOX_TITLE": "Troubleshoot PicList runtime issues",
|
||||
"TOOLBOX_SUB_TITLE": "Scan the following items immediately to fix usage issues",
|
||||
"TOOLBOX_CHECK_CONFIG_FILE_BROKEN": "Check if the configuration file is damaged",
|
||||
"TOOLBOX_CHECK_GALLERY_FILE_BROKEN": "Check if the album file is damaged",
|
||||
"TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD": "Check if there is a problem with clipboard picture upload",
|
||||
"TOOLBOX_CHECK_PROBLEM_WITH_PROXY": "Check if the proxy settings are normal",
|
||||
"TOOLBOX_FIX_DONE_NEED_RELOAD": "Repair completed, need to restart to take effect, restart or not",
|
||||
"TOOLBOX_CANT_AUTO_FIX": "Unable to automatically repair, please repair the following problems yourself",
|
||||
"TOOLBOX_START_SCAN": "Start scanning",
|
||||
"TOOLBOX_RE_SCAN": "Re scanning",
|
||||
"TOOLBOX_START_FIX": "Start fixing",
|
||||
"TOOLBOX_SUCCESS_TIPS": "Congratulations, no problems were found",
|
||||
"MANUAL_PAGE_OPEN_TIP": "Please select the way to open the manual",
|
||||
"MANUAL_PAGE_OPEN_TIP_TITLE": "Tips",
|
||||
"MANUAL_PAGE_OPEN_BY_BROWSER": "Browser",
|
||||
"MANUAL_PAGE_OPEN_BY_BUILD_IN": "Built-in Window",
|
||||
"MANUAL_PAGE_OPEN_SETTING_TIP": "Select the way to open the manual",
|
||||
"UPLOAD_AREA": "Upload",
|
||||
"UPLOAD_VIEW_HINT": "Click to open picbeds settings",
|
||||
"MANAGE_PAGE": "Manage",
|
||||
"GALLERY": "Gallery",
|
||||
"REFRESH": "Refresh",
|
||||
"MANUAL": "Manual",
|
||||
"PICBEDS_SETTINGS": "Picbeds",
|
||||
"PICLIST_SETTINGS": "Settings",
|
||||
"PLUGIN_SETTINGS": "Plugins",
|
||||
"CHOOSE_PICBED": "Choose Picbed",
|
||||
"COPY_PICBED_CONFIG": "Copy Picbed Config",
|
||||
"COPY_PICBED_CONFIG_SUCCEED": "Copy Picbed Config Succeed",
|
||||
"INPUT": "Input",
|
||||
"CANCEL": "Cancel",
|
||||
"CONFIRM": "Confirm",
|
||||
"RESET_PICBED_CONFIG": "Reset",
|
||||
"CHOOSE_SHOWED_PICBED": "Choose Showed Picbed",
|
||||
"CHOOSE_PASTE_FORMAT": "Choose Paste Format",
|
||||
"COPY": "Copy",
|
||||
"DELETE": "Delete",
|
||||
"SELECT_ALL": "Select All",
|
||||
"CHANGE_IMAGE_URL": "Change Image URL",
|
||||
"CHANGE_IMAGE_URL_SUCCEED": "Change Image URL Succeed",
|
||||
"COPY_LINK_SUCCEED": "Copy Link Succeed",
|
||||
"BATCH_COPY_LINK_SUCCEED": "Batch Copy Link Succeed",
|
||||
"FILE_RENAME": "File Rename",
|
||||
"OPEN_FILE_PATH": "Open file path",
|
||||
"GALLERY_SYNC_DELETE": "Cloud Sync Delete",
|
||||
"GALLERY_SYNC_DELETE_NOTICE_TITLE": "Notice",
|
||||
"GALLERY_SYNC_DELETE_NOTICE_SUCCEED": "Cloud Delete Succeed",
|
||||
"GALLERY_SYNC_DELETE_NOTICE_FAILED": "Cloud Delete Failed",
|
||||
"GALLERY_CHANGE_URL": "Rename",
|
||||
"GALLERY_SEARCH_FILENAME": "Search by Filename",
|
||||
"GALLERY_SEARCH_URL": "Search by URL",
|
||||
"GALLERY_MATCHED": " Matched: ",
|
||||
"UPLOAD_PAGE_COPY_UPLOAD_API": "Copy Upload API",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_NAME": "Image Processing",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE": "Image Processing Settings",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST": "Skip Process Ext List",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS": "Enter the file extensions to skip processing, separated by commas (e.g., jpg,png,gif)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM": "Add Watermark",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE": "Watermark Type",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT": "Text",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE": "Image",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM": "Full-Screen Watermark",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE": "Watermark Angle",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT": "Watermark Text",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH": "Watermark Font Path (download font file for the first time)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO": "Watermark Size Ratio",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR": "Watermark Color, Please select from the color picker",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMPATH": "Watermark Image Path (leave blank to use default image)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION": "Watermark Position",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF": "Remove EXIF Info",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_QUALITY": "Compression Quality(1-100)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT": "Convert Format",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT": "Destination Format",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC": "Specific Format, Please enter in json format, e.g. {\"png\": \"jpg\"}",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISFLIP": "Whether to flip vertically",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISFLOP": "Whether to flip horizontally",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE": "Resize to fixed size",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH": "Width(Set to 0 to scale by height)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT": "Height(Set to 0 to scale by width)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_HEIGHT": "Skip resize when image height is smaller than target height",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_WIDTH": "Skip resize when image width is smaller than target width",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT": "Resize by percentage (Higher priority)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT": "Resize Percentage, enter 50 for 50%",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE": "Rotate",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE": "Rotation Angle",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM": "Save",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CANCEL": "Cancel",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP": "top",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM": "bottom",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT": "left",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT": "right",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT": "top left",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT": "top right",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT": "bottom left",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT": "bottom right",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER": "center",
|
||||
"UPLOAD_SHORT_URL": "Short",
|
||||
"UPLOAD_NORMAL_URL": "Long",
|
||||
"SETTINGS": "Settings",
|
||||
"SETTINGS_OPEN_CONFIG_FILE": "Open Config File",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO": "Migrate from PicGo",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_TITLE": "Notice",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_CONTENT": "Migrate from PicGo will overwrite your current settings and gallery, do you want to continue?",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_SUCCESS": "Import succeed, please restart PicList",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_FAILED": "Import failed",
|
||||
"SETTINGS_START_MODE": "Default Start Mode",
|
||||
"SETTINGS_START_MODE_MINI": "Mini Window",
|
||||
"SETTINGS_START_MODE_MAIN": "Main Window",
|
||||
"SETTINGS_START_MODE_NO_TRAY": "No Tray",
|
||||
"SETTINGS_START_MODE_QUIET": "Quiet Mode",
|
||||
"SETTINGS_CLICK_TO_OPEN": "Click to Open",
|
||||
"SETTINGS_SET_LOG_FILE": "Set Log File",
|
||||
"SETTINGS_CLICK_TO_SET": "Click to Set",
|
||||
"SETTINGS_CLICK_TO_CHECK": "Click to Check",
|
||||
"SETTINGS_SET_SHORTCUT": "Set Shortcut",
|
||||
"SETTINGS_CUSTOM_LINK_FORMAT": "Custom Link Format",
|
||||
"SETTINGS_SET_PROXY_AND_MIRROR": "Set Proxy and Mirror",
|
||||
"SETTINGS_SET_SERVER": "Set Server",
|
||||
"SETTINGS_CHECK_UPDATE": "Check Update",
|
||||
"SETTINGS_OPEN_UPDATE_HELPER": "Open Update Helper",
|
||||
"SETTINGS_OPEN": "Open",
|
||||
"SETTINGS_CLOSE": "Close",
|
||||
"SETTINGS_CLOSE_MINI_WINDOW_SYNC": "Close Mini Window When open Main Window",
|
||||
"SETTINGS_CLOSE_MAIN_WINDOW_SYNC": "Close Main Window When open Mini Window",
|
||||
"SETTINGS_LAUNCH_ON_BOOT": "Launch On Boot",
|
||||
"SETTINGS_RENAME_BEFORE_UPLOAD": "Manual Rename",
|
||||
"SETTINGS_TIMESTAMP_RENAME": "Timestamp Rename",
|
||||
"SETTINGS_ADVANCED_RENAME": "Advanced Rename",
|
||||
"SETTINGS_ADVANCED_RENAME_ENABLE": "Enable Advanced Rename",
|
||||
"SETTINGS_ADVANCED_RENAME_FORMAT": "Advanced Rename Format",
|
||||
"SETTINGS_ENABLE_SECOND_PICBED": "Enable Second Picbed",
|
||||
"SETTINGS_SET_SECOND_PICBED": "Set Second Picbed",
|
||||
"SETTINGS_OPEN_UPLOAD_TIPS": "Open Upload Tips",
|
||||
"SETTINGS_OPEN_UPLOAD_RESULT_TIPS": "Open Upload Result Tips",
|
||||
"SETTINGS_MINI_WINDOW_ON_TOP": "Mini Window On Top",
|
||||
"SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD": "Auto Copy URL After Upload",
|
||||
"SETTINGS_TIPS_PLACEHOLDER_URL": "Use $url to represent url position",
|
||||
"SETTINGS_TIPS_PLACEHOLDER_FILENAME": "Use $fileName to represent file name position",
|
||||
"SETTINGS_TIPS_PLACEHOLDER_EXTNAME": "Use $extName to represent file's ext position",
|
||||
"SETTINGS_TIPS_SUCH_AS": "Such as: $url/$fileName",
|
||||
"SETTINGS_UPLOAD_PROXY": "Upload Proxy",
|
||||
"SETTINGS_PLUGIN_INSTALL_PROXY": "Proxy for Plugin Install",
|
||||
"SETTINGS_PLUGIN_INSTALL_MIRROR": "Mirror for Plugin Install",
|
||||
"SETTINGS_CURRENT_VERSION": "Current Version",
|
||||
"SETTINGS_NEWEST_VERSION": "Newest Version",
|
||||
"SETTINGS_GETING": "Getting...",
|
||||
"SETTINGS_TIPS_HAS_NEW_VERSION": "PicList has a new version, please click confirm to restart",
|
||||
"SETTINGS_LOG_FILE_PATH": "Log File Path",
|
||||
"SETTINGS_CONFIG_FILE_PATH": "Config File Path",
|
||||
"SETTINGS_LOG_FILE": "Log File",
|
||||
"SETTINGS_GUI_LOG_FILE": "GUI Log File",
|
||||
"SETTINGS_MANAGE_LOG_FILE": "Manage Log File",
|
||||
"SETTINGS_LOG_LEVEL": "Log Level",
|
||||
"SETTINGS_LOG_FILE_SIZE": "Log File Size",
|
||||
"SETTINGS_SET_PICGO_SERVER": "Set PicGo Server",
|
||||
"SETTINGS_TIPS_SERVER_NOTICE": "If you don't know what is the server's function, please read the document, or don't modify the configuration.",
|
||||
"SETTINGS_ENABLE_SERVER": "Enable Server",
|
||||
"SETTINGS_SET_SERVER_HOST": "Set Server Host",
|
||||
"SETTINGS_SET_SERVER_PORT": "Set Server Port",
|
||||
"SETTINGS_SET_SERVER_KEY": "Set Auth Key",
|
||||
"SETTINGS_SET_WEB_SERVER": "Set Web Server",
|
||||
"SETTINGS_TIPS_WEB_SERVER_NOTICE": "If you don't know what is the web server's function, please read the document, or don't modify the configuration.",
|
||||
"SETTINGS_SET_ENABLE_WEB_SERVER": "Enable Web Server",
|
||||
"SETTINGS_SET_WEB_SERVER_HOST": "Set Web Server Host",
|
||||
"SETTINGS_SET_WEB_SERVER_PORT": "Set Web Server Port",
|
||||
"SETTINGS_SET_WEB_SERVER_PATH": "Set Web Server Path",
|
||||
"SETTINGS_TIP_PLACEHOLDER_WEB_HOST": "Default:127.0.0.1",
|
||||
"SETTINGS_TIP_PLACEHOLDER_WEB_PORT": "Default:37777",
|
||||
"SETTINGS_TIP_PLACEHOLDER_HOST": "Default:127.0.0.1",
|
||||
"SETTINGS_TIP_PLACEHOLDER_PORT": "Default:36677",
|
||||
"SETTINGS_TIP_PLACEHOLDER_KEY": "This key is used to avoid malicious requests, through urlParams '?key=xxx' to pass",
|
||||
"SETTINGS_SET_SERVER_AES_KEY": "Set AES Key for server response",
|
||||
"SETTINGS_LOG_LEVEL_ALL": "All",
|
||||
"SETTINGS_LOG_LEVEL_SUCCESS": "Success",
|
||||
"SETTINGS_LOG_LEVEL_ERROR": "Error",
|
||||
"SETTINGS_LOG_LEVEL_INFO": "Info",
|
||||
"SETTINGS_LOG_LEVEL_WARN": "Warn",
|
||||
"SETTINGS_LOG_LEVEL_NONE": "None",
|
||||
"SETTINGS_RESULT": "Result",
|
||||
"SETTINGS_DEFAULT_PICBED": "Default Picbed",
|
||||
"SETTINGS_SET_DEFAULT_PICBED": "Set Default Picbed",
|
||||
"SETTINGS_NOT_CONFIG_OPTIONS": "Not Config Options",
|
||||
"SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD": "Use Builtin Clipboard to Upload",
|
||||
"SETTINGS_CHOOSE_LANGUAGE": "Choose Language",
|
||||
"UPLOADER_CONFIG_NAME": "Configuration Name",
|
||||
"UPLOADER_CONFIG_PLACEHOLDER": "Please Enter Configuration Name",
|
||||
"SELECTED_SETTING_HINT": "Selected",
|
||||
"SETTINGS_MAIN_WINDOW_SIZE": "Default Main Window Size",
|
||||
"SETTINGS_MAIN_WINDOW_SIZE_WIDTH": "Default Main Window Width",
|
||||
"SETTINGS_MAIN_WINDOW_WIDTH_HINT": "Default: 1200",
|
||||
"SETTINGS_MAIN_WINDOW_SIZE_HEIGHT": "Default Main Window Height",
|
||||
"SETTINGS_MAIN_WINDOW_HEIGHT_HINT": "Default: 800",
|
||||
"SETTINGS_RAW_PICGO_SIZE": "Raw PicGo Size",
|
||||
"SETTINGS_CUSTOM_MINI_ICON_PATH": "Custom Mini Window Icon Path",
|
||||
"SETTINGS_CUSTOM_MINI_ICON": "Custom Mini Window Icon",
|
||||
"SETTINGS_COMPRESS_AND_WATERMARK": "Compress and Watermark",
|
||||
"SETTINGS_SYNC_DELETE_CLOUD": "Sync delete from cloud storage of gallery",
|
||||
"SETTINGS_ISHIDEDOCK": "Hide Dock Icon",
|
||||
"SETTINGS_ISHIDEDOCK_TIPS": "Not support hide dock and tray at the same time",
|
||||
"SETTINGS_ENCODE_OUTPUT_URL": "Encode Output(or Copyed) URL",
|
||||
"SETTINGS_WATCH_CLIPBOARD": "Watch clipboard when software start",
|
||||
"SETTINGS_SHORT_URL": "Use short url",
|
||||
"SETTINGS_SHORT_URL_SERVER": "Short url server",
|
||||
"SETTINGS_SHORT_URL_C1N_TOKEN": "C1N Token",
|
||||
"SETTINGS_SHORT_URL_YOURLS_DOMAIN": "YOURLS domain",
|
||||
"SETTINGS_SHORT_URL_YOURLS_SIGNATURE": "YOURLS signature",
|
||||
"SETTINGS_SHORT_URL_CF_WORKER_HOST": "Cloudflare Worker Host",
|
||||
"SETTINGS_SHORT_SINK_DOMAIN": "sink domain",
|
||||
"SETTINGS_SHORT_SINK_TOKEN": "sink token",
|
||||
"SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD": "Delete local file after upload",
|
||||
"SETTINGS_SYNC_CONFIG": "Settings Sync Configuration",
|
||||
"SETTINGS_SYNC_CONFIG_TITLE": "Sync Settings",
|
||||
"SETTINGS_SYNC_CONFIG_NOTE": "The files to be synchronized are configuration files.",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_TYPE": "Select sync method",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_FILE": "Select files to sync",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_CONFIG": "Configuration files only",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_GALLERY": "Gallery files only",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_BOTH": "Both configuration and gallery files",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_HOST": "Gitea Host",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_USERNAME": "username",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_USERNAME": "username",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_USERNAME": "username",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_REPO": "repository (private)",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_REPO": "repository",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_REPO": "repository path",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_BRANCH": "branch",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_BRANCH": "branch",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_BRANCH": "branch",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_TOKEN": "Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_TOKEN": "Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_TOKEN": "Token",
|
||||
"SETTINGS_SYNC_CONFIG_PROXY": "Proxy",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER": "Please enter GitHub username",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER": "Please enter Gitea username",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER": "Please enter Gitee username",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER": "Please enter GitHub repository name",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER": "Please enter Gitea repository name",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER": "Please enter Gitee repository name",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER": "Please enter GitHub branch name",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER": "Please enter Gitee branch name",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER": "Please enter Gitea branch name",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER": "Please enter GitHub Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER": "Please enter Gitea Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER": "Please enter Gitee Token",
|
||||
"SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER": "Please enter proxy",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT": "WebDAV Endpoint",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT_PLACEHOLDER": "Please enter WebDAV endpoint URL",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME": "Username",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME_PLACEHOLDER": "Please enter WebDAV username",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD": "Password",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD_PLACEHOLDER": "Please enter WebDAV password",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_AUTH_TYPE": "Authentication Type",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_SSL_ENABLED": "Enable SSL/HTTPS",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH": "Save Path",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH_PLACEHOLDER": "Please select save path for sync files",
|
||||
"SETTINGS_UP_DOWN_DESC": "Upload and download configuration files",
|
||||
"SETTINGS_SYNC_UPLOAD": "Upload",
|
||||
"SETTINGS_SYNC_DOWNLOAD": "Download",
|
||||
"SETTINGS_SYNC_UPLOAD_ALL": "Upload all",
|
||||
"SETTINGS_SYNC_DOWNLOAD_ALL": "Download all",
|
||||
"SETTINGS_SYNC_UPLOAD_SUCCESS": "Successfully uploaded",
|
||||
"SETTINGS_SYNC_UPLOAD_FAILED": "Upload failed",
|
||||
"SETTINGS_SYNC_DOWNLOAD_SUCCESS": "Successfully downloaded",
|
||||
"SETTINGS_SYNC_DOWNLOAD_FAILED": "Download failed",
|
||||
"SETTINGS_SYNC_COMMON_CONFIG": "Common configuration",
|
||||
"SETTINGS_SYNC_MANAGE_CONFIG": "Manage configuration",
|
||||
"SETTINGS_AUTO_IMPORT": "Auto import config in manage page",
|
||||
"SETTINGS_AUTO_IMPORT_SELECT_PICBED": "Select picbed",
|
||||
"SETTINGS_TAB_SYSTEM": "System",
|
||||
"SETTINGS_TAB_SYNC_CONFIG": "Configuration",
|
||||
"SETTINGS_TAB_UPLOAD": "Upload",
|
||||
"SETTINGS_TAB_ADVANCED": "Advanced",
|
||||
"SETTINGS_TAB_UPDATE": "Update",
|
||||
"BUILTIN_CLIPBOARD_TIPS": "Use builtin clipboard function to upload instead of using scripts",
|
||||
"SHORTCUT_NAME": "Shortcut Name",
|
||||
"SHORTCUT_BIND": "Shortcut Binding",
|
||||
"SHORTCUT_STATUS": "Status",
|
||||
"SHORTCUT_ENABLED": "Enabled",
|
||||
"SHORTCUT_DISABLED": "Disabled",
|
||||
"SHORTCUT_SOURCE": "Source",
|
||||
"SHORTCUT_HANDLE": "Handle",
|
||||
"SHORTCUT_ENABLE": "Enable",
|
||||
"SHORTCUT_DISABLE": "Disable",
|
||||
"SHORTCUT_EDIT": "Edit",
|
||||
"SHORTCUT_CHANGE_UPLOAD": "Change Upload Shortcut",
|
||||
"WAIT_TO_UPLOAD": "Wait to Upload",
|
||||
"ALREADY_UPLOAD": "Already Uploaded",
|
||||
"DRAG_FILE_TO_HERE": "Drag file to here, or",
|
||||
"CLICK_TO_UPLOAD": "click to upload",
|
||||
"LINK_FORMAT": "Link Format",
|
||||
"CLIPBOARD_PICTURE": "Clipboard",
|
||||
"TIPS_DRAG_VALID_PICTURE_OR_URL": "Drag valid picture or url to here",
|
||||
"TIPS_INPUT_URL": "Input URL",
|
||||
"TIPS_HTTP_PREFIX": "http:// or https://",
|
||||
"TIPS_INPUT_VALID_URL": "Input valid URL",
|
||||
"PLUGIN_SEARCH_PLACEHOLDER": "Search picgo plugins on npm, or click the button to view the awesome plugins list",
|
||||
"PLUGIN_INSTALL": "Install",
|
||||
"PLUGIN_INSTALLING": "Installing...",
|
||||
"PLUGIN_INSTALLED": "Installed",
|
||||
"PLUGIN_DOING_SOMETHING": "Doing...",
|
||||
"PLUGIN_LIST": "Plugin List",
|
||||
"PLUGIN_IMPORT_LOCAL": "Import Local Plugins",
|
||||
"PLUGIN_UPDATE_ALL": "Update All Plugins",
|
||||
"TIPS_REMOVE_LINK": "This operation will remove the picture from the album, continue?",
|
||||
"TIPS_WILL_REMOVE_CHOOSED_IMAGES": "This operation will remove the picture from the album, continue?",
|
||||
"TIPS_MUST_CONTAINS_URL": "Must contains $url or $fileName or $extName",
|
||||
"TIPS_NETWORK_ERROR": "Network Error",
|
||||
"TIPS_NEED_RELOAD": "Need Reload App",
|
||||
"TIPS_PLEASE_CHOOSE_LOG_LEVEL": "Please choose log level",
|
||||
"TIPS_SET_SUCCEED": "Set successfully",
|
||||
"TIPS_RESET_SUCCEED": "Reset successfully",
|
||||
"TIPS_PLUGIN_NOT_GUI_IMPLEMENT": "This plugin is not optimized for the GUI, continue?",
|
||||
"MANAGE_SETTING_TITLE": "Manage Setting",
|
||||
"MANAGE_SETTING_ISAUTOREFRESH_TITLE": "Auto refresh file list when entering new directory",
|
||||
"MANAGE_SETTING_ISAUTOREFRESH_TIPS": "Only applies to non-paginated mode, data is cached to indexdb to speed up loading speed",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_TITLE": "Clear file list cache database, currently in use:",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_FREE_TITLE": "Available:",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_TIPS": "After clearing, the file list will be reloaded when entering a new directory next time",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_PROMPT": "Are you sure you want to clear the file list cache database?",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_BUTTON": "Clear",
|
||||
"MANAGE_SETTING_ISSHOWTHUMBNAIL_TITLE": "Display the original image instead of format icon (requires public access permissions)",
|
||||
"MANAGE_SETTING_ISUSEPRESIGNEDURL_TITLE": "Use presigned URL for image display",
|
||||
"MANAGE_SETTING_ISSHOWLIST_TITLE": "Default display mode for the file list",
|
||||
"MANAGE_SETTING_ISSHOWLIST_ON": "List",
|
||||
"MANAGE_SETTING_ISSHOWLIST_OFF": "Card",
|
||||
"MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TITLE": "Force custom URL to use HTTPS",
|
||||
"MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TIPS": "After enabling, all operations will automatically add the https prefix to custom domains",
|
||||
"MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TITLE": "Preserve directory structure when uploading",
|
||||
"MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TIPS": "After disabling, all files will be expanded to the specified directory",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_A": "Download",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_B": " File ",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_C": "will preserve the directory structure",
|
||||
"MANAGE_SETTING_ISDOWNLOADFOLDERKEEPDIRSTRUCTURE_TITLE_D": " Folder ",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TIPS": "After enabling, the original directory structure will be preserved",
|
||||
"MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TITLE": "Maximum number of files to download simultaneously (1-9999)",
|
||||
"MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS": "Not work on Tencent",
|
||||
"MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_INPUT_TIPS": "Please enter the maximum number of files to download simultaneously",
|
||||
"MANAGE_SETTING_ISIGNORECASE_TITLE": "Should file search be case-insensitive",
|
||||
"MANAGE_SETTING_ISIGNORECASE_TIPS": "After enabling, the search will be case-insensitive",
|
||||
"MANAGE_SETTING_TIMESTAMPRENAME_TITLE": "Rename uploaded files with timestamp - (highest priority)",
|
||||
"MANAGE_SETTING_TIMESTAMPRENAME_TIPS": "After enabling, the uploaded file will be renamed with the timestamp",
|
||||
"MANAGE_SETTING_RANDOMSTRINGRENAME_TITLE": "Rename uploaded files with random strings - (medium priority)",
|
||||
"MANAGE_SETTING_RANDOMSTRINGRENAME_TIPS": "Random string length is 20",
|
||||
"MANAGE_SETTING_CUSTOMRENAME_TITLE": "Rename uploaded files with custom names - (lowest priority)",
|
||||
"MANAGE_SETTING_CUSTOMRENAME_TIPS": "After enabling, the uploaded file will be renamed with the custom pattern",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TITLE": "Custom rename format, placeholders can be freely combined, please refer to the table below",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TIPS": "Please enter the custom rename format",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TITLE": "Placeholder",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TIPS": "Description",
|
||||
"MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TITLE": "Presigned URL expiration time (seconds)",
|
||||
"MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TIPS": "Please enter the presigned URL expiration time",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_TITLE": "Select default link format for copying",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN": "Markdown",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN_WITH_LINK": "Markdown with link",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_RAWURL": "Raw URL",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_HTML": "HTML",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_BBCODE": "BBCode",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_CUSTOM": "Custom",
|
||||
"MANAGE_SETTING_CUSTOM_COPY_FORMAT_TITLE": "Custom link format($url -> raw url, $fileName -> raw fileName)",
|
||||
"MANAGE_SETTING_CUSTOM_COPY_FORMAT_TIPS": "Please enter the custom link format",
|
||||
"MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TITLE": "Choose default download folder",
|
||||
"MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TIPS": "System default download directory",
|
||||
"MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_BUTTON": "Choose folder",
|
||||
"MANAGE_SETTING_COPY_MESSAGE": "Copied",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_SUCCESS": "Cleared successfully",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_FAILED": "Clear failed",
|
||||
"MANAGE_SETTING_ISENCODEURL_TITLE": "Encode URL when copy",
|
||||
"MANAGE_SETTING_ISENCODEURL_TIPS": "After enabling, the URL will be encoded when copying",
|
||||
"MANAGE_NO_DATA": "No data",
|
||||
"MANAGE_MAIN_PAGE_NEW_BUCKET": "New Bucket",
|
||||
"MANAGE_MAIN_PAGE_BACK_TO_HOME": "Home",
|
||||
"MANAGE_MAIN_PAGE_SWITCH_PICBED": "Switch",
|
||||
"MANAGE_MAIN_PAGE_SETTING": "Setting",
|
||||
"MANAGE_MAIN_PAGE_SUBMIT": "Submit",
|
||||
"MANAGE_MAIN_PAGE_TIPS": "Tips",
|
||||
"MANAGE_MAIN_PAGE_TIPS_SUCCESS": "Created successfully",
|
||||
"MANAGE_MAIN_PAGE_TIPS_FAILED": "Create failed",
|
||||
"MANAGE_MAIN_PAGE_BUCKET": "Bucket",
|
||||
"MANAGE_MAIN_PAGE_GALLERY": "Album",
|
||||
"MANAGE_MAIN_PAGE_REPOSITORY": "Repo",
|
||||
"MANAGE_CONSTANT_BASE_RULE": "Please enter ",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A": "Please enter the number of items displayed per page.",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B": "The number of items displayed per page must be a number.",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C": "The number of items displayed per page must be between 20 and 1000.",
|
||||
"MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A": "Please enter the alias, which is the unique identifier for this configuration.",
|
||||
"MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B": "The alias can only contain Chinese, English, numbers, underscores, and hyphens.",
|
||||
"MANAGE_CONSTANT_ALIAS_TOOLTIP": "The alias can only contain Chinese, English, numbers, underscores, and hyphens.",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP": "The number of items displayed per page must be between 20 and 1000.",
|
||||
"MANAGE_CONSTANT_PAGING_TOOLTIP": "When paging is turned off, the directory list will use database caching to optimize performance.",
|
||||
"MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP": "Separated by commas, e.g., bucket1,bucket2,bucket3, and corresponding to the starting directory order one by one.",
|
||||
"MANAGE_CONSTANT_BASE_DIR_TOOLTIP": "Separated by commas, e.g., /dir1,/dir2,/dir3, corresponding to the storage bucket order one by one.",
|
||||
"MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP": "When turned on, the domainbound to bucket will be automatically obtained. Else, it can be manually filled in.",
|
||||
"MANAGE_CONSTANT_SMMS_ALIAS_DESC": "Alias - required",
|
||||
"MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER": "Unique identifier of this configuration",
|
||||
"MANAGE_CONSTANT_SMMS_TOKEN_DESC": "Token - required",
|
||||
"MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER": "Please fill in your token",
|
||||
"MANAGE_CONSTANT_SMMS_PAGING_DESC": "Whether to enable pagination",
|
||||
"MANAGE_CONSTANT_SMMS_EXPLAIN": "For users in mainland China, please visit the backup domain https://smms.app. Do not upload images in large quantities.",
|
||||
"MANAGE_CONSTANT_SMMS_REFER_TEXT": "Refer to: ",
|
||||
"MANAGE_CONSTANT_QINIU_NAME": "Qiniu",
|
||||
"MANAGE_CONSTANT_QINIU_ALIAS_DESC": "Alias - Required",
|
||||
"MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER": "Unique identifier for this configuration",
|
||||
"MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC": "accessKey - Required",
|
||||
"MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER": "Please enter the accessKey",
|
||||
"MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC": "secretKey - Required",
|
||||
"MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER": "Please enter the secretKey",
|
||||
"MANAGE_CONSTANT_QINIU_BUCKET_DESC": "space name - Optional",
|
||||
"MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER": "English comma separated, for example: bucket1, bucket2",
|
||||
"MANAGE_CONSTANT_QINIU_BASE_DIR_DESC": "Base directory - Optional",
|
||||
"MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER": "English comma separated, for example: /dir1, /dir2",
|
||||
"MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC": "Automatically get the bound domain name",
|
||||
"MANAGE_CONSTANT_QINIU_PAGING_DESC": "Enable pagination",
|
||||
"MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC": "Number of items displayed per page",
|
||||
"MANAGE_CONSTANT_QINIU_EXPLAIN": "When configuring space name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.",
|
||||
"MANAGE_CONSTANT_QINIU_REFER_TEXT": "Refer to: ",
|
||||
"MANAGE_CONSTANT_GITHUB_ALIAS_DESC": "Alias - Required",
|
||||
"MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER": "Unique identifier for this configuration",
|
||||
"MANAGE_CONSTANT_GITHUB_TOKEN_DESC": "Token - Required",
|
||||
"MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER": "Please enter the Token",
|
||||
"MANAGE_CONSTANT_GITHUB_TOKEN_TIPS": "Please provide a token with full repo permissions",
|
||||
"MANAGE_CONSTANT_GITHUB_USER_DESC": "Username - Required",
|
||||
"MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER": "Please enter the Username",
|
||||
"MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE": "Username",
|
||||
"MANAGE_CONSTANT_GITHUB_PROXY_DESC": "Proxy address - Optional",
|
||||
"MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER": "For example: http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_GITHUB_PROXY_TIPS": "If the access speed is slow, you can try configuring a proxy",
|
||||
"MANAGE_CONSTANT_GITHUB_PAGING_DESC": "Enable pagination",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC": "CDN acceleration domain name - Optional",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER": "Support using {username}, {repo}, {branch}, and {path} as replacement placeholders",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS": "For example: https://cdn.staticaly.com/gh/{username}/{repo}@{branch}/{path}",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A": "The acceleration domain name must start with http:// or https://",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B": "The braces in the acceleration domain name must appear in pairs",
|
||||
"MANAGE_CONSTANT_GITHUB_EXPLAIN": "There is an hourly limit for API calls, and uploading files larger than 100M is not supported",
|
||||
"MANAGE_CONSTANT_GITHUB_REFER_TEXT": "Refer to:",
|
||||
"MANAGE_CONSTANT_ALIYUN_NAME": "Ali Cloud",
|
||||
"MANAGE_CONSTANT_ALIYUN_ALIAS_DESC": "Alias - required",
|
||||
"MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER": "The unique identifier of this configuration",
|
||||
"MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC": "AccessKeyId - required",
|
||||
"MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC": "AccessKeySecret - required",
|
||||
"MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER": "Please fill in AccessKeySecret",
|
||||
"MANAGE_CONSTANT_ALIYUN_BUCKET_DESC": "Bucket name - optional",
|
||||
"MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER": "Separated by commas in English, for example: bucket1, bucket2",
|
||||
"MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC": "Base directory - optional",
|
||||
"MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER": "Separated by commas in English, for example: /dir1, /dir2",
|
||||
"MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC": "Automatically obtain bound domain name",
|
||||
"MANAGE_CONSTANT_ALIYUN_PAGING_DESC": "Whether to enable pagination",
|
||||
"MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC": "Number of items displayed per page",
|
||||
"MANAGE_CONSTANT_ALIYUN_EXPLAIN": "When configuring bucket name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.",
|
||||
"MANAGE_CONSTANT_ALIYUN_REFER_TEXT": "Refer to: ",
|
||||
"MANAGE_CONSTANT_TENCENT_NAME": "Tencent",
|
||||
"MANAGE_CONSTANT_TENCENT_ALIAS_DESC": "Alias - Required",
|
||||
"MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER": "Unique identifier for this configuration",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC": "SecretID - Required",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER": "Please fill in the SecretID",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC": "SecretKey - Required",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER": "Please fill in the SecretKey",
|
||||
"MANAGE_CONSTANT_TENCENT_APPID_DESC": "App ID - Required",
|
||||
"MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER": "Please fill in the App ID",
|
||||
"MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP": "For example: 1250000000",
|
||||
"MANAGE_CONSTANT_TENCENT_BUCKET_DESC": "Bucket name - Optional (note the App ID must be included)",
|
||||
"MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER": "Comma-separated list of bucket names, for example: bucket1-1250000000, bucket2-1250000000",
|
||||
"MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC": "Starting directory - Optional",
|
||||
"MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER": "Comma-separated list of directories, for example: /dir1, /dir2",
|
||||
"MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC": "Automatically obtain binding domain name",
|
||||
"MANAGE_CONSTANT_TENCENT_PAGING_DESC": "Enable paging",
|
||||
"MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC": "Number of items to display per page",
|
||||
"MANAGE_CONSTANT_TENCENT_EXPLAIN": "When configuring bucket name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.",
|
||||
"MANAGE_CONSTANT_TENCENT_REFER_TEXT": "Refer to: ",
|
||||
"MANAGE_CONSTANT_UPYUN_NAME": "Upyun",
|
||||
"MANAGE_CONSTANT_UPYUN_ALIAS_DESC": "Alias - required",
|
||||
"MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER": "Unique identifier of the configuration",
|
||||
"MANAGE_CONSTANT_UPYUN_BUCKET_DESC": "Service name - required",
|
||||
"MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER": "Name of the storage bucket corresponding to other object storage",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC": "Operator name - required",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER": "It is recommended to use an operator with full read, write, and delete permissions",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE": "Operator",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC": "Operator password - required",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER": "Please enter the password",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE": "Operator password",
|
||||
"MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC": "Base directory - optional",
|
||||
"MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER": "Initial directory when reading files",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC": "Acceleration domain name - required",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER": "Please start with http:// or https://",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A": "Acceleration domain name cannot be empty",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B": "Please start the custom domain name with http:// or https://",
|
||||
"MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_DESC": "Anti-leech key - optional",
|
||||
"MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_PLACEHOLDER": "Please enter the anti-leech key",
|
||||
"MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_TOOLTIP": "If you do not need to use anti-leech, please leave it blank",
|
||||
"MANAGE_CONSTANT_UPYUN_EXPIRE_TIME_DESC": "Expiration time(s) - optional",
|
||||
"MANAGE_CONSTANT_UPYUN_PAGING": "Whether to enable pagination",
|
||||
"MANAGE_CONSTANT_UPYUN_ITEMS_PAGE": "Number of items displayed per page",
|
||||
"MANAGE_CONSTANT_UPYUN_EXPLAIN": "It is necessary to fill in the acceleration domain name of Upyun image bed, otherwise it cannot be used normally.",
|
||||
"MANAGE_CONSTANT_UPYUN_REFER_TEXT": "Refer to: ",
|
||||
"MANAGE_CONSTANT_IMGUR_NAME": "Imgur",
|
||||
"MANAGE_CONSTANT_IMGUR_ALIAS_DESC": "Alias - required",
|
||||
"MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER": "Unique identifier of the configuration",
|
||||
"MANAGE_CONSTANT_IMGUR_USERNAME_DESC": "Imgur username - required",
|
||||
"MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER": "Please enter the Imgur username",
|
||||
"MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC": "Access token - required",
|
||||
"MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER": "Please enter the access token",
|
||||
"MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP": "Not the client ID, please refer to the configuration tutorial",
|
||||
"MANAGE_CONSTANT_IMGUR_PROXY_DESC": "Proxy - optional",
|
||||
"MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER": "For example: http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP": "Please use a proxy in mainland China, otherwise it cannot be used normally",
|
||||
"MANAGE_CONSTANT_IMGUR_EXPLAIN": "Please use a proxy in mainland China, API calls have restrictions, please pay attention to usage frequency",
|
||||
"MANAGE_CONSTANT_IMGUR_REFER_TEXT": "Refer to: ",
|
||||
"MANAGE_CONSTANT_S3_NAME": "S3-Compatible",
|
||||
"MANAGE_CONSTANT_S3_ALIAS_DESC": "Alias - Required",
|
||||
"MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER": "Unique identifier for this configuration",
|
||||
"MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC": "Access Key ID - Required",
|
||||
"MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER": "Please enter Access Key ID",
|
||||
"MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC": "Secret Access Key - Required",
|
||||
"MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER": "Please enter Secret Access Key",
|
||||
"MANAGE_CONSTANT_S3_ENDPOINT_DESC": "Endpoint - Optional",
|
||||
"MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER": "e.g. s3.us-east-1.amazonaws.com",
|
||||
"MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP": "If left blank, AWS S3 is accessed by default. Provide the root API endpoint",
|
||||
"MANAGE_CONSTANT_S3_SSLENABLED_DESC": "Use HTTPS connection",
|
||||
"MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP": "Disable this option if not supported by your platform.",
|
||||
"MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC": "Enable S3 Path style",
|
||||
"MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP": "Required when using Minio, for example.",
|
||||
"MANAGE_CONSTANT_S3_PROXY_DESC": "Proxy - Optional",
|
||||
"MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER": "e.g. http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_S3_PROXY_TOOLTIP": "Use proxy if unable to access in some parts of Mainland China",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC": "Permission for uploaded files",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE": "Private",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ": "Public read",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE": "Public read and write",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ": "Authenticated read",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ": "Bucket owner read",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL": "Bucket owner full control",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ": "AWS execution read",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP": "Permission options for uploaded files",
|
||||
"MANAGE_CONSTANT_S3_BUCKET_DESC": "Bucket name - Optional",
|
||||
"MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER": "English comma-separated list, e.g. bucket1,bucket2",
|
||||
"MANAGE_CONSTANT_S3_BASE_DIR_DESC": "Base directory - Optional",
|
||||
"MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER": "English comma-separated list, e.g. /dir1,/dir2",
|
||||
"MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_DESC": "Enable Doge Cloud API",
|
||||
"MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_TOOLTIP": "Support Doge Cloud API",
|
||||
"MANAGE_CONSTANT_S3_PAGING_DESC": "Enable pagination",
|
||||
"MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC": "Items per page",
|
||||
"MANAGE_CONSTANT_S3_EXPLAIN": "When configuring bucket name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.",
|
||||
"MANAGE_CONSTANT_S3_REFER_TEXT": "Refer to: ",
|
||||
"MANAGE_CONSTANT_WEBDAV_ALIAS_DESC": "Alias - Required",
|
||||
"MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER": "Unique identifier for this configuration",
|
||||
"MANAGE_CONSTANT_WEBDAV_HOST_DESC": "Address - Required",
|
||||
"MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER": "e.g. https://example.com/dav",
|
||||
"MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP": "Please enter the complete WebDAV address",
|
||||
"MANAGE_CONSTANT_WEBDAV_USERNAME_DESC": "Username - Required",
|
||||
"MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER": "Please enter your username",
|
||||
"MANAGE_CONSTANT_WEBDAV_BUCKET_DESC": "Special Configuration",
|
||||
"MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER": "e.g. bucket1",
|
||||
"MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP": "This cannot be modified, only for software compatibility consideration",
|
||||
"MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC": "Password - Required",
|
||||
"MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER": "Please enter your password",
|
||||
"MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC": "Base Directory - Optional",
|
||||
"MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER": "e.g. /dir1",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC": "Custom Domain - Optional",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER": "e.g. https://example.com",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP": "If your WebDAV server supports custom domains, please fill in",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE": "Custom domain should start with http:// or https://",
|
||||
"MANAGE_CONSTANT_WEBDAV_WEB_PATH": "Web Path - Optional",
|
||||
"MANAGE_CONSTANT_WEBDAV_WEB_PATH_PLACEHOLDER": "e.g. test/ttc",
|
||||
"MANAGE_CONSTANT_WEBDAV_WEB_PATH_TOOLTIP": "Used to generate URL",
|
||||
"MANAGE_CONSTANT_WEBDAV_PROXY_DESC": "Proxy - Optional",
|
||||
"MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER": "e.g. http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP": "If special network environment is required to access, please use proxy",
|
||||
"MANAGE_CONSTANT_WEBDAV_SSL_DESC": "Use HTTPS Connection",
|
||||
"MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP": "Depending on the configuration of your WebDAV server, if your server does not support HTTPS, please turn off this option",
|
||||
"MANAGE_CONSTANT_WEBDAV_AUTH_TYPE_DESC": "Authentication Type",
|
||||
"MANAGE_CONSTANT_WEBDAV_EXPLAIN": "WebDAV Configuration",
|
||||
"MANAGE_CONSTANT_WEBDAV_REFER_TEXT": "Refer to:",
|
||||
"MANAGE_CONSTANT_LOCAL_NAME": "Local",
|
||||
"MANAGE_CONSTANT_LOCAL_ALIAS_DESC": "Alias - Required",
|
||||
"MANAGE_CONSTANT_LOCAL_ALIAS_PLACEHOLDER": "Unique identifier for this configuration",
|
||||
"MANAGE_CONSTANT_LOCAL_BASE_DIR_DESC": "Base directory - Required",
|
||||
"MANAGE_CONSTANT_LOCAL_BASE_DIR_PLACEHOLDER": "e.g. /dir1",
|
||||
"MANAGE_CONSTANT_LOCAL_CUSTOM_URL_DESC": "Custom Domain - Optional",
|
||||
"MANAGE_CONSTANT_LOCAL_CUSTOM_URL_PLACEHOLDER": "e.g. https://example.com",
|
||||
"MANAGE_CONSTANT_LOCAL_CUSTOM_URL_TOOLTIP": "If your local path supports custom domains, please fill in",
|
||||
"MANAGE_CONSTANT_LOCAL_WEB_PATH": "Web Path - Optional",
|
||||
"MANAGE_CONSTANT_LOCAL_WEB_PATH_PLACEHOLDER": "e.g. test/ttc",
|
||||
"MANAGE_CONSTANT_LOCAL_WEB_PATH_TOOLTIP": "Used to generate URL",
|
||||
"MANAGE_CONSTANT_LOCAL_EXPLAIN": "Local Configuration",
|
||||
"MANAGE_CONSTANT_LOCAL_REFER_TEXT": "Refer to:",
|
||||
"MANAGE_CONSTANT_LOCAL_BASE_DIR_RULE_MESSAGE": "baseDir cannot be empty",
|
||||
"MANAGE_CONSTANT_LOCAL_BUCKET_DESC": "Special Configuration",
|
||||
"MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER": "bucket1",
|
||||
"MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP": "This cannot be modified, only for software compatibility consideration",
|
||||
"MANAGE_CONSTANT_SFTP_NAME": "SFTP",
|
||||
"MANAGE_CONSTANT_SFTP_ALIAS_DESC": "Alias - Required",
|
||||
"MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER": "Unique identifier for this configuration",
|
||||
"MANAGE_CONSTANT_SFTP_HOST_DESC": "SSH Host - Required",
|
||||
"MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER": "e.g. 233.233.233.233",
|
||||
"MANAGE_CONSTANT_SFTP_PORT_DESC": "SSH Port - Required",
|
||||
"MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER": "e.g. 22",
|
||||
"MANAGE_CONSTANT_SFTP_USERNAME_DESC": "Username",
|
||||
"MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER": "Please enter your username",
|
||||
"MANAGE_CONSTANT_SFTP_PASSWORD_DESC": "Password",
|
||||
"MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER": "Please enter your password",
|
||||
"MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC": "Private Key",
|
||||
"MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER": "Please enter your private key",
|
||||
"MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC": "Private Key Password",
|
||||
"MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER": "Please enter your private key password",
|
||||
"MANAGE_CONSTANT_SFTP_BASE_DIR_DESC": "Base Directory",
|
||||
"MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER": "e.g. /dir1",
|
||||
"MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC": "Custom Domain",
|
||||
"MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER": "e.g. https://example.com",
|
||||
"MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP": "If your SFTP server supports custom domains, please fill in",
|
||||
"MANAGE_CONSTANT_SFTP_WEB_PATH": "Web Path",
|
||||
"MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER": "e.g. test/ttc",
|
||||
"MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP": "Used to generate URL",
|
||||
"MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC": "File mode",
|
||||
"MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER": "e.g. 0644",
|
||||
"MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC": "Directory mode",
|
||||
"MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER": "e.g. 0755",
|
||||
"MANAGE_CONSTANT_SFTP_EXPLAIN": "SFTP Configuration",
|
||||
"MANAGE_CONSTANT_SFTP_REFER_TEXT": "Refer to:",
|
||||
"MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE": "baseDir cannot be empty",
|
||||
"MANAGE_CONSTANT_SFTP_BUCKET_DESC": "Special Configuration",
|
||||
"MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER": "e.g. bucket1",
|
||||
"MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP": "This cannot be modified, only for software compatibility consideration",
|
||||
"MANAGE_LOGIN_PAGE_PANE_NAME": "Saved Config",
|
||||
"MANAGE_LOGIN_PAGE_PANE_KEY_NAME": "Configuration",
|
||||
"MANAGE_LOGIN_PAGE_PANE_KEY_VALUE": "Value",
|
||||
"MANAGE_LOGIN_PAGE_PANE_ENTER": "Enter",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE": "Delete",
|
||||
"MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER": "Please select",
|
||||
"MANAGE_LOGIN_PAGE_PANE_IMPORT": "Import",
|
||||
"MANAGE_LOGIN_PAGE_PANE_SAVE": "Save",
|
||||
"MANAGE_LOGIN_PAGE_PANE_RESET": "Reset",
|
||||
"MANAGE_LOGIN_PAGE_PANE_TABLE_TITLE": "Existing configurations, click to copy corresponding cell data",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_MESSAGE_A": "Please fill in",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ALIAS_MESSAGE": "The alias can only contain Chinese, English, numbers, underscores, and hyphens",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ITEMS_PER_PAGE_MESSAGE": "The number of items per page must be between 20-1000",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_CUSTOM_URL_MESSAGE": "Custom domain name should start with http:// or https://",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME": "Notice",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE": "Alias overwritten: ",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_B": "Alias saved: ",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C": "Alias deleted: ",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D": "Configuration with alias: ",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E": " failed to delete",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS": "Copied ",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE": "Are you sure to delete this?",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP": "Tip",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM": "Confirm",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL": "Cancel",
|
||||
"MANAGE_BUCKET_PAGE_LOADING_TEXT": "Loading...",
|
||||
"MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER": "Please select a custom domain",
|
||||
"MANAGE_BUCKET_PAGE_CUSTOM_URL_INPUT_PLACEHOLDER": "Please enter a custom domain",
|
||||
"MANAGE_BUCKET_PAGE_UPLOAD_FILES_TOOLTIP": "Upload files",
|
||||
"MANAGE_BUCKET_PAGE_UPLOAD_FROM_URL_TOOLTIP": "Upload from URL",
|
||||
"MANAGE_BUCKET_PAGE_CREATE_FOLDER_TOOLTIP": "Create folder",
|
||||
"MANAGE_BUCKET_PAGE_DOWNLOAD_TOOLTIP": "Download page",
|
||||
"MANAGE_BUCKET_PAGE_BATCH_RENAME_TOOLTIP": "Batch rename",
|
||||
"MANAGE_BUCKET_PAGE_BATCH_COPY_URL_TOOLTIP": "Batch copy URL",
|
||||
"MANAGE_BUCKET_PAGE_COPY_FILE_INFO_TOOLTIP": "Copy file information",
|
||||
"MANAGE_BUCKET_PAGE_FORCE_REFRESH_TOOLTIP": "Force refresh file list",
|
||||
"MANAGE_BUCKET_PAGE_SEARCH_PLACEHOLDER": "Search files",
|
||||
"MANAGE_BUCKET_PAGE_ROOT_FOLDER": "Root folder",
|
||||
"MANAGE_BUCKET_PAGE_FILE_NUMBER": "Number of files: ",
|
||||
"MANAGE_BUCKET_PAGE_FILE_SIZE": "Total size: ",
|
||||
"MANAGE_BUCKET_PAGE_SELECT_ALL": "Select all",
|
||||
"MANAGE_BUCKET_PAGE_SELECT_NONE": "Deselect all",
|
||||
"MANAGE_BUCKET_PAGE_SELECT_INVERT": "Invert selection",
|
||||
"MANAGE_BUCKET_DOWNLOAD_BTN": "Download",
|
||||
"MANAGE_BUCKET_DELETE_BTN": "Delete",
|
||||
"MANAGE_BUCKET_SORT_TITLE": "Sort",
|
||||
"MANAGE_BUCKET_SORT_NAME": "Name",
|
||||
"MANAGE_BUCKET_SORT_SIZE": "Size",
|
||||
"MANAGE_BUCKET_SORT_EXT": "Type",
|
||||
"MANAGE_BUCKET_SORT_TIME": "Time",
|
||||
"MANAGE_BUCKET_SORT_CHECK": "Selected status",
|
||||
"MANAGE_BUCKET_SORT_INIT": "Init",
|
||||
"MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE": "Please enter URL(s), support multiple URLs separated by line breaks",
|
||||
"MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM": "Confirm",
|
||||
"MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL": "Cancel",
|
||||
"MANAGE_BUCKET_URL_FORMAT_MARKDOWN": "Markdown",
|
||||
"MANAGE_BUCKET_URL_FORMAT_MARKDOWN_WITH_LINK": "Markdown-link",
|
||||
"MANAGE_BUCKET_URL_FORMAT_URL": "Url",
|
||||
"MANAGE_BUCKET_URL_FORMAT_HTML": "Html",
|
||||
"MANAGE_BUCKET_URL_FORMAT_BBCODE": "BBCode",
|
||||
"MANAGE_BUCKET_URL_FORMAT_CUSTOM": "Custom",
|
||||
"MANAGE_BUCKET_URL_FORMAT_PRESIGN": "Presigned link",
|
||||
"MANAGE_BUCKET_FILE_INFO_TITLE": "File information",
|
||||
"MANAGE_BUCKET_FILE_INFO_COPY_TIPS": "Copy in JSON format",
|
||||
"MANAGE_BUCKET_FILE_LIST_LOADING": "Loading, click to cancel",
|
||||
"MANAGE_BUCKET_FILE_LIST_DOWNLOAD_PRE": "Preparing to download, click to cancel",
|
||||
"MANAGE_BUCKET_KEEP_FOLDER_STRUCTURE": "Keep folder structure",
|
||||
"MANAGE_BUCKET_NOT_KEEP_FOLDER_STRUCTURE": "Do not keep folder structure",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_TITLE": "Drag and drop to upload, support recursive upload of folders",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_TEXT": "Or: click to select file (folders are not supported)",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_BTN_LOADING": "Loading files",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_BTN": "Upload",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_CLEAR": "Clear",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_STATUS_UPLOADING": "Uploading",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_COPY_TASK": "Copy upload task information",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_CLEAR_UPLOADED_TASK": "Clear completed tasks",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_CLEAR_ALL_TASK": "Clear all tasks",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_SUCCESS": "Success",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_FAILED": "Failed",
|
||||
"MANAGE_BUCKET_DOWNLOAD_PAGE_TITLE": "Download page",
|
||||
"MANAGE_BUCKET_DOWNLOADING": "Downloading",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COPY_TASK": "Copy download task information",
|
||||
"MANAGE_BUCKET_DOWNLOAD_CLEAR_DOWNLOADED_TASK": "Clear completed tasks",
|
||||
"MANAGE_BUCKET_DOWNLOAD_CLEAR_ALL_TASK": "Clear all tasks",
|
||||
"MANAGE_BUCKET_DOWNLOAD_OPEN_FOLDER": "Open download folder",
|
||||
"MANAGE_BUCKET_DOWNLOAD_SUCCESS": "Success",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FAILED": "Failed",
|
||||
"MANAGE_BUCKET_MARKDOWN_PREVIEW": "Preview",
|
||||
"MANAGE_BUCKET_PLAY": "Play",
|
||||
"MANAGE_BUCKET_RENAME_FILE": "Rename file",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_A": "String or JS regular expression for matching during replacement",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS": "Directly enter the regular expression, no need to add /",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_A_PLACEHOLDER": "For example: ^\\d{4}-\\d{2}-\\d{2} ",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_B": "String for replacement, placeholders from custom",
|
||||
"MANAGE_BUCKET_RENAME_FILE_TABLE_IID": "Auto-incrementing number",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT": "Replace extension if it matches",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT_TIPS": "Check this option if you want to modify the extension",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT_YES": "Yes",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT_NO": "No",
|
||||
"MANAGE_BUCKET_RENAME_FILE_CANCEL": "Cancel",
|
||||
"MANAGE_BUCKET_RENAME_FILE_CONFIRM": "Confirm",
|
||||
"MANAGE_BUCKET_COPY_SUCCESS": "Copy success",
|
||||
"MANAGE_BUCKET_START_LOADING_MESSAGE": "Start getting files",
|
||||
"MANAGE_BUCKET_END_LOADING_MESSAGE_FAIL": "Failed to get file content",
|
||||
"MANAGE_BUCKET_LAST_PAGE_TITLE": "Tip",
|
||||
"MANAGE_BUCKET_LAST_PAGE_MSG": "This is the last page",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_TITLE": "Tip",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_MSG": "Failed to get file list",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_MSG2": "Getting file list in the background, please do not switch pages",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_MSG3": "Loading file list, please try again later",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TITLE": "Are you sure you want to download this folder?",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TIP": "Tip",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CONFIRM": "Confirm",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CANCEL": "Cancel",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_SUCCESS": "Successfully obtained download list",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_FAIL": "Failed to obtain download list",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_CANCEL": "Canceled",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_TITLE": "Please enter the folder name",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_TIP": "Create folder",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_CONFIRM": "Confirm",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_CANCEL": "Cancel",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_ERROR_MSG": "Folder name can only contain Chinese, English, numbers, underscores, and slashes",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_SUCCESS": "Successfully created, please refresh",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_FAIL": "Failed to create",
|
||||
"MANAGE_BUCKET_UPLOAD_URL_ERROR_MSQ": "Please enter a valid URL",
|
||||
"MANAGE_BUCKET_UPLOAD_URL_NOT_TITLE": "Tip",
|
||||
"MANAGE_BUCKET_UPLOAD_URL_NOT_MSG": "Starting background download, automatic upload after success",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG": "Please enter the matching string",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG2": "No matching files found",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG3": "No files need to be renamed",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_A": "Detected",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_B": "files are duplicated. Do you want to continue?",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_C": "Tip",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_CONFIRM": "Confirm",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_CANCEL": "Cancel",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_A": "Rename successful",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_B": "Failed",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_CANCEL": "Canceled",
|
||||
"MANAGE_BUCKET_BATCH_COPY_INFO_ERROR_MSG": "Please select the file first",
|
||||
"MANAGE_BUCKET_BATCH_COPY_INFO_MSG_A": "Copied",
|
||||
"MANAGE_BUCKET_BATCH_COPY_INFO_MSG_B": "file(s) information",
|
||||
"MANAGE_BUCKET_BATCH_COPY_URL_ERROR_MSG": "Please select the file first",
|
||||
"MANAGE_BUCKET_BATCH_COPY_URL_MSG_A": "Copied",
|
||||
"MANAGE_BUCKET_BATCH_COPY_URL_MSG_B": "file(s) link",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_TITLE": "Stop getting file list?",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_MSG": "Tip",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_CONFIRM": "Confirm",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_CANCEL": "Cancel",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_SUCCESS": "File list retrieval has been stopped",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_TITLE": "Stop downloading file retrieval?",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_MSG": "Prompt",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CONFIRM": "Confirm",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CANCEL": "Cancel",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_SUCCESS": "Download file retrieval has been stopped",
|
||||
"MANAGE_BUCKET_GET_FILE_BS_NOT_TITLE": "Prompt",
|
||||
"MANAGE_BUCKET_GET_FILE_BS_NOT_MSG": "Successfully retrieved file list",
|
||||
"MANAGE_BUCKET_GET_FILE_BS_NOT_MSG2": "Some files failed to retrieve",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_A": "Permanently delete",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_B": "files, continue?",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_MSG": "Prompt",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CONFIRM": "Confirm",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CANCEL": "Cancel",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_TITLE": "Prompt",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG": "Deletion failed",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG2": "Deletion successful",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG3": "Failed",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CANCEL": "Deletion has been cancelled",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE": "Permanently delete",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER": "folder",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER_A": "and all files in this directory",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FILE": "file",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_C": "Continue?",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_MSG": "Prompt",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_CONFIRM": "Confirm",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_CANCEL": "Cancel",
|
||||
"MANAGE_BUCKET_DELETE_ERROR_MSG_TITLE": "Prompt",
|
||||
"MANAGE_BUCKET_DELETE_ERROR_MSG_MSG": "Deleting a folder may take some time, please be patient",
|
||||
"MANAGE_BUCKET_DELETE_SUCCESS": "Deletion successful",
|
||||
"MANAGE_BUCKET_DELETE_FAIL": "Deletion failed",
|
||||
"MANAGE_BUCKET_DELETE_CANCEL": "Deletion has been cancelled",
|
||||
"MANAGE_BUCKET_RENAME_INFO_MSG": "The new file name is the same as the original file name, no need to rename",
|
||||
"MANAGE_BUCKET_RENAME_SUCCESS": "Rename successful",
|
||||
"MANAGE_BUCKET_RENAME_ERROR_MSG": "Rename failed",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_FILENAME": "File name",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_FINISHTIME": "Completion time",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS": "Status",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_SUCCESS": "Success",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_FAIL": "Failed",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_FILENAME": "File name",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_TARGETFILEPATH": "Upload path",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_FINISHTIME": "Completion time",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_STATUS": "Status",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_SUCCESS": "Success",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_FAIL": "Failed",
|
||||
"MANAGE_BUCKET_DOWNLOADING_COLUMN_FILENAME": "File name",
|
||||
"MANAGE_BUCKET_DOWNLOADING_COLUMN_PROGRESS": "Progress",
|
||||
"MANAGE_BUCKET_UPLOADING_COLUMN_FILENAME": "File name",
|
||||
"MANAGE_BUCKET_UPLOADING_COLUMN_PROGRESS": "Progress",
|
||||
"MANAGE_BUCKET_UPLOADED_COLUMN_FILENAME": "File name",
|
||||
"MANAGE_BUCKET_UPLOADED_COLUMN_FILESIZE": "Size",
|
||||
"MANAGE_BUCKET_UPLOADED_COLUMN_FILENUM": "Number of files",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_FILENAME": "FileName",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_COPY_URL": "Copy link",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_INFO": "File Info",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_FILESIZE": "Size",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_TIME": "Time",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_NAME": "Tencent Cloud",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_DESC": "Bucket Name",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_PLACEHOLDER": "Please enter the Bucket name",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_A": "Bucket name can't be empty",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_B": "Bucket name length cannot exceed 23 characters",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_C": "Bucket name can only contain lowercase letters, numbers, and hyphens, and cannot begin or end with a hyphen",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_REGION": "Region",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_DESC": "Access Control",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_RW": "Public Read and Write",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_R": "Public Read",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_PRIVATE": "Private",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_NAME": "Alibaba Cloud",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_DESC": "Bucket Name",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_PLACEHOLDER": "Please enter the Bucket name",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_A": "Bucket name can't be empty",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_B": "Bucket name length cannot exceed 63 characters",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_C": "Bucket name can only contain lowercase letters, numbers, and hyphens, and cannot begin or end with a hyphen",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_REGION": "Region",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_DESC": "Access Control",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_RW": "Public Read and Write",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_R": "Public Read",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_PRIVATE": "Private",
|
||||
"MANAGE_NEW_BUCKET_QINIU_NAME": "Qiniu Cloud",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_DESC": "Bucket Name",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_PLACEHOLDER": "Please enter the Bucket name",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_A": "Bucket name can't be empty",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B": "Bucket name length cannot exceed 63 characters",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C": "Bucket names can only contain lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.",
|
||||
"MANAGE_NEW_BUCKET_QINIU_REGION": "Region",
|
||||
"MANAGE_NEW_BUCKET_QINIU_ACL_DESC": "Public Access",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_NAME": "S3-Compatible",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC": "Bucket Name",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER": "Please enter the Bucket name",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A": "Bucket name can't be empty",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_REGION": "Region",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC": "Access Control",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW": "Public Read and Write",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R": "Public Read",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE": "Private",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ": "Authenticated Read",
|
||||
"PLUGIN_UPDATE_SUCCEED": "Plugin update succeed",
|
||||
"TIPS_NOTICE": "Tips"
|
||||
}
|
||||
876
src/renderer/i18n/locales/zh-CN.json
Normal file
876
src/renderer/i18n/locales/zh-CN.json
Normal file
@@ -0,0 +1,876 @@
|
||||
{
|
||||
"OPEN_MAIN_WINDOW": "打开主窗口",
|
||||
"OPERATION_SUCCEED": "操作成功",
|
||||
"QUICK_UPLOAD": "快捷上传",
|
||||
"PICBED_QRCODE": "图床配置二维码",
|
||||
"CONFIG_THING": "配置${c}",
|
||||
"TOOLBOX_TITLE": "排查 PicList 运行时问题",
|
||||
"TOOLBOX_SUB_TITLE": "立即扫描以下项目,修复使用问题",
|
||||
"TOOLBOX_CHECK_CONFIG_FILE_BROKEN": "检查配置文件是否损坏",
|
||||
"TOOLBOX_CHECK_GALLERY_FILE_BROKEN": "检查相册文件是否损坏",
|
||||
"TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD": "检查剪贴板图片上传是否存在问题",
|
||||
"TOOLBOX_CHECK_PROBLEM_WITH_PROXY": "检查代理设置是否正常",
|
||||
"TOOLBOX_FIX_DONE_NEED_RELOAD": "修复完成,需要重启生效,是否重启",
|
||||
"TOOLBOX_CANT_AUTO_FIX": "无法自动修复,请自行修复以下问题",
|
||||
"TOOLBOX_START_SCAN": "开始扫描",
|
||||
"TOOLBOX_RE_SCAN": "重新扫描",
|
||||
"TOOLBOX_START_FIX": "开始修复",
|
||||
"TOOLBOX_SUCCESS_TIPS": "恭喜你,没有检查出问题",
|
||||
"MANUAL_PAGE_OPEN_TIP": "请选择打开方式",
|
||||
"MANUAL_PAGE_OPEN_TIP_TITLE": "Tips",
|
||||
"MANUAL_PAGE_OPEN_BY_BROWSER": "浏览器",
|
||||
"MANUAL_PAGE_OPEN_BY_BUILD_IN": "内置窗口",
|
||||
"MANUAL_PAGE_OPEN_SETTING_TIP": "选择手册打开方式",
|
||||
"UPLOAD_AREA": "上传",
|
||||
"UPLOAD_VIEW_HINT": "点击打开图床设置",
|
||||
"MANAGE_PAGE": "管理",
|
||||
"GALLERY": "相册",
|
||||
"REFRESH": "刷新",
|
||||
"MANUAL": "手册",
|
||||
"PICBEDS_SETTINGS": "图床",
|
||||
"PICLIST_SETTINGS": "设置",
|
||||
"PLUGIN_SETTINGS": "插件",
|
||||
"CHOOSE_PICBED": "选择图床",
|
||||
"COPY_PICBED_CONFIG": "复制图床配置",
|
||||
"COPY_PICBED_CONFIG_SUCCEED": "复制图床配置成功",
|
||||
"INPUT": "输入框",
|
||||
"CANCEL": "取消",
|
||||
"CONFIRM": "确定",
|
||||
"RESET_PICBED_CONFIG": "重置",
|
||||
"CHOOSE_SHOWED_PICBED": "请选择显示的图床",
|
||||
"CHOOSE_PASTE_FORMAT": "请选择粘贴的格式",
|
||||
"COPY": "复制",
|
||||
"DELETE": "删除",
|
||||
"SELECT_ALL": "全选",
|
||||
"CHANGE_IMAGE_URL": "修改图片URL",
|
||||
"CHANGE_IMAGE_URL_SUCCEED": "修改图片URL成功",
|
||||
"COPY_LINK_SUCCEED": "复制链接成功",
|
||||
"BATCH_COPY_LINK_SUCCEED": "批量复制链接成功",
|
||||
"FILE_RENAME": "文件改名",
|
||||
"OPEN_FILE_PATH": "打开文件路径",
|
||||
"GALLERY_SYNC_DELETE": "删除云端",
|
||||
"GALLERY_SYNC_DELETE_NOTICE_TITLE": "通知",
|
||||
"GALLERY_SYNC_DELETE_NOTICE_SUCCEED": "云端删除成功",
|
||||
"GALLERY_SYNC_DELETE_NOTICE_FAILED": "云端删除失败",
|
||||
"GALLERY_CHANGE_URL": "修改",
|
||||
"GALLERY_SEARCH_FILENAME": "搜索文件名",
|
||||
"GALLERY_SEARCH_URL": "搜索URL",
|
||||
"GALLERY_MATCHED": " 匹配到: ",
|
||||
"UPLOAD_PAGE_COPY_UPLOAD_API": "复制上传API",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_NAME": "图片处理",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE": "图片处理设置",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST": "跳过处理的文件扩展名列表",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS": "请填写需要跳过处理的文件扩展名列表, 以英文逗号分隔, 如: jpg,png,gif",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM": "是否添加水印",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE": "水印类型",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT": "文字",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE": "图片",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM": "是否全屏水印",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE": "水印角度",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT": "水印文字",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH": "水印字体路径(第一次需下载字体文件)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO": "水印占原图比例",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR": "水印颜色,请从取色器中选择",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMPATH": "水印图片路径(留空使用默认图片)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION": "水印位置",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF": "是否移除EXIF信息",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_QUALITY": "压缩质量(1-100)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT": "是否转换格式",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT": "转换目的格式",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC": "精细化转换格式, 请输入JSON格式,如: {\"png\": \"jpg\"}",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISFLIP": "是否进行垂直翻转",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISFLOP": "是否进行水平翻转",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE": "是否按固定尺寸调整图片",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH": "调整尺寸宽度(设为0则按高度等比缩放)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT": "调整尺寸高度(设为0则按宽度等比缩放)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_HEIGHT": "当图片高度小于设定高度时跳过缩放",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_WIDTH": "当图片宽度小于设定宽度时跳过缩放",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT": "是否按比例调整尺寸,优先级更高",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT": "调整尺寸比例, 输入50表示50%",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE": "是否旋转",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE": "旋转角度",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM": "保存",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CANCEL": "取消",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP": "上",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM": "下",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT": "左",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT": "右",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT": "左上",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT": "右上",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT": "左下",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT": "右下",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER": "中",
|
||||
"UPLOAD_SHORT_URL": "短链接",
|
||||
"UPLOAD_NORMAL_URL": "长链接",
|
||||
"SETTINGS": "设置",
|
||||
"SETTINGS_OPEN_CONFIG_FILE": "打开配置文件",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO": "从PicGo迁移",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_TITLE": "通知",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_CONTENT": "即将导入PicGo的配置文件和相册, 这将覆盖当前的配置文件和相册, 是否继续?",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_SUCCESS": "导入成功, 请重启PicList生效",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_FAILED": "导入失败",
|
||||
"SETTINGS_START_MODE": "启动模式",
|
||||
"SETTINGS_START_MODE_MINI": "mini窗口",
|
||||
"SETTINGS_START_MODE_MAIN": "主窗口",
|
||||
"SETTINGS_START_MODE_NO_TRAY": "隐藏托盘",
|
||||
"SETTINGS_START_MODE_QUIET": "静默启动",
|
||||
"SETTINGS_CLICK_TO_OPEN": "点击打开",
|
||||
"SETTINGS_SET_LOG_FILE": "设置日志文件",
|
||||
"SETTINGS_CLICK_TO_SET": "点击设置",
|
||||
"SETTINGS_CLICK_TO_CHECK": "点击检查",
|
||||
"SETTINGS_SET_SHORTCUT": "设置快捷键",
|
||||
"SETTINGS_CUSTOM_LINK_FORMAT": "自定义链接格式",
|
||||
"SETTINGS_SET_PROXY_AND_MIRROR": "设置代理和镜像地址",
|
||||
"SETTINGS_SET_SERVER": "设置Server",
|
||||
"SETTINGS_CHECK_UPDATE": "检查更新",
|
||||
"SETTINGS_OPEN_UPDATE_HELPER": "打开更新助手",
|
||||
"SETTINGS_OPEN": "开",
|
||||
"SETTINGS_CLOSE": "关",
|
||||
"SETTINGS_CLOSE_MINI_WINDOW_SYNC": "打开主窗口时关闭mini窗口",
|
||||
"SETTINGS_CLOSE_MAIN_WINDOW_SYNC": "打开mini窗口时关闭主窗口",
|
||||
"SETTINGS_LAUNCH_ON_BOOT": "开机自启",
|
||||
"SETTINGS_RENAME_BEFORE_UPLOAD": "手动重命名",
|
||||
"SETTINGS_TIMESTAMP_RENAME": "时间戳重命名",
|
||||
"SETTINGS_ADVANCED_RENAME": "高级重命名",
|
||||
"SETTINGS_ADVANCED_RENAME_ENABLE": "开启高级重命名",
|
||||
"SETTINGS_ADVANCED_RENAME_FORMAT": "重命名格式",
|
||||
"SETTINGS_ENABLE_SECOND_PICBED": "启用第二图床同步上传",
|
||||
"SETTINGS_SET_SECOND_PICBED": "设置第二图床",
|
||||
"SETTINGS_OPEN_UPLOAD_TIPS": "开启上传进度提示",
|
||||
"SETTINGS_OPEN_UPLOAD_RESULT_TIPS": "开启上传结果提示",
|
||||
"SETTINGS_MINI_WINDOW_ON_TOP": "Mini窗口置顶",
|
||||
"SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD": "上传后自动复制URL",
|
||||
"SETTINGS_TIPS_PLACEHOLDER_URL": "用占位符 $url 来表示url的位置",
|
||||
"SETTINGS_TIPS_PLACEHOLDER_FILENAME": "用占位符 $fileName 来表示文件名的位置",
|
||||
"SETTINGS_TIPS_PLACEHOLDER_EXTNAME": "用占位符 $extName 来表示文件格式的位置",
|
||||
"SETTINGS_TIPS_SUCH_AS": "如",
|
||||
"SETTINGS_UPLOAD_PROXY": "上传代理",
|
||||
"SETTINGS_PLUGIN_INSTALL_PROXY": "插件安装代理",
|
||||
"SETTINGS_PLUGIN_INSTALL_MIRROR": "插件安装镜像",
|
||||
"SETTINGS_CURRENT_VERSION": "当前版本",
|
||||
"SETTINGS_NEWEST_VERSION": "最新版本",
|
||||
"SETTINGS_GETING": "正在获取中",
|
||||
"SETTINGS_TIPS_HAS_NEW_VERSION": "PicList更新啦,请点击确定重启触发更新",
|
||||
"SETTINGS_LOG_FILE_PATH": "日志文件路径",
|
||||
"SETTINGS_CONFIG_FILE_PATH": "配置文件路径",
|
||||
"SETTINGS_LOG_FILE": "常规日志文件",
|
||||
"SETTINGS_GUI_LOG_FILE": "GUI日志文件",
|
||||
"SETTINGS_MANAGE_LOG_FILE": "管理日志文件",
|
||||
"SETTINGS_LOG_LEVEL": "日志记录等级",
|
||||
"SETTINGS_LOG_FILE_SIZE": "日志文件大小",
|
||||
"SETTINGS_SET_PICGO_SERVER": "设置PicGo-Server",
|
||||
"SETTINGS_TIPS_SERVER_NOTICE": "如果你不知道Server的作用,请阅读文档,或者不用修改配置。",
|
||||
"SETTINGS_ENABLE_SERVER": "是否开启Server",
|
||||
"SETTINGS_SET_SERVER_HOST": "设置监听地址",
|
||||
"SETTINGS_SET_SERVER_PORT": "设置监听端口",
|
||||
"SETTINGS_SET_SERVER_KEY": "设置鉴权密钥",
|
||||
"SETTINGS_SET_WEB_SERVER": "设置Web服务",
|
||||
"SETTINGS_TIPS_WEB_SERVER_NOTICE": "如果你不知道Web服务的作用,请阅读文档,或者不用修改配置。",
|
||||
"SETTINGS_SET_ENABLE_WEB_SERVER": "是否开启Web服务",
|
||||
"SETTINGS_SET_WEB_SERVER_HOST": "设置Web服务监听地址",
|
||||
"SETTINGS_SET_WEB_SERVER_PORT": "设置Web服务监听端口",
|
||||
"SETTINGS_SET_WEB_SERVER_PATH": "设置Web服务路径",
|
||||
"SETTINGS_TIP_PLACEHOLDER_WEB_HOST": "推荐默认地址:127.0.0.1",
|
||||
"SETTINGS_TIP_PLACEHOLDER_WEB_PORT": "推荐默认端口:37777",
|
||||
"SETTINGS_TIP_PLACEHOLDER_HOST": "推荐默认地址:127.0.0.1",
|
||||
"SETTINGS_TIP_PLACEHOLDER_PORT": "推荐默认端口:36677",
|
||||
"SETTINGS_TIP_PLACEHOLDER_KEY": "用于接口鉴权, 通过url参数添加'?key=xxx'",
|
||||
"SETTINGS_SET_SERVER_AES_KEY": "设置接口数据加密密钥",
|
||||
"SETTINGS_LOG_LEVEL_ALL": "全部-All",
|
||||
"SETTINGS_LOG_LEVEL_SUCCESS": "成功-Success",
|
||||
"SETTINGS_LOG_LEVEL_ERROR": "错误-Error",
|
||||
"SETTINGS_LOG_LEVEL_INFO": "普通-Info",
|
||||
"SETTINGS_LOG_LEVEL_WARN": "提醒-Warn",
|
||||
"SETTINGS_LOG_LEVEL_NONE": "不记录日志-None",
|
||||
"SETTINGS_RESULT": "设置结果",
|
||||
"SETTINGS_DEFAULT_PICBED": "设置默认图床",
|
||||
"SETTINGS_SET_DEFAULT_PICBED": "设为默认图床",
|
||||
"SETTINGS_NOT_CONFIG_OPTIONS": "暂无配置项",
|
||||
"SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD": "使用内置剪贴板上传",
|
||||
"SETTINGS_CHOOSE_LANGUAGE": "选择语言",
|
||||
"BUILTIN_CLIPBOARD_TIPS": "使用内置剪贴板函数而不是调用脚本获取剪贴板图片",
|
||||
"UPLOADER_CONFIG_NAME": "图床配置名",
|
||||
"UPLOADER_CONFIG_PLACEHOLDER": "请输入配置名称",
|
||||
"SELECTED_SETTING_HINT": "已选中",
|
||||
"SETTINGS_MAIN_WINDOW_SIZE": "默认主窗口大小(需重启)",
|
||||
"SETTINGS_MAIN_WINDOW_SIZE_WIDTH": "默认主窗口宽度",
|
||||
"SETTINGS_MAIN_WINDOW_WIDTH_HINT": "默认宽度: 1200",
|
||||
"SETTINGS_MAIN_WINDOW_SIZE_HEIGHT": "默认主窗口高度",
|
||||
"SETTINGS_MAIN_WINDOW_HEIGHT_HINT": "默认高度: 800",
|
||||
"SETTINGS_RAW_PICGO_SIZE": "原PicGo大小",
|
||||
"SETTINGS_CUSTOM_MINI_ICON_PATH": "自定义Mini窗口图标路径",
|
||||
"SETTINGS_CUSTOM_MINI_ICON": "是否自定义Mini窗口图标",
|
||||
"SETTINGS_COMPRESS_AND_WATERMARK": "设置图片水印和压缩-格式转换等参数",
|
||||
"SETTINGS_SYNC_DELETE_CLOUD": "相册内删除时同步删除云端文件",
|
||||
"SETTINGS_ISHIDEDOCK": "是否隐藏dock图标",
|
||||
"SETTINGS_ISHIDEDOCK_TIPS": "不支持同时隐藏dock和托盘",
|
||||
"SETTINGS_ENCODE_OUTPUT_URL": "输出(复制) URL 时进行转义",
|
||||
"SETTINGS_WATCH_CLIPBOARD": "软件启动时自动监听剪贴板上传",
|
||||
"SETTINGS_SHORT_URL": "使用短链接",
|
||||
"SETTINGS_SHORT_URL_SERVER": "短链接服务",
|
||||
"SETTINGS_SHORT_URL_C1N_TOKEN": "C1N Token",
|
||||
"SETTINGS_SHORT_URL_YOURLS_DOMAIN": "YOURLS域名",
|
||||
"SETTINGS_SHORT_URL_YOURLS_SIGNATURE": "YOURLS signature",
|
||||
"SETTINGS_SHORT_URL_CF_WORKER_HOST": "Cloudflare Worker域名",
|
||||
"SETTINGS_SHORT_SINK_DOMAIN": "sink域名",
|
||||
"SETTINGS_SHORT_SINK_TOKEN": "sink token",
|
||||
"SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD": "上传后删除本地文件",
|
||||
"SETTINGS_SYNC_CONFIG": "设置配置同步",
|
||||
"SETTINGS_SYNC_CONFIG_TITLE": "同步设置",
|
||||
"SETTINGS_SYNC_CONFIG_NOTE": "同步的文件为配置文件",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_TYPE": "选择同步方式",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_FILE": "选择同步文件",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_CONFIG": "仅配置文件",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_GALLERY": "仅相册文件",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_BOTH": "配置文件和相册文件",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_HOST": "Gitea 网址",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_USERNAME": "GitHub用户名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_USERNAME": "Gitea用户名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_USERNAME": "Gitee用户名",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_REPO": "仓库(私有)",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_REPO": "仓库",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_REPO": "仓库路径名",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_BRANCH": "GitHub分支",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_BRANCH": "Gitea分支",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_BRANCH": "Gitee分支",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_TOKEN": "GitHub Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_TOKEN": "Gitea Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_TOKEN": "Gitee Token",
|
||||
"SETTINGS_SYNC_CONFIG_PROXY": "代理",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER": "请输入GitHub用户名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER": "请输入Gitea用户名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER": "请输入Gitee用户名",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER": "请输入GitHub仓库名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER": "请输入Gitea仓库名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER": "请输入Gitee仓库名",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER": "请输入GitHub分支名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER": "请输入Gitea分支名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER": "请输入Gitee分支名",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER": "请输入GitHub Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER": "请输入Gitea Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER": "请输入Gitee Token",
|
||||
"SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER": "请输入代理地址",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT": "WebDAV端点",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT_PLACEHOLDER": "请输入WebDAV端点URL",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME": "用户名",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME_PLACEHOLDER": "请输入WebDAV用户名",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD": "密码",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD_PLACEHOLDER": "请输入WebDAV密码",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_AUTH_TYPE": "认证类型",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_SSL_ENABLED": "启用SSL/HTTPS",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH": "保存路径",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH_PLACEHOLDER": "请选择同步文件的保存路径",
|
||||
"SETTINGS_UP_DOWN_DESC": "上传下载配置文件",
|
||||
"SETTINGS_SYNC_UPLOAD": "上传",
|
||||
"SETTINGS_SYNC_DOWNLOAD": "下载",
|
||||
"SETTINGS_SYNC_UPLOAD_ALL": "上传所有",
|
||||
"SETTINGS_SYNC_DOWNLOAD_ALL": "下载所有",
|
||||
"SETTINGS_SYNC_UPLOAD_SUCCESS": "上传成功",
|
||||
"SETTINGS_SYNC_UPLOAD_FAILED": "上传失败",
|
||||
"SETTINGS_SYNC_DOWNLOAD_SUCCESS": "下载成功",
|
||||
"SETTINGS_SYNC_DOWNLOAD_FAILED": "下载失败",
|
||||
"SETTINGS_SYNC_COMMON_CONFIG": "通用配置",
|
||||
"SETTINGS_SYNC_MANAGE_CONFIG": "管理配置",
|
||||
"SETTINGS_AUTO_IMPORT": "管理页面自动导入配置",
|
||||
"SETTINGS_AUTO_IMPORT_SELECT_PICBED": "选择需要开启自动导入的图床",
|
||||
"SETTINGS_TAB_SYSTEM": "系统设置",
|
||||
"SETTINGS_TAB_SYNC_CONFIG": "同步与配置",
|
||||
"SETTINGS_TAB_UPLOAD": "上传设置",
|
||||
"SETTINGS_TAB_ADVANCED": "高级设置",
|
||||
"SETTINGS_TAB_UPDATE": "更新",
|
||||
"SHORTCUT_NAME": "快捷键名称",
|
||||
"SHORTCUT_BIND": "快捷键绑定",
|
||||
"SHORTCUT_STATUS": "状态",
|
||||
"SHORTCUT_ENABLED": "已启用",
|
||||
"SHORTCUT_DISABLED": "已禁用",
|
||||
"SHORTCUT_SOURCE": "来源",
|
||||
"SHORTCUT_HANDLE": "操作",
|
||||
"SHORTCUT_ENABLE": "启用",
|
||||
"SHORTCUT_DISABLE": "禁用",
|
||||
"SHORTCUT_EDIT": "编辑",
|
||||
"SHORTCUT_CHANGE_UPLOAD": "修改上传快捷键",
|
||||
"WAIT_TO_UPLOAD": "等待上传",
|
||||
"ALREADY_UPLOAD": "已上传",
|
||||
"DRAG_FILE_TO_HERE": "将文件拖拽到此处,或",
|
||||
"CLICK_TO_UPLOAD": "点击上传",
|
||||
"LINK_FORMAT": "链接格式",
|
||||
"CLIPBOARD_PICTURE": "剪贴板",
|
||||
"TIPS_DRAG_VALID_PICTURE_OR_URL": "请拖入合法的图片文件或者图片URL地址",
|
||||
"TIPS_INPUT_URL": "请输入URL",
|
||||
"TIPS_HTTP_PREFIX": "http://或者https://开头",
|
||||
"TIPS_INPUT_VALID_URL": "请输入合法的URL",
|
||||
"PLUGIN_SEARCH_PLACEHOLDER": "搜索npm上的PicGo插件,或者点击上方按钮查看优秀插件列表",
|
||||
"PLUGIN_INSTALL": "安装",
|
||||
"PLUGIN_INSTALLING": "安装中",
|
||||
"PLUGIN_INSTALLED": "已安装",
|
||||
"PLUGIN_DOING_SOMETHING": "进行中",
|
||||
"PLUGIN_LIST": "插件列表",
|
||||
"PLUGIN_IMPORT_LOCAL": "导入本地插件",
|
||||
"PLUGIN_UPDATE_ALL": "更新全部插件",
|
||||
"TIPS_REMOVE_LINK": "此操作将把该图片移出相册, 是否继续?",
|
||||
"TIPS_WILL_REMOVE_CHOOSED_IMAGES": "将在相册中移除刚才选中的 ${m} 张图片,是否继续?",
|
||||
"TIPS_MUST_CONTAINS_URL": "必须含有$url 或 $fileName 或 $extName",
|
||||
"TIPS_NETWORK_ERROR": "网络错误暂时无法获取",
|
||||
"TIPS_NEED_RELOAD": "需要重启生效",
|
||||
"TIPS_PLEASE_CHOOSE_LOG_LEVEL": "请选择日志记录等级",
|
||||
"TIPS_SET_SUCCEED": "设置成功",
|
||||
"TIPS_RESET_SUCCEED": "重置成功",
|
||||
"TIPS_PLUGIN_NOT_GUI_IMPLEMENT": "该插件未对可视化界面进行优化, 是否继续安装?",
|
||||
"MANAGE_SETTING_TITLE": "管理页面设置",
|
||||
"MANAGE_SETTING_ISAUTOREFRESH_TITLE": "每次进入新目录时,是否自动刷新文件列表",
|
||||
"MANAGE_SETTING_ISAUTOREFRESH_TIPS": "仅对不分页模式有效,默认在加载过一次后自动缓存到数据库来加快下次加载速度",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_TITLE": "清空文件列表缓存数据库 已占用:",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_FREE_TITLE": "剩余可用:",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_TIPS": "清空后下次进入新目录时将会重新加载文件列表",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_PROMPT": "确定要清空文件列表缓存数据库吗?",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_BUTTON": "清空",
|
||||
"MANAGE_SETTING_ISSHOWTHUMBNAIL_TITLE": "图片显示为原图而非默认文件格式图标(需要存储桶可公开访问)",
|
||||
"MANAGE_SETTING_ISUSEPRESIGNEDURL_TITLE": "使用预签名URL预览图片",
|
||||
"MANAGE_SETTING_ISSHOWLIST_TITLE": "文件列表默认显示方式",
|
||||
"MANAGE_SETTING_ISSHOWLIST_ON": "列表",
|
||||
"MANAGE_SETTING_ISSHOWLIST_OFF": "卡片",
|
||||
"MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TITLE": "为自定义域名开启强制HTTPS",
|
||||
"MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TIPS": "开启后, 复制链接等操作将会自动为自定义域名添加https前缀",
|
||||
"MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TITLE": "上传时保留目录结构",
|
||||
"MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TIPS": "关闭后会将所有文件展开到指定目录下",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_A": "下载",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_B": "文件",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_C": "时保留目录结构",
|
||||
"MANAGE_SETTING_ISDOWNLOADFOLDERKEEPDIRSTRUCTURE_TITLE_D": "文件夹",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TIPS": "开启后,下载时会保留原始目录结构",
|
||||
"MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TITLE": "最大同时下载文件数(1-9999)",
|
||||
"MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS": "腾讯云由于后端实现不同,该设置不生效",
|
||||
"MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_INPUT_TIPS": "请输入最大同时下载文件数",
|
||||
"MANAGE_SETTING_ISIGNORECASE_TITLE": "文件搜索时,是否忽略大小写",
|
||||
"MANAGE_SETTING_ISIGNORECASE_TIPS": "开启后,搜索时会忽略大小写",
|
||||
"MANAGE_SETTING_TIMESTAMPRENAME_TITLE": "上传文件时间戳重命名--(优先级最高)",
|
||||
"MANAGE_SETTING_TIMESTAMPRENAME_TIPS": "开启后,上传文件时会自动重命名为时间戳",
|
||||
"MANAGE_SETTING_RANDOMSTRINGRENAME_TITLE": "上传文件随机字符串重命名--(优先级中)",
|
||||
"MANAGE_SETTING_RANDOMSTRINGRENAME_TIPS": "随机字符串长度为20",
|
||||
"MANAGE_SETTING_CUSTOMRENAME_TITLE": "上传文件自定义重命名--(优先级最低)",
|
||||
"MANAGE_SETTING_CUSTOMRENAME_TIPS": "请填写自定义重命名格式",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TITLE": "自定义重命名格式,占位符请参考下表,可自由组合",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TIPS": "请填写自定义重命名格式",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TITLE": "占位符",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TIPS": "描述",
|
||||
"MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TITLE": "预签名URL过期时间(单位:秒)",
|
||||
"MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TIPS": "请填写预签名URL过期时间",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_TITLE": "选择默认复制的链接格式",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN": "Markdown",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN_WITH_LINK": "Markdown(带链接)",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_RAWURL": "原始链接",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_HTML": "HTML格式",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_BBCODE": "BBCode格式",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_CUSTOM": "自定义格式",
|
||||
"MANAGE_SETTING_CUSTOM_COPY_FORMAT_TITLE": "自定义链接格式($url为链接,$fileName为文件名)",
|
||||
"MANAGE_SETTING_CUSTOM_COPY_FORMAT_TIPS": "请填写自定义链接格式",
|
||||
"MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TITLE": "选择下载目录",
|
||||
"MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TIPS": "系统默认下载目录",
|
||||
"MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_BUTTON": "选择目录",
|
||||
"MANAGE_SETTING_COPY_MESSAGE": "已复制",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_SUCCESS": "清除成功",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_FAILED": "清除失败",
|
||||
"MANAGE_SETTING_ISENCODEURL_TITLE": "复制链接时进行URL编码",
|
||||
"MANAGE_SETTING_ISENCODEURL_TIPS": "根据平台选择是否开启",
|
||||
"MANAGE_NO_DATA": "暂无数据",
|
||||
"MANAGE_MAIN_PAGE_NEW_BUCKET": "新建存储桶",
|
||||
"MANAGE_MAIN_PAGE_BACK_TO_HOME": "返回首页",
|
||||
"MANAGE_MAIN_PAGE_SWITCH_PICBED": "切换图床",
|
||||
"MANAGE_MAIN_PAGE_SETTING": "设置",
|
||||
"MANAGE_MAIN_PAGE_SUBMIT": "提交",
|
||||
"MANAGE_MAIN_PAGE_TIPS": "提示",
|
||||
"MANAGE_MAIN_PAGE_TIPS_SUCCESS": "创建成功",
|
||||
"MANAGE_MAIN_PAGE_TIPS_FAILED": "创建失败",
|
||||
"MANAGE_MAIN_PAGE_BUCKET": "存储桶",
|
||||
"MANAGE_MAIN_PAGE_GALLERY": "相册",
|
||||
"MANAGE_MAIN_PAGE_REPOSITORY": "仓库",
|
||||
"MANAGE_CONSTANT_BASE_RULE": "请输入",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A": "请输入每页显示数量",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B": "每页显示数量必须为数字",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C": "每页显示数量必须在20-1000之间",
|
||||
"MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A": "请输入别名, 该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B": "别名只能包含中文、英文、数字、下划线和中划线",
|
||||
"MANAGE_CONSTANT_ALIAS_TOOLTIP": "别名只能包含中文、英文、数字、下划线和中划线",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP": "每页显示数量必须在20-1000之间",
|
||||
"MANAGE_CONSTANT_PAGING_TOOLTIP": "关闭分页时,目录列表将使用数据库缓存以优化性能",
|
||||
"MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP": "英文逗号分隔,如:bucket1,bucket2,bucket3,和起始目录顺序一一对应",
|
||||
"MANAGE_CONSTANT_BASE_DIR_TOOLTIP": "英文逗号分隔,如:/dir1,/dir2,/dir3, 和存储桶顺序一一对应",
|
||||
"MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP": "开启时,将自动获取存储桶绑定的域名,关闭时可手动填写",
|
||||
"MANAGE_CONSTANT_SMMS_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER": "该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_SMMS_TOKEN_DESC": "Token-必需",
|
||||
"MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER": "请填写Token",
|
||||
"MANAGE_CONSTANT_SMMS_PAGING_DESC": "是否开启分页",
|
||||
"MANAGE_CONSTANT_SMMS_EXPLAIN": "大陆地区请访问备用域名https://smms.app, 请勿大批量上传图片,否则API接口会被限制",
|
||||
"MANAGE_CONSTANT_SMMS_REFER_TEXT": "配置教程请参考: ",
|
||||
"MANAGE_CONSTANT_QINIU_NAME": "七牛云",
|
||||
"MANAGE_CONSTANT_QINIU_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER": "该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC": "accessKey-必需",
|
||||
"MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER": "请填写accessKey",
|
||||
"MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC": "secretKey-必需",
|
||||
"MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER": "请填写secretKey",
|
||||
"MANAGE_CONSTANT_QINIU_BUCKET_DESC": "空间名-可选",
|
||||
"MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER": "英文逗号分隔,例如:bucket1,bucket2",
|
||||
"MANAGE_CONSTANT_QINIU_BASE_DIR_DESC": "起始目录-可选",
|
||||
"MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER": "英文逗号分隔,例如:/dir1,/dir2",
|
||||
"MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC": "是否自动获取绑定域名",
|
||||
"MANAGE_CONSTANT_QINIU_PAGING_DESC": "是否开启分页",
|
||||
"MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC": "每页显示数量",
|
||||
"MANAGE_CONSTANT_QINIU_EXPLAIN": "空间名和起始目录配置时可通过英文逗号分隔设置,顺序必须一致,逗号间留空或缺失项使用默认值",
|
||||
"MANAGE_CONSTANT_QINIU_REFER_TEXT": "配置教程请参考: ",
|
||||
"MANAGE_CONSTANT_GITHUB_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER": "该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_GITHUB_TOKEN_DESC": "Token-必需",
|
||||
"MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER": "请填写Token",
|
||||
"MANAGE_CONSTANT_GITHUB_TOKEN_TIPS": "请提供具有完整repo权限的token,否则部分功能可能无法使用",
|
||||
"MANAGE_CONSTANT_GITHUB_USER_DESC": "用户名-必需",
|
||||
"MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER": "请填写用户名",
|
||||
"MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE": "用户名",
|
||||
"MANAGE_CONSTANT_GITHUB_PROXY_DESC": "代理地址-可选",
|
||||
"MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER": "例如:http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_GITHUB_PROXY_TIPS": "如果访问速度较慢,可以尝试配置代理",
|
||||
"MANAGE_CONSTANT_GITHUB_PAGING_DESC": "是否开启分页",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC": "CDN加速域名-可选",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER": "支持使用{username}、{repo}、{branch}和{path}作为替换占位符,用于适配不同仓库和分支",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS": "例如: https://cdn.staticaly.com/gh/{username}/{repo}@{branch}/{path}",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A": "加速域名请以http://或https://开头",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B": "加速域名中的大括号必须成对出现",
|
||||
"MANAGE_CONSTANT_GITHUB_EXPLAIN": "API调用有每小时上限,此外不支持上传超过100M的文件",
|
||||
"MANAGE_CONSTANT_GITHUB_REFER_TEXT": "配置教程请参考: ",
|
||||
"MANAGE_CONSTANT_ALIYUN_NAME": "阿里云",
|
||||
"MANAGE_CONSTANT_ALIYUN_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER": "该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC": "accessKeyId-必需",
|
||||
"MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC": "accessKeySecret-必需",
|
||||
"MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER": "请填写accessKeySecret",
|
||||
"MANAGE_CONSTANT_ALIYUN_BUCKET_DESC": "存储桶名-可选",
|
||||
"MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER": "英文逗号分隔,例如:bucket1,bucket2",
|
||||
"MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC": "起始目录-可选",
|
||||
"MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER": "英文逗号分隔,例如:/dir1,/dir2",
|
||||
"MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC": "是否自动获取绑定域名",
|
||||
"MANAGE_CONSTANT_ALIYUN_PAGING_DESC": "是否开启分页",
|
||||
"MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC": "每页显示数量",
|
||||
"MANAGE_CONSTANT_ALIYUN_EXPLAIN": "存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值",
|
||||
"MANAGE_CONSTANT_ALIYUN_REFER_TEXT": "配置教程请参考: ",
|
||||
"MANAGE_CONSTANT_TENCENT_NAME": "腾讯云",
|
||||
"MANAGE_CONSTANT_TENCENT_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER": "该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC": "secretId-必需",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER": "请填写secretId",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC": "secretKey-必需",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER": "请填写secretKey",
|
||||
"MANAGE_CONSTANT_TENCENT_APPID_DESC": "appId-必需",
|
||||
"MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER": "请填写appId",
|
||||
"MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP": "例如:1250000000",
|
||||
"MANAGE_CONSTANT_TENCENT_BUCKET_DESC": "存储桶名-可选(注意包含AppId)",
|
||||
"MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER": "英文逗号分隔,例如:bucket1-1250000000,bucket2-1250000000",
|
||||
"MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC": "起始目录-可选",
|
||||
"MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER": "英文逗号分隔,例如:/dir1,/dir2",
|
||||
"MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC": "是否自动获取绑定域名",
|
||||
"MANAGE_CONSTANT_TENCENT_PAGING_DESC": "是否开启分页",
|
||||
"MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC": "每页显示数量",
|
||||
"MANAGE_CONSTANT_TENCENT_EXPLAIN": "存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值",
|
||||
"MANAGE_CONSTANT_TENCENT_REFER_TEXT": "配置教程请参考: ",
|
||||
"MANAGE_CONSTANT_UPYUN_NAME": "又拍云",
|
||||
"MANAGE_CONSTANT_UPYUN_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER": "该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_UPYUN_BUCKET_DESC": "服务名-必需",
|
||||
"MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER": "对应其它对象存储的存储桶名",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC": "操作员名-必需",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER": "推荐使用具有读取、写入和删除完整权限的操作员",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE": "操作员",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC": "操作员密码-必需",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER": "请填写密码",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE": "操作员密码",
|
||||
"MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC": "起始目录-可选",
|
||||
"MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER": "读取文件时的初始目录",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC": "加速域名-必需",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER": "请以http://或https://开头",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A": "加速域名不能为空",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B": "自定义域名请以http://或https://开头",
|
||||
"MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_DESC": "防盗链密钥-可选",
|
||||
"MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_PLACEHOLDER": "请填写防盗链密钥",
|
||||
"MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_TOOLTIP": "如果不填写,默认不启用防盗链",
|
||||
"MANAGE_CONSTANT_UPYUN_EXPIRE_TIME_DESC": "防盗链过期时间(秒)-可选",
|
||||
"MANAGE_CONSTANT_UPYUN_PAGING": "是否开启分页",
|
||||
"MANAGE_CONSTANT_UPYUN_ITEMS_PAGE": "每页显示数量",
|
||||
"MANAGE_CONSTANT_UPYUN_EXPLAIN": "又拍云图床务必填写加速域名,否则无法正常使用",
|
||||
"MANAGE_CONSTANT_UPYUN_REFER_TEXT": "配置教程请参考: ",
|
||||
"MANAGE_CONSTANT_IMGUR_NAME": "Imgur",
|
||||
"MANAGE_CONSTANT_IMGUR_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER": "该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_IMGUR_USERNAME_DESC": "imgur用户名-必需",
|
||||
"MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER": "请填写imgur用户名",
|
||||
"MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC": "access token-必需",
|
||||
"MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER": "请填写access token",
|
||||
"MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP": "不是clientID,请参考配置教程",
|
||||
"MANAGE_CONSTANT_IMGUR_PROXY_DESC": "代理-可选",
|
||||
"MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER": "例如:http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP": "大陆地区请使用代理,否则无法正常使用",
|
||||
"MANAGE_CONSTANT_IMGUR_EXPLAIN": "大陆地区请使用代理,API调用存在限制,请注意使用频率",
|
||||
"MANAGE_CONSTANT_IMGUR_REFER_TEXT": "配置教程请参考: ",
|
||||
"MANAGE_CONSTANT_S3_NAME": "S3兼容云",
|
||||
"MANAGE_CONSTANT_S3_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER": "该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC": "accessKeyId-必需",
|
||||
"MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER": "请填写accessKeyId",
|
||||
"MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC": "secretAccessKey-必需",
|
||||
"MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER": "请填写secretAccessKey",
|
||||
"MANAGE_CONSTANT_S3_ENDPOINT_DESC": "endpoint-可选",
|
||||
"MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER": "例如:s3.us-east-1.amazonaws.com",
|
||||
"MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP": "如果不填写,默认访问 AWS S3,请提供根API endpoint",
|
||||
"MANAGE_CONSTANT_S3_SSLENABLED_DESC": "使用HTTPS连接",
|
||||
"MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP": "如果您的平台不支持,请关闭该选项",
|
||||
"MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC": "启用 S3 Path style",
|
||||
"MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP": "例如使用 minio 时需要启用",
|
||||
"MANAGE_CONSTANT_S3_PROXY_DESC": "代理-可选",
|
||||
"MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER": "例如:http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_S3_PROXY_TOOLTIP": "如果部分平台大陆地区无法访问,请使用代理",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC": "上传文件的权限",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE": "私有",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ": "公共读",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE": "公共读写",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ": "授权读",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ": "桶所有者读",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL": "桶所有者完全控制",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ": "AWS执行读",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP": "上传文件的权限,可选值:private、public-read、public-read-write、authenticated-read、bucket-owner-read、bucket-owner-full-control、aws-exec-read",
|
||||
"MANAGE_CONSTANT_S3_BUCKET_DESC": "存储桶名-可选",
|
||||
"MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER": "英文逗号分隔,例如:bucket1,bucket2",
|
||||
"MANAGE_CONSTANT_S3_BASE_DIR_DESC": "起始目录-可选",
|
||||
"MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER": "英文逗号分隔,例如:/dir1,/dir2",
|
||||
"MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_DESC": "是否使用Doge Cloud",
|
||||
"MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_TOOLTIP": "开启后,将使用Doge Cloud的API",
|
||||
"MANAGE_CONSTANT_S3_PAGING_DESC": "是否开启分页",
|
||||
"MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC": "每页显示数量",
|
||||
"MANAGE_CONSTANT_S3_EXPLAIN": "存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值",
|
||||
"MANAGE_CONSTANT_S3_REFER_TEXT": "配置教程请参考: ",
|
||||
"MANAGE_CONSTANT_WEBDAV_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER": "该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_WEBDAV_HOST_DESC": "地址-必需",
|
||||
"MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER": "例如:https://example.com/dav",
|
||||
"MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP": "请填写完整的WebDAV地址",
|
||||
"MANAGE_CONSTANT_WEBDAV_USERNAME_DESC": "用户名-必需",
|
||||
"MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER": "请填写用户名",
|
||||
"MANAGE_CONSTANT_WEBDAV_BUCKET_DESC": "特殊配置",
|
||||
"MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER": "例如:bucket1",
|
||||
"MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP": "此处不可修改,仅为软件兼容性考虑",
|
||||
"MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC": "密码-必需",
|
||||
"MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER": "请填写密码",
|
||||
"MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC": "起始目录-可选",
|
||||
"MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER": "例如:/dir1",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC": "自定义域名-可选",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER": "例如:https://example.com",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP": "如果您的WebDAV服务器支持自定义域名,请填写",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE": "自定义域名请以http://或https://开头",
|
||||
"MANAGE_CONSTANT_WEBDAV_WEB_PATH": "网址拼接用起始路径",
|
||||
"MANAGE_CONSTANT_WEBDAV_WEB_PATH_PLACEHOLDER": "例如:test/ttc",
|
||||
"MANAGE_CONSTANT_WEBDAV_WEB_PATH_TOOLTIP": "用于拼接网址",
|
||||
"MANAGE_CONSTANT_WEBDAV_PROXY_DESC": "代理-可选",
|
||||
"MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER": "例如:http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP": "如果需要特殊网络环境才能访问,请使用代理",
|
||||
"MANAGE_CONSTANT_WEBDAV_SSL_DESC": "使用HTTPS连接",
|
||||
"MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP": "根据WebDAV服务器的配置,如果您的服务器不支持HTTPS,请关闭该选项",
|
||||
"MANAGE_CONSTANT_WEBDAV_AUTH_TYPE_DESC": "认证类型",
|
||||
"MANAGE_CONSTANT_WEBDAV_EXPLAIN": "WebDAV配置",
|
||||
"MANAGE_CONSTANT_WEBDAV_REFER_TEXT": "配置教程请参考: ",
|
||||
"MANAGE_CONSTANT_LOCAL_NAME": "本地存储",
|
||||
"MANAGE_CONSTANT_LOCAL_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_LOCAL_ALIAS_PLACEHOLDER": "该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_LOCAL_BASE_DIR_DESC": "起始目录-必需",
|
||||
"MANAGE_CONSTANT_LOCAL_BASE_DIR_PLACEHOLDER": "请填写起始目录",
|
||||
"MANAGE_CONSTANT_LOCAL_CUSTOM_URL_DESC": "自定义域名-可选",
|
||||
"MANAGE_CONSTANT_LOCAL_CUSTOM_URL_PLACEHOLDER": "例如:https://example.com",
|
||||
"MANAGE_CONSTANT_LOCAL_CUSTOM_URL_TOOLTIP": "如果您的本地存储支持自定义域名,请填写",
|
||||
"MANAGE_CONSTANT_LOCAL_WEB_PATH": "网址拼接用起始路径",
|
||||
"MANAGE_CONSTANT_LOCAL_WEB_PATH_PLACEHOLDER": "例如:test/ttc",
|
||||
"MANAGE_CONSTANT_LOCAL_WEB_PATH_TOOLTIP": "用于拼接网址",
|
||||
"MANAGE_CONSTANT_LOCAL_EXPLAIN": "本地存储配置",
|
||||
"MANAGE_CONSTANT_LOCAL_REFER_TEXT": "配置教程请参考: ",
|
||||
"MANAGE_CONSTANT_LOCAL_BASE_DIR_RULE_MESSAGE": "起始目录不能为空",
|
||||
"MANAGE_CONSTANT_LOCAL_BUCKET_DESC": "特殊配置",
|
||||
"MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER": "例如:bucket1",
|
||||
"MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP": "此处不可修改,仅为软件兼容性考虑",
|
||||
"MANAGE_CONSTANT_SFTP_NAME": "SFTP",
|
||||
"MANAGE_CONSTANT_SFTP_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER": "该配置的唯一标识",
|
||||
"MANAGE_CONSTANT_SFTP_HOST_DESC": "SSH地址-必需",
|
||||
"MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER": "例如:233.233.233.233",
|
||||
"MANAGE_CONSTANT_SFTP_PORT_DESC": "SSH端口-必需",
|
||||
"MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER": "例如:22",
|
||||
"MANAGE_CONSTANT_SFTP_USERNAME_DESC": "用户名",
|
||||
"MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER": "请填写用户名",
|
||||
"MANAGE_CONSTANT_SFTP_PASSWORD_DESC": "密码",
|
||||
"MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER": "请填写密码",
|
||||
"MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC": "私钥地址",
|
||||
"MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER": "请填写私钥地址",
|
||||
"MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC": "私钥密码",
|
||||
"MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER": "请填写私钥密码",
|
||||
"MANAGE_CONSTANT_SFTP_BASE_DIR_DESC": "起始目录-可选",
|
||||
"MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER": "例如:/dir1",
|
||||
"MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC": "自定义域名-可选",
|
||||
"MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER": "例如:https://example.com",
|
||||
"MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP": "如果您的对应路径支持域名访问,请填写",
|
||||
"MANAGE_CONSTANT_SFTP_WEB_PATH": "网址拼接用起始路径",
|
||||
"MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER": "例如:test/ttc",
|
||||
"MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP": "用于拼接网址",
|
||||
"MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC": "文件权限",
|
||||
"MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER": "例如:0644",
|
||||
"MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC": "目录权限",
|
||||
"MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER": "例如:0755",
|
||||
"MANAGE_CONSTANT_SFTP_EXPLAIN": "SFTP配置",
|
||||
"MANAGE_CONSTANT_SFTP_REFER_TEXT": "配置教程请参考: ",
|
||||
"MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE": "起始目录不能为空",
|
||||
"MANAGE_CONSTANT_SFTP_BUCKET_DESC": "特殊配置",
|
||||
"MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER": "例如:bucket1",
|
||||
"MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP": "此处不可修改,仅为软件兼容性考虑",
|
||||
"MANAGE_LOGIN_PAGE_PANE_NAME": "已保存配置",
|
||||
"MANAGE_LOGIN_PAGE_PANE_KEY_NAME": "配置项",
|
||||
"MANAGE_LOGIN_PAGE_PANE_KEY_VALUE": "值",
|
||||
"MANAGE_LOGIN_PAGE_PANE_ENTER": "进入",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE": "删除",
|
||||
"MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER": "请选择",
|
||||
"MANAGE_LOGIN_PAGE_PANE_IMPORT": "导入",
|
||||
"MANAGE_LOGIN_PAGE_PANE_SAVE": "保存",
|
||||
"MANAGE_LOGIN_PAGE_PANE_RESET": "重置",
|
||||
"MANAGE_LOGIN_PAGE_PANE_TABLE_TITLE": "已有配置,单击可复制对应单元格数据",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_MESSAGE_A": "请填写",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ALIAS_MESSAGE": "别名只能包含中文、英文、数字、下划线和中划线",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ITEMS_PER_PAGE_MESSAGE": "每页数量必须在20-1000之间",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_CUSTOM_URL_MESSAGE": "自定义域名请以http://或https://开头",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME": "通知",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE": "已覆盖别名",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_B": "已保存别名",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C": "已删除别名",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D": "删除别名为",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E": "的配置失败",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS": "已复制",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE": "确定要删除配置么?",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP": "提示",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM": "确定",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_PAGE_LOADING_TEXT": "加载文件中...",
|
||||
"MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER": "请选择自定义域名",
|
||||
"MANAGE_BUCKET_PAGE_CUSTOM_URL_INPUT_PLACEHOLDER": "请输入自定义域名",
|
||||
"MANAGE_BUCKET_PAGE_UPLOAD_FILES_TOOLTIP": "文件上传(支持多选)",
|
||||
"MANAGE_BUCKET_PAGE_UPLOAD_FROM_URL_TOOLTIP": "从URL上传",
|
||||
"MANAGE_BUCKET_PAGE_CREATE_FOLDER_TOOLTIP": "创建文件夹",
|
||||
"MANAGE_BUCKET_PAGE_DOWNLOAD_TOOLTIP": "下载页面",
|
||||
"MANAGE_BUCKET_PAGE_BATCH_RENAME_TOOLTIP": "批量重命名",
|
||||
"MANAGE_BUCKET_PAGE_BATCH_COPY_URL_TOOLTIP": "批量复制URL",
|
||||
"MANAGE_BUCKET_PAGE_COPY_FILE_INFO_TOOLTIP": "复制文件信息",
|
||||
"MANAGE_BUCKET_PAGE_FORCE_REFRESH_TOOLTIP": "强制刷新文件列表",
|
||||
"MANAGE_BUCKET_PAGE_SEARCH_PLACEHOLDER": "搜索文件",
|
||||
"MANAGE_BUCKET_PAGE_ROOT_FOLDER": "根目录",
|
||||
"MANAGE_BUCKET_PAGE_FILE_NUMBER": "文件数: ",
|
||||
"MANAGE_BUCKET_PAGE_FILE_SIZE": "总大小: ",
|
||||
"MANAGE_BUCKET_PAGE_SELECT_ALL": "全选",
|
||||
"MANAGE_BUCKET_PAGE_SELECT_NONE": "取消",
|
||||
"MANAGE_BUCKET_PAGE_SELECT_INVERT": "反选",
|
||||
"MANAGE_BUCKET_DOWNLOAD_BTN": "下载",
|
||||
"MANAGE_BUCKET_DELETE_BTN": "删除",
|
||||
"MANAGE_BUCKET_SORT_TITLE": "排序",
|
||||
"MANAGE_BUCKET_SORT_NAME": "文件名",
|
||||
"MANAGE_BUCKET_SORT_SIZE": "大小",
|
||||
"MANAGE_BUCKET_SORT_EXT": "类型",
|
||||
"MANAGE_BUCKET_SORT_TIME": "时间",
|
||||
"MANAGE_BUCKET_SORT_CHECK": "选中状态",
|
||||
"MANAGE_BUCKET_SORT_INIT": "初始化",
|
||||
"MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE": "请输入URL,支持多个URL,以换行分隔",
|
||||
"MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_URL_FORMAT_MARKDOWN": "Markdown",
|
||||
"MANAGE_BUCKET_URL_FORMAT_MARKDOWN_WITH_LINK": "Markdown-link",
|
||||
"MANAGE_BUCKET_URL_FORMAT_URL": "Url",
|
||||
"MANAGE_BUCKET_URL_FORMAT_HTML": "Html",
|
||||
"MANAGE_BUCKET_URL_FORMAT_BBCODE": "BBCode",
|
||||
"MANAGE_BUCKET_URL_FORMAT_CUSTOM": "自定义",
|
||||
"MANAGE_BUCKET_URL_FORMAT_PRESIGN": "预签名链接",
|
||||
"MANAGE_BUCKET_FILE_INFO_TITLE": "文件信息",
|
||||
"MANAGE_BUCKET_FILE_INFO_COPY_TIPS": "复制JSON格式信息",
|
||||
"MANAGE_BUCKET_FILE_LIST_LOADING": "加载中,点击取消",
|
||||
"MANAGE_BUCKET_FILE_LIST_DOWNLOAD_PRE": "准备下载中,点击取消",
|
||||
"MANAGE_BUCKET_KEEP_FOLDER_STRUCTURE": "保持目录结构",
|
||||
"MANAGE_BUCKET_NOT_KEEP_FOLDER_STRUCTURE": "不保持目录结构",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_TITLE": "拖放上传支持递归上传文件夹",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_TEXT": "或:点击选择文件(不支持文件夹)",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_BTN_LOADING": "读取文件中",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_BTN": "上传",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_CLEAR": "清空",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_STATUS_UPLOADING": "上传中",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_COPY_TASK": "复制上传任务信息",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_CLEAR_UPLOADED_TASK": "清空已完成任务",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_CLEAR_ALL_TASK": "清空所有任务",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_SUCCESS": "成功",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_FAILED": "失败",
|
||||
"MANAGE_BUCKET_DOWNLOAD_PAGE_TITLE": "下载页面",
|
||||
"MANAGE_BUCKET_DOWNLOADING": "下载中",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COPY_TASK": "复制下载任务信息",
|
||||
"MANAGE_BUCKET_DOWNLOAD_CLEAR_DOWNLOADED_TASK": "清空已完成任务",
|
||||
"MANAGE_BUCKET_DOWNLOAD_CLEAR_ALL_TASK": "清空所有任务",
|
||||
"MANAGE_BUCKET_DOWNLOAD_OPEN_FOLDER": "打开下载目录",
|
||||
"MANAGE_BUCKET_DOWNLOAD_SUCCESS": "成功",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FAILED": "失败",
|
||||
"MANAGE_BUCKET_MARKDOWN_PREVIEW": "预览",
|
||||
"MANAGE_BUCKET_PLAY": "播放",
|
||||
"MANAGE_BUCKET_RENAME_FILE": "文件重命名",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_A": "进行替换时匹配的字符串或js正则表达式",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS": "正则表达式请直接输入,不需要加上/",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_A_PLACEHOLDER": "例如:^\\d{4}-\\d{2}-\\d{2} ",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_B": "需要替换的字符串,可使用自定义重命名规则中的占位符",
|
||||
"MANAGE_BUCKET_RENAME_FILE_TABLE_IID": "自增数字",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT": "是否匹配扩展名进行替换",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT_TIPS": "如果希望修改扩展名,请勾选此项",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT_YES": "是",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT_NO": "否",
|
||||
"MANAGE_BUCKET_RENAME_FILE_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_RENAME_FILE_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_COPY_SUCCESS": "复制成功",
|
||||
"MANAGE_BUCKET_START_LOADING_MESSAGE": "开始获取文件",
|
||||
"MANAGE_BUCKET_END_LOADING_MESSAGE_FAIL": "获取文件内容失败",
|
||||
"MANAGE_BUCKET_LAST_PAGE_TITLE": "提示",
|
||||
"MANAGE_BUCKET_LAST_PAGE_MSG": "已经是最后一页了",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_TITLE": "提示",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_MSG": "获取文件列表失败",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_MSG2": "正在后台获取文件列表,请不要切换页面",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_MSG3": "正在加载文件列表,请稍后再试",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TITLE": "确定要下载该文件夹吗?",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TIP": "提示",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_SUCCESS": "获取下载列表成功",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_FAIL": "获取失败",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_CANCEL": "已取消",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_TITLE": "请输入文件夹名称",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_TIP": "新建文件夹",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_ERROR_MSG": "文件夹名称只能包含中文、英文、数字、下划线和斜杠",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_SUCCESS": "创建成功, 请刷新",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_FAIL": "创建失败",
|
||||
"MANAGE_BUCKET_UPLOAD_URL_ERROR_MSQ": "请输入有效的URL",
|
||||
"MANAGE_BUCKET_UPLOAD_URL_NOT_TITLE": "提示",
|
||||
"MANAGE_BUCKET_UPLOAD_URL_NOT_MSG": "开始后台下载,成功后自动上传",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG": "请输入匹配字符串",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG2": "没有匹配到文件",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG3": "没有需要重命名的文件",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_A": "检测到有",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_B": "个文件重复,是否继续",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_C": "提示",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_A": "重命名成功",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_B": "失败",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_CANCEL": "已取消",
|
||||
"MANAGE_BUCKET_BATCH_COPY_INFO_ERROR_MSG": "请先选择文件",
|
||||
"MANAGE_BUCKET_BATCH_COPY_INFO_MSG_A": "已复制",
|
||||
"MANAGE_BUCKET_BATCH_COPY_INFO_MSG_B": "个文件信息",
|
||||
"MANAGE_BUCKET_BATCH_COPY_URL_ERROR_MSG": "请先选择文件",
|
||||
"MANAGE_BUCKET_BATCH_COPY_URL_MSG_A": "已复制",
|
||||
"MANAGE_BUCKET_BATCH_COPY_URL_MSG_B": "个链接",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_TITLE": "是否停止获取文件列表?",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_MSG": "提示",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_SUCCESS": "文件列表获取已停止",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_TITLE": "是否停止下载文件获取?",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_MSG": "提示",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_SUCCESS": "下载文件获取已停止",
|
||||
"MANAGE_BUCKET_GET_FILE_BS_NOT_TITLE": "提示",
|
||||
"MANAGE_BUCKET_GET_FILE_BS_NOT_MSG": "获取文件列表成功",
|
||||
"MANAGE_BUCKET_GET_FILE_BS_NOT_MSG2": "部分文件获取失败",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_A": "将永久删除",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_B": "个文件,是否继续?",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_MSG": "提示",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_TITLE": "提示",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG": "删除失败",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG2": "删除成功",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG3": "失败",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CANCEL": "已取消删除",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE": "将永久删除",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER": "文件夹",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER_A": "和该目录下的所有文件",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FILE": "文件",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_C": "是否继续",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_MSG": "提示",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_DELETE_ERROR_MSG_TITLE": "提示",
|
||||
"MANAGE_BUCKET_DELETE_ERROR_MSG_MSG": "删除文件夹可能需要一段时间,请耐心等待",
|
||||
"MANAGE_BUCKET_DELETE_SUCCESS": "删除成功",
|
||||
"MANAGE_BUCKET_DELETE_FAIL": "删除失败",
|
||||
"MANAGE_BUCKET_DELETE_CANCEL": "已取消删除",
|
||||
"MANAGE_BUCKET_RENAME_INFO_MSG": "新文件名与原文件名相同,无需重命名",
|
||||
"MANAGE_BUCKET_RENAME_SUCCESS": "重命名成功",
|
||||
"MANAGE_BUCKET_RENAME_ERROR_MSG": "重命名失败",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_FINISHTIME": "完成时间",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS": "状态",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_SUCCESS": "成功",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_FAIL": "失败",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_TARGETFILEPATH": "上传路径",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_FINISHTIME": "完成时间",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_STATUS": "状态",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_SUCCESS": "成功",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_FAIL": "失败",
|
||||
"MANAGE_BUCKET_DOWNLOADING_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_DOWNLOADING_COLUMN_PROGRESS": "进度",
|
||||
"MANAGE_BUCKET_UPLOADING_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_UPLOADING_COLUMN_PROGRESS": "进度",
|
||||
"MANAGE_BUCKET_UPLOADED_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_UPLOADED_COLUMN_FILESIZE": "大小",
|
||||
"MANAGE_BUCKET_UPLOADED_COLUMN_FILENUM": "文件数",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_COPY_URL": "复制链接",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_INFO": "文件信息",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_FILESIZE": "大小",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_TIME": "修改时间",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_NAME": "腾讯云",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_DESC": "Bucket名",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_PLACEHOLDER": "请输入Bucket名",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_A": "Bucket名不能为空",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_B": "Bucket名称长度不能超过23个字符",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_C": "Bucket名称只能包含小写字母、数字和中划线,且不能以中划线开头和结尾",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_REGION": "区域",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_DESC": "访问权限",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_RW": "公共读写",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_R": "公共读",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_PRIVATE": "私有",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_NAME": "阿里云",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_DESC": "Bucket名",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_PLACEHOLDER": "请输入Bucket名",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_A": "Bucket名不能为空",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_B": "Bucket名称长度不能超过63个字符",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_C": "Bucket名称只能包含小写字母、数字和中划线,且不能以中划线开头和结尾",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_REGION": "区域",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_DESC": "访问权限",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_RW": "公共读写",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_R": "公共读",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_PRIVATE": "私有",
|
||||
"MANAGE_NEW_BUCKET_QINIU_NAME": "七牛云",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_DESC": "Bucket名",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_PLACEHOLDER": "请输入Bucket名",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_A": "Bucket名不能为空",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B": "Bucket名称长度不能超过63个字符",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C": "Bucket名称只能包含小写字母、数字和中划线,且不能以中划线开头和结尾",
|
||||
"MANAGE_NEW_BUCKET_QINIU_REGION": "区域",
|
||||
"MANAGE_NEW_BUCKET_QINIU_ACL_DESC": "公开访问",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_NAME": "S3兼容云",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC": "Bucket名",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER": "请输入Bucket名",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A": "Bucket名不能为空",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_REGION": "区域",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC": "访问权限",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW": "公共读写",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R": "公共读",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE": "私有",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ": "授权读",
|
||||
"PLUGIN_UPDATE_SUCCEED": "插件更新成功",
|
||||
"TIPS_NOTICE": "注意"
|
||||
}
|
||||
876
src/renderer/i18n/locales/zh-TW.json
Normal file
876
src/renderer/i18n/locales/zh-TW.json
Normal file
@@ -0,0 +1,876 @@
|
||||
{
|
||||
"OPEN_MAIN_WINDOW": "打開主視窗",
|
||||
"OPERATION_SUCCEED": "操作成功",
|
||||
"QUICK_UPLOAD": "快速上傳",
|
||||
"PICBED_QRCODE": "圖床配置 QRCODE",
|
||||
"CONFIG_THING": "設定${c}",
|
||||
"TOOLBOX_TITLE": "排查 PicList 執行時問題",
|
||||
"TOOLBOX_SUB_TITLE": "立即掃描以下項目,修復使用問題",
|
||||
"TOOLBOX_CHECK_CONFIG_FILE_BROKEN": "檢查配置文件是否損壞",
|
||||
"TOOLBOX_CHECK_GALLERY_FILE_BROKEN": "檢查相冊文件是否損壞",
|
||||
"TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD": "檢查剪貼板圖片上傳是否存在問題",
|
||||
"TOOLBOX_CHECK_PROBLEM_WITH_PROXY": "檢查代理設置是否正常",
|
||||
"TOOLBOX_FIX_DONE_NEED_RELOAD": "修復完成,需要重啓生效,是否重啓",
|
||||
"TOOLBOX_CANT_AUTO_FIX": "無法自動修復,請自行修復以下問題",
|
||||
"TOOLBOX_START_SCAN": "開始掃描",
|
||||
"TOOLBOX_RE_SCAN": "重新掃描",
|
||||
"TOOLBOX_START_FIX": "開始修復",
|
||||
"TOOLBOX_SUCCESS_TIPS": "恭喜你,沒有檢查出問題",
|
||||
"MANUAL_PAGE_OPEN_TIP": "請選擇打開方式",
|
||||
"MANUAL_PAGE_OPEN_TIP_TITLE": "Tips",
|
||||
"MANUAL_PAGE_OPEN_BY_BROWSER": "瀏覽器",
|
||||
"MANUAL_PAGE_OPEN_BY_BUILD_IN": "內置窗口",
|
||||
"MANUAL_PAGE_OPEN_SETTING_TIP": "選擇打開手冊方式",
|
||||
"UPLOAD_AREA": "上傳",
|
||||
"UPLOAD_VIEW_HINT": "點擊打開圖床設定",
|
||||
"MANAGE_PAGE": "管理",
|
||||
"GALLERY": "相簿",
|
||||
"REFRESH": "刷新",
|
||||
"MANUAL": "手冊",
|
||||
"PICBEDS_SETTINGS": "圖床",
|
||||
"PICLIST_SETTINGS": "設定",
|
||||
"PLUGIN_SETTINGS": "插件",
|
||||
"CHOOSE_PICBED": "選擇圖床",
|
||||
"COPY_PICBED_CONFIG": "複製圖床設定",
|
||||
"COPY_PICBED_CONFIG_SUCCEED": "複製圖床設定成功",
|
||||
"INPUT": "輸入框",
|
||||
"CANCEL": "取消",
|
||||
"CONFIRM": "確定",
|
||||
"RESET_PICBED_CONFIG": "重置",
|
||||
"CHOOSE_SHOWED_PICBED": "請選擇顯示的圖床",
|
||||
"CHOOSE_PASTE_FORMAT": "請選擇貼上的格式",
|
||||
"COPY": "複製",
|
||||
"DELETE": "刪除",
|
||||
"SELECT_ALL": "全選",
|
||||
"CHANGE_IMAGE_URL": "修改圖片URL",
|
||||
"CHANGE_IMAGE_URL_SUCCEED": "修改圖片URL成功",
|
||||
"COPY_LINK_SUCCEED": "複製連結成功",
|
||||
"BATCH_COPY_LINK_SUCCEED": "批量複製連結成功",
|
||||
"FILE_RENAME": "檔案改名",
|
||||
"OPEN_FILE_PATH": "打開檔案路徑",
|
||||
"GALLERY_SYNC_DELETE": "刪除雲端",
|
||||
"GALLERY_SYNC_DELETE_NOTICE_TITLE": "通知",
|
||||
"GALLERY_SYNC_DELETE_NOTICE_SUCCEED": "雲端刪除成功",
|
||||
"GALLERY_SYNC_DELETE_NOTICE_FAILED": "雲端刪除失敗",
|
||||
"GALLERY_CHANGE_URL": "修改",
|
||||
"GALLERY_SEARCH_FILENAME": "搜尋文件名",
|
||||
"GALLERY_SEARCH_URL": "搜尋URL",
|
||||
"GALLERY_MATCHED": " 匹配到: ",
|
||||
"UPLOAD_PAGE_COPY_UPLOAD_API": "複製上傳API",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_NAME": "圖片處理",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE": "圖片處理設置",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST": "跳過處理的文件擴展名列表",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS": "請填寫需要跳過處理的文件擴展名列表, 以英文逗號分隔, 如: jpg,png,gif",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM": "是否添加水印",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE": "水印類型",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT": "文字",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE": "圖片",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM": "是否全屏水印",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE": "水印角度",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT": "水印文字",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH": "水印字體路徑(第一次需下載字體文件)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO": "水印占原圖比例",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR": "水印顏色,請從取色器中選擇",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMPATH": "水印圖片路徑(留空使用預設圖片)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION": "水印位置",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF": "是否移除EXIF信息",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_QUALITY": "壓縮質量(1-100)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT": "是否轉換格式",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT": "轉換目的格式",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC": "指定格式, 请输入JSON格式配置,如{\"jpg\":\"png\"}",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISFLIP": "是否進行垂直翻轉",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISFLOP": "是否進行水平翻轉",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE": "是否按固定尺寸調整圖片",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH": "調整尺寸寬度(設為0則按高度等比縮放)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT": "調整尺寸高度(設為0則按寬度等比縮放)",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_HEIGHT": "當圖片高度小於設定高度時跳過縮放",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_WIDTH": "當圖片寬度小於設定寬度時跳過縮放",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT": "是否按比例調整尺寸,優先級更高",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT": "調整尺寸比例,輸入50表示50%",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE": "是否旋轉",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE": "旋轉角度",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM": "儲存",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_CANCEL": "取消",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP": "上",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM": "下",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT": "左",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT": "右",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT": "左上",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT": "右上",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT": "左下",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT": "右下",
|
||||
"UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER": "中",
|
||||
"UPLOAD_SHORT_URL": "短連結",
|
||||
"UPLOAD_NORMAL_URL": "长連結",
|
||||
"SETTINGS": "設定",
|
||||
"SETTINGS_OPEN_CONFIG_FILE": "打開設定檔案",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO": "從PicGo導入設定",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_TITLE": "通知",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_CONTENT": "即將導入PicGo的設定文件和相冊, 這將會覆蓋當前的設定, 是否繼續?",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_SUCCESS": "導入成功, 請重啟應用",
|
||||
"SETTINGS_MIGRATE_FROM_PICGO_FAILED": "導入失敗",
|
||||
"SETTINGS_START_MODE": "啟動模式",
|
||||
"SETTINGS_START_MODE_MINI": "mini視窗",
|
||||
"SETTINGS_START_MODE_MAIN": "主視窗",
|
||||
"SETTINGS_START_MODE_QUIET": "靜默啟動",
|
||||
"SETTINGS_START_MODE_NO_TRAY": "隐藏托盘",
|
||||
"SETTINGS_CLICK_TO_OPEN": "點擊打開",
|
||||
"SETTINGS_SET_LOG_FILE": "設定記錄檔案",
|
||||
"SETTINGS_CLICK_TO_SET": "點擊設定",
|
||||
"SETTINGS_CLICK_TO_CHECK": "點擊檢查",
|
||||
"SETTINGS_SET_SHORTCUT": "設定快捷鍵",
|
||||
"SETTINGS_CUSTOM_LINK_FORMAT": "自訂連結格式",
|
||||
"SETTINGS_SET_PROXY_AND_MIRROR": "設定PROXY和鏡像地址",
|
||||
"SETTINGS_SET_SERVER": "設定Server",
|
||||
"SETTINGS_CHECK_UPDATE": "檢查更新",
|
||||
"SETTINGS_OPEN_UPDATE_HELPER": "打開更新助手",
|
||||
"SETTINGS_OPEN": "開",
|
||||
"SETTINGS_CLOSE": "關",
|
||||
"SETTINGS_CLOSE_MINI_WINDOW_SYNC": "開主窗口同步關閉mini窗口",
|
||||
"SETTINGS_CLOSE_MAIN_WINDOW_SYNC": "關mini窗口同步關閉主窗口",
|
||||
"SETTINGS_LAUNCH_ON_BOOT": "開機時啟動",
|
||||
"SETTINGS_RENAME_BEFORE_UPLOAD": "手動重新命名",
|
||||
"SETTINGS_TIMESTAMP_RENAME": "以時間戳命名",
|
||||
"SETTINGS_ADVANCED_RENAME": "高級命名",
|
||||
"SETTINGS_ADVANCED_RENAME_ENABLE": "啟用高級命名",
|
||||
"SETTINGS_ADVANCED_RENAME_FORMAT": "高級命名格式",
|
||||
"SETTINGS_ENABLE_SECOND_PICBED": "啟用第二圖床同步上傳",
|
||||
"SETTINGS_SET_SECOND_PICBED": "設定第二圖床",
|
||||
"SETTINGS_OPEN_UPLOAD_TIPS": "開啟上傳提示",
|
||||
"SETTINGS_OPEN_UPLOAD_RESULT_TIPS": "開啟上傳結果提示",
|
||||
"SETTINGS_MINI_WINDOW_ON_TOP": "Mini視窗置頂",
|
||||
"SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD": "上傳後自動複製URL",
|
||||
"SETTINGS_TIPS_PLACEHOLDER_URL": "用佔位符 $url 來表示URL的位置",
|
||||
"SETTINGS_TIPS_PLACEHOLDER_FILENAME": "用佔位符 $fileName 來表示檔案名稱的位置",
|
||||
"SETTINGS_TIPS_PLACEHOLDER_EXTNAME": "用佔位符 $extName 來表示檔案格式的位置",
|
||||
"SETTINGS_TIPS_SUCH_AS": "如",
|
||||
"SETTINGS_UPLOAD_PROXY": "上傳PROXY",
|
||||
"SETTINGS_PLUGIN_INSTALL_PROXY": "插件安裝PROXY",
|
||||
"SETTINGS_PLUGIN_INSTALL_MIRROR": "插件安裝鏡像",
|
||||
"SETTINGS_CURRENT_VERSION": "當前版本",
|
||||
"SETTINGS_NEWEST_VERSION": "最新版本",
|
||||
"SETTINGS_GETING": "正在取得中",
|
||||
"SETTINGS_TIPS_HAS_NEW_VERSION": "PicList更新啦,請點擊確定重启應用",
|
||||
"SETTINGS_LOG_FILE_PATH": "記錄檔案路徑",
|
||||
"SETTINGS_CONFIG_FILE_PATH": "設定檔案路徑",
|
||||
"SETTINGS_LOG_FILE": "記錄檔案",
|
||||
"SETTINGS_GUI_LOG_FILE": "GUI記錄檔案",
|
||||
"SETTINGS_MANAGE_LOG_FILE": "管理記錄檔案",
|
||||
"SETTINGS_LOG_LEVEL": "記錄等级",
|
||||
"SETTINGS_LOG_FILE_SIZE": "記錄檔案大小",
|
||||
"SETTINGS_SET_PICGO_SERVER": "設定PicGo-Server",
|
||||
"SETTINGS_TIPS_SERVER_NOTICE": "如果你不知道Server的作用,請閱讀文檔,或者不用修改設定。",
|
||||
"SETTINGS_ENABLE_SERVER": "是否開啟Server",
|
||||
"SETTINGS_SET_SERVER_HOST": "設定監聽地址",
|
||||
"SETTINGS_SET_SERVER_PORT": "設定監聽端口",
|
||||
"SETTINGS_SET_SERVER_KEY": "設定鑒權密鑰",
|
||||
"SETTINGS_SET_WEB_SERVER": "設定Web服務",
|
||||
"SETTINGS_TIPS_WEB_SERVER_NOTICE": "如果你不知道Web服務的作用,請閱讀文檔,或者不用修改設定。",
|
||||
"SETTINGS_SET_ENABLE_WEB_SERVER": "是否開啟Web服務",
|
||||
"SETTINGS_SET_WEB_SERVER_HOST": "設定Web服務地",
|
||||
"SETTINGS_SET_WEB_SERVER_PORT": "設定Web服務端口",
|
||||
"SETTINGS_SET_WEB_SERVER_PATH": "設定Web服務路徑",
|
||||
"SETTINGS_TIP_PLACEHOLDER_WEB_HOST": "推薦預設地址:127.0.0.1",
|
||||
"SETTINGS_TIP_PLACEHOLDER_WEB_PORT": "推薦預設端口:37777",
|
||||
"SETTINGS_TIP_PLACEHOLDER_HOST": "推薦預設地址:127.0.0.1",
|
||||
"SETTINGS_TIP_PLACEHOLDER_PORT": "推薦預設端口:36677",
|
||||
"SETTINGS_TIP_PLACEHOLDER_KEY": "用於接口鑒權, 通過url參數添加'?key=xxx'",
|
||||
"SETTINGS_SET_SERVER_AES_KEY": "設定AES加密密鑰",
|
||||
"SETTINGS_LOG_LEVEL_ALL": "全部-All",
|
||||
"SETTINGS_LOG_LEVEL_SUCCESS": "成功-Success",
|
||||
"SETTINGS_LOG_LEVEL_ERROR": "錯誤-Error",
|
||||
"SETTINGS_LOG_LEVEL_INFO": "普通-Info",
|
||||
"SETTINGS_LOG_LEVEL_WARN": "提醒-Warn",
|
||||
"SETTINGS_LOG_LEVEL_NONE": "不記錄-None",
|
||||
"SETTINGS_RESULT": "設定結果",
|
||||
"SETTINGS_DEFAULT_PICBED": "設定預設圖床",
|
||||
"SETTINGS_SET_DEFAULT_PICBED": "設為預設圖床",
|
||||
"SETTINGS_NOT_CONFIG_OPTIONS": "暫無設定選項",
|
||||
"SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD": "使用內建剪貼簿上傳",
|
||||
"SETTINGS_CHOOSE_LANGUAGE": "選擇語言",
|
||||
"BUILTIN_CLIPBOARD_TIPS": "使用內建剪貼簿函數而不是調用腳本取得剪貼簿內的照片",
|
||||
"UPLOADER_CONFIG_NAME": "圖床配置名",
|
||||
"UPLOADER_CONFIG_PLACEHOLDER": "請輸入配置名稱",
|
||||
"SELECTED_SETTING_HINT": "已選中",
|
||||
"SETTINGS_MAIN_WINDOW_SIZE": "默認主視窗大小",
|
||||
"SETTINGS_MAIN_WINDOW_SIZE_WIDTH": "默認主視窗寬度",
|
||||
"SETTINGS_MAIN_WINDOW_WIDTH_HINT": "默認: 1200",
|
||||
"SETTINGS_MAIN_WINDOW_SIZE_HEIGHT": "默認主視窗高度",
|
||||
"SETTINGS_MAIN_WINDOW_HEIGHT_HINT": "默認: 800",
|
||||
"SETTINGS_RAW_PICGO_SIZE": "原PicGo大小",
|
||||
"SETTINGS_CUSTOM_MINI_ICON_PATH": "自訂Mini視窗圖示路徑",
|
||||
"SETTINGS_CUSTOM_MINI_ICON": "自訂Mini視窗圖示",
|
||||
"SETTINGS_COMPRESS_AND_WATERMARK": "設置圖片浮水印和壓縮-格式轉換等參數",
|
||||
"SETTINGS_SYNC_DELETE_CLOUD": "從相簿中刪除並同步從雲端刪除",
|
||||
"SETTINGS_ISHIDEDOCK": "是否隱藏dock圖示",
|
||||
"SETTINGS_ISHIDEDOCK_TIPS": "不支持同時隱藏dock和托盘",
|
||||
"SETTINGS_ENCODE_OUTPUT_URL": "輸出(複製) URL 時進行轉義",
|
||||
"SETTINGS_WATCH_CLIPBOARD": "軟體啟動時自動監聽剪貼簿上傳",
|
||||
"SETTINGS_SHORT_URL": "使用短網址",
|
||||
"SETTINGS_SHORT_URL_SERVER": "短網址服務",
|
||||
"SETTINGS_SHORT_URL_C1N_TOKEN": "C1N Token",
|
||||
"SETTINGS_SHORT_URL_YOURLS_DOMAIN": "YOURLS域名",
|
||||
"SETTINGS_SHORT_URL_YOURLS_SIGNATURE": "YOURLS signature",
|
||||
"SETTINGS_SHORT_URL_CF_WORKER_HOST": "Cloudflare Worker Host",
|
||||
"SETTINGS_SHORT_SINK_DOMAIN": "sink域名",
|
||||
"SETTINGS_SHORT_SINK_TOKEN": "sink token",
|
||||
"SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD": "上傳後刪除本地檔案",
|
||||
"SETTINGS_SYNC_CONFIG": "設置同步配置",
|
||||
"SETTINGS_SYNC_CONFIG_TITLE": "同步設置",
|
||||
"SETTINGS_SYNC_CONFIG_NOTE": "同步的檔案为配置檔案",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_TYPE": "選擇同步方式",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_FILE": "選擇同步檔案",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_CONFIG": "僅配置檔案",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_GALLERY": "僅相簿檔案",
|
||||
"SETTINGS_SYNC_CONFIG_SELECT_BOTH": "配置檔案和相簿檔案",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_HOST": "Gitea Host",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_USERNAME": "用戶名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_USERNAME": "用戶名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_USERNAME": "用戶名",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_REPO": "儲存庫(私有)",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_REPO": "儲存庫",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_REPO": "儲存庫路径",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_BRANCH": "GitHub 分支",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_BRANCH": "Gitea 分支",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_BRANCH": "Gitee 分支",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_TOKEN": "GitHub Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_TOKEN": "Gitea Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_TOKEN": "Gitee Token",
|
||||
"SETTINGS_SYNC_CONFIG_PROXY": "代理",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER": "請輸入 GitHub 用戶名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER": "請輸入 Gitea 用戶名",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER": "請輸入 Gitee 用戶名",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER": "請輸入 GitHub 儲存庫名稱",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER": "請輸入 Gitea 儲存庫名稱",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER": "請輸入 Gitee 儲存庫名稱",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER": "請輸入 GitHub 分支名稱",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER": "請輸入 Gitea 分支名稱",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER": "請輸入 Gitee 分支名稱",
|
||||
"SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER": "請輸入 GitHub Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER": "請輸入 Gitea Token",
|
||||
"SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER": "請輸入 Gitee Token",
|
||||
"SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER": "請輸入代理地址",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT": "WebDAV端點",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT_PLACEHOLDER": "請輸入WebDAV端點URL",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME": "用戶名",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME_PLACEHOLDER": "請輸入WebDAV用戶名",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD": "密碼",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD_PLACEHOLDER": "請輸入WebDAV密碼",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_AUTH_TYPE": "認證類型",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_SSL_ENABLED": "啟用SSL/HTTPS",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH": "保存路徑",
|
||||
"SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH_PLACEHOLDER": "請選擇同步檔案的保存路徑",
|
||||
"SETTINGS_UP_DOWN_DESC": "上傳和下載配置檔案",
|
||||
"SETTINGS_SYNC_UPLOAD": "上傳",
|
||||
"SETTINGS_SYNC_DOWNLOAD": "下載",
|
||||
"SETTINGS_SYNC_UPLOAD_ALL": "上傳全部",
|
||||
"SETTINGS_SYNC_DOWNLOAD_ALL": "下載全部",
|
||||
"SETTINGS_SYNC_UPLOAD_SUCCESS": "上傳成功",
|
||||
"SETTINGS_SYNC_UPLOAD_FAILED": "上傳失敗",
|
||||
"SETTINGS_SYNC_DOWNLOAD_SUCCESS": "下載成功",
|
||||
"SETTINGS_SYNC_DOWNLOAD_FAILED": "下載失敗",
|
||||
"SETTINGS_SYNC_COMMON_CONFIG": "通用配置",
|
||||
"SETTINGS_SYNC_MANAGE_CONFIG": "管理配置",
|
||||
"SETTINGS_AUTO_IMPORT": "管理頁面自動導入配置",
|
||||
"SETTINGS_AUTO_IMPORT_SELECT_PICBED": "選擇需要開啟自動導入的圖床",
|
||||
"SETTINGS_TAB_SYSTEM": "系統設置",
|
||||
"SETTINGS_TAB_SYNC_CONFIG": "同步與配置",
|
||||
"SETTINGS_TAB_UPLOAD": "上傳設置",
|
||||
"SETTINGS_TAB_ADVANCED": "高級設置",
|
||||
"SETTINGS_TAB_UPDATE": "更新",
|
||||
"SHORTCUT_NAME": "快捷鍵名稱",
|
||||
"SHORTCUT_BIND": "快捷鍵綁定",
|
||||
"SHORTCUT_STATUS": "狀態",
|
||||
"SHORTCUT_ENABLED": "已啟用",
|
||||
"SHORTCUT_DISABLED": "已禁用",
|
||||
"SHORTCUT_SOURCE": "來源",
|
||||
"SHORTCUT_HANDLE": "操作",
|
||||
"SHORTCUT_ENABLE": "啟用",
|
||||
"SHORTCUT_DISABLE": "禁用",
|
||||
"SHORTCUT_EDIT": "編輯",
|
||||
"SHORTCUT_CHANGE_UPLOAD": "修改上傳快捷鍵",
|
||||
"WAIT_TO_UPLOAD": "等待上傳",
|
||||
"ALREADY_UPLOAD": "已上傳",
|
||||
"DRAG_FILE_TO_HERE": "將檔案拖曳到此處,或",
|
||||
"CLICK_TO_UPLOAD": "點擊上傳",
|
||||
"LINK_FORMAT": "連結格式",
|
||||
"CLIPBOARD_PICTURE": "剪貼簿",
|
||||
"TIPS_DRAG_VALID_PICTURE_OR_URL": "請拖入合法的圖片檔案或者圖片URL地址",
|
||||
"TIPS_INPUT_URL": "請輸入URL",
|
||||
"TIPS_HTTP_PREFIX": "http://或者https://開頭",
|
||||
"TIPS_INPUT_VALID_URL": "請輸入合法的URL",
|
||||
"PLUGIN_SEARCH_PLACEHOLDER": "搜尋npm上的PicGo插件,或者點擊上方按鈕查看優秀插件列表",
|
||||
"PLUGIN_INSTALL": "安裝",
|
||||
"PLUGIN_INSTALLING": "安裝中",
|
||||
"PLUGIN_INSTALLED": "已安裝",
|
||||
"PLUGIN_DOING_SOMETHING": "進行中",
|
||||
"PLUGIN_LIST": "插件列表",
|
||||
"PLUGIN_IMPORT_LOCAL": "導入本地插件",
|
||||
"PLUGIN_UPDATE_ALL": "更新全部插件",
|
||||
"TIPS_REMOVE_LINK": "此操作將在相簿中移除該圖片,是否繼續?",
|
||||
"TIPS_WILL_REMOVE_CHOOSED_IMAGES": "將在相簿中移除剛才選中的 ${m} 張圖片,是否繼續?",
|
||||
"TIPS_MUST_CONTAINS_URL": "必須含有$url 或 $fileName 或 $extName",
|
||||
"TIPS_NETWORK_ERROR": "網路錯誤,暫時無法取得",
|
||||
"TIPS_NEED_RELOAD": "需要重新啟動生效",
|
||||
"TIPS_PLEASE_CHOOSE_LOG_LEVEL": "請選擇記錄等級",
|
||||
"TIPS_SET_SUCCEED": "設定成功",
|
||||
"TIPS_RESET_SUCCEED": "重置成功",
|
||||
"TIPS_PLUGIN_NOT_GUI_IMPLEMENT": "該插件未對GUI進行優化,是否繼續安裝?",
|
||||
"MANAGE_SETTING_TITLE": "管理設定",
|
||||
"MANAGE_SETTING_ISAUTOREFRESH_TITLE": "每次進入新目錄時,是否自動重新整理檔案列表",
|
||||
"MANAGE_SETTING_ISAUTOREFRESH_TIPS": "僅對不分頁模式有效,預設會在載入後自動快取至資料庫以提升下次載入速度",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_TITLE": "清空檔案列表快取資料庫 已佔用:",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_FREE_TITLE": "剩餘可用:",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_TIPS": "清空後下次進入新目錄時將會重新載入檔案列表",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_PROMPT": "確定要清空檔案列表快取資料庫嗎?",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_BUTTON": "清空",
|
||||
"MANAGE_SETTING_ISSHOWTHUMBNAIL_TITLE": "顯示圖片的原始圖像而非預設的檔案格式圖示(需要存儲桶公開訪問權限)",
|
||||
"MANAGE_SETTING_ISUSEPRESIGNEDURL_TITLE": "使用預簽名URL预览圖片",
|
||||
"MANAGE_SETTING_ISSHOWLIST_TITLE": "檔案列表預設顯示方式",
|
||||
"MANAGE_SETTING_ISSHOWLIST_ON": "列表",
|
||||
"MANAGE_SETTING_ISSHOWLIST_OFF": "卡片",
|
||||
"MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TITLE": "自定義域名啟用強制 HTTPS",
|
||||
"MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TIPS": "開啟後,複製鏈結等操作將會自動為自定義域名添加 HTTPS 前綴",
|
||||
"MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TITLE": "保留上傳時的目錄結構",
|
||||
"MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TIPS": "停用後,所有文件將會展開到指定目錄下",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_A": "下載",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_B": "文件",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_C": "時保留目錄結構",
|
||||
"MANAGE_SETTING_ISDOWNLOADFOLDERKEEPDIRSTRUCTURE_TITLE_D": "目錄",
|
||||
"MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TIPS": "啟用後,下載時會保留原始目錄結構",
|
||||
"MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TITLE": "最大同時下載檔案數量(1-9999)",
|
||||
"MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS": "由於後端實現方式不同,此設定在腾讯云上不生效",
|
||||
"MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_INPUT_TIPS": "請輸入最大同時下載檔案數量",
|
||||
"MANAGE_SETTING_ISIGNORECASE_TITLE": "搜尋檔案時,是否忽略大小寫",
|
||||
"MANAGE_SETTING_ISIGNORECASE_TIPS": "啟用後,搜尋時將會忽略大小寫",
|
||||
"MANAGE_SETTING_TIMESTAMPRENAME_TITLE": "上傳檔案時間戳重新命名--(最高優先級)",
|
||||
"MANAGE_SETTING_TIMESTAMPRENAME_TIPS": "啟用後,上傳檔案時將會使用時間戳重新命名",
|
||||
"MANAGE_SETTING_RANDOMSTRINGRENAME_TITLE": "上傳檔案隨機字符串重新命名--(中優先級)",
|
||||
"MANAGE_SETTING_RANDOMSTRINGRENAME_TIPS": "隨機字符串長度為20",
|
||||
"MANAGE_SETTING_CUSTOMRENAME_TITLE": "上傳檔案自定義重新命名--(最低優先級)",
|
||||
"MANAGE_SETTING_CUSTOMRENAME_TIPS": "啟用後,上傳檔案時將會使用自定義重新命名",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TITLE": "自訂重新命名格式,占位符請參考下表,可自由組合",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TIPS": "請輸入自訂重新命名格式",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TITLE": "占位符",
|
||||
"MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TIPS": "說明",
|
||||
"MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TITLE": "預設下載鏈結有效期(秒)",
|
||||
"MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TIPS": "請輸入下載鏈結有效期",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_TITLE": "選擇預設複製的連結格式",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN": "Markdown",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN_WITH_LINK": "Markdown(帶連結)",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_RAWURL": "原始鏈結",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_HTML": "HTML格式",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_BBCODE": "BBCode格式",
|
||||
"MANAGE_SETTING_CHOOSE_COPY_FORMAT_CUSTOM": "自定義格式",
|
||||
"MANAGE_SETTING_CUSTOM_COPY_FORMAT_TITLE": "自定義鏈結格式($url為原始鏈結,$fileName為檔案名稱)",
|
||||
"MANAGE_SETTING_CUSTOM_COPY_FORMAT_TIPS": "請輸入自定義鏈結格式",
|
||||
"MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TITLE": "選擇下載目錄",
|
||||
"MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TIPS": "系統預設下載目錄",
|
||||
"MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_BUTTON": "選擇目錄",
|
||||
"MANAGE_SETTING_COPY_MESSAGE": "已複製",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_SUCCESS": "清除成功",
|
||||
"MANAGE_SETTING_CLEAR_CACHE_FAILED": "清除失敗",
|
||||
"MANAGE_SETTING_ISENCODEURL_TITLE": "複製鏈結時編碼",
|
||||
"MANAGE_SETTING_ISENCODEURL_TIPS": "啟用後,複製鏈結時將會編碼",
|
||||
"MANAGE_NO_DATA": "暫無數據",
|
||||
"MANAGE_MAIN_PAGE_NEW_BUCKET": "新建存儲桶",
|
||||
"MANAGE_MAIN_PAGE_BACK_TO_HOME": "返回首頁",
|
||||
"MANAGE_MAIN_PAGE_SWITCH_PICBED": "切換圖床",
|
||||
"MANAGE_MAIN_PAGE_SETTING": "設定",
|
||||
"MANAGE_MAIN_PAGE_SUBMIT": "提交",
|
||||
"MANAGE_MAIN_PAGE_TIPS": "提示",
|
||||
"MANAGE_MAIN_PAGE_TIPS_SUCCESS": "創建成功",
|
||||
"MANAGE_MAIN_PAGE_TIPS_FAILED": "創建失敗",
|
||||
"MANAGE_MAIN_PAGE_BUCKET": "存儲桶",
|
||||
"MANAGE_MAIN_PAGE_GALLERY": "圖庫",
|
||||
"MANAGE_MAIN_PAGE_REPOSITORY": "倉庫",
|
||||
"MANAGE_CONSTANT_BASE_RULE": "請輸入",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A": "請輸入每頁顯示數量",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B": "每頁顯示數量必須為數字",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C": "每頁顯示數量必須在20-1000之間",
|
||||
"MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A": "請輸入別名,該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B": "別名只能包含中文、英文、數字、下劃線和中劃線",
|
||||
"MANAGE_CONSTANT_ALIAS_TOOLTIP": "別名只能包含中文、英文、數字、下劃線和中劃線",
|
||||
"MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP": "每頁顯示數量必須在20-1000之間",
|
||||
"MANAGE_CONSTANT_PAGING_TOOLTIP": "關閉分頁時,目錄列表將使用數據庫緩存以優化性能",
|
||||
"MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP": "英文逗號分隔,如:bucket1,bucket2,bucket3,和起始目錄順序一一對應",
|
||||
"MANAGE_CONSTANT_BASE_DIR_TOOLTIP": "英文逗號分隔,如:/dir1,/dir2,/dir3, 和存儲桶順序一一對應",
|
||||
"MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP": "開啟時,將自動獲取存儲桶綁定的域名,關閉時可手動填寫",
|
||||
"MANAGE_CONSTANT_SMMS_ALIAS_DESC": "配置別名-必需",
|
||||
"MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER": "該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_SMMS_TOKEN_DESC": "Token-必需",
|
||||
"MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER": "請填寫Token",
|
||||
"MANAGE_CONSTANT_SMMS_PAGING_DESC": "是否開啟分頁",
|
||||
"MANAGE_CONSTANT_SMMS_EXPLAIN": "大陸地區請訪問備用域名https://smms.app,請勿大批量上傳圖片,否則API接口會被限制",
|
||||
"MANAGE_CONSTANT_SMMS_REFER_TEXT": "配置教程請參考:",
|
||||
"MANAGE_CONSTANT_QINIU_NAME": "七牛雲",
|
||||
"MANAGE_CONSTANT_QINIU_ALIAS_DESC": "配置別名-必需",
|
||||
"MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER": "該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC": "accessKey-必需",
|
||||
"MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER": "請填寫 accessKey",
|
||||
"MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC": "secretKey-必需",
|
||||
"MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER": "請填寫 secretKey",
|
||||
"MANAGE_CONSTANT_QINIU_BUCKET_DESC": "空間名-可選",
|
||||
"MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER": "英文逗號分隔,例如:bucket1,bucket2",
|
||||
"MANAGE_CONSTANT_QINIU_BASE_DIR_DESC": "起始目錄-可選",
|
||||
"MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER": "英文逗號分隔,例如:/dir1,/dir2",
|
||||
"MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC": "是否自動獲取綁定域名",
|
||||
"MANAGE_CONSTANT_QINIU_PAGING_DESC": "是否開啟分頁",
|
||||
"MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC": "每頁顯示數量",
|
||||
"MANAGE_CONSTANT_QINIU_EXPLAIN": "空間名和起始目錄配置時可通過英文逗號分隔設置,順序必須一致,逗號間留空或缺失項使用默認值",
|
||||
"MANAGE_CONSTANT_QINIU_REFER_TEXT": "配置教程請參考: ",
|
||||
"MANAGE_CONSTANT_GITHUB_ALIAS_DESC": "配置別名-必需",
|
||||
"MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER": "該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_GITHUB_TOKEN_DESC": "Token-必需",
|
||||
"MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER": "請填寫Token",
|
||||
"MANAGE_CONSTANT_GITHUB_TOKEN_TIPS": "請提供具有完整repo權限的token,否則部分功能可能無法使用",
|
||||
"MANAGE_CONSTANT_GITHUB_USER_DESC": "用戶名-必需",
|
||||
"MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER": "請填寫用戶名",
|
||||
"MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE": "用戶名",
|
||||
"MANAGE_CONSTANT_GITHUB_PROXY_DESC": "代理地址-可選",
|
||||
"MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER": "例如:http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_GITHUB_PROXY_TIPS": "如果訪問速度較慢,可以嘗試配置代理",
|
||||
"MANAGE_CONSTANT_GITHUB_PAGING_DESC": "是否開啟分頁",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC": "CDN加速域名-可選",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER": "支持使用{username}、{repo}、{branch}和{path}作為替換占位符,用於適配不同倉庫和分支",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS": "例如: https://cdn.staticaly.com/gh/{username}/{repo}@{branch}/{path}",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A": "加速域名請以http://或https://開頭",
|
||||
"MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B": "加速域名中的大括號必須成對出現",
|
||||
"MANAGE_CONSTANT_GITHUB_EXPLAIN": "API調用有每小時上限,此外不支持上傳超過100M的文件",
|
||||
"MANAGE_CONSTANT_GITHUB_REFER_TEXT": "配置教程請參考:",
|
||||
"MANAGE_CONSTANT_ALIYUN_NAME": "阿里雲",
|
||||
"MANAGE_CONSTANT_ALIYUN_ALIAS_DESC": "配置別名-必需",
|
||||
"MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER": "該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC": "accessKeyId-必需",
|
||||
"MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC": "accessKeySecret-必需",
|
||||
"MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER": "請填寫accessKeySecret",
|
||||
"MANAGE_CONSTANT_ALIYUN_BUCKET_DESC": "儲存桶名-可選",
|
||||
"MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER": "英文逗號分隔,例如:bucket1,bucket2",
|
||||
"MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC": "起始目錄-可選",
|
||||
"MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER": "英文逗號分隔,例如:/dir1,/dir2",
|
||||
"MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC": "是否自動獲取綁定域名",
|
||||
"MANAGE_CONSTANT_ALIYUN_PAGING_DESC": "是否開啟分頁",
|
||||
"MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC": "每頁顯示數量",
|
||||
"MANAGE_CONSTANT_ALIYUN_EXPLAIN": "儲存桶名和起始目錄配置時可通過英文逗號分隔不同儲存桶的設置,順序必須一致,逗號間留空或缺失項使用默認值",
|
||||
"MANAGE_CONSTANT_ALIYUN_REFER_TEXT": "配置教程請參考: ",
|
||||
"MANAGE_CONSTANT_TENCENT_NAME": "腾讯雲",
|
||||
"MANAGE_CONSTANT_TENCENT_ALIAS_DESC": "配置别名-必需",
|
||||
"MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER": "該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC": "secretId-必需",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER": "請填寫 secretId",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC": "secretKey-必需",
|
||||
"MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER": "請填寫 secretKey",
|
||||
"MANAGE_CONSTANT_TENCENT_APPID_DESC": "appId-必需",
|
||||
"MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER": "請填寫 appId",
|
||||
"MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP": "例如:1250000000",
|
||||
"MANAGE_CONSTANT_TENCENT_BUCKET_DESC": "存儲桶名-可選(注意包含AppId)",
|
||||
"MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER": "英文逗號分隔,例如:bucket1-1250000000,bucket2-1250000000",
|
||||
"MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC": "起始目錄-可選",
|
||||
"MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER": "英文逗號分隔,例如:/dir1,/dir2",
|
||||
"MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC": "是否自動獲取綁定域名",
|
||||
"MANAGE_CONSTANT_TENCENT_PAGING_DESC": "是否開啟分頁",
|
||||
"MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC": "每頁顯示數量",
|
||||
"MANAGE_CONSTANT_TENCENT_EXPLAIN": "存儲桶名和起始目錄配置時可通過英文逗號分隔不同存儲桶的設置,順序必須一致,逗號間留空或缺失項使用默認值",
|
||||
"MANAGE_CONSTANT_TENCENT_REFER_TEXT": "配置教程請參考: ",
|
||||
"MANAGE_CONSTANT_UPYUN_NAME": "又拍雲",
|
||||
"MANAGE_CONSTANT_UPYUN_ALIAS_DESC": "配置別名-必需",
|
||||
"MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER": "該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_UPYUN_BUCKET_DESC": "服務名-必需",
|
||||
"MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER": "對應其它對象存儲的存儲桶名",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC": "操作員名-必需",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER": "推薦使用具有讀取、寫入和刪除完整權限的操作員",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE": "操作員",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC": "操作員密碼-必需",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER": "請填寫密碼",
|
||||
"MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE": "操作員密碼",
|
||||
"MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC": "起始目錄-可選",
|
||||
"MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER": "讀取文件時的初始目錄",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC": "加速域名-必需",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER": "請以http://或https://開頭",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A": "加速域名不能為空",
|
||||
"MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B": "自定義域名請以http://或https://開頭",
|
||||
"MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_DESC": "防盗链密钥-可選",
|
||||
"MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_PLACEHOLDER": "請填寫防盗链密钥",
|
||||
"MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_TOOLTIP": "如果不填寫,則不啟用防盗链",
|
||||
"MANAGE_CONSTANT_UPYUN_EXPIRE_TIME_DESC": "防盗链有效期(秒)-可選",
|
||||
"MANAGE_CONSTANT_UPYUN_PAGING": "是否開啟分頁",
|
||||
"MANAGE_CONSTANT_UPYUN_ITEMS_PAGE": "每頁顯示數量",
|
||||
"MANAGE_CONSTANT_UPYUN_EXPLAIN": "又拍雲圖床必須填寫加速域名,否則無法正常使用",
|
||||
"MANAGE_CONSTANT_UPYUN_REFER_TEXT": "配置教程請參考: ",
|
||||
"MANAGE_CONSTANT_IMGUR_NAME": "Imgur",
|
||||
"MANAGE_CONSTANT_IMGUR_ALIAS_DESC": "配置別名-必需",
|
||||
"MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER": "該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_IMGUR_USERNAME_DESC": "Imgur用戶名-必需",
|
||||
"MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER": "請填寫Imgur用戶名",
|
||||
"MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC": "Access Token-必需",
|
||||
"MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER": "請填寫Access Token",
|
||||
"MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP": "不是client ID,請參考配置教程",
|
||||
"MANAGE_CONSTANT_IMGUR_PROXY_DESC": "代理-可選",
|
||||
"MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER": "例如:http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP": "大陸地區請使用代理,否則無法正常使用",
|
||||
"MANAGE_CONSTANT_IMGUR_EXPLAIN": "大陸地區請使用代理,API調用存在限制,請注意使用頻率",
|
||||
"MANAGE_CONSTANT_IMGUR_REFER_TEXT": "配置教程請參考:",
|
||||
"MANAGE_CONSTANT_S3_NAME": "S3兼容雲",
|
||||
"MANAGE_CONSTANT_S3_ALIAS_DESC": "配置別名-必需",
|
||||
"MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER": "該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC": "accessKeyId-必需",
|
||||
"MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER": "請填寫accessKeyId",
|
||||
"MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC": "secretAccessKey-必需",
|
||||
"MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER": "請填寫secretAccessKey",
|
||||
"MANAGE_CONSTANT_S3_ENDPOINT_DESC": "endpoint-可選",
|
||||
"MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER": "例如:s3.us-east-1.amazonaws.com",
|
||||
"MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP": "如果不填寫,默認訪問 AWS S3,請提供根API endpoint",
|
||||
"MANAGE_CONSTANT_S3_SSLENABLED_DESC": "使用HTTPS連接",
|
||||
"MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP": "如果您的平臺不支持,請關閉該選項",
|
||||
"MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC": "啟用 S3 Path style",
|
||||
"MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP": "例如使用 minio 時需要啟用",
|
||||
"MANAGE_CONSTANT_S3_PROXY_DESC": "代理-可選",
|
||||
"MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER": "例如:http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_S3_PROXY_TOOLTIP": "如果部分平臺大陸地區無法訪問,請使用代理",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC": "上傳文件的權限",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE": "私有",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ": "公共讀",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE": "公共讀寫",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ": "授權讀",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ": "桶所有者讀",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL": "桶所有者完全控制",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ": "AWS執行讀",
|
||||
"MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP": "上傳文件的權限,可選值:private、public-read、public-read-write、authenticated-read、bucket-owner-read、bucket-owner-full-control、aws-exec-read",
|
||||
"MANAGE_CONSTANT_S3_BUCKET_DESC": "存儲桶名-可選",
|
||||
"MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER": "英文逗號分隔,例如:bucket1,bucket2",
|
||||
"MANAGE_CONSTANT_S3_BASE_DIR_DESC": "起始目錄-可選",
|
||||
"MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER": "英文逗號分隔,例如:/dir1,/dir2",
|
||||
"MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_DESC": "啟用 Doge Cloud 支援",
|
||||
"MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_TOOLTIP": "啟用後,將會啟用Doge Cloud API",
|
||||
"MANAGE_CONSTANT_S3_PAGING_DESC": "是否開啟分頁",
|
||||
"MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC": "每頁顯示數量",
|
||||
"MANAGE_CONSTANT_S3_EXPLAIN": "存儲桶名和起始目錄配置時可通過英文逗號分隔不同存儲桶的設置,順序必須一致,逗號間留空或缺失項使用默認值",
|
||||
"MANAGE_CONSTANT_S3_REFER_TEXT": "配置教程請參考:",
|
||||
"MANAGE_CONSTANT_WEBDAV_ALIAS_DESC": "配置別名-必需",
|
||||
"MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER": "該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_WEBDAV_HOST_DESC": "地址-必需",
|
||||
"MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER": "例如:https://example.com/dav",
|
||||
"MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP": "請填寫完整的WebDAV地址",
|
||||
"MANAGE_CONSTANT_WEBDAV_USERNAME_DESC": "使用者名稱-必需",
|
||||
"MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER": "請填寫使用者名稱",
|
||||
"MANAGE_CONSTANT_WEBDAV_BUCKET_DESC": "特殊配置",
|
||||
"MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER": "例如:bucket1",
|
||||
"MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP": "此處不可修改,僅為軟體相容性考量",
|
||||
"MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC": "密碼-必需",
|
||||
"MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER": "請填寫密碼",
|
||||
"MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC": "起始目錄-可選",
|
||||
"MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER": "例如:/dir1",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC": "自訂網域名稱-可選",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER": "例如:https://example.com",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP": "如果您的WebDAV伺服器支援自訂網域名稱,請填寫",
|
||||
"MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE": "自訂網域名稱請以http://或https://開頭",
|
||||
"MANAGE_CONSTANT_WEBDAV_WEB_PATH": "WebDAV網路路徑-可選",
|
||||
"MANAGE_CONSTANT_WEBDAV_WEB_PATH_PLACEHOLDER": "例如:test/ttc",
|
||||
"MANAGE_CONSTANT_WEBDAV_WEB_PATH_TOOLTIP": "用於拼接網址",
|
||||
"MANAGE_CONSTANT_WEBDAV_PROXY_DESC": "代理-可選",
|
||||
"MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER": "例如:http://127.0.0.1:1080",
|
||||
"MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP": "如果需要特殊網路環境才能訪問,請使用代理",
|
||||
"MANAGE_CONSTANT_WEBDAV_SSL_DESC": "使用HTTPS連線",
|
||||
"MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP": "根據WebDAV伺服器的配置,如果您的伺服器不支援HTTPS,請關閉該選項",
|
||||
"MANAGE_CONSTANT_WEBDAV_AUTH_TYPE_DESC": "認證類型",
|
||||
"MANAGE_CONSTANT_WEBDAV_EXPLAIN": "WebDAV配置",
|
||||
"MANAGE_CONSTANT_WEBDAV_REFER_TEXT": "配置教程請參考: ",
|
||||
"MANAGE_CONSTANT_LOCAL_NAME": "本地",
|
||||
"MANAGE_CONSTANT_LOCAL_ALIAS_DESC": "配置別名-必需",
|
||||
"MANAGE_CONSTANT_LOCAL_ALIAS_PLACEHOLDER": "該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_LOCAL_BASE_DIR_DESC": "起始目錄-必需",
|
||||
"MANAGE_CONSTANT_LOCAL_BASE_DIR_PLACEHOLDER": "請填寫起始目錄",
|
||||
"MANAGE_CONSTANT_LOCAL_CUSTOM_URL_DESC": "自定義網域-可選",
|
||||
"MANAGE_CONSTANT_LOCAL_CUSTOM_URL_PLACEHOLDER": "例如:https://example.com",
|
||||
"MANAGE_CONSTANT_LOCAL_CUSTOM_URL_TOOLTIP": "如果您的目錄支援自定義網域,請填寫",
|
||||
"MANAGE_CONSTANT_LOCAL_WEB_PATH": "網路路徑-可選",
|
||||
"MANAGE_CONSTANT_LOCAL_WEB_PATH_PLACEHOLDER": "例如:test/ttc",
|
||||
"MANAGE_CONSTANT_LOCAL_WEB_PATH_TOOLTIP": "用於拼接網址",
|
||||
"MANAGE_CONSTANT_LOCAL_EXPLAIN": "本地配置",
|
||||
"MANAGE_CONSTANT_LOCAL_REFER_TEXT": "配置教程請參考: ",
|
||||
"MANAGE_CONSTANT_LOCAL_BASE_DIR_RULE_MESSAGE": "起始目錄不能為空",
|
||||
"MANAGE_CONSTANT_LOCAL_BUCKET_DESC": "特殊配置",
|
||||
"MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER": "例如:bucket1",
|
||||
"MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP": "此處不可修改,僅為軟體相容性考量",
|
||||
"MANAGE_CONSTANT_SFTP_NAME": "SFTP",
|
||||
"MANAGE_CONSTANT_SFTP_ALIAS_DESC": "配置別名-必需",
|
||||
"MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER": "該配置的唯一標識",
|
||||
"MANAGE_CONSTANT_SFTP_HOST_DESC": "地址-必需",
|
||||
"MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER": "例如:233.233.233.233",
|
||||
"MANAGE_CONSTANT_SFTP_PORT_DESC": "端口-必需",
|
||||
"MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER": "例如:22",
|
||||
"MANAGE_CONSTANT_SFTP_USERNAME_DESC": "用戶名",
|
||||
"MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER": "請填寫用戶名",
|
||||
"MANAGE_CONSTANT_SFTP_PASSWORD_DESC": "密碼",
|
||||
"MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER": "請填寫密碼",
|
||||
"MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC": "私鑰地址",
|
||||
"MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER": "請填寫私鑰地址",
|
||||
"MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC": "私鑰密碼",
|
||||
"MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER": "請填寫私鑰密碼",
|
||||
"MANAGE_CONSTANT_SFTP_BASE_DIR_DESC": "起始目錄-可選",
|
||||
"MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER": "例如:/dir1",
|
||||
"MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC": "自定義網域-可選",
|
||||
"MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER": "例如:https://example.com",
|
||||
"MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP": "如果您的目錄支援自定義網域,請填寫",
|
||||
"MANAGE_CONSTANT_SFTP_WEB_PATH": "網路路徑-可選",
|
||||
"MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER": "例如:test/ttc",
|
||||
"MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP": "用於拼接網址",
|
||||
"MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC": "文件權限",
|
||||
"MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER": "例如:0644",
|
||||
"MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC": "目錄權限",
|
||||
"MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER": "例如:0755",
|
||||
"MANAGE_CONSTANT_SFTP_EXPLAIN": "SFTP配置",
|
||||
"MANAGE_CONSTANT_SFTP_REFER_TEXT": "配置教程請參考: ",
|
||||
"MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE": "起始目錄不能為空",
|
||||
"MANAGE_CONSTANT_SFTP_BUCKET_DESC": "特殊配置",
|
||||
"MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER": "例如:bucket1",
|
||||
"MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP": "此處不可修改,僅為軟體相容性考量",
|
||||
"MANAGE_LOGIN_PAGE_PANE_NAME": "已保存配置",
|
||||
"MANAGE_LOGIN_PAGE_PANE_KEY_NAME": "配置項",
|
||||
"MANAGE_LOGIN_PAGE_PANE_KEY_VALUE": "值",
|
||||
"MANAGE_LOGIN_PAGE_PANE_ENTER": "進入",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE": "刪除",
|
||||
"MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER": "請選擇",
|
||||
"MANAGE_LOGIN_PAGE_PANE_IMPORT": "導入",
|
||||
"MANAGE_LOGIN_PAGE_PANE_SAVE": "保存",
|
||||
"MANAGE_LOGIN_PAGE_PANE_RESET": "重置",
|
||||
"MANAGE_LOGIN_PAGE_PANE_TABLE_TITLE": "已有配置,單擊可複製對應儲存格資料",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_MESSAGE_A": "請填寫",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ALIAS_MESSAGE": "別名只能包含中文、英文、數字、下劃線和中劃線",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ITEMS_PER_PAGE_MESSAGE": "每頁數量必須在20-1000之間",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_CUSTOM_URL_MESSAGE": "自定義網域請以http://或https://開頭",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME": "通知",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE": "已覆蓋別名",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_B": "已保存別名",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C": "已刪除別名",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D": "刪除別名為",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E": "的配置失敗",
|
||||
"MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS": "已複製",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE": "確定要删除嗎??",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP": "提示",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM": "確定",
|
||||
"MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_PAGE_LOADING_TEXT": "載入檔案中...",
|
||||
"MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER": "請選擇自訂域名",
|
||||
"MANAGE_BUCKET_PAGE_CUSTOM_URL_INPUT_PLACEHOLDER": "請輸入自訂域名",
|
||||
"MANAGE_BUCKET_PAGE_UPLOAD_FILES_TOOLTIP": "檔案上傳(支援多選)",
|
||||
"MANAGE_BUCKET_PAGE_UPLOAD_FROM_URL_TOOLTIP": "從 URL 上傳",
|
||||
"MANAGE_BUCKET_PAGE_CREATE_FOLDER_TOOLTIP": "建立資料夾",
|
||||
"MANAGE_BUCKET_PAGE_DOWNLOAD_TOOLTIP": "下載頁面",
|
||||
"MANAGE_BUCKET_PAGE_BATCH_RENAME_TOOLTIP": "批次重新命名",
|
||||
"MANAGE_BUCKET_PAGE_BATCH_COPY_URL_TOOLTIP": "批次複製 URL",
|
||||
"MANAGE_BUCKET_PAGE_COPY_FILE_INFO_TOOLTIP": "複製檔案資訊",
|
||||
"MANAGE_BUCKET_PAGE_FORCE_REFRESH_TOOLTIP": "強制重新整理檔案列表",
|
||||
"MANAGE_BUCKET_PAGE_SEARCH_PLACEHOLDER": "搜尋檔案",
|
||||
"MANAGE_BUCKET_PAGE_ROOT_FOLDER": "根目錄",
|
||||
"MANAGE_BUCKET_PAGE_FILE_NUMBER": "檔案數:",
|
||||
"MANAGE_BUCKET_PAGE_FILE_SIZE": "總大小:",
|
||||
"MANAGE_BUCKET_PAGE_SELECT_ALL": "全選",
|
||||
"MANAGE_BUCKET_PAGE_SELECT_NONE": "取消選擇",
|
||||
"MANAGE_BUCKET_PAGE_SELECT_INVERT": "反選",
|
||||
"MANAGE_BUCKET_DOWNLOAD_BTN": "下載",
|
||||
"MANAGE_BUCKET_DELETE_BTN": "刪除",
|
||||
"MANAGE_BUCKET_SORT_TITLE": "排序",
|
||||
"MANAGE_BUCKET_SORT_NAME": "檔案名稱",
|
||||
"MANAGE_BUCKET_SORT_SIZE": "大小",
|
||||
"MANAGE_BUCKET_SORT_EXT": "類型",
|
||||
"MANAGE_BUCKET_SORT_TIME": "時間",
|
||||
"MANAGE_BUCKET_SORT_CHECK": "選取狀態",
|
||||
"MANAGE_BUCKET_SORT_INIT": "初始化",
|
||||
"MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE": "請輸入 URL,支援多個 URL,以換行分隔",
|
||||
"MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM": "確定",
|
||||
"MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_URL_FORMAT_MARKDOWN": "Markdown",
|
||||
"MANAGE_BUCKET_URL_FORMAT_MARKDOWN_WITH_LINK": "Markdown-link",
|
||||
"MANAGE_BUCKET_URL_FORMAT_URL": "Url",
|
||||
"MANAGE_BUCKET_URL_FORMAT_HTML": "Html",
|
||||
"MANAGE_BUCKET_URL_FORMAT_BBCODE": "BBCode",
|
||||
"MANAGE_BUCKET_URL_FORMAT_CUSTOM": "自訂",
|
||||
"MANAGE_BUCKET_URL_FORMAT_PRESIGN": "預簽名連結",
|
||||
"MANAGE_BUCKET_FILE_INFO_TITLE": "檔案資訊",
|
||||
"MANAGE_BUCKET_FILE_INFO_COPY_TIPS": "複製 JSON 格式資訊",
|
||||
"MANAGE_BUCKET_FILE_LIST_LOADING": "載入中,點擊取消",
|
||||
"MANAGE_BUCKET_FILE_LIST_DOWNLOAD_PRE": "準備下載中,點擊取消",
|
||||
"MANAGE_BUCKET_KEEP_FOLDER_STRUCTURE": "保持目錄結構",
|
||||
"MANAGE_BUCKET_NOT_KEEP_FOLDER_STRUCTURE": "不保持目錄結構",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_TITLE": "拖放上傳支援遞歸上傳資料夾",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_TEXT": "或:點選選擇檔案(不支援資料夾)",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_BTN_LOADING": "讀取檔案中",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_BTN": "上傳",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_CLEAR": "清空",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_STATUS_UPLOADING": "上傳中",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_COPY_TASK": "複製上傳任務資訊",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_CLEAR_UPLOADED_TASK": "清空已完成任務",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_CLEAR_ALL_TASK": "清空所有任務",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_SUCCESS": "成功",
|
||||
"MANAGE_BUCKET_UPLOAD_AREA_FAILED": "失敗",
|
||||
"MANAGE_BUCKET_DOWNLOAD_PAGE_TITLE": "下載頁面",
|
||||
"MANAGE_BUCKET_DOWNLOADING": "下載中",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COPY_TASK": "複製下載任務資訊",
|
||||
"MANAGE_BUCKET_DOWNLOAD_CLEAR_DOWNLOADED_TASK": "清空已完成任務",
|
||||
"MANAGE_BUCKET_DOWNLOAD_CLEAR_ALL_TASK": "清空所有任務",
|
||||
"MANAGE_BUCKET_DOWNLOAD_OPEN_FOLDER": "開啟下載目錄",
|
||||
"MANAGE_BUCKET_DOWNLOAD_SUCCESS": "成功",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FAILED": "失敗",
|
||||
"MANAGE_BUCKET_MARKDOWN_PREVIEW": "預覽",
|
||||
"MANAGE_BUCKET_PLAY": "播放",
|
||||
"MANAGE_BUCKET_RENAME_FILE": "檔案重新命名",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_A": "進行替換時匹配的字串或 JS 正則表達式",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS": "正則表達式請直接輸入,不需要加上 /",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_A_PLACEHOLDER": "例如:^\\d{4}-\\d{2}-\\d{2}",
|
||||
"MANAGE_BUCKET_RENAME_FILE_INPUT_B": "需要替換的字串,可使用自訂重新命名規則中的佔位符",
|
||||
"MANAGE_BUCKET_RENAME_FILE_TABLE_IID": "自增數字",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT": "是否匹配副檔名進行替換",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT_TIPS": "如果希望修改副檔名,請勾選此項",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT_YES": "是",
|
||||
"MANAGE_BUCKET_RENAME_FILE_EXT_NO": "否",
|
||||
"MANAGE_BUCKET_RENAME_FILE_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_RENAME_FILE_CONFIRM": "確定",
|
||||
"MANAGE_BUCKET_COPY_SUCCESS": "複製成功",
|
||||
"MANAGE_BUCKET_START_LOADING_MESSAGE": "開始取得檔案",
|
||||
"MANAGE_BUCKET_END_LOADING_MESSAGE_FAIL": "取得檔案內容失敗",
|
||||
"MANAGE_BUCKET_LAST_PAGE_TITLE": "提示",
|
||||
"MANAGE_BUCKET_LAST_PAGE_MSG": "已經是最後一頁了",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_TITLE": "提示",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_MSG": "獲取檔案列表失敗",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_MSG2": "正在後台獲取檔案列表,請勿切換頁面",
|
||||
"MANAGE_BUCKET_GET_LIST_FAIL_MSG3": "正在載入檔案列表,請稍後再試",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TITLE": "確定要下載該資料夾嗎?",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TIP": "提示",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CONFIRM": "確定",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_SUCCESS": "獲取下載列表成功",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_FAIL": "獲取失敗",
|
||||
"MANAGE_BUCKET_DOWNLOAD_FOLDER_CANCEL": "已取消",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_TITLE": "請輸入資料夾名稱",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_TIP": "新建資料夾",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_CONFIRM": "確定",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_BOX_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_ERROR_MSG": "資料夾名稱只能包含中文、英文、數字、下劃線和斜線",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_SUCCESS": "創建成功,請刷新",
|
||||
"MANAGE_BUCKET_CREATE_FOLDER_FAIL": "創建失敗",
|
||||
"MANAGE_BUCKET_UPLOAD_URL_ERROR_MSQ": "請輸入有效的URL",
|
||||
"MANAGE_BUCKET_UPLOAD_URL_NOT_TITLE": "提示",
|
||||
"MANAGE_BUCKET_UPLOAD_URL_NOT_MSG": "開始後台下載,成功後自動上傳",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG": "請輸入匹配字串",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG2": "沒有匹配到檔案",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG3": "沒有需要重命名的檔案",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_A": "檢測到有",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_B": "個檔案重複,是否繼續",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_C": "提示",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_CONFIRM": "確定",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_REPEATED_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_A": "重命名成功",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_B": "失敗",
|
||||
"MANAGE_BUCKET_BATCH_RENAME_CANCEL": "已取消",
|
||||
"MANAGE_BUCKET_BATCH_COPY_INFO_ERROR_MSG": "請先選擇檔案",
|
||||
"MANAGE_BUCKET_BATCH_COPY_INFO_MSG_A": "已複製",
|
||||
"MANAGE_BUCKET_BATCH_COPY_INFO_MSG_B": "個檔案資訊",
|
||||
"MANAGE_BUCKET_BATCH_COPY_URL_ERROR_MSG": "請先選擇檔案",
|
||||
"MANAGE_BUCKET_BATCH_COPY_URL_MSG_A": "已複製",
|
||||
"MANAGE_BUCKET_BATCH_COPY_URL_MSG_B": "個連結",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_TITLE": "是否停止獲取檔案列表?",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_MSG": "提示",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_CANCEL_LOADING_SUCCESS": "文件列表获取已停止",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_TITLE": "是否停止下载文件获取?",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_MSG": "提示",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_SUCCESS": "下载文件获取已停止",
|
||||
"MANAGE_BUCKET_GET_FILE_BS_NOT_TITLE": "提示",
|
||||
"MANAGE_BUCKET_GET_FILE_BS_NOT_MSG": "获取文件列表成功",
|
||||
"MANAGE_BUCKET_GET_FILE_BS_NOT_MSG2": "部分文件获取失败",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_A": "将永久删除",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_B": "个文件,是否继续?",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_MSG": "提示",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_TITLE": "提示",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG": "删除失败",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG2": "删除成功",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG3": "失败",
|
||||
"MANAGE_BUCKET_BATCH_DELETE_CANCEL": "已取消删除",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE": "将永久删除",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER": "文件夹",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER_A": "和该目录下的所有文件",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FILE": "文件",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_TITLE_C": "是否继续",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_MSG": "提示",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_CONFIRM": "确定",
|
||||
"MANAGE_BUCKET_DELETE_CONFIRM_CANCEL": "取消",
|
||||
"MANAGE_BUCKET_DELETE_ERROR_MSG_TITLE": "提示",
|
||||
"MANAGE_BUCKET_DELETE_ERROR_MSG_MSG": "删除文件夹可能需要一段时间,请耐心等待",
|
||||
"MANAGE_BUCKET_DELETE_SUCCESS": "刪除成功",
|
||||
"MANAGE_BUCKET_DELETE_FAIL": "刪除失敗",
|
||||
"MANAGE_BUCKET_DELETE_CANCEL": "已取消删除",
|
||||
"MANAGE_BUCKET_RENAME_INFO_MSG": "新文件名和原文件名相同,無需重命名",
|
||||
"MANAGE_BUCKET_RENAME_SUCCESS": "重命名成功",
|
||||
"MANAGE_BUCKET_RENAME_ERROR_MSG": "重命名失敗",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_FINISHTIME": "完成時間",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS": "狀態",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_SUCCESS": "成功",
|
||||
"MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_FAIL": "失敗",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_TARGETFILEPATH": "上傳路徑",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_FINISHTIME": "完成時間",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_STATUS": "狀態",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_SUCCESS": "成功",
|
||||
"MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_FAIL": "失敗",
|
||||
"MANAGE_BUCKET_DOWNLOADING_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_DOWNLOADING_COLUMN_PROGRESS": "進度",
|
||||
"MANAGE_BUCKET_UPLOADING_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_UPLOADING_COLUMN_PROGRESS": "進度",
|
||||
"MANAGE_BUCKET_UPLOADED_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_UPLOADED_COLUMN_FILESIZE": "大小",
|
||||
"MANAGE_BUCKET_UPLOADED_COLUMN_FILENUM": "文件數",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_FILENAME": "文件名",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_COPY_URL": "複製鏈接",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_INFO": "文件信息",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_FILESIZE": "大小",
|
||||
"MANAGE_BUCKET_FILE_COLUMN_TIME": "修改時間",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_NAME": "腾讯雲",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_DESC": "Bucket名稱",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_PLACEHOLDER": "請輸入Bucket名稱",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_A": "Bucket名稱不能為空",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_B": "Bucket名稱長度不能超過23個字符",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_C": "Bucket名稱只能包含小寫字母、數字和中橫線,且不能以中橫線開頭和結尾",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_REGION": "區域",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_DESC": "訪問權限",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_RW": "公共讀寫",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_R": "公共讀",
|
||||
"MANAGE_NEW_BUCKET_TCYUN_ACL_PRIVATE": "私有",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_NAME": "阿里雲",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_DESC": "Bucket名稱",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_PLACEHOLDER": "請輸入Bucket名稱",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_A": "Bucket名稱不能為空",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_B": "Bucket名稱長度不能超過63個字符",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_C": "Bucket名稱只能包含小寫字母、數字和中橫線,且不能以中橫線開頭和結尾",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_REGION": "區域",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_DESC": "訪問權限",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_RW": "公共讀寫",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_R": "公共讀",
|
||||
"MANAGE_NEW_BUCKET_ALIYUN_ACL_PRIVATE": "私有",
|
||||
"MANAGE_NEW_BUCKET_QINIU_NAME": "七牛雲",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_DESC": "Bucket名稱",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_PLACEHOLDER": "請輸入Bucket名稱",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_A": "Bucket名稱不能為空",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B": "Bucket名稱長度不能超過63個字符",
|
||||
"MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C": "Bucket名稱只能包含小寫字母、數字和中橫線,且不能以中橫線開頭和結尾",
|
||||
"MANAGE_NEW_BUCKET_QINIU_REGION": "區域",
|
||||
"MANAGE_NEW_BUCKET_QINIU_ACL_DESC": "公開訪問",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_NAME": "S3兼容雲",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC": "Bucket名稱",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER": "請輸入Bucket名稱",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A": "Bucket名稱不能為空",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_REGION": "區域",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC": "訪問權限",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW": "公共讀寫",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R": "公共讀",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE": "私有",
|
||||
"MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ": "授權讀",
|
||||
"PLUGIN_UPDATE_SUCCEED": "插件更新成功",
|
||||
"TIPS_NOTICE": "注意"
|
||||
}
|
||||
@@ -69,19 +69,19 @@
|
||||
<el-icon>
|
||||
<UploadFilled />
|
||||
</el-icon>
|
||||
<span>{{ $T('UPLOAD_AREA') }}</span>
|
||||
<span>{{ $t('UPLOAD_AREA') }}</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item :index="routerConfig.MANAGE_LOGIN_PAGE">
|
||||
<el-icon>
|
||||
<PieChart />
|
||||
</el-icon>
|
||||
<span>{{ $T('MANAGE_PAGE') }}</span>
|
||||
<span>{{ $t('MANAGE_PAGE') }}</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item :index="routerConfig.GALLERY_PAGE">
|
||||
<el-icon>
|
||||
<PictureFilled />
|
||||
</el-icon>
|
||||
<span>{{ $T('GALLERY') }}</span>
|
||||
<span>{{ $t('GALLERY') }}</span>
|
||||
</el-menu-item>
|
||||
<el-sub-menu
|
||||
index="sub-menu"
|
||||
@@ -93,7 +93,7 @@
|
||||
<el-icon>
|
||||
<Menu />
|
||||
</el-icon>
|
||||
<span>{{ $T('PICBEDS_SETTINGS') }}</span>
|
||||
<span>{{ $t('PICBEDS_SETTINGS') }}</span>
|
||||
</template>
|
||||
<template v-for="item in picBedGlobal">
|
||||
<el-menu-item
|
||||
@@ -109,19 +109,19 @@
|
||||
<el-icon>
|
||||
<Tools />
|
||||
</el-icon>
|
||||
<span>{{ $T('PICLIST_SETTINGS') }}</span>
|
||||
<span>{{ $t('PICLIST_SETTINGS') }}</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item :index="routerConfig.PLUGIN_PAGE">
|
||||
<el-icon>
|
||||
<Share />
|
||||
</el-icon>
|
||||
<span>{{ $T('PLUGIN_SETTINGS') }}</span>
|
||||
<span>{{ $t('PLUGIN_SETTINGS') }}</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item :index="routerConfig.DocumentPage">
|
||||
<el-icon>
|
||||
<Link />
|
||||
</el-icon>
|
||||
<span>{{ $T('MANUAL') }}</span>
|
||||
<span>{{ $t('MANUAL') }}</span>
|
||||
</el-menu-item>
|
||||
</el-menu>
|
||||
<el-icon
|
||||
@@ -154,7 +154,7 @@
|
||||
class="qrcode-dialog"
|
||||
top="3vh"
|
||||
width="60%"
|
||||
:title="$T('PICBED_QRCODE')"
|
||||
:title="$t('PICBED_QRCODE')"
|
||||
:modal-append-to-body="false"
|
||||
lock-scroll
|
||||
append-to-body
|
||||
@@ -164,7 +164,7 @@
|
||||
label-width="70px"
|
||||
size="small"
|
||||
>
|
||||
<el-form-item :label="$T('CHOOSE_PICBED')">
|
||||
<el-form-item :label="$t('CHOOSE_PICBED')">
|
||||
<el-select
|
||||
v-model="choosedPicBedForQRCode"
|
||||
multiple
|
||||
@@ -186,7 +186,7 @@
|
||||
class="copy-picbed-config"
|
||||
@click="handleCopyPicBedConfig"
|
||||
>
|
||||
{{ $T('COPY_PICBED_CONFIG') }}
|
||||
{{ $t('COPY_PICBED_CONFIG') }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -223,10 +223,10 @@ import { pick } from 'lodash-es'
|
||||
import QrcodeVue from 'qrcode.vue'
|
||||
import pkg from 'root/package.json'
|
||||
import { nextTick, onBeforeMount, onBeforeUnmount, reactive, Ref, ref, watch } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { onBeforeRouteUpdate, useRouter } from 'vue-router'
|
||||
|
||||
import InputBoxDialog from '@/components/InputBoxDialog.vue'
|
||||
import { T as $T } from '@/i18n/index'
|
||||
import * as config from '@/router/config'
|
||||
import { getConfig, saveConfig } from '@/utils/dataSender'
|
||||
import { osGlobal, picBedGlobal, updatePicBedGlobal } from '@/utils/global'
|
||||
@@ -234,6 +234,7 @@ import { SHOW_MAIN_PAGE_QRCODE } from '#/events/constants'
|
||||
import { II18nLanguage, IRPCActionType } from '#/types/enum'
|
||||
import { configPaths, manualPageOpenType } from '#/utils/configPaths'
|
||||
|
||||
const { t } = useI18n()
|
||||
const version = ref(pkg.version)
|
||||
const routerConfig = reactive(config)
|
||||
const defaultActive = ref(routerConfig.UPLOAD_PAGE)
|
||||
@@ -291,9 +292,9 @@ const handleSelect = async (index: string) => {
|
||||
)
|
||||
|
||||
if (!manualPageOpenSetting) {
|
||||
ElMessageBox.confirm($T('MANUAL_PAGE_OPEN_TIP'), $T('MANUAL_PAGE_OPEN_TIP_TITLE'), {
|
||||
confirmButtonText: $T('MANUAL_PAGE_OPEN_BY_BROWSER'),
|
||||
cancelButtonText: $T('MANUAL_PAGE_OPEN_BY_BUILD_IN'),
|
||||
ElMessageBox.confirm(t('MANUAL_PAGE_OPEN_TIP'), t('MANUAL_PAGE_OPEN_TIP_TITLE'), {
|
||||
confirmButtonText: t('MANUAL_PAGE_OPEN_BY_BROWSER'),
|
||||
cancelButtonText: t('MANUAL_PAGE_OPEN_BY_BUILD_IN'),
|
||||
type: 'info',
|
||||
center: true
|
||||
})
|
||||
@@ -344,7 +345,7 @@ function openMiniWindow () {
|
||||
|
||||
function handleCopyPicBedConfig () {
|
||||
window.electron.clipboard.writeText(picBedConfigString.value)
|
||||
$message.success($T('COPY_PICBED_CONFIG_SUCCEED'))
|
||||
$message.success(t('COPY_PICBED_CONFIG_SUCCEED'))
|
||||
}
|
||||
|
||||
function setAlwaysOnTop () {
|
||||
|
||||
@@ -10,26 +10,38 @@ import ElementUI from 'element-plus'
|
||||
import { createPinia } from 'pinia'
|
||||
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
|
||||
import { createApp } from 'vue'
|
||||
import { createI18n } from 'vue-i18n'
|
||||
import VueLazyLoad from 'vue3-lazyload'
|
||||
import vue3PhotoPreview from 'vue3-photo-preview'
|
||||
|
||||
import App from '@/App.vue'
|
||||
import { T } from '@/i18n/index'
|
||||
import en from '@/i18n/locales/en.json'
|
||||
import zhCN from '@/i18n/locales/zh-CN.json'
|
||||
import zhTW from '@/i18n/locales/zh-TW.json'
|
||||
import router from '@/router'
|
||||
import { store } from '@/store'
|
||||
import { initTalkingData } from '@/utils/analytic'
|
||||
import db from '@/utils/db'
|
||||
|
||||
type MessageSchema = typeof en
|
||||
|
||||
window.electron.setVisualZoomLevelLimits(1, 1)
|
||||
|
||||
const app = createApp(App)
|
||||
|
||||
app.config.globalProperties.$$db = db
|
||||
app.config.globalProperties.$T = T
|
||||
app.config.globalProperties.triggerRPC = window.electron.triggerRPC
|
||||
app.config.globalProperties.sendRPC = window.electron.sendRPC
|
||||
app.config.globalProperties.sendToMain = window.electron.sendToMain
|
||||
|
||||
const i18n = createI18n<MessageSchema, 'en' | 'zh-CN' | 'zh-TW'>({
|
||||
locale: localStorage.getItem('currentLanguage') || 'zh-CN',
|
||||
fallbackLocale: 'zh-CN',
|
||||
messages: {
|
||||
en,
|
||||
'zh-CN': zhCN,
|
||||
'zh-TW': zhTW
|
||||
}
|
||||
})
|
||||
const pinia = createPinia()
|
||||
pinia.use(piniaPluginPersistedstate)
|
||||
app.use(VueLazyLoad, {
|
||||
@@ -37,6 +49,7 @@ app.use(VueLazyLoad, {
|
||||
error: '/unknown-file-type.svg',
|
||||
delay: 500
|
||||
})
|
||||
app.use(i18n)
|
||||
app.use(ElementUI)
|
||||
app.use(router)
|
||||
app.use(store)
|
||||
@@ -45,5 +58,3 @@ app.use(pinia)
|
||||
app.use(hljsVuePlugin)
|
||||
app.use(VueVideoPlayer)
|
||||
app.mount('#app')
|
||||
|
||||
initTalkingData()
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<el-empty :description="$T('MANAGE_NO_DATA')" />
|
||||
<el-empty :description="$t('MANAGE_NO_DATA')" />
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { T as $T } from '@/i18n'
|
||||
</script>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
>
|
||||
<el-tab-pane
|
||||
name="login"
|
||||
:label="$T('MANAGE_LOGIN_PAGE_PANE_NAME')"
|
||||
:label="$t('MANAGE_LOGIN_PAGE_PANE_NAME')"
|
||||
style="width: 100%; overflow-y: scroll; height: calc(100vh - 50px)"
|
||||
lazy
|
||||
>
|
||||
@@ -46,12 +46,12 @@
|
||||
>
|
||||
<el-table-column
|
||||
prop="key"
|
||||
:label="$T('MANAGE_LOGIN_PAGE_PANE_KEY_NAME')"
|
||||
:label="$t('MANAGE_LOGIN_PAGE_PANE_KEY_NAME')"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="value"
|
||||
:label="$T('MANAGE_LOGIN_PAGE_PANE_KEY_VALUE')"
|
||||
:label="$t('MANAGE_LOGIN_PAGE_PANE_KEY_VALUE')"
|
||||
/>
|
||||
</el-table>
|
||||
<template #reference>
|
||||
@@ -92,7 +92,7 @@
|
||||
plain
|
||||
@click="handleConfigClick(item)"
|
||||
>
|
||||
{{ $T('MANAGE_LOGIN_PAGE_PANE_ENTER') }}
|
||||
{{ $t('MANAGE_LOGIN_PAGE_PANE_ENTER') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="warning"
|
||||
@@ -100,7 +100,7 @@
|
||||
plain
|
||||
@click="handleConfigRemove(item.alias)"
|
||||
>
|
||||
{{ $T('MANAGE_LOGIN_PAGE_PANE_DELETE') }}
|
||||
{{ $t('MANAGE_LOGIN_PAGE_PANE_DELETE') }}
|
||||
</el-button>
|
||||
</el-button-group>
|
||||
</el-card>
|
||||
@@ -182,7 +182,7 @@
|
||||
<el-select
|
||||
v-else-if="supportedPicBedList[item.icon].configOptions[option].type === 'select'"
|
||||
v-model="configResult[item.icon + '.' + option]"
|
||||
:placeholder="$T('MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER')"
|
||||
:placeholder="$t('MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER')"
|
||||
:persistent="false"
|
||||
teleported
|
||||
>
|
||||
@@ -204,7 +204,7 @@
|
||||
:disabled="currentAliasList.length === 0"
|
||||
teleported
|
||||
>
|
||||
{{ $T('MANAGE_LOGIN_PAGE_PANE_IMPORT') }}
|
||||
{{ $t('MANAGE_LOGIN_PAGE_PANE_IMPORT') }}
|
||||
<template #dropdown>
|
||||
<el-dropdown-item
|
||||
v-for="i in currentAliasList"
|
||||
@@ -222,7 +222,7 @@
|
||||
plain
|
||||
@click="handleConfigChange(item.icon)"
|
||||
>
|
||||
{{ $T('MANAGE_LOGIN_PAGE_PANE_SAVE') }}
|
||||
{{ $t('MANAGE_LOGIN_PAGE_PANE_SAVE') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
@@ -231,12 +231,12 @@
|
||||
plain
|
||||
@click="handleConfigReset(item.icon)"
|
||||
>
|
||||
{{ $T('MANAGE_LOGIN_PAGE_PANE_RESET') }}
|
||||
{{ $t('MANAGE_LOGIN_PAGE_PANE_RESET') }}
|
||||
</el-button>
|
||||
</div>
|
||||
<br>
|
||||
<el-alert
|
||||
:title="$T('MANAGE_LOGIN_PAGE_PANE_TABLE_TITLE')"
|
||||
:title="$t('MANAGE_LOGIN_PAGE_PANE_TABLE_TITLE')"
|
||||
type="success"
|
||||
center
|
||||
:closable="false"
|
||||
@@ -266,9 +266,9 @@
|
||||
import { Delete, Edit, InfoFilled, Pointer } from '@element-plus/icons-vue'
|
||||
import { ElMessage, ElMessageBox, ElNotification } from 'element-plus'
|
||||
import { computed, onMounted, reactive, ref } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { useRouter } from 'vue-router'
|
||||
|
||||
import { T as $T } from '@/i18n'
|
||||
import { useManageStore } from '@/manage/store/manageStore'
|
||||
import { formObjToTableData } from '@/manage/utils/common'
|
||||
import { supportedPicBedList } from '@/manage/utils/constants'
|
||||
@@ -278,6 +278,7 @@ import { IRPCActionType } from '#/types/enum'
|
||||
import { IStringKeyMap, IUploaderConfigListItem } from '#/types/types'
|
||||
import { formatEndpoint, isNeedToShorten, safeSliceF } from '#/utils/common'
|
||||
|
||||
const { t } = useI18n()
|
||||
const manageStore = useManageStore()
|
||||
const router = useRouter()
|
||||
|
||||
@@ -362,13 +363,13 @@ async function handleConfigChange (name: string) {
|
||||
if (supportedPicBedList[name].configOptions[key].required) {
|
||||
if (supportedPicBedList[name].configOptions[key].type !== 'boolean' && !configResult[resultKey]) {
|
||||
ElMessage.error(
|
||||
`${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_MESSAGE_A')} ${supportedPicBedList[name].configOptions[key].description}`
|
||||
`${t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_MESSAGE_A')} ${supportedPicBedList[name].configOptions[key].description}`
|
||||
)
|
||||
return
|
||||
}
|
||||
}
|
||||
if (key === 'alias' && configResult[resultKey] !== undefined && !reg.test(configResult[resultKey])) {
|
||||
ElMessage.error($T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ALIAS_MESSAGE'))
|
||||
ElMessage.error(t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ALIAS_MESSAGE'))
|
||||
return
|
||||
}
|
||||
if (
|
||||
@@ -376,13 +377,13 @@ async function handleConfigChange (name: string) {
|
||||
configResult[resultKey] !== undefined &&
|
||||
(configResult[resultKey] < 20 || configResult[resultKey] > 1000)
|
||||
) {
|
||||
ElMessage.error($T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ITEMS_PER_PAGE_MESSAGE'))
|
||||
ElMessage.error(t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ITEMS_PER_PAGE_MESSAGE'))
|
||||
return
|
||||
}
|
||||
if (key === 'customUrl' && configResult[resultKey] !== undefined && configResult[resultKey] !== '') {
|
||||
if (name !== 'upyun') {
|
||||
if (!/^https?:\/\//.test(configResult[resultKey])) {
|
||||
ElMessage.error($T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_CUSTOM_URL_MESSAGE'))
|
||||
ElMessage.error(t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_CUSTOM_URL_MESSAGE'))
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -438,8 +439,8 @@ async function handleConfigChange (name: string) {
|
||||
getDataForTable()
|
||||
if (aliasList.includes(resultMap.alias)) {
|
||||
ElNotification({
|
||||
title: $T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'),
|
||||
message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE')}${resultMap.alias}`,
|
||||
title: t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'),
|
||||
message: `${t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE')}${resultMap.alias}`,
|
||||
type: 'warning',
|
||||
duration: 500,
|
||||
customClass: 'notification',
|
||||
@@ -447,8 +448,8 @@ async function handleConfigChange (name: string) {
|
||||
})
|
||||
} else {
|
||||
ElNotification({
|
||||
title: $T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'),
|
||||
message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_B')}${resultMap.alias}`,
|
||||
title: t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'),
|
||||
message: `${t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_B')}${resultMap.alias}`,
|
||||
type: 'success',
|
||||
duration: 2000,
|
||||
customClass: 'notification',
|
||||
@@ -471,16 +472,16 @@ const handleConfigReset = (name: string) => {
|
||||
|
||||
const handleConfigRemove = (name: string) => {
|
||||
ElMessageBox.confirm(
|
||||
$T('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE'),
|
||||
$T('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP'),
|
||||
t('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE'),
|
||||
t('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP'),
|
||||
{
|
||||
confirmButtonText: $T('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM'),
|
||||
cancelButtonText: $T('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL'),
|
||||
confirmButtonText: t('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM'),
|
||||
cancelButtonText: t('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL'),
|
||||
type: 'warning'
|
||||
}
|
||||
).then(async () => {
|
||||
const commonNoticeConfig = {
|
||||
title: $T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'),
|
||||
title: t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'),
|
||||
duration: 2000,
|
||||
customClass: 'notification',
|
||||
offset: 100
|
||||
@@ -489,7 +490,7 @@ const handleConfigRemove = (name: string) => {
|
||||
removeConfig('picBed', name)
|
||||
ElNotification({
|
||||
...commonNoticeConfig,
|
||||
message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C')}${name}`,
|
||||
message: `${t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C')}${name}`,
|
||||
type: 'success',
|
||||
position: 'bottom-right'
|
||||
})
|
||||
@@ -498,7 +499,7 @@ const handleConfigRemove = (name: string) => {
|
||||
} catch (error) {
|
||||
ElNotification({
|
||||
...commonNoticeConfig,
|
||||
message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D')}${name}${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E')}`,
|
||||
message: `${t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D')}${name}${t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E')}`,
|
||||
type: 'error',
|
||||
position: 'bottom-right'
|
||||
})
|
||||
@@ -523,7 +524,7 @@ const getAllConfigAliasArray = async () => {
|
||||
|
||||
const handleCellClick = (row: any, column: any) => {
|
||||
navigator.clipboard.writeText(row[column.property])
|
||||
ElMessage.success(`${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS')}${row[column.property]}`)
|
||||
ElMessage.success(`${t('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS')}${row[column.property]}`)
|
||||
}
|
||||
|
||||
const handleReferenceClick = (url: string) => window.electron.sendRPC(IRPCActionType.OPEN_URL, url)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<el-tooltip
|
||||
v-if="showNewIconList.includes(currentPicBedName)"
|
||||
effect="dark"
|
||||
:content="$T('MANAGE_MAIN_PAGE_NEW_BUCKET')"
|
||||
:content="$t('MANAGE_MAIN_PAGE_NEW_BUCKET')"
|
||||
placement="right"
|
||||
:persistent="false"
|
||||
teleported
|
||||
@@ -101,7 +101,7 @@
|
||||
<el-icon class="layout__menu__setting__item__icon">
|
||||
<HomeFilled />
|
||||
</el-icon>
|
||||
{{ $T('MANAGE_MAIN_PAGE_BACK_TO_HOME') }}
|
||||
{{ $t('MANAGE_MAIN_PAGE_BACK_TO_HOME') }}
|
||||
</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item
|
||||
@@ -113,7 +113,7 @@
|
||||
<el-icon class="layout__menu__setting__item__icon">
|
||||
<Switch />
|
||||
</el-icon>
|
||||
{{ $T('MANAGE_MAIN_PAGE_SWITCH_PICBED') }}
|
||||
{{ $t('MANAGE_MAIN_PAGE_SWITCH_PICBED') }}
|
||||
</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item
|
||||
@@ -125,7 +125,7 @@
|
||||
<el-icon class="layout__menu__setting__item__icon">
|
||||
<Tools />
|
||||
</el-icon>
|
||||
{{ $T('MANAGE_MAIN_PAGE_SETTING') }}
|
||||
{{ $t('MANAGE_MAIN_PAGE_SETTING') }}
|
||||
</span>
|
||||
</el-menu-item>
|
||||
</el-menu>
|
||||
@@ -158,7 +158,7 @@
|
||||
<ChromeFilled />
|
||||
</el-icon>
|
||||
<span style="font-size: 13px; margin-top: 5px; color: red">
|
||||
{{ $T('MANAGE_MAIN_PAGE_BACK_TO_HOME') }}
|
||||
{{ $t('MANAGE_MAIN_PAGE_BACK_TO_HOME') }}
|
||||
</span>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -258,7 +258,7 @@
|
||||
style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%)"
|
||||
@click="createNewBucket(currentPicBedName)"
|
||||
>
|
||||
{{ $T('MANAGE_MAIN_PAGE_SUBMIT') }}
|
||||
{{ $t('MANAGE_MAIN_PAGE_SUBMIT') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
@@ -281,14 +281,15 @@ import {
|
||||
import { ElNotification } from 'element-plus'
|
||||
import { IRPCActionType } from 'root/src/universal/types/enum'
|
||||
import { computed, onBeforeMount, reactive, ref, watch } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
|
||||
import { T as $T } from '@/i18n'
|
||||
import { useManageStore } from '@/manage/store/manageStore'
|
||||
import { supportedPicBedList } from '@/manage/utils/constants'
|
||||
import { newBucketConfig } from '@/manage/utils/newBucketConfig'
|
||||
import { IStringKeyMap } from '#/types/types'
|
||||
|
||||
const { t } = useI18n()
|
||||
const manageStore = useManageStore() as any
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
@@ -336,9 +337,9 @@ const urlMap: IStringKeyMap = {
|
||||
|
||||
const showNewIconList = ['aliyun', 'qiniu', 'tcyun', 's3plist']
|
||||
|
||||
const bucketT = $T('MANAGE_MAIN_PAGE_BUCKET')
|
||||
const galleryT = $T('MANAGE_MAIN_PAGE_GALLERY')
|
||||
const repositoryT = $T('MANAGE_MAIN_PAGE_REPOSITORY')
|
||||
const bucketT = t('MANAGE_MAIN_PAGE_BUCKET')
|
||||
const galleryT = t('MANAGE_MAIN_PAGE_GALLERY')
|
||||
const repositoryT = t('MANAGE_MAIN_PAGE_REPOSITORY')
|
||||
|
||||
const menuTitleMap: IStringKeyMap = {
|
||||
aliyun: bucketT,
|
||||
@@ -401,8 +402,8 @@ function createNewBucket (picBedName: string) {
|
||||
window.electron.triggerRPC(IRPCActionType.MANAGE_CREATE_BUCKET, currentAlias, resultMap).then((result: any) => {
|
||||
if (result) {
|
||||
ElNotification({
|
||||
title: $T('MANAGE_MAIN_PAGE_TIPS'),
|
||||
message: $T('MANAGE_MAIN_PAGE_TIPS_SUCCESS'),
|
||||
title: t('MANAGE_MAIN_PAGE_TIPS'),
|
||||
message: t('MANAGE_MAIN_PAGE_TIPS_SUCCESS'),
|
||||
type: 'success'
|
||||
})
|
||||
nweBucketDrawerVisible.value = false
|
||||
@@ -411,8 +412,8 @@ function createNewBucket (picBedName: string) {
|
||||
}, 2000)
|
||||
} else {
|
||||
ElNotification({
|
||||
title: $T('MANAGE_MAIN_PAGE_TIPS'),
|
||||
message: $T('MANAGE_MAIN_PAGE_TIPS_FAILED'),
|
||||
title: t('MANAGE_MAIN_PAGE_TIPS'),
|
||||
message: t('MANAGE_MAIN_PAGE_TIPS_FAILED'),
|
||||
type: 'error'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
justify="center"
|
||||
style="font-size: 20px; color: black"
|
||||
>
|
||||
{{ $T('MANAGE_SETTING_TITLE') }}
|
||||
{{ $t('MANAGE_SETTING_TITLE') }}
|
||||
</el-row>
|
||||
<el-row class="setting-list">
|
||||
<el-col
|
||||
@@ -23,13 +23,13 @@
|
||||
<el-form-item>
|
||||
<template #label>
|
||||
<span style="position: absolute; left: 0">
|
||||
<span>{{ $T('MANAGE_SETTING_CLEAR_CACHE_TITLE') }} </span>
|
||||
<span>{{ $t('MANAGE_SETTING_CLEAR_CACHE_TITLE') }} </span>
|
||||
<span style="color: #ff4949">{{ formatFileSize(dbSize) === '' ? 0 : formatFileSize(dbSize) }} </span>
|
||||
<span> {{ $T('MANAGE_SETTING_CLEAR_CACHE_FREE_TITLE') }} </span>
|
||||
<span> {{ $t('MANAGE_SETTING_CLEAR_CACHE_FREE_TITLE') }} </span>
|
||||
<span style="color: #ff4949">{{ dbSizeAvailableRate }} %</span>
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$T('MANAGE_SETTING_CLEAR_CACHE_TIPS')"
|
||||
:content="$t('MANAGE_SETTING_CLEAR_CACHE_TIPS')"
|
||||
placement="right"
|
||||
:persistent="false"
|
||||
teleported
|
||||
@@ -41,9 +41,9 @@
|
||||
</span>
|
||||
</template>
|
||||
<el-popconfirm
|
||||
:title="$T('MANAGE_SETTING_CLEAR_CACHE_PROMPT')"
|
||||
:confirm-button-text="$T('CONFIRM')"
|
||||
:cancel-button-text="$T('CANCEL')"
|
||||
:title="$t('MANAGE_SETTING_CLEAR_CACHE_PROMPT')"
|
||||
:confirm-button-text="$t('CONFIRM')"
|
||||
:cancel-button-text="$t('CANCEL')"
|
||||
hide-icon
|
||||
:persistent="false"
|
||||
teleported
|
||||
@@ -55,7 +55,7 @@
|
||||
plain
|
||||
style="position: absolute; right: 0"
|
||||
>
|
||||
{{ $T('MANAGE_SETTING_CLEAR_CACHE_BUTTON') }}
|
||||
{{ $t('MANAGE_SETTING_CLEAR_CACHE_BUTTON') }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
@@ -75,12 +75,12 @@
|
||||
style="margin-top: 10px; margin-bottom: 10px; color: #409eff"
|
||||
:underline="false"
|
||||
>
|
||||
{{ $T('MANAGE_SETTING_CUSTOM_PATTERN_TITLE') }}
|
||||
{{ $t('MANAGE_SETTING_CUSTOM_PATTERN_TITLE') }}
|
||||
</el-link>
|
||||
<el-input
|
||||
v-if="form.customRename"
|
||||
v-model="form.customRenameFormat"
|
||||
:placeholder="$T('MANAGE_SETTING_CUSTOM_PATTERN_TIPS')"
|
||||
:placeholder="$t('MANAGE_SETTING_CUSTOM_PATTERN_TIPS')"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<el-table
|
||||
@@ -95,7 +95,7 @@
|
||||
v-for="prop in ['placeholder', 'description', 'placeholderB', 'descriptionB']"
|
||||
:key="prop"
|
||||
:prop="prop"
|
||||
:label="$T('MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TITLE' as any)"
|
||||
:label="$t('MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TITLE' as any)"
|
||||
width="150"
|
||||
/>
|
||||
</el-table>
|
||||
@@ -111,10 +111,10 @@
|
||||
<el-form-item>
|
||||
<template #label>
|
||||
<span style="position: absolute; left: 0">
|
||||
{{ $T('MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TITLE') }}
|
||||
{{ $t('MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TITLE') }}
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$T('MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS')"
|
||||
:content="$t('MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS')"
|
||||
placement="right"
|
||||
:persistent="false"
|
||||
teleported
|
||||
@@ -128,7 +128,7 @@
|
||||
<el-input-number
|
||||
v-model="form.maxDownloadFileCount"
|
||||
style="position: absolute; right: 0"
|
||||
:placeholder="$T('MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_INPUT_TIPS')"
|
||||
:placeholder="$t('MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_INPUT_TIPS')"
|
||||
:min="1"
|
||||
:max="9999"
|
||||
:step="1"
|
||||
@@ -137,10 +137,10 @@
|
||||
<el-form-item>
|
||||
<template #label>
|
||||
<span style="position: absolute; left: 0">
|
||||
{{ $T('MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TITLE') }}
|
||||
{{ $t('MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TITLE') }}
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$T('MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TIPS')"
|
||||
:content="$t('MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TIPS')"
|
||||
placement="right"
|
||||
:persistent="false"
|
||||
teleported
|
||||
@@ -154,7 +154,7 @@
|
||||
<el-input-number
|
||||
v-model="form.PreSignedExpire"
|
||||
style="position: absolute; right: 0"
|
||||
:placeholder="$T('MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TIPS')"
|
||||
:placeholder="$t('MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TIPS')"
|
||||
:min="1"
|
||||
:step="1"
|
||||
/>
|
||||
@@ -163,7 +163,7 @@
|
||||
style="margin-top: 10px; margin-bottom: 10px; color: #409eff"
|
||||
:underline="false"
|
||||
>
|
||||
{{ $T('MANAGE_SETTING_CHOOSE_COPY_FORMAT_TITLE') }}
|
||||
{{ $t('MANAGE_SETTING_CHOOSE_COPY_FORMAT_TITLE') }}
|
||||
</el-link>
|
||||
<br>
|
||||
<el-radio-group v-model="form.pasteFormat">
|
||||
@@ -172,7 +172,7 @@
|
||||
:key="item"
|
||||
:value="item"
|
||||
>
|
||||
{{ $T(`MANAGE_SETTING_CHOOSE_COPY_FORMAT_${item.toUpperCase().replace(/-/g, '_')}` as any) }}
|
||||
{{ $t(`MANAGE_SETTING_CHOOSE_COPY_FORMAT_${item.toUpperCase().replace(/-/g, '_')}` as any) }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
<el-link
|
||||
@@ -180,12 +180,12 @@
|
||||
style="margin-top: 10px; margin-bottom: 10px; color: #409eff"
|
||||
:underline="false"
|
||||
>
|
||||
{{ $T('MANAGE_SETTING_CUSTOM_COPY_FORMAT_TITLE') }}
|
||||
{{ $t('MANAGE_SETTING_CUSTOM_COPY_FORMAT_TITLE') }}
|
||||
</el-link>
|
||||
<el-input
|
||||
v-if="form.pasteFormat === 'custom'"
|
||||
v-model="form.customPasteFormat"
|
||||
:placeholder="$T('MANAGE_SETTING_CUSTOM_COPY_FORMAT_TIPS')"
|
||||
:placeholder="$t('MANAGE_SETTING_CUSTOM_COPY_FORMAT_TIPS')"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<div>
|
||||
@@ -193,13 +193,13 @@
|
||||
style="margin-top: 10px; margin-bottom: 10px; color: #409eff"
|
||||
:underline="false"
|
||||
>
|
||||
{{ $T('MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TITLE') }}
|
||||
{{ $t('MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TITLE') }}
|
||||
</el-link>
|
||||
</div>
|
||||
<el-input
|
||||
v-model="form.downloadDir"
|
||||
disabled
|
||||
:placeholder="$T('MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TIPS')"
|
||||
:placeholder="$t('MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TIPS')"
|
||||
style="width: 100%; margin-top: 10px"
|
||||
>
|
||||
<template #append>
|
||||
@@ -210,7 +210,7 @@
|
||||
<el-icon>
|
||||
<Folder />
|
||||
</el-icon>
|
||||
{{ $T('MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_BUTTON') }}
|
||||
{{ $t('MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_BUTTON') }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
@@ -227,14 +227,15 @@ import { Folder, InfoFilled } from '@element-plus/icons-vue'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { IRPCActionType } from 'root/src/universal/types/enum'
|
||||
import { onBeforeMount, ref, watch } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
import { T as $T } from '@/i18n'
|
||||
import DynamicSwitch from '@/manage/components/DynamicSwitch.vue'
|
||||
import { fileCacheDbInstance } from '@/manage/store/bucketFileDb'
|
||||
import { customRenameFormatTable, formatFileSize } from '@/manage/utils/common'
|
||||
import { getConfig, saveConfig } from '@/manage/utils/dataSender'
|
||||
import { IStringKeyMap } from '#/types/types'
|
||||
|
||||
const { t } = useI18n()
|
||||
const form = ref<IStringKeyMap>({
|
||||
timestampRename: false,
|
||||
randomStringRename: false,
|
||||
@@ -291,16 +292,16 @@ const switchFieldsConfigList = switchFieldsList.map(item => ({
|
||||
configName: item,
|
||||
segments: [
|
||||
{
|
||||
text: $T(`MANAGE_SETTING_${item.toUpperCase()}_TITLE` as any),
|
||||
text: t(`MANAGE_SETTING_${item.toUpperCase()}_TITLE` as any),
|
||||
style: 'color: black;'
|
||||
}
|
||||
],
|
||||
tooltip: switchFieldsNoTipsList.includes(item) ? undefined : $T(`MANAGE_SETTING_${item.toUpperCase()}_TIPS` as any),
|
||||
tooltip: switchFieldsNoTipsList.includes(item) ? undefined : t(`MANAGE_SETTING_${item.toUpperCase()}_TIPS` as any),
|
||||
activeText: switchFieldsHasActiveTextList.includes(item)
|
||||
? $T(`MANAGE_SETTING_${item.toUpperCase()}_ON` as any)
|
||||
? t(`MANAGE_SETTING_${item.toUpperCase()}_ON` as any)
|
||||
: undefined,
|
||||
inactiveText: switchFieldsHasActiveTextList.includes(item)
|
||||
? $T(`MANAGE_SETTING_${item.toUpperCase()}_OFF` as any)
|
||||
? t(`MANAGE_SETTING_${item.toUpperCase()}_OFF` as any)
|
||||
: undefined
|
||||
}))
|
||||
|
||||
@@ -309,37 +310,37 @@ const switchFieldsSpecialList = [
|
||||
configName: 'isDownloadFileKeepDirStructure',
|
||||
segments: [
|
||||
{
|
||||
text: $T('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_A'),
|
||||
text: t('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_A'),
|
||||
style: 'color: black;'
|
||||
},
|
||||
{
|
||||
text: $T('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_B'),
|
||||
text: t('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_B'),
|
||||
style: 'color: orange;'
|
||||
},
|
||||
{
|
||||
text: $T('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_C'),
|
||||
text: t('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_C'),
|
||||
style: 'color: black;'
|
||||
}
|
||||
],
|
||||
tooltip: $T('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TIPS')
|
||||
tooltip: t('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TIPS')
|
||||
},
|
||||
{
|
||||
configName: 'isDownloadFolderKeepDirStructure',
|
||||
segments: [
|
||||
{
|
||||
text: $T('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_A'),
|
||||
text: t('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_A'),
|
||||
style: 'color: black;'
|
||||
},
|
||||
{
|
||||
text: $T('MANAGE_SETTING_ISDOWNLOADFOLDERKEEPDIRSTRUCTURE_TITLE_D'),
|
||||
text: t('MANAGE_SETTING_ISDOWNLOADFOLDERKEEPDIRSTRUCTURE_TITLE_D'),
|
||||
style: 'color: coral;'
|
||||
},
|
||||
{
|
||||
text: $T('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_C'),
|
||||
text: t('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_C'),
|
||||
style: 'color: black;'
|
||||
}
|
||||
],
|
||||
tooltip: $T('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TIPS')
|
||||
tooltip: t('MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TIPS')
|
||||
}
|
||||
]
|
||||
|
||||
@@ -359,7 +360,7 @@ async function handleDownloadDirClick () {
|
||||
|
||||
const handleCellClick = (row: any, column: any) => {
|
||||
navigator.clipboard.writeText(row[column.property])
|
||||
ElMessage.success(`${$T('MANAGE_SETTING_COPY_MESSAGE')}${row[column.property]}`)
|
||||
ElMessage.success(`${t('MANAGE_SETTING_COPY_MESSAGE')}${row[column.property]}`)
|
||||
}
|
||||
|
||||
function handleClearDb () {
|
||||
@@ -367,10 +368,10 @@ function handleClearDb () {
|
||||
.delete()
|
||||
.then(() => {
|
||||
getIndexDbSize()
|
||||
ElMessage.success($T('MANAGE_SETTING_CLEAR_CACHE_SUCCESS'))
|
||||
ElMessage.success(t('MANAGE_SETTING_CLEAR_CACHE_SUCCESS'))
|
||||
})
|
||||
.catch(() => {
|
||||
ElMessage.error($T('MANAGE_SETTING_CLEAR_CACHE_FAILED'))
|
||||
ElMessage.error(t('MANAGE_SETTING_CLEAR_CACHE_FAILED'))
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,32 +1,36 @@
|
||||
import { T as $T } from '@/i18n'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
import { IStringKeyMap } from '#/types/types'
|
||||
import { AliyunAreaCodeName, QiniuAreaCodeName, TencentAreaCodeName } from '~/manage/utils/constants'
|
||||
|
||||
import { AliyunAreaCodeName, QiniuAreaCodeName, TencentAreaCodeName } from './bucketConfigCons'
|
||||
|
||||
const { t } = useI18n()
|
||||
|
||||
export const newBucketConfig: IStringKeyMap = {
|
||||
tcyun: {
|
||||
name: $T('MANAGE_NEW_BUCKET_TCYUN_NAME'),
|
||||
name: t('MANAGE_NEW_BUCKET_TCYUN_NAME'),
|
||||
icon: 'tcyun',
|
||||
configOptions: {
|
||||
BucketName: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_DESC'),
|
||||
placeholder: $T('MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_PLACEHOLDER'),
|
||||
description: t('MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_DESC'),
|
||||
placeholder: t('MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_PLACEHOLDER'),
|
||||
paraType: 'string',
|
||||
component: 'input',
|
||||
default: 'piclist',
|
||||
rule: [
|
||||
{
|
||||
required: true,
|
||||
message: $T('MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_A'),
|
||||
message: t('MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_A'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
validator: (rule: any, value: any, callback: any) => {
|
||||
const reg = /^[a-z0-9][a-z0-9-]{1,21}[a-z0-9]$/
|
||||
if (value.length > 23) {
|
||||
callback(new Error($T('MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_B')))
|
||||
callback(new Error(t('MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_B')))
|
||||
} else if (!reg.test(value)) {
|
||||
callback(new Error($T('MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_C')))
|
||||
callback(new Error(t('MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_C')))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
@@ -37,7 +41,7 @@ export const newBucketConfig: IStringKeyMap = {
|
||||
},
|
||||
region: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_TCYUN_REGION'),
|
||||
description: t('MANAGE_NEW_BUCKET_TCYUN_REGION'),
|
||||
paraType: 'string',
|
||||
component: 'select',
|
||||
default: 'ap-nanjing',
|
||||
@@ -45,43 +49,43 @@ export const newBucketConfig: IStringKeyMap = {
|
||||
},
|
||||
acl: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_TCYUN_ACL_DESC'),
|
||||
description: t('MANAGE_NEW_BUCKET_TCYUN_ACL_DESC'),
|
||||
paraType: 'string',
|
||||
component: 'select',
|
||||
default: 'private',
|
||||
options: {
|
||||
private: $T('MANAGE_NEW_BUCKET_TCYUN_ACL_PRIVATE'),
|
||||
'public-read': $T('MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_R'),
|
||||
'public-read-write': $T('MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_RW')
|
||||
private: t('MANAGE_NEW_BUCKET_TCYUN_ACL_PRIVATE'),
|
||||
'public-read': t('MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_R'),
|
||||
'public-read-write': t('MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_RW')
|
||||
}
|
||||
}
|
||||
},
|
||||
options: ['BucketName', 'region', 'acl']
|
||||
},
|
||||
aliyun: {
|
||||
name: $T('MANAGE_NEW_BUCKET_ALIYUN_NAME'),
|
||||
name: t('MANAGE_NEW_BUCKET_ALIYUN_NAME'),
|
||||
icon: 'aliyun',
|
||||
configOptions: {
|
||||
BucketName: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_DESC'),
|
||||
placeholder: $T('MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_PLACEHOLDER'),
|
||||
description: t('MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_DESC'),
|
||||
placeholder: t('MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_PLACEHOLDER'),
|
||||
paraType: 'string',
|
||||
component: 'input',
|
||||
default: 'piclist',
|
||||
rule: [
|
||||
{
|
||||
required: true,
|
||||
message: $T('MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_A'),
|
||||
message: t('MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_A'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
validator: (rule: any, value: any, callback: any) => {
|
||||
const reg = /^[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/
|
||||
if (value.length > 63) {
|
||||
callback(new Error($T('MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_B')))
|
||||
callback(new Error(t('MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_B')))
|
||||
} else if (!reg.test(value)) {
|
||||
callback(new Error($T('MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_C')))
|
||||
callback(new Error(t('MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_C')))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
@@ -92,7 +96,7 @@ export const newBucketConfig: IStringKeyMap = {
|
||||
},
|
||||
region: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_ALIYUN_REGION'),
|
||||
description: t('MANAGE_NEW_BUCKET_ALIYUN_REGION'),
|
||||
paraType: 'string',
|
||||
component: 'select',
|
||||
default: 'oss-cn-hangzhou',
|
||||
@@ -100,43 +104,43 @@ export const newBucketConfig: IStringKeyMap = {
|
||||
},
|
||||
acl: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_ALIYUN_ACL_DESC'),
|
||||
description: t('MANAGE_NEW_BUCKET_ALIYUN_ACL_DESC'),
|
||||
paraType: 'string',
|
||||
component: 'select',
|
||||
default: 'private',
|
||||
options: {
|
||||
private: $T('MANAGE_NEW_BUCKET_ALIYUN_ACL_PRIVATE'),
|
||||
publicRead: $T('MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_R'),
|
||||
publicReadWrite: $T('MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_RW')
|
||||
private: t('MANAGE_NEW_BUCKET_ALIYUN_ACL_PRIVATE'),
|
||||
publicRead: t('MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_R'),
|
||||
publicReadWrite: t('MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_RW')
|
||||
}
|
||||
}
|
||||
},
|
||||
options: ['BucketName', 'region', 'acl']
|
||||
},
|
||||
qiniu: {
|
||||
name: $T('MANAGE_NEW_BUCKET_QINIU_NAME'),
|
||||
name: t('MANAGE_NEW_BUCKET_QINIU_NAME'),
|
||||
icon: 'qiniu',
|
||||
configOptions: {
|
||||
BucketName: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_DESC'),
|
||||
placeholder: $T('MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_PLACEHOLDER'),
|
||||
description: t('MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_DESC'),
|
||||
placeholder: t('MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_PLACEHOLDER'),
|
||||
paraType: 'string',
|
||||
component: 'input',
|
||||
default: 'piclist',
|
||||
rule: [
|
||||
{
|
||||
required: true,
|
||||
message: $T('MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_A'),
|
||||
message: t('MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_A'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
validator: (rule: any, value: any, callback: any) => {
|
||||
const reg = /^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$/
|
||||
if (value.length > 63) {
|
||||
callback(new Error($T('MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B')))
|
||||
callback(new Error(t('MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B')))
|
||||
} else if (!reg.test(value)) {
|
||||
callback(new Error($T('MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C')))
|
||||
callback(new Error(t('MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C')))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
@@ -147,7 +151,7 @@ export const newBucketConfig: IStringKeyMap = {
|
||||
},
|
||||
region: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_QINIU_REGION'),
|
||||
description: t('MANAGE_NEW_BUCKET_QINIU_REGION'),
|
||||
paraType: 'string',
|
||||
component: 'select',
|
||||
default: 'z0',
|
||||
@@ -155,7 +159,7 @@ export const newBucketConfig: IStringKeyMap = {
|
||||
},
|
||||
acl: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_QINIU_ACL_DESC'),
|
||||
description: t('MANAGE_NEW_BUCKET_QINIU_ACL_DESC'),
|
||||
paraType: 'boolean',
|
||||
component: 'switch',
|
||||
default: false
|
||||
@@ -164,42 +168,42 @@ export const newBucketConfig: IStringKeyMap = {
|
||||
options: ['BucketName', 'region', 'acl']
|
||||
},
|
||||
s3plist: {
|
||||
name: $T('MANAGE_NEW_BUCKET_S3PLIST_NAME'),
|
||||
name: t('MANAGE_NEW_BUCKET_S3PLIST_NAME'),
|
||||
icon: 's3plist',
|
||||
configOptions: {
|
||||
BucketName: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC'),
|
||||
placeholder: $T('MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER'),
|
||||
description: t('MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC'),
|
||||
placeholder: t('MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER'),
|
||||
paraType: 'string',
|
||||
component: 'input',
|
||||
default: 'piclist',
|
||||
rule: [
|
||||
{
|
||||
required: true,
|
||||
message: $T('MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A'),
|
||||
message: t('MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
},
|
||||
region: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_S3PLIST_REGION'),
|
||||
description: t('MANAGE_NEW_BUCKET_S3PLIST_REGION'),
|
||||
paraType: 'string',
|
||||
component: 'input',
|
||||
default: 'us-east-1'
|
||||
},
|
||||
acl: {
|
||||
required: true,
|
||||
description: $T('MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC'),
|
||||
description: t('MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC'),
|
||||
paraType: 'string',
|
||||
component: 'select',
|
||||
default: 'private',
|
||||
options: {
|
||||
private: $T('MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE'),
|
||||
'public-read': $T('MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R'),
|
||||
'public-read-write': $T('MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW'),
|
||||
'authenticated-read': $T('MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ')
|
||||
private: t('MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE'),
|
||||
'public-read': t('MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R'),
|
||||
'public-read-write': t('MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW'),
|
||||
'authenticated-read': t('MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ')
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
:style="handleBarActive ? 'height: 85%;' : 'height: 95%;'"
|
||||
>
|
||||
<div class="view-title">
|
||||
{{ $T('GALLERY') }} - {{ filterList.length }}
|
||||
{{ $t('GALLERY') }} - {{ filterList.length }}
|
||||
<el-icon
|
||||
style="margin-left: 4px"
|
||||
class="cursor-pointer"
|
||||
@@ -14,11 +14,11 @@
|
||||
<CaretTop v-show="handleBarActive" />
|
||||
</el-icon>
|
||||
<span style="position: absolute; right: 0; top: 0; margin-right: 20px; font-size: 0.8em; color: #fff">
|
||||
{{ $T('GALLERY_SYNC_DELETE') }}
|
||||
{{ $t('GALLERY_SYNC_DELETE') }}
|
||||
<el-switch
|
||||
v-model="deleteCloud"
|
||||
:active-text="$T('SETTINGS_OPEN')"
|
||||
:inactive-text="$T('SETTINGS_CLOSE')"
|
||||
:active-text="$t('SETTINGS_OPEN')"
|
||||
:inactive-text="$t('SETTINGS_CLOSE')"
|
||||
@change="handleDeleteCloudFile"
|
||||
/>
|
||||
<el-button
|
||||
@@ -29,7 +29,7 @@
|
||||
<el-tooltip
|
||||
class="item"
|
||||
effect="dark"
|
||||
:content="$T('REFRESH')"
|
||||
:content="$t('REFRESH')"
|
||||
placement="bottom"
|
||||
:persistent="false"
|
||||
teleported
|
||||
@@ -61,7 +61,7 @@
|
||||
collapse-tags
|
||||
size="small"
|
||||
style="width: 100%"
|
||||
:placeholder="$T('CHOOSE_SHOWED_PICBED')"
|
||||
:placeholder="$t('CHOOSE_SHOWED_PICBED')"
|
||||
:persistent="false"
|
||||
teleported
|
||||
>
|
||||
@@ -97,7 +97,7 @@
|
||||
v-model="pasteStyle"
|
||||
size="small"
|
||||
style="width: 100%"
|
||||
:placeholder="$T('CHOOSE_PASTE_FORMAT')"
|
||||
:placeholder="$t('CHOOSE_PASTE_FORMAT')"
|
||||
:persistent="false"
|
||||
teleported
|
||||
@change="handlePasteStyleChange"
|
||||
@@ -135,20 +135,20 @@
|
||||
type="primary"
|
||||
:icon="Sort"
|
||||
>
|
||||
{{ $T('MANAGE_BUCKET_SORT_TITLE') }}
|
||||
{{ $t('MANAGE_BUCKET_SORT_TITLE') }}
|
||||
</el-button>
|
||||
<template #dropdown>
|
||||
<el-dropdown-item @click="sortFile('name')">
|
||||
{{ $T('MANAGE_BUCKET_SORT_NAME') }}
|
||||
{{ $t('MANAGE_BUCKET_SORT_NAME') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click="sortFile('ext')">
|
||||
{{ $T('MANAGE_BUCKET_SORT_EXT') }}
|
||||
{{ $t('MANAGE_BUCKET_SORT_EXT') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click="sortFile('time')">
|
||||
{{ $T('MANAGE_BUCKET_SORT_TIME') }}
|
||||
{{ $t('MANAGE_BUCKET_SORT_TIME') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click="sortFile('check')">
|
||||
{{ $T('MANAGE_BUCKET_SORT_CHECK') }}
|
||||
{{ $t('MANAGE_BUCKET_SORT_CHECK') }}
|
||||
</el-dropdown-item>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
@@ -161,7 +161,7 @@
|
||||
<el-col :span="5">
|
||||
<el-input
|
||||
v-model="searchText"
|
||||
:placeholder="$T('GALLERY_SEARCH_FILENAME')"
|
||||
:placeholder="$t('GALLERY_SEARCH_FILENAME')"
|
||||
size="small"
|
||||
>
|
||||
<template #suffix>
|
||||
@@ -178,7 +178,7 @@
|
||||
<el-col :span="6">
|
||||
<el-input
|
||||
v-model="searchTextURL"
|
||||
:placeholder="$T('GALLERY_SEARCH_URL')"
|
||||
:placeholder="$t('GALLERY_SEARCH_URL')"
|
||||
size="small"
|
||||
>
|
||||
<template #suffix>
|
||||
@@ -205,7 +205,7 @@
|
||||
:class="{ active: isMultiple(choosedList) }"
|
||||
@click="multiCopy"
|
||||
>
|
||||
{{ $T('COPY') }}
|
||||
{{ $t('COPY') }}
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
@@ -214,7 +214,7 @@
|
||||
:class="{ active: filterList.length > 0 }"
|
||||
@click="() => (isShowBatchRenameDialog = true)"
|
||||
>
|
||||
{{ $T('GALLERY_CHANGE_URL') }}
|
||||
{{ $t('GALLERY_CHANGE_URL') }}
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
@@ -223,7 +223,7 @@
|
||||
:class="{ active: isMultiple(choosedList) }"
|
||||
@click="multiRemove"
|
||||
>
|
||||
{{ $T('DELETE') }}
|
||||
{{ $t('DELETE') }}
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
@@ -232,7 +232,7 @@
|
||||
:class="{ active: filterList.length > 0 }"
|
||||
@click="toggleSelectAll"
|
||||
>
|
||||
{{ isAllSelected ? $T('CANCEL') : $T('SELECT_ALL') }}
|
||||
{{ isAllSelected ? $t('CANCEL') : $t('SELECT_ALL') }}
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -320,7 +320,7 @@
|
||||
</el-row>
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:title="$T('CHANGE_IMAGE_URL')"
|
||||
:title="$t('CHANGE_IMAGE_URL')"
|
||||
width="500px"
|
||||
:modal-append-to-body="false"
|
||||
append-to-body
|
||||
@@ -328,19 +328,19 @@
|
||||
<el-input v-model="imgInfo.imgUrl" />
|
||||
<template #footer>
|
||||
<el-button @click="dialogVisible = false">
|
||||
{{ $T('CANCEL') }}
|
||||
{{ $t('CANCEL') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="confirmModify"
|
||||
>
|
||||
{{ $T('CONFIRM') }}
|
||||
{{ $t('CONFIRM') }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
v-model="isShowBatchRenameDialog"
|
||||
:title="$T('CHANGE_IMAGE_URL')"
|
||||
:title="$t('CHANGE_IMAGE_URL')"
|
||||
center
|
||||
align-center
|
||||
draggable
|
||||
@@ -352,10 +352,10 @@
|
||||
style="margin-bottom: 10px"
|
||||
>
|
||||
<span>
|
||||
{{ $T('MANAGE_BUCKET_RENAME_FILE_INPUT_A') + $T('GALLERY_MATCHED') + mathcedCount + ' ' }}
|
||||
{{ $t('MANAGE_BUCKET_RENAME_FILE_INPUT_A') + $t('GALLERY_MATCHED') + mathcedCount + ' ' }}
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$T('MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS')"
|
||||
:content="$t('MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS')"
|
||||
placement="right"
|
||||
:persistent="false"
|
||||
teleported
|
||||
@@ -368,7 +368,7 @@
|
||||
</el-link>
|
||||
<el-input
|
||||
v-model="batchRenameMatch"
|
||||
:placeholder="$T('MANAGE_BUCKET_RENAME_FILE_INPUT_A_PLACEHOLDER')"
|
||||
:placeholder="$t('MANAGE_BUCKET_RENAME_FILE_INPUT_A_PLACEHOLDER')"
|
||||
clearable
|
||||
/>
|
||||
<el-link
|
||||
@@ -376,7 +376,7 @@
|
||||
style="margin-bottom: 10px; margin-top: 10px"
|
||||
>
|
||||
<span>
|
||||
{{ $T('MANAGE_BUCKET_RENAME_FILE_INPUT_B') }}
|
||||
{{ $t('MANAGE_BUCKET_RENAME_FILE_INPUT_B') }}
|
||||
<el-popover
|
||||
effect="light"
|
||||
placement="right"
|
||||
@@ -417,7 +417,7 @@
|
||||
align="center"
|
||||
label-style="width: 100px;"
|
||||
>
|
||||
{{ $T('MANAGE_BUCKET_RENAME_FILE_TABLE_IID') }}
|
||||
{{ $t('MANAGE_BUCKET_RENAME_FILE_TABLE_IID') }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-popover>
|
||||
@@ -440,7 +440,7 @@
|
||||
}
|
||||
"
|
||||
>
|
||||
{{ $T('MANAGE_BUCKET_RENAME_FILE_CANCEL') }}
|
||||
{{ $t('MANAGE_BUCKET_RENAME_FILE_CANCEL') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@@ -448,7 +448,7 @@
|
||||
:icon="Edit"
|
||||
@click="handleBatchRename()"
|
||||
>
|
||||
{{ $T('MANAGE_BUCKET_RENAME_FILE_CONFIRM') }}
|
||||
{{ $t('MANAGE_BUCKET_RENAME_FILE_CONFIRM') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@@ -470,10 +470,10 @@ import {
|
||||
} from '@element-plus/icons-vue'
|
||||
import { CheckboxValueType, ElMessage, ElMessageBox, ElNotification } from 'element-plus'
|
||||
import { computed, nextTick, onActivated, onBeforeMount, onBeforeUnmount, reactive, ref, watch } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { onBeforeRouteUpdate } from 'vue-router'
|
||||
|
||||
import ALLApi from '@/apis/allApi'
|
||||
import { T as $T } from '@/i18n/index'
|
||||
import { customRenameFormatTable, customStrMatch, customStrReplace } from '@/manage/utils/common'
|
||||
import { getConfig, saveConfig } from '@/utils/dataSender'
|
||||
import $$db from '@/utils/db'
|
||||
@@ -482,6 +482,8 @@ import { IPasteStyle, IRPCActionType } from '#/types/enum'
|
||||
import { ICheckBoxValueType, IGalleryItem, ImgInfo, IObj, IObjT } from '#/types/types'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { picBedsCanbeDeleted } from '#/utils/static'
|
||||
|
||||
const { t } = useI18n()
|
||||
type IResult<T> = T & {
|
||||
id: string
|
||||
createdAt: number
|
||||
@@ -516,8 +518,8 @@ const pasteStyleMap = {
|
||||
}
|
||||
const useShortUrl = ref<string>('')
|
||||
const shortURLMap = {
|
||||
[$T('UPLOAD_SHORT_URL')]: $T('UPLOAD_SHORT_URL'),
|
||||
[$T('UPLOAD_NORMAL_URL')]: $T('UPLOAD_NORMAL_URL')
|
||||
[t('UPLOAD_SHORT_URL')]: t('UPLOAD_SHORT_URL'),
|
||||
[t('UPLOAD_NORMAL_URL')]: t('UPLOAD_NORMAL_URL')
|
||||
}
|
||||
const fileSortNameReverse = ref(false)
|
||||
const fileSortTimeReverse = ref(false)
|
||||
@@ -722,7 +724,7 @@ async function copy (item: ImgInfo) {
|
||||
})
|
||||
}
|
||||
const obj = {
|
||||
title: $T('COPY_LINK_SUCCEED'),
|
||||
title: t('COPY_LINK_SUCCEED'),
|
||||
body: result ? result[0] : ''
|
||||
}
|
||||
const myNotification = new Notification(obj.title, obj)
|
||||
@@ -734,9 +736,9 @@ async function copy (item: ImgInfo) {
|
||||
|
||||
function remove (item: ImgInfo) {
|
||||
if (!item.id) return
|
||||
$confirm($T('TIPS_REMOVE_LINK'), $T('TIPS_NOTICE'), {
|
||||
confirmButtonText: $T('CONFIRM'),
|
||||
cancelButtonText: $T('CANCEL'),
|
||||
$confirm(t('TIPS_REMOVE_LINK'), t('TIPS_NOTICE'), {
|
||||
confirmButtonText: t('CONFIRM'),
|
||||
cancelButtonText: t('CANCEL'),
|
||||
type: 'warning'
|
||||
})
|
||||
.then(async () => {
|
||||
@@ -748,14 +750,14 @@ function remove (item: ImgInfo) {
|
||||
const result = await ALLApi.delete(item)
|
||||
if (result) {
|
||||
ElNotification({
|
||||
title: $T('GALLERY_SYNC_DELETE_NOTICE_TITLE'),
|
||||
message: `${item.fileName} ${$T('GALLERY_SYNC_DELETE_NOTICE_SUCCEED')}`,
|
||||
title: t('GALLERY_SYNC_DELETE_NOTICE_TITLE'),
|
||||
message: `${item.fileName} ${t('GALLERY_SYNC_DELETE_NOTICE_SUCCEED')}`,
|
||||
type: 'success'
|
||||
})
|
||||
} else {
|
||||
ElNotification({
|
||||
title: $T('GALLERY_SYNC_DELETE_NOTICE_TITLE'),
|
||||
message: `${item.fileName} ${$T('GALLERY_SYNC_DELETE_NOTICE_FAILED')}`,
|
||||
title: t('GALLERY_SYNC_DELETE_NOTICE_TITLE'),
|
||||
message: `${item.fileName} ${t('GALLERY_SYNC_DELETE_NOTICE_FAILED')}`,
|
||||
type: 'error'
|
||||
})
|
||||
return true
|
||||
@@ -764,7 +766,7 @@ function remove (item: ImgInfo) {
|
||||
await $$db.removeById(item.id!)
|
||||
window.electron.sendRPC(IRPCActionType.GALLERY_REMOVE_FILES, [file])
|
||||
const obj = {
|
||||
title: $T('OPERATION_SUCCEED'),
|
||||
title: t('OPERATION_SUCCEED'),
|
||||
body: ''
|
||||
}
|
||||
const myNotification = new Notification(obj.title, obj)
|
||||
@@ -796,7 +798,7 @@ async function confirmModify () {
|
||||
imgUrl: imgInfo.imgUrl
|
||||
})
|
||||
const obj = {
|
||||
title: $T('CHANGE_IMAGE_URL_SUCCEED'),
|
||||
title: t('CHANGE_IMAGE_URL_SUCCEED'),
|
||||
body: imgInfo.imgUrl
|
||||
}
|
||||
const myNotification = new Notification(obj.title, obj)
|
||||
@@ -830,13 +832,13 @@ function multiRemove () {
|
||||
const multiRemoveNumber = Object.values(choosedList).filter(item => item).length
|
||||
if (multiRemoveNumber) {
|
||||
$confirm(
|
||||
$T('TIPS_WILL_REMOVE_CHOOSED_IMAGES', {
|
||||
t('TIPS_WILL_REMOVE_CHOOSED_IMAGES', {
|
||||
m: multiRemoveNumber
|
||||
}),
|
||||
$T('TIPS_NOTICE'),
|
||||
t('TIPS_NOTICE'),
|
||||
{
|
||||
confirmButtonText: $T('CONFIRM'),
|
||||
cancelButtonText: $T('CANCEL'),
|
||||
confirmButtonText: t('CONFIRM'),
|
||||
cancelButtonText: t('CANCEL'),
|
||||
type: 'warning'
|
||||
}
|
||||
)
|
||||
@@ -854,8 +856,8 @@ function multiRemove () {
|
||||
const result = await ALLApi.delete(file)
|
||||
if (result) {
|
||||
ElNotification({
|
||||
title: $T('GALLERY_SYNC_DELETE'),
|
||||
message: `${file.fileName} ${$T('GALLERY_SYNC_DELETE_NOTICE_SUCCEED')}`,
|
||||
title: t('GALLERY_SYNC_DELETE'),
|
||||
message: `${file.fileName} ${t('GALLERY_SYNC_DELETE_NOTICE_SUCCEED')}`,
|
||||
type: 'success',
|
||||
duration: multiRemoveNumber > 5 ? 1000 : 2000
|
||||
})
|
||||
@@ -863,8 +865,8 @@ function multiRemove () {
|
||||
await $$db.removeById(key)
|
||||
} else {
|
||||
ElNotification({
|
||||
title: $T('GALLERY_SYNC_DELETE'),
|
||||
message: `${file.fileName} ${$T('GALLERY_SYNC_DELETE_NOTICE_FAILED')}`,
|
||||
title: t('GALLERY_SYNC_DELETE'),
|
||||
message: `${file.fileName} ${t('GALLERY_SYNC_DELETE_NOTICE_FAILED')}`,
|
||||
type: 'error',
|
||||
duration: multiRemoveNumber > 5 ? 1000 : 2000
|
||||
})
|
||||
@@ -892,7 +894,7 @@ function multiRemove () {
|
||||
// TODO: check this
|
||||
// choosedList = {} // 只有删除才能将这个置空
|
||||
const obj = {
|
||||
title: $T('OPERATION_SUCCEED'),
|
||||
title: t('OPERATION_SUCCEED'),
|
||||
body: ''
|
||||
}
|
||||
window.electron.sendRPC(IRPCActionType.GALLERY_REMOVE_FILES, files)
|
||||
@@ -930,7 +932,7 @@ async function multiCopy () {
|
||||
}
|
||||
}
|
||||
const obj = {
|
||||
title: $T('BATCH_COPY_LINK_SUCCEED'),
|
||||
title: t('BATCH_COPY_LINK_SUCCEED'),
|
||||
body: copyString.join('\n')
|
||||
}
|
||||
const myNotification = new Notification(obj.title, obj)
|
||||
@@ -952,7 +954,7 @@ async function handlePasteStyleChange (val: string) {
|
||||
}
|
||||
|
||||
function handleUseShortUrlChange (value: string) {
|
||||
saveConfig(configPaths.settings.useShortUrl, value === $T('UPLOAD_SHORT_URL'))
|
||||
saveConfig(configPaths.settings.useShortUrl, value === t('UPLOAD_SHORT_URL'))
|
||||
useShortUrl.value = value
|
||||
}
|
||||
|
||||
@@ -1005,7 +1007,7 @@ function sortFile (type: 'name' | 'time' | 'ext' | 'check') {
|
||||
function handleBatchRename () {
|
||||
isShowBatchRenameDialog.value = false
|
||||
if (batchRenameMatch.value === '') {
|
||||
ElMessage.warning($T('MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG'))
|
||||
ElMessage.warning(t('MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG'))
|
||||
return
|
||||
}
|
||||
let matchedFiles = [] as any[]
|
||||
@@ -1015,7 +1017,7 @@ function handleBatchRename () {
|
||||
}
|
||||
})
|
||||
if (matchedFiles.length === 0) {
|
||||
ElMessage.warning($T('MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG2'))
|
||||
ElMessage.warning(t('MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG2'))
|
||||
return
|
||||
}
|
||||
for (const matchedFile of matchedFiles) {
|
||||
@@ -1023,7 +1025,7 @@ function handleBatchRename () {
|
||||
}
|
||||
matchedFiles = matchedFiles.filter((item: any) => item.imgUrl !== item.newUrl)
|
||||
if (matchedFiles.length === 0) {
|
||||
ElMessage.warning($T('MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG3'))
|
||||
ElMessage.warning(t('MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG3'))
|
||||
}
|
||||
for (let i = 0; i < matchedFiles.length; i++) {
|
||||
matchedFiles[i].newUrl = matchedFiles[i].newUrl.replaceAll('{auto}', (i + 1).toString())
|
||||
@@ -1044,7 +1046,7 @@ function handleBatchRename () {
|
||||
Promise.all(promiseList)
|
||||
.then(() => {
|
||||
const obj = {
|
||||
title: $T('OPERATION_SUCCEED'),
|
||||
title: t('OPERATION_SUCCEED'),
|
||||
body: ''
|
||||
}
|
||||
const myNotification = new Notification(obj.title, obj)
|
||||
@@ -1059,11 +1061,11 @@ function handleBatchRename () {
|
||||
}
|
||||
if (duplicateFilesNum > 0) {
|
||||
ElMessageBox.confirm(
|
||||
`${$T('MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_A')} ${duplicateFilesNum} ${$T('MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_B')}`,
|
||||
$T('MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_C'),
|
||||
`${t('MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_A')} ${duplicateFilesNum} ${t('MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_B')}`,
|
||||
t('MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_C'),
|
||||
{
|
||||
confirmButtonText: $T('MANAGE_BUCKET_BATCH_RENAME_REPEATED_CONFIRM'),
|
||||
cancelButtonText: $T('MANAGE_BUCKET_BATCH_RENAME_REPEATED_CANCEL'),
|
||||
confirmButtonText: t('MANAGE_BUCKET_BATCH_RENAME_REPEATED_CONFIRM'),
|
||||
cancelButtonText: t('MANAGE_BUCKET_BATCH_RENAME_REPEATED_CANCEL'),
|
||||
type: 'warning'
|
||||
}
|
||||
)
|
||||
@@ -1071,7 +1073,7 @@ function handleBatchRename () {
|
||||
rename()
|
||||
})
|
||||
.catch(() => {
|
||||
ElMessage.info($T('MANAGE_BUCKET_BATCH_RENAME_CANCEL'))
|
||||
ElMessage.info(t('MANAGE_BUCKET_BATCH_RENAME_CANCEL'))
|
||||
})
|
||||
} else {
|
||||
rename()
|
||||
@@ -1085,8 +1087,8 @@ onBeforeUnmount(() => {
|
||||
onActivated(async () => {
|
||||
pasteStyle.value = (await getConfig(configPaths.settings.pasteStyle)) || IPasteStyle.MARKDOWN
|
||||
useShortUrl.value = (await getConfig(configPaths.settings.useShortUrl))
|
||||
? $T('UPLOAD_SHORT_URL')
|
||||
: $T('UPLOAD_NORMAL_URL')
|
||||
? t('UPLOAD_SHORT_URL')
|
||||
: t('UPLOAD_NORMAL_URL')
|
||||
initDeleteCloud()
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -33,18 +33,19 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { IpcRendererEvent } from 'electron'
|
||||
import type { IpcRendererEvent } from 'electron'
|
||||
import { ElMessage as $message } from 'element-plus'
|
||||
import type { IConfig } from 'piclist'
|
||||
import { onBeforeMount, onBeforeUnmount, ref, watch } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
import { T as $T } from '@/i18n/index'
|
||||
import { getConfig } from '@/utils/dataSender'
|
||||
import { osGlobal } from '@/utils/global'
|
||||
import { IRPCActionType } from '#/types/enum'
|
||||
import { IFileWithPath } from '#/types/types'
|
||||
import { isUrl } from '#/utils/common'
|
||||
|
||||
const { t } = useI18n()
|
||||
const logoPath = ref('')
|
||||
const dragover = ref(false)
|
||||
const progress = ref(0)
|
||||
@@ -114,7 +115,7 @@ function onDrop (e: DragEvent) {
|
||||
if (isUrl(str)) {
|
||||
window.electron.sendRPC(IRPCActionType.UPLOAD_CHOOSED_FILES, [{ path: str }])
|
||||
} else {
|
||||
$message.error($T('TIPS_DRAG_VALID_PICTURE_OR_URL'))
|
||||
$message.error(t('TIPS_DRAG_VALID_PICTURE_OR_URL'))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -132,7 +133,7 @@ function handleURLDrag (items: DataTransferItemList, dataTransfer: DataTransfer)
|
||||
}
|
||||
])
|
||||
} else {
|
||||
$message.error($T('TIPS_DRAG_VALID_PICTURE_OR_URL'))
|
||||
$message.error(t('TIPS_DRAG_VALID_PICTURE_OR_URL'))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div id="plugin-view">
|
||||
<div class="view-title">
|
||||
{{ $T('PLUGIN_SETTINGS') }} -
|
||||
{{ $t('PLUGIN_SETTINGS') }} -
|
||||
<el-tooltip
|
||||
:content="pluginListToolTip"
|
||||
placement="right"
|
||||
@@ -48,7 +48,7 @@
|
||||
>
|
||||
<el-input
|
||||
v-model="searchText"
|
||||
:placeholder="$T('PLUGIN_SEARCH_PLACEHOLDER')"
|
||||
:placeholder="$t('PLUGIN_SEARCH_PLACEHOLDER')"
|
||||
size="small"
|
||||
>
|
||||
<template #suffix>
|
||||
@@ -132,20 +132,20 @@
|
||||
class="config-button install"
|
||||
@click="installPlugin(item)"
|
||||
>
|
||||
{{ $T('PLUGIN_INSTALL') }}
|
||||
{{ $t('PLUGIN_INSTALL') }}
|
||||
</span>
|
||||
<span
|
||||
v-else-if="item.ing"
|
||||
class="config-button ing"
|
||||
>
|
||||
{{ $T('PLUGIN_INSTALLING') }}
|
||||
{{ $t('PLUGIN_INSTALLING') }}
|
||||
</span>
|
||||
</template>
|
||||
<span
|
||||
v-else
|
||||
class="config-button ing"
|
||||
>
|
||||
{{ $T('PLUGIN_INSTALLED') }}
|
||||
{{ $t('PLUGIN_INSTALLED') }}
|
||||
</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
@@ -153,7 +153,7 @@
|
||||
v-if="item.ing"
|
||||
class="config-button ing"
|
||||
>
|
||||
{{ $T('PLUGIN_DOING_SOMETHING') }}
|
||||
{{ $t('PLUGIN_DOING_SOMETHING') }}
|
||||
</span>
|
||||
<template v-else>
|
||||
<el-icon
|
||||
@@ -190,14 +190,14 @@
|
||||
round
|
||||
@click="reloadApp"
|
||||
>
|
||||
{{ $T('TIPS_NEED_RELOAD') }}
|
||||
{{ $t('TIPS_NEED_RELOAD') }}
|
||||
</el-button>
|
||||
</el-row>
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
:modal-append-to-body="false"
|
||||
:title="
|
||||
$T('CONFIG_THING', {
|
||||
$t('CONFIG_THING', {
|
||||
c: configName
|
||||
})
|
||||
"
|
||||
@@ -216,14 +216,14 @@
|
||||
round
|
||||
@click="dialogVisible = false"
|
||||
>
|
||||
{{ $T('CANCEL') }}
|
||||
{{ $t('CANCEL') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
round
|
||||
@click="handleConfirmConfig"
|
||||
>
|
||||
{{ $T('CONFIRM') }}
|
||||
{{ $t('CONFIRM') }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -236,9 +236,9 @@ import type { IpcRendererEvent } from 'electron'
|
||||
import { ElMessageBox } from 'element-plus'
|
||||
import { debounce, DebouncedFunc } from 'lodash-es'
|
||||
import { computed, onBeforeMount, onBeforeUnmount, onMounted, reactive, ref, toRaw, watch } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
import ConfigForm from '@/components/ConfigFormForPlugin.vue'
|
||||
import { T as $T } from '@/i18n/index'
|
||||
import { getConfig, saveConfig } from '@/utils/dataSender'
|
||||
import { osGlobal, updatePicBedGlobal } from '@/utils/global'
|
||||
import {
|
||||
@@ -252,6 +252,7 @@ import { INPMSearchResultObject, IPicGoPlugin } from '#/types/types'
|
||||
import { handleStreamlinePluginName } from '#/utils/common'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
|
||||
const { t } = useI18n()
|
||||
const $confirm = ElMessageBox.confirm
|
||||
const searchText = ref('')
|
||||
const pluginList = ref<IPicGoPlugin[]>([])
|
||||
@@ -263,9 +264,9 @@ const pluginNameList = ref<string[]>([])
|
||||
const loading = ref(true)
|
||||
const needReload = ref(false)
|
||||
const latestVersionMap = reactive<{ [key: string]: string }>({})
|
||||
const pluginListToolTip = $T('PLUGIN_LIST')
|
||||
const importLocalPluginToolTip = $T('PLUGIN_IMPORT_LOCAL')
|
||||
const updateAllToolTip = $T('PLUGIN_UPDATE_ALL')
|
||||
const pluginListToolTip = t('PLUGIN_LIST')
|
||||
const importLocalPluginToolTip = t('PLUGIN_IMPORT_LOCAL')
|
||||
const updateAllToolTip = t('PLUGIN_UPDATE_ALL')
|
||||
const defaultLogo = ref('this.src=\'/roundLogo.png\'')
|
||||
const $configForm = ref<InstanceType<typeof ConfigForm> | null>(null)
|
||||
const npmSearchText = computed(() => {
|
||||
@@ -440,9 +441,9 @@ function getPluginList () {
|
||||
|
||||
function installPlugin (item: IPicGoPlugin) {
|
||||
if (!item.gui) {
|
||||
$confirm($T('TIPS_PLUGIN_NOT_GUI_IMPLEMENT'), $T('TIPS_NOTICE'), {
|
||||
confirmButtonText: $T('CONFIRM'),
|
||||
cancelButtonText: $T('CANCEL'),
|
||||
$confirm(t('TIPS_PLUGIN_NOT_GUI_IMPLEMENT'), t('TIPS_NOTICE'), {
|
||||
confirmButtonText: t('CONFIRM'),
|
||||
cancelButtonText: t('CANCEL'),
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
@@ -467,8 +468,8 @@ async function handleReload () {
|
||||
needReload: true
|
||||
})
|
||||
needReload.value = true
|
||||
const successNotification = new Notification($T('PLUGIN_UPDATE_SUCCEED'), {
|
||||
body: $T('TIPS_NEED_RELOAD')
|
||||
const successNotification = new Notification(t('PLUGIN_UPDATE_SUCCEED'), {
|
||||
body: t('TIPS_NEED_RELOAD')
|
||||
})
|
||||
successNotification.onclick = () => {
|
||||
reloadApp()
|
||||
@@ -499,8 +500,8 @@ async function handleConfirmConfig () {
|
||||
})
|
||||
break
|
||||
}
|
||||
const successNotification = new Notification($T('SETTINGS_RESULT'), {
|
||||
body: $T('TIPS_SET_SUCCEED')
|
||||
const successNotification = new Notification(t('SETTINGS_RESULT'), {
|
||||
body: t('TIPS_SET_SUCCEED')
|
||||
})
|
||||
successNotification.onclick = () => {
|
||||
return true
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
@submit.prevent
|
||||
>
|
||||
<el-form-item
|
||||
:label="$T('FILE_RENAME')"
|
||||
:label="$t('FILE_RENAME')"
|
||||
prop="fileName"
|
||||
:rules="[{ required: true, message: 'file name is required', trigger: 'blur' }]"
|
||||
>
|
||||
@@ -35,7 +35,7 @@
|
||||
size="small"
|
||||
@click="cancel"
|
||||
>
|
||||
{{ $T('CANCEL') }}
|
||||
{{ $t('CANCEL') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@@ -43,7 +43,7 @@
|
||||
size="small"
|
||||
@click="confirmName"
|
||||
>
|
||||
{{ $T('CONFIRM') }}
|
||||
{{ $t('CONFIRM') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
@@ -56,7 +56,6 @@ import type { IpcRendererEvent } from 'electron'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import { onBeforeMount, onBeforeUnmount, reactive, ref } from 'vue'
|
||||
|
||||
import { T as $T } from '@/i18n/index'
|
||||
import { GET_RENAME_FILE_NAME, RENAME_FILE_NAME } from '#/events/constants'
|
||||
|
||||
const id = ref<string | null>(null)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div id="shortcut-page">
|
||||
<div class="view-title">
|
||||
{{ $T('SETTINGS_SET_SHORTCUT') }}
|
||||
{{ $t('SETTINGS_SET_SHORTCUT') }}
|
||||
</div>
|
||||
<el-row>
|
||||
<el-col
|
||||
@@ -15,28 +15,28 @@
|
||||
header-cell-class-name="shortcut-page-table-border"
|
||||
cell-class-name="shortcut-page-table-border"
|
||||
>
|
||||
<el-table-column :label="$T('SHORTCUT_NAME')">
|
||||
<el-table-column :label="$t('SHORTCUT_NAME')">
|
||||
<template #default="scope">
|
||||
{{ scope.row.label ? scope.row.label : scope.row.name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="160px"
|
||||
:label="$T('SHORTCUT_BIND')"
|
||||
:label="$t('SHORTCUT_BIND')"
|
||||
prop="key"
|
||||
/>
|
||||
<el-table-column :label="$T('SHORTCUT_STATUS')">
|
||||
<el-table-column :label="$t('SHORTCUT_STATUS')">
|
||||
<template #default="scope">
|
||||
<el-tag
|
||||
size="small"
|
||||
:type="scope.row.enable ? 'success' : 'danger'"
|
||||
>
|
||||
{{ scope.row.enable ? $T('SHORTCUT_ENABLED') : $T('SHORTCUT_DISABLED') }}
|
||||
{{ scope.row.enable ? $t('SHORTCUT_ENABLED') : $t('SHORTCUT_DISABLED') }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
:label="$T('SHORTCUT_SOURCE')"
|
||||
:label="$t('SHORTCUT_SOURCE')"
|
||||
width="100px"
|
||||
>
|
||||
<template #default="scope">
|
||||
@@ -44,7 +44,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
:label="$T('SHORTCUT_HANDLE')"
|
||||
:label="$t('SHORTCUT_HANDLE')"
|
||||
width="100px"
|
||||
>
|
||||
<template #default="scope">
|
||||
@@ -58,7 +58,7 @@
|
||||
:link="true"
|
||||
@click="toggleEnable(scope.row)"
|
||||
>
|
||||
{{ scope.row.enable ? $T('SHORTCUT_DISABLE') : $T('SHORTCUT_ENABLE') }}
|
||||
{{ scope.row.enable ? $t('SHORTCUT_DISABLE') : $t('SHORTCUT_ENABLE') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
class="edit"
|
||||
@@ -67,7 +67,7 @@
|
||||
:link="true"
|
||||
@click="openKeyBindingDialog(scope.row, scope.$index)"
|
||||
>
|
||||
{{ $T('SHORTCUT_EDIT') }}
|
||||
{{ $t('SHORTCUT_EDIT') }}
|
||||
</el-button>
|
||||
</el-row>
|
||||
</template>
|
||||
@@ -77,7 +77,7 @@
|
||||
</el-row>
|
||||
<el-dialog
|
||||
v-model="keyBindingVisible"
|
||||
:title="$T('SHORTCUT_CHANGE_UPLOAD')"
|
||||
:title="$t('SHORTCUT_CHANGE_UPLOAD')"
|
||||
:modal-append-to-body="false"
|
||||
append-to-body
|
||||
>
|
||||
@@ -99,14 +99,14 @@
|
||||
round
|
||||
@click="cancelKeyBinding"
|
||||
>
|
||||
{{ $T('CANCEL') }}
|
||||
{{ $t('CANCEL') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
round
|
||||
@click="confirmKeyBinding"
|
||||
>
|
||||
{{ $T('CONFIRM') }}
|
||||
{{ $t('CONFIRM') }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -116,7 +116,6 @@
|
||||
<script lang="ts" setup>
|
||||
import { onBeforeMount, onBeforeUnmount, ref, watch } from 'vue'
|
||||
|
||||
import { T as $T } from '@/i18n'
|
||||
import { getConfig } from '@/utils/dataSender'
|
||||
import keyBinding from '@/utils/key-binding'
|
||||
import { IRPCActionType } from '#/types/enum'
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
>
|
||||
<el-row class="toolbox-header__text">
|
||||
<el-row class="toolbox-header__title">
|
||||
{{ $T('TOOLBOX_TITLE') }}
|
||||
{{ $t('TOOLBOX_TITLE') }}
|
||||
</el-row>
|
||||
<el-row class="toolbox-header__sub-title">
|
||||
{{ $T('TOOLBOX_SUB_TITLE') }}
|
||||
{{ $t('TOOLBOX_SUB_TITLE') }}
|
||||
</el-row>
|
||||
</el-row>
|
||||
</el-row>
|
||||
@@ -24,12 +24,12 @@
|
||||
:disabled="isLoading"
|
||||
@click="handleCheck"
|
||||
>
|
||||
{{ $T('TOOLBOX_START_SCAN') }}
|
||||
{{ $t('TOOLBOX_START_SCAN') }}
|
||||
</el-button>
|
||||
</template>
|
||||
<template v-else-if="isAllSuccess">
|
||||
<div class="toolbox-tips">
|
||||
{{ $T('TOOLBOX_SUCCESS_TIPS') }}
|
||||
{{ $t('TOOLBOX_SUCCESS_TIPS') }}
|
||||
</div>
|
||||
</template>
|
||||
<template v-else-if="!isAllSuccess">
|
||||
@@ -39,19 +39,19 @@
|
||||
round
|
||||
@click="handleFix"
|
||||
>
|
||||
{{ $T('TOOLBOX_START_FIX') }}
|
||||
{{ $t('TOOLBOX_START_FIX') }}
|
||||
</el-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div class="toolbox-cant-fix toolbox-tips">
|
||||
{{ $T('TOOLBOX_CANT_AUTO_FIX') }}
|
||||
{{ $t('TOOLBOX_CANT_AUTO_FIX') }}
|
||||
<el-button
|
||||
type="primary"
|
||||
round
|
||||
class="toolbox-cant-fix__btn"
|
||||
@click="handleCheck"
|
||||
>
|
||||
{{ $T('TOOLBOX_RE_SCAN') }}
|
||||
{{ $t('TOOLBOX_RE_SCAN') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
@@ -95,41 +95,42 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ElMessageBox } from 'element-plus'
|
||||
import { IToolboxCheckRes } from 'root/src/universal/types/rpc'
|
||||
import { IToolboxMap } from 'root/src/universal/types/view'
|
||||
import { computed, onUnmounted, reactive, ref } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
import ToolboxHandler from '@/components/ToolboxHandler.vue'
|
||||
import ToolboxStatusIcon from '@/components/ToolboxStatusIcon.vue'
|
||||
import { T as $T } from '@/i18n'
|
||||
import { IRPCActionType, IToolboxItemCheckStatus, IToolboxItemType } from '#/types/enum'
|
||||
import { IToolboxCheckRes } from '#/types/rpc'
|
||||
import { IToolboxMap } from '#/types/view'
|
||||
|
||||
const { t } = useI18n()
|
||||
const $confirm = ElMessageBox.confirm
|
||||
const defaultLogo = ref('/roundLogo.png')
|
||||
const activeTypes = ref<IToolboxItemType[]>([])
|
||||
const fixList = reactive<IToolboxMap>({
|
||||
[IToolboxItemType.IS_CONFIG_FILE_BROKEN]: {
|
||||
title: $T('TOOLBOX_CHECK_CONFIG_FILE_BROKEN'),
|
||||
title: t('TOOLBOX_CHECK_CONFIG_FILE_BROKEN'),
|
||||
status: IToolboxItemCheckStatus.INIT,
|
||||
handlerText: $T('SETTINGS_OPEN_CONFIG_FILE'),
|
||||
handlerText: t('SETTINGS_OPEN_CONFIG_FILE'),
|
||||
handler (value: string) {
|
||||
window.electron.sendRPC(IRPCActionType.OPEN_FILE, value)
|
||||
}
|
||||
},
|
||||
[IToolboxItemType.IS_GALLERY_FILE_BROKEN]: {
|
||||
title: $T('TOOLBOX_CHECK_GALLERY_FILE_BROKEN'),
|
||||
title: t('TOOLBOX_CHECK_GALLERY_FILE_BROKEN'),
|
||||
status: IToolboxItemCheckStatus.INIT
|
||||
},
|
||||
[IToolboxItemType.HAS_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD]: {
|
||||
title: $T('TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD'), // picgo-image-clipboard folder
|
||||
title: t('TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD'), // picgo-image-clipboard folder
|
||||
status: IToolboxItemCheckStatus.INIT,
|
||||
handlerText: $T('OPEN_FILE_PATH'),
|
||||
handlerText: t('OPEN_FILE_PATH'),
|
||||
handler (value: string) {
|
||||
window.electron.sendRPC(IRPCActionType.OPEN_FILE, value)
|
||||
}
|
||||
},
|
||||
[IToolboxItemType.HAS_PROBLEM_WITH_PROXY]: {
|
||||
title: $T('TOOLBOX_CHECK_PROBLEM_WITH_PROXY'),
|
||||
title: t('TOOLBOX_CHECK_PROBLEM_WITH_PROXY'),
|
||||
status: IToolboxItemCheckStatus.INIT,
|
||||
hasNoFixMethod: true
|
||||
}
|
||||
@@ -210,9 +211,9 @@ const handleFix = async () => {
|
||||
}
|
||||
})
|
||||
|
||||
$confirm($T('TOOLBOX_FIX_DONE_NEED_RELOAD'), $T('TIPS_NOTICE'), {
|
||||
confirmButtonText: $T('CONFIRM'),
|
||||
cancelButtonText: $T('CANCEL'),
|
||||
$confirm(t('TOOLBOX_FIX_DONE_NEED_RELOAD'), t('TIPS_NOTICE'), {
|
||||
confirmButtonText: t('CONFIRM'),
|
||||
cancelButtonText: t('CANCEL'),
|
||||
type: 'info'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
class="open-main-window"
|
||||
@click="openSettingWindow"
|
||||
>
|
||||
{{ $T('OPEN_MAIN_WINDOW') }}
|
||||
{{ $t('OPEN_MAIN_WINDOW') }}
|
||||
</div>
|
||||
<div class="content">
|
||||
<div
|
||||
@@ -12,7 +12,7 @@
|
||||
class="wait-upload-img"
|
||||
>
|
||||
<div class="list-title">
|
||||
{{ $T('WAIT_TO_UPLOAD') }}
|
||||
{{ $t('WAIT_TO_UPLOAD') }}
|
||||
</div>
|
||||
<div
|
||||
v-for="(item, index) in clipboardFiles"
|
||||
@@ -33,7 +33,7 @@
|
||||
</div>
|
||||
<div class="uploaded-img">
|
||||
<div class="list-title">
|
||||
{{ $T('ALREADY_UPLOAD') }}
|
||||
{{ $t('ALREADY_UPLOAD') }}
|
||||
</div>
|
||||
<div
|
||||
v-for="item in files"
|
||||
@@ -64,8 +64,8 @@
|
||||
<script lang="ts" setup>
|
||||
import type { IpcRendererEvent } from 'electron'
|
||||
import { onBeforeMount, onBeforeUnmount, reactive, ref } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
import { T as $T } from '@/i18n/index'
|
||||
import { getConfig } from '@/utils/dataSender'
|
||||
import $$db from '@/utils/db'
|
||||
import { IPasteStyle, IRPCActionType, IWindowList } from '#/types/enum'
|
||||
@@ -73,6 +73,8 @@ import { ImgInfo } from '#/types/types'
|
||||
import { handleUrlEncode } from '#/utils/common'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
|
||||
const { t } = useI18n()
|
||||
|
||||
type IResult<T> = T & {
|
||||
id: string
|
||||
createdAt: number
|
||||
@@ -80,7 +82,7 @@ type IResult<T> = T & {
|
||||
}
|
||||
const files = ref<IResult<ImgInfo>[]>([])
|
||||
const notification = reactive({
|
||||
title: $T('COPY_LINK_SUCCEED'),
|
||||
title: t('COPY_LINK_SUCCEED'),
|
||||
body: ''
|
||||
})
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<el-tooltip
|
||||
placement="top"
|
||||
effect="light"
|
||||
:content="$T('UPLOAD_VIEW_HINT')"
|
||||
:content="$t('UPLOAD_VIEW_HINT')"
|
||||
:persistent="false"
|
||||
teleported
|
||||
>
|
||||
@@ -34,7 +34,7 @@
|
||||
style="margin-left: 6px"
|
||||
@click="handleImageProcess"
|
||||
>
|
||||
{{ $T('UPLOAD_PAGE_IMAGE_PROCESS_NAME') }}
|
||||
{{ $t('UPLOAD_PAGE_IMAGE_PROCESS_NAME') }}
|
||||
</el-button>
|
||||
</div>
|
||||
<div
|
||||
@@ -52,8 +52,8 @@
|
||||
<UploadFilled />
|
||||
</el-icon>
|
||||
<div class="upload-dragger__text">
|
||||
{{ $T('DRAG_FILE_TO_HERE') }}
|
||||
<span>{{ $T('CLICK_TO_UPLOAD') }}</span>
|
||||
{{ $t('DRAG_FILE_TO_HERE') }}
|
||||
<span>{{ $t('CLICK_TO_UPLOAD') }}</span>
|
||||
</div>
|
||||
<input
|
||||
id="file-uploader"
|
||||
@@ -73,7 +73,7 @@
|
||||
<div class="paste-style">
|
||||
<div class="el-col-12">
|
||||
<div class="paste-style__text">
|
||||
{{ $T('LINK_FORMAT') }}
|
||||
{{ $t('LINK_FORMAT') }}
|
||||
</div>
|
||||
<el-radio-group
|
||||
v-model="pasteStyle"
|
||||
@@ -98,19 +98,19 @@
|
||||
:value="true"
|
||||
style="border-radius: 5px"
|
||||
>
|
||||
{{ $T('UPLOAD_SHORT_URL') }}
|
||||
{{ $t('UPLOAD_SHORT_URL') }}
|
||||
</el-radio-button>
|
||||
<el-radio-button
|
||||
:value="false"
|
||||
style="border-radius: 5px"
|
||||
>
|
||||
{{ $T('UPLOAD_NORMAL_URL') }}
|
||||
{{ $t('UPLOAD_NORMAL_URL') }}
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<div class="el-col-8">
|
||||
<div class="paste-style__text">
|
||||
{{ $T('QUICK_UPLOAD') }}
|
||||
{{ $t('QUICK_UPLOAD') }}
|
||||
</div>
|
||||
<el-button
|
||||
type="primary"
|
||||
@@ -120,7 +120,7 @@
|
||||
style="width: 50%"
|
||||
@click="uploadClipboardFiles"
|
||||
>
|
||||
{{ $T('CLIPBOARD_PICTURE') }}
|
||||
{{ $t('CLIPBOARD_PICTURE') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@@ -138,7 +138,7 @@
|
||||
</el-row>
|
||||
<el-dialog
|
||||
v-model="imageProcessDialogVisible"
|
||||
:title="$T('UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE')"
|
||||
:title="$t('UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE')"
|
||||
width="50%"
|
||||
draggable
|
||||
center
|
||||
@@ -155,10 +155,10 @@ import { CaretBottom, UploadFilled } from '@element-plus/icons-vue'
|
||||
import type { IpcRendererEvent } from 'electron'
|
||||
import { ElMessage as $message } from 'element-plus'
|
||||
import { onBeforeMount, onBeforeUnmount, ref, watch } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { useRouter } from 'vue-router'
|
||||
|
||||
import ImageProcessSetting from '@/components/ImageProcessSetting.vue'
|
||||
import { T as $T } from '@/i18n'
|
||||
import { PICBEDS_PAGE } from '@/router/config'
|
||||
import $bus from '@/utils/bus'
|
||||
import { getConfig, saveConfig } from '@/utils/dataSender'
|
||||
@@ -170,6 +170,7 @@ import { IFileWithPath, IUploaderConfigItem } from '#/types/types'
|
||||
import { isUrl } from '#/utils/common'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
|
||||
const { t } = useI18n()
|
||||
useDragEventListeners()
|
||||
const $router = useRouter()
|
||||
|
||||
@@ -277,7 +278,7 @@ function onDrop (e: DragEvent) {
|
||||
if (isUrl(str)) {
|
||||
window.electron.sendRPC(IRPCActionType.UPLOAD_CHOOSED_FILES, [{ path: str }])
|
||||
} else {
|
||||
$message.error($T('TIPS_DRAG_VALID_PICTURE_OR_URL'))
|
||||
$message.error(t('TIPS_DRAG_VALID_PICTURE_OR_URL'))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -295,7 +296,7 @@ function handleURLDrag (items: DataTransferItemList, dataTransfer: DataTransfer)
|
||||
}
|
||||
])
|
||||
} else {
|
||||
$message.error($T('TIPS_DRAG_VALID_PICTURE_OR_URL'))
|
||||
$message.error(t('TIPS_DRAG_VALID_PICTURE_OR_URL'))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -349,8 +350,8 @@ async function uploadURLFiles () {
|
||||
const str = await navigator.clipboard.readText()
|
||||
$bus.emit(SHOW_INPUT_BOX, {
|
||||
value: isUrl(str) ? str : '',
|
||||
title: $T('TIPS_INPUT_URL'),
|
||||
placeholder: $T('TIPS_HTTP_PREFIX')
|
||||
title: t('TIPS_INPUT_URL'),
|
||||
placeholder: t('TIPS_HTTP_PREFIX')
|
||||
})
|
||||
}
|
||||
|
||||
@@ -363,7 +364,7 @@ function handleInputBoxValue (val: string) {
|
||||
}
|
||||
])
|
||||
} else {
|
||||
$message.error($T('TIPS_INPUT_VALID_URL'))
|
||||
$message.error(t('TIPS_INPUT_VALID_URL'))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div id="config-list-view">
|
||||
<div class="view-title">
|
||||
{{ $T('SETTINGS') }}
|
||||
{{ $t('SETTINGS') }}
|
||||
</div>
|
||||
<el-row
|
||||
:gutter="15"
|
||||
@@ -34,7 +34,7 @@
|
||||
v-if="defaultConfigId === item._id"
|
||||
class="default-text"
|
||||
>
|
||||
{{ $T('SELECTED_SETTING_HINT') }}
|
||||
{{ $t('SELECTED_SETTING_HINT') }}
|
||||
</div>
|
||||
<div class="operation-container">
|
||||
<el-icon
|
||||
@@ -84,7 +84,7 @@
|
||||
:disabled="store?.state.defaultPicBed === type"
|
||||
@click="setDefaultPicBed(type)"
|
||||
>
|
||||
{{ $T('SETTINGS_SET_DEFAULT_PICBED') }}
|
||||
{{ $t('SETTINGS_SET_DEFAULT_PICBED') }}
|
||||
</el-button>
|
||||
</el-row>
|
||||
</div>
|
||||
@@ -94,16 +94,17 @@
|
||||
import { Delete, Edit, Plus } from '@element-plus/icons-vue'
|
||||
import dayjs from 'dayjs'
|
||||
import { onBeforeMount, ref } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { onBeforeRouteUpdate, useRoute, useRouter } from 'vue-router'
|
||||
|
||||
import { useStore } from '@/hooks/useStore'
|
||||
import { T as $T } from '@/i18n/index'
|
||||
import { PICBEDS_PAGE, UPLOADER_CONFIG_PAGE } from '@/router/config'
|
||||
import { saveConfig } from '@/utils/dataSender'
|
||||
import { IRPCActionType } from '#/types/enum'
|
||||
import { IStringKeyMap, IUploaderConfigItem } from '#/types/types'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
|
||||
const { t } = useI18n()
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
|
||||
@@ -185,8 +186,8 @@ function setDefaultPicBed (type: string) {
|
||||
store?.setDefaultPicBed(type)
|
||||
const currentConfigName = curConfigList.value.find(item => item._id === defaultConfigId.value)?._configName
|
||||
window.electron.sendRPC(IRPCActionType.TRAY_SET_TOOL_TIP, `${type} ${currentConfigName || ''}`)
|
||||
const successNotification = new Notification($T('SETTINGS_DEFAULT_PICBED'), {
|
||||
body: $T('TIPS_SET_SUCCEED')
|
||||
const successNotification = new Notification(t('SETTINGS_DEFAULT_PICBED'), {
|
||||
body: t('TIPS_SET_SUCCEED')
|
||||
})
|
||||
successNotification.onclick = () => {
|
||||
return true
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<span
|
||||
class="view-title-text"
|
||||
@click="handleNameClick"
|
||||
> {{ picBedName }} {{ $T('SETTINGS') }}</span>
|
||||
> {{ picBedName }} {{ $t('SETTINGS') }}</span>
|
||||
<el-icon>
|
||||
<Link />
|
||||
</el-icon>
|
||||
@@ -23,7 +23,7 @@
|
||||
style="margin-left: 6px"
|
||||
@click="handleCopyApi"
|
||||
>
|
||||
{{ $T('UPLOAD_PAGE_COPY_UPLOAD_API') }}
|
||||
{{ $t('UPLOAD_PAGE_COPY_UPLOAD_API') }}
|
||||
</el-button>
|
||||
</div>
|
||||
<config-form
|
||||
@@ -40,14 +40,14 @@
|
||||
round
|
||||
@click="handleReset"
|
||||
>
|
||||
{{ $T('RESET_PICBED_CONFIG') }}
|
||||
{{ $t('RESET_PICBED_CONFIG') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="success"
|
||||
round
|
||||
@click="handleConfirm"
|
||||
>
|
||||
{{ $T('CONFIRM') }}
|
||||
{{ $t('CONFIRM') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
round
|
||||
@@ -62,7 +62,7 @@
|
||||
:disabled="picBedConfigList.length === 0"
|
||||
teleported
|
||||
>
|
||||
{{ $T('MANAGE_LOGIN_PAGE_PANE_IMPORT') }}
|
||||
{{ $t('MANAGE_LOGIN_PAGE_PANE_IMPORT') }}
|
||||
<template #dropdown>
|
||||
<el-dropdown-item
|
||||
v-for="i in picBedConfigList"
|
||||
@@ -82,7 +82,7 @@
|
||||
class="single"
|
||||
>
|
||||
<div class="notice">
|
||||
{{ $T('SETTINGS_NOT_CONFIG_OPTIONS') }}
|
||||
{{ $t('SETTINGS_NOT_CONFIG_OPTIONS') }}
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
@@ -95,16 +95,17 @@ import { Link } from '@element-plus/icons-vue'
|
||||
import dayjs from 'dayjs'
|
||||
import { ElDropdown, ElMessage } from 'element-plus'
|
||||
import { onBeforeMount, ref } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
|
||||
import ConfigForm from '@/components/ConfigForm.vue'
|
||||
import { T as $T } from '@/i18n/index'
|
||||
import { getConfig } from '@/utils/dataSender'
|
||||
import { II18nLanguage, IRPCActionType } from '#/types/enum'
|
||||
import { IPicGoPluginConfig, IStringKeyMap, IUploaderConfigItem, IUploaderConfigListItem } from '#/types/types'
|
||||
import { configPaths } from '#/utils/configPaths'
|
||||
import { picBedManualUrlList } from '#/utils/static'
|
||||
|
||||
const { t } = useI18n()
|
||||
const type = ref('')
|
||||
const config = ref<IPicGoPluginConfig[]>([])
|
||||
const picBedConfigList = ref<IUploaderConfigListItem[]>([])
|
||||
@@ -124,8 +125,8 @@ const handleConfirm = async () => {
|
||||
const result = (await $configForm.value?.validate()) || false
|
||||
if (result !== false) {
|
||||
await window.electron.triggerRPC<void>(IRPCActionType.UPLOADER_UPDATE_CONFIG, type.value, result?._id, result)
|
||||
const successNotification = new Notification($T('SETTINGS_RESULT'), {
|
||||
body: $T('TIPS_SET_SUCCEED')
|
||||
const successNotification = new Notification(t('SETTINGS_RESULT'), {
|
||||
body: t('TIPS_SET_SUCCEED')
|
||||
})
|
||||
successNotification.onclick = () => {
|
||||
return true
|
||||
@@ -167,8 +168,8 @@ async function handleConfigImport (configItem: IUploaderConfigListItem) {
|
||||
|
||||
const handleReset = async () => {
|
||||
await window.electron.triggerRPC<void>(IRPCActionType.UPLOADER_RESET_CONFIG, type.value, $route.params.configId)
|
||||
const successNotification = new Notification($T('SETTINGS_RESULT'), {
|
||||
body: $T('TIPS_RESET_SUCCEED')
|
||||
const successNotification = new Notification(t('SETTINGS_RESULT'), {
|
||||
body: t('TIPS_RESET_SUCCEED')
|
||||
})
|
||||
successNotification.onclick = () => {
|
||||
return true
|
||||
@@ -197,7 +198,7 @@ async function handleCopyApi () {
|
||||
}
|
||||
const apiUrl = `http://${host === '0.0.0.0' ? '127.0.0.1' : host}:${port}/upload?picbed=${$route.params.type}&configName=${picBedConfig._configName}${serverKey ? `&key=${serverKey}` : ''}`
|
||||
window.electron.clipboard.writeText(apiUrl)
|
||||
ElMessage.success(`${$T('MANAGE_BUCKET_COPY_SUCCESS')} ${apiUrl}`)
|
||||
ElMessage.success(`${t('MANAGE_BUCKET_COPY_SUCCESS')} ${apiUrl}`)
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
ElMessage.error('Copy failed')
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
import pkg from 'root/package.json'
|
||||
|
||||
import { handleTalkingDataEvent } from '@/utils/common'
|
||||
import { TALKING_DATA_APPID, TALKING_DATA_EVENT } from '#/events/constants'
|
||||
import { ITalkingDataOptions } from '#/types/types'
|
||||
|
||||
const { version } = pkg
|
||||
|
||||
export const initTalkingData = () => {
|
||||
setTimeout(() => {
|
||||
const talkingDataScript = document.createElement('script')
|
||||
|
||||
talkingDataScript.src = `http://sdk.talkingdata.com/app/h5/v1?appid=${TALKING_DATA_APPID}&vn=${version}&vc=${version}`
|
||||
|
||||
const head = document.getElementsByTagName('head')[0]
|
||||
head.appendChild(talkingDataScript)
|
||||
}, 0)
|
||||
}
|
||||
|
||||
window.electron.ipcRendererOn(TALKING_DATA_EVENT, (_, data: ITalkingDataOptions) => {
|
||||
handleTalkingDataEvent(data)
|
||||
})
|
||||
@@ -1,17 +1,5 @@
|
||||
import { isReactive, isRef, toRaw, unref } from 'vue'
|
||||
|
||||
import { ITalkingDataOptions } from '#/types/types'
|
||||
|
||||
export const handleTalkingDataEvent = (data: ITalkingDataOptions) => {
|
||||
try {
|
||||
const { EventId, Label = '', MapKv = {} } = data
|
||||
MapKv.from = window.location.href
|
||||
window.TDAPP.onEvent(EventId, Label, MapKv)
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get raw data from reactive or ref
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { IRPCActionType } from 'root/src/universal/types/enum'
|
||||
|
||||
import { IRPCActionType } from '#/types/enum'
|
||||
import { IObj } from '#/types/types'
|
||||
|
||||
export function saveConfig (config: IObj | string, value?: any) {
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
import { ILogType, IRPCActionType } from '#/types/enum'
|
||||
|
||||
export const deleteLog = (fileName?: string, type?: string, isSuccess = true, msg?: string) => {
|
||||
window.electron.sendRPC(
|
||||
IRPCActionType.GALLERY_LOG_DELETE_MSG,
|
||||
msg || `Delete ${fileName} on ${type} success`,
|
||||
isSuccess ? ILogType.success : ILogType.error
|
||||
)
|
||||
}
|
||||
|
||||
export const deleteFailedLog = (fileName: string, type: string, error: any) => {
|
||||
deleteLog(fileName, type, false)
|
||||
window.electron.sendRPC(IRPCActionType.GALLERY_LOG_DELETE_MSG, error, ILogType.error)
|
||||
}
|
||||
@@ -1,9 +1,6 @@
|
||||
export const SHOW_INPUT_BOX = 'SHOW_INPUT_BOX'
|
||||
export const SHOW_INPUT_BOX_RESPONSE = 'SHOW_INPUT_BOX_RESPONSE'
|
||||
export const TOGGLE_SHORTKEY_MODIFIED_MODE = 'TOGGLE_SHORTKEY_MODIFIED_MODE'
|
||||
// talking data
|
||||
export const TALKING_DATA_APPID = 'B743C16E2989419A9B02EDE9D1E6A530'
|
||||
export const TALKING_DATA_EVENT = 'TALKING_DATA_EVENT'
|
||||
// picgo plugin
|
||||
export const PICGO_CONFIG_PLUGIN = 'PICGO_CONFIG_PLUGIN'
|
||||
export const PICGO_HANDLE_PLUGIN_ING = 'PICGO_HANDLE_PLUGIN_ING'
|
||||
|
||||
@@ -79,8 +79,6 @@ export enum IRPCActionType {
|
||||
OPEN_URL = 'OPEN_URL',
|
||||
OPEN_FILE = 'OPEN_FILE',
|
||||
HIDE_DOCK = 'HIDE_DOCK',
|
||||
GET_LANGUAGE_LIST = 'GET_LANGUAGE_LIST',
|
||||
GET_CURRENT_LANGUAGE = 'GET_CURRENT_LANGUAGE',
|
||||
SET_CURRENT_LANGUAGE = 'SET_CURRENT_LANGUAGE',
|
||||
OPEN_WINDOW = 'OPEN_WINDOW',
|
||||
OPEN_MINI_WINDOW = 'OPEN_MINI_WINDOW',
|
||||
@@ -154,12 +152,6 @@ export enum IRPCActionType {
|
||||
GALLERY_REMOVE_BY_ID_DB = 'GALLERY_REMOVE_BY_ID_DB',
|
||||
GALLERY_INSERT_DB = 'GALLERY_INSERT_DB',
|
||||
GALLERY_INSERT_DB_BATCH = 'GALLERY_INSERT_DB_BATCH',
|
||||
GALLERY_LOG_DELETE_MSG = 'GALLERY_LOG_DELETE_MSG',
|
||||
GALLERY_DELETE_SFTP_FILE = 'GALLERY_DELETE_SFTP_FILE',
|
||||
GALLERY_DELETE_AWS_S3_FILE = 'GALLERY_DELETE_AWS_S3_FILE',
|
||||
GALLERY_DELETE_DOGE_FILE = 'GALLERY_DELETE_DOGE_FILE',
|
||||
GALLERY_DELETE_HUAWEI_OSS_FILE = 'GALLERY_DELETE_HUAWEI_OSS_FILE',
|
||||
|
||||
// plugin rpc
|
||||
PLUGIN_GET_LIST = 'PLUGIN_GET_LIST',
|
||||
PLUGIN_INSTALL = 'PLUGIN_INSTALL',
|
||||
|
||||
@@ -9,13 +9,10 @@ export interface ILocales {
|
||||
UPLOAD_SUCCEED: string
|
||||
UPLOAD_FAILED: string
|
||||
UPLOAD_PROGRESS: string
|
||||
OPERATION_SUCCEED: string
|
||||
OPERATION_FAILED: string
|
||||
UPLOADING: string
|
||||
QUICK_UPLOAD: string
|
||||
UPLOAD_BY_CLIPBOARD: string
|
||||
SHOW_PICBED_QRCODE: string
|
||||
PICBED_QRCODE: string
|
||||
ENABLE: string
|
||||
DISABLE: string
|
||||
CONFIG_THING: string
|
||||
@@ -29,18 +26,6 @@ export interface ILocales {
|
||||
STOP_WATCH_CLIPBOARD: string
|
||||
OPEN_TOOLBOX: string
|
||||
TOOLBOX: string
|
||||
TOOLBOX_TITLE: string
|
||||
TOOLBOX_SUB_TITLE: string
|
||||
TOOLBOX_CHECK_CONFIG_FILE_BROKEN: string
|
||||
TOOLBOX_CHECK_GALLERY_FILE_BROKEN: string
|
||||
TOOLBOX_CHECK_PROBLEM_WITH_CLIPBOARD_PIC_UPLOAD: string
|
||||
TOOLBOX_CHECK_PROBLEM_WITH_PROXY: string
|
||||
TOOLBOX_FIX_DONE_NEED_RELOAD: string
|
||||
TOOLBOX_CANT_AUTO_FIX: string
|
||||
TOOLBOX_START_SCAN: string
|
||||
TOOLBOX_RE_SCAN: string
|
||||
TOOLBOX_START_FIX: string
|
||||
TOOLBOX_SUCCESS_TIPS: string
|
||||
TOOLBOX_CHECK_CONFIG_FILE_PATH_TIPS: string
|
||||
TOOLBOX_CHECK_CONFIG_FILE_BROKEN_TIPS: string
|
||||
TOOLBOX_CHECK_GALLERY_FILE_PATH_TIPS: string
|
||||
@@ -52,865 +37,12 @@ export interface ILocales {
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_TIPS: string
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_NOT_EXIST_TIPS: string
|
||||
TOOLBOX_CHECK_CLIPBOARD_FILE_PATH_ERROR_TIPS: string
|
||||
MANUAL_PAGE_OPEN_TIP: string
|
||||
MANUAL_PAGE_OPEN_TIP_TITLE: string
|
||||
MANUAL_PAGE_OPEN_BY_BROWSER: string
|
||||
MANUAL_PAGE_OPEN_BY_BUILD_IN: string
|
||||
MANUAL_PAGE_OPEN_SETTING_TIP: string
|
||||
UPLOAD_AREA: string
|
||||
UPLOAD_VIEW_HINT: string
|
||||
MANAGE_PAGE: string
|
||||
GALLERY: string
|
||||
REFRESH: string
|
||||
MANUAL: string
|
||||
PICBEDS_SETTINGS: string
|
||||
PICLIST_SETTINGS: string
|
||||
PLUGIN_SETTINGS: string
|
||||
CHOOSE_PICBED: string
|
||||
COPY_PICBED_CONFIG: string
|
||||
COPY_PICBED_CONFIG_SUCCEED: string
|
||||
INPUT: string
|
||||
CANCEL: string
|
||||
CONFIRM: string
|
||||
RESET_PICBED_CONFIG: string
|
||||
CHOOSE_SHOWED_PICBED: string
|
||||
CHOOSE_PASTE_FORMAT: string
|
||||
COPY: string
|
||||
DELETE: string
|
||||
SELECT_ALL: string
|
||||
CHANGE_IMAGE_URL: string
|
||||
CHANGE_IMAGE_URL_SUCCEED: string
|
||||
COPY_LINK_SUCCEED: string
|
||||
BATCH_COPY_LINK_SUCCEED: string
|
||||
FILE_RENAME: string
|
||||
OPEN_FILE_PATH: string
|
||||
GALLERY_SYNC_DELETE: string
|
||||
GALLERY_SYNC_DELETE_NOTICE_TITLE: string
|
||||
GALLERY_SYNC_DELETE_NOTICE_SUCCEED: string
|
||||
GALLERY_SYNC_DELETE_NOTICE_FAILED: string
|
||||
GALLERY_CHANGE_URL: string
|
||||
GALLERY_SEARCH_FILENAME: string
|
||||
GALLERY_SEARCH_URL: string
|
||||
GALLERY_MATCHED: string
|
||||
UPLOAD_PAGE_COPY_UPLOAD_API: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_NAME: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_DIALOG_TITLE: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIP_PROCESS_EXT_LIST_TIPS: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISADDWM: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_TEXT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTYPE_IMAGE: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFULLSCREEN_WM: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMDEGREE: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMTEXT_FONT_PATH: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMRATIO: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMCOLOR: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMPATH: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_WMPOSITION: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISREMOVEEXIF: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_QUALITY: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISCONVERT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFLIP: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISFLOP: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZE: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEWIDTH: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEHEIGHT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_HEIGHT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_SKIPRESIZEOfSMALLIMG_WIDTH: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISRESIZEBYPERCENT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_RESIZEPERCENT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ISROTATE: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_ROTATEDEGREE: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CONFIRM: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_CANCEL: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_LEFT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_RIGHT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_LEFT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_TOP_RIGHT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT: string
|
||||
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER: string
|
||||
UPLOAD_SHORT_URL: string
|
||||
UPLOAD_NORMAL_URL: string
|
||||
SETTINGS: string
|
||||
SETTINGS_OPEN_CONFIG_FILE: string
|
||||
SETTINGS_MIGRATE_FROM_PICGO: string
|
||||
SETTINGS_MIGRATE_FROM_PICGO_TITLE: string
|
||||
SETTINGS_MIGRATE_FROM_PICGO_CONTENT: string
|
||||
SETTINGS_MIGRATE_FROM_PICGO_SUCCESS: string
|
||||
SETTINGS_MIGRATE_FROM_PICGO_FAILED: string
|
||||
SETTINGS_START_MODE: string
|
||||
SETTINGS_START_MODE_MINI: string
|
||||
SETTINGS_START_MODE_MAIN: string
|
||||
SETTINGS_START_MODE_NO_TRAY: string
|
||||
SETTINGS_START_MODE_QUIET: string
|
||||
SETTINGS_CLICK_TO_OPEN: string
|
||||
SETTINGS_SET_LOG_FILE: string
|
||||
SETTINGS_CLICK_TO_SET: string
|
||||
SETTINGS_CLICK_TO_CHECK: string
|
||||
SETTINGS_SET_SHORTCUT: string
|
||||
SETTINGS_CUSTOM_LINK_FORMAT: string
|
||||
SETTINGS_SET_PROXY_AND_MIRROR: string
|
||||
SETTINGS_SET_SERVER: string
|
||||
SETTINGS_CHECK_UPDATE: string
|
||||
SETTINGS_OPEN_UPDATE_HELPER: string
|
||||
SETTINGS_OPEN: string
|
||||
SETTINGS_CLOSE: string
|
||||
SETTINGS_CLOSE_MINI_WINDOW_SYNC: string
|
||||
SETTINGS_CLOSE_MAIN_WINDOW_SYNC: string
|
||||
SETTINGS_LAUNCH_ON_BOOT: string
|
||||
SETTINGS_RENAME_BEFORE_UPLOAD: string
|
||||
SETTINGS_TIMESTAMP_RENAME: string
|
||||
SETTINGS_ADVANCED_RENAME: string
|
||||
SETTINGS_ADVANCED_RENAME_ENABLE: string
|
||||
SETTINGS_ADVANCED_RENAME_FORMAT: string
|
||||
SETTINGS_ENABLE_SECOND_PICBED: string
|
||||
SETTINGS_SET_SECOND_PICBED: string
|
||||
SETTINGS_OPEN_UPLOAD_TIPS: string
|
||||
SETTINGS_OPEN_UPLOAD_RESULT_TIPS: string
|
||||
SETTINGS_MINI_WINDOW_ON_TOP: string
|
||||
SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD: string
|
||||
SETTINGS_TIPS_PLACEHOLDER_URL: string
|
||||
SETTINGS_TIPS_PLACEHOLDER_FILENAME: string
|
||||
SETTINGS_TIPS_PLACEHOLDER_EXTNAME: string
|
||||
SETTINGS_TIPS_SUCH_AS: string
|
||||
SETTINGS_UPLOAD_PROXY: string
|
||||
SETTINGS_PLUGIN_INSTALL_PROXY: string
|
||||
SETTINGS_PLUGIN_INSTALL_MIRROR: string
|
||||
SETTINGS_CURRENT_VERSION: string
|
||||
SETTINGS_NEWEST_VERSION: string
|
||||
SETTINGS_GETING: string
|
||||
SETTINGS_TIPS_HAS_NEW_VERSION: string
|
||||
SETTINGS_LOG_FILE_PATH: string
|
||||
SETTINGS_CONFIG_FILE_PATH: string
|
||||
SETTINGS_LOG_FILE: string
|
||||
SETTINGS_GUI_LOG_FILE: string
|
||||
SETTINGS_MANAGE_LOG_FILE: string
|
||||
SETTINGS_LOG_LEVEL: string
|
||||
SETTINGS_LOG_FILE_SIZE: string
|
||||
SETTINGS_SET_PICGO_SERVER: string
|
||||
SETTINGS_TIPS_SERVER_NOTICE: string
|
||||
SETTINGS_ENABLE_SERVER: string
|
||||
SETTINGS_SET_SERVER_HOST: string
|
||||
SETTINGS_SET_SERVER_PORT: string
|
||||
SETTINGS_SET_SERVER_KEY: string
|
||||
SETTINGS_SET_WEB_SERVER: string
|
||||
SETTINGS_TIPS_WEB_SERVER_NOTICE: string
|
||||
SETTINGS_SET_ENABLE_WEB_SERVER: string
|
||||
SETTINGS_SET_WEB_SERVER_HOST: string
|
||||
SETTINGS_SET_WEB_SERVER_PORT: string
|
||||
SETTINGS_SET_WEB_SERVER_PATH: string
|
||||
SETTINGS_TIP_PLACEHOLDER_WEB_HOST: string
|
||||
SETTINGS_TIP_PLACEHOLDER_WEB_PORT: string
|
||||
SETTINGS_TIP_PLACEHOLDER_HOST: string
|
||||
SETTINGS_TIP_PLACEHOLDER_PORT: string
|
||||
SETTINGS_TIP_PLACEHOLDER_KEY: string
|
||||
SETTINGS_SET_SERVER_AES_KEY: string
|
||||
SETTINGS_LOG_LEVEL_ALL: string
|
||||
SETTINGS_LOG_LEVEL_SUCCESS: string
|
||||
SETTINGS_LOG_LEVEL_ERROR: string
|
||||
SETTINGS_LOG_LEVEL_INFO: string
|
||||
SETTINGS_LOG_LEVEL_WARN: string
|
||||
SETTINGS_LOG_LEVEL_NONE: string
|
||||
SETTINGS_RESULT: string
|
||||
SETTINGS_DEFAULT_PICBED: string
|
||||
SETTINGS_SET_DEFAULT_PICBED: string
|
||||
SETTINGS_NOT_CONFIG_OPTIONS: string
|
||||
SETTINGS_USE_BUILTIN_CLIPBOARD_UPLOAD: string
|
||||
SETTINGS_CHOOSE_LANGUAGE: string
|
||||
BUILTIN_CLIPBOARD_TIPS: string
|
||||
UPLOADER_CONFIG_NAME: string
|
||||
UPLOADER_CONFIG_PLACEHOLDER: string
|
||||
SELECTED_SETTING_HINT: string
|
||||
SETTINGS_MAIN_WINDOW_SIZE: string
|
||||
SETTINGS_MAIN_WINDOW_SIZE_WIDTH: string
|
||||
SETTINGS_MAIN_WINDOW_WIDTH_HINT: string
|
||||
SETTINGS_MAIN_WINDOW_SIZE_HEIGHT: string
|
||||
SETTINGS_MAIN_WINDOW_HEIGHT_HINT: string
|
||||
SETTINGS_RAW_PICGO_SIZE: string
|
||||
SETTINGS_CUSTOM_MINI_ICON_PATH: string
|
||||
SETTINGS_CUSTOM_MINI_ICON: string
|
||||
SETTINGS_COMPRESS_AND_WATERMARK: string
|
||||
SETTINGS_SYNC_DELETE_CLOUD: string
|
||||
SETTINGS_ISHIDEDOCK: string
|
||||
SETTINGS_ISHIDEDOCK_TIPS: string
|
||||
SETTINGS_ENCODE_OUTPUT_URL: string
|
||||
SETTINGS_WATCH_CLIPBOARD: string
|
||||
SETTINGS_SHORT_URL: string
|
||||
SETTINGS_SHORT_URL_SERVER: string
|
||||
SETTINGS_SHORT_URL_C1N_TOKEN: string
|
||||
SETTINGS_SHORT_URL_YOURLS_DOMAIN: string
|
||||
SETTINGS_SHORT_URL_YOURLS_SIGNATURE: string
|
||||
SETTINGS_SHORT_URL_CF_WORKER_HOST: string
|
||||
SETTINGS_SHORT_SINK_DOMAIN: string
|
||||
SETTINGS_SHORT_SINK_TOKEN: string
|
||||
SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: string
|
||||
SETTINGS_SYNC_CONFIG: string
|
||||
SETTINGS_SYNC_CONFIG_TITLE: string
|
||||
SETTINGS_SYNC_CONFIG_NOTE: string
|
||||
SETTINGS_SYNC_CONFIG_SELECT_TYPE: string
|
||||
SETTINGS_SYNC_CONFIG_SELECT_FILE: string
|
||||
SETTINGS_SYNC_CONFIG_SELECT_CONFIG: string
|
||||
SETTINGS_SYNC_CONFIG_SELECT_GALLERY: string
|
||||
SETTINGS_SYNC_CONFIG_SELECT_BOTH: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_HOST: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN: string
|
||||
SETTINGS_SYNC_CONFIG_PROXY: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_USERNAME_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_USERNAME_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_USERNAME_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_REPO_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_REPO_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_REPO_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_BRANCH_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_BRANCH_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_BRANCH_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITHUB_TOKEN_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEA_TOKEN_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_GITEE_TOKEN_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_PROXY_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT: string
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_ENDPOINT_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME: string
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_USERNAME_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD: string
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_PASSWORD_PLACEHOLDER: string
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_AUTH_TYPE: string
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SSL_ENABLED: string
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH: string
|
||||
SETTINGS_SYNC_CONFIG_WEBDAV_SAVE_PATH_PLACEHOLDER: string
|
||||
SETTINGS_UP_DOWN_DESC: string
|
||||
SETTINGS_SYNC_UPLOAD: string
|
||||
SETTINGS_SYNC_DOWNLOAD: string
|
||||
SETTINGS_SYNC_UPLOAD_ALL: string
|
||||
SETTINGS_SYNC_DOWNLOAD_ALL: string
|
||||
SETTINGS_SYNC_UPLOAD_SUCCESS: string
|
||||
SETTINGS_SYNC_UPLOAD_FAILED: string
|
||||
SETTINGS_SYNC_DOWNLOAD_SUCCESS: string
|
||||
SETTINGS_SYNC_DOWNLOAD_FAILED: string
|
||||
SETTINGS_SYNC_COMMON_CONFIG: string
|
||||
SETTINGS_SYNC_MANAGE_CONFIG: string
|
||||
SETTINGS_AUTO_IMPORT: string
|
||||
SETTINGS_AUTO_IMPORT_SELECT_PICBED: string
|
||||
SETTINGS_TAB_SYSTEM: string
|
||||
SETTINGS_TAB_SYNC_CONFIG: string
|
||||
SETTINGS_TAB_UPLOAD: string
|
||||
SETTINGS_TAB_ADVANCED: string
|
||||
SETTINGS_TAB_UPDATE: string
|
||||
SHORTCUT_NAME: string
|
||||
SHORTCUT_BIND: string
|
||||
SHORTCUT_STATUS: string
|
||||
SHORTCUT_ENABLED: string
|
||||
SHORTCUT_DISABLED: string
|
||||
SHORTCUT_SOURCE: string
|
||||
SHORTCUT_HANDLE: string
|
||||
SHORTCUT_ENABLE: string
|
||||
SHORTCUT_DISABLE: string
|
||||
SHORTCUT_EDIT: string
|
||||
SHORTCUT_CHANGE_UPLOAD: string
|
||||
WAIT_TO_UPLOAD: string
|
||||
ALREADY_UPLOAD: string
|
||||
DRAG_FILE_TO_HERE: string
|
||||
CLICK_TO_UPLOAD: string
|
||||
LINK_FORMAT: string
|
||||
CLIPBOARD_PICTURE: string
|
||||
TIPS_DRAG_VALID_PICTURE_OR_URL: string
|
||||
TIPS_INPUT_URL: string
|
||||
TIPS_HTTP_PREFIX: string
|
||||
TIPS_INPUT_VALID_URL: string
|
||||
PLUGIN_SEARCH_PLACEHOLDER: string
|
||||
PLUGIN_INSTALL: string
|
||||
PLUGIN_INSTALLING: string
|
||||
PLUGIN_INSTALLED: string
|
||||
PLUGIN_DOING_SOMETHING: string
|
||||
PLUGIN_LIST: string
|
||||
PLUGIN_IMPORT_LOCAL: string
|
||||
PLUGIN_UPDATE_ALL: string
|
||||
TIPS_REMOVE_LINK: string
|
||||
TIPS_WILL_REMOVE_CHOOSED_IMAGES: string
|
||||
TIPS_MUST_CONTAINS_URL: string
|
||||
TIPS_NETWORK_ERROR: string
|
||||
TIPS_NEED_RELOAD: string
|
||||
TIPS_PLEASE_CHOOSE_LOG_LEVEL: string
|
||||
TIPS_SET_SUCCEED: string
|
||||
TIPS_RESET_SUCCEED: string
|
||||
TIPS_PLUGIN_NOT_GUI_IMPLEMENT: string
|
||||
TIPS_GET_PLUGIN_LIST_FAILED: string
|
||||
MANAGE_SETTING_TITLE: string
|
||||
MANAGE_SETTING_ISAUTOREFRESH_TITLE: string
|
||||
MANAGE_SETTING_ISAUTOREFRESH_TIPS: string
|
||||
MANAGE_SETTING_CLEAR_CACHE_TITLE: string
|
||||
MANAGE_SETTING_CLEAR_CACHE_FREE_TITLE: string
|
||||
MANAGE_SETTING_CLEAR_CACHE_TIPS: string
|
||||
MANAGE_SETTING_CLEAR_CACHE_PROMPT: string
|
||||
MANAGE_SETTING_CLEAR_CACHE_BUTTON: string
|
||||
MANAGE_SETTING_ISSHOWTHUMBNAIL_TITLE: string
|
||||
MANAGE_SETTING_ISUSEPRESIGNEDURL_TITLE: string
|
||||
MANAGE_SETTING_ISSHOWLIST_TITLE: string
|
||||
MANAGE_SETTING_ISSHOWLIST_ON: string
|
||||
MANAGE_SETTING_ISSHOWLIST_OFF: string
|
||||
MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TITLE: string
|
||||
MANAGE_SETTING_ISFORCECUSTOMURLHTTPS_TIPS: string
|
||||
MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TITLE: string
|
||||
MANAGE_SETTING_ISUPLOADKEEPDIRSTRUCTURE_TIPS: string
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_A: string
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_B: string
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TITLE_C: string
|
||||
MANAGE_SETTING_ISDOWNLOADFOLDERKEEPDIRSTRUCTURE_TITLE_D: string
|
||||
MANAGE_SETTING_ISDOWNLOADFILEKEEPDIRSTRUCTURE_TIPS: string
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TITLE: string
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS: string
|
||||
MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_INPUT_TIPS: string
|
||||
MANAGE_SETTING_ISIGNORECASE_TITLE: string
|
||||
MANAGE_SETTING_ISIGNORECASE_TIPS: string
|
||||
MANAGE_SETTING_TIMESTAMPRENAME_TITLE: string
|
||||
MANAGE_SETTING_TIMESTAMPRENAME_TIPS: string
|
||||
MANAGE_SETTING_RANDOMSTRINGRENAME_TITLE: string
|
||||
MANAGE_SETTING_RANDOMSTRINGRENAME_TIPS: string
|
||||
MANAGE_SETTING_CUSTOMRENAME_TITLE: string
|
||||
MANAGE_SETTING_CUSTOMRENAME_TIPS: string
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TITLE: string
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TIPS: string
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TITLE: string
|
||||
MANAGE_SETTING_CUSTOM_PATTERN_TABLE_TIPS: string
|
||||
MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TITLE: string
|
||||
MANAGE_SETTING_PRESIGNED_URL_EXPIRE_TIPS: string
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_TITLE: string
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN: string
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_MARKDOWN_WITH_LINK: string
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_RAWURL: string
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_HTML: string
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_BBCODE: string
|
||||
MANAGE_SETTING_CHOOSE_COPY_FORMAT_CUSTOM: string
|
||||
MANAGE_SETTING_CUSTOM_COPY_FORMAT_TITLE: string
|
||||
MANAGE_SETTING_CUSTOM_COPY_FORMAT_TIPS: string
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TITLE: string
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_TIPS: string
|
||||
MANAGE_SETTING_CHOOSE_DOWNLOAD_FOLDER_BUTTON: string
|
||||
MANAGE_SETTING_COPY_MESSAGE: string
|
||||
MANAGE_SETTING_CLEAR_CACHE_SUCCESS: string
|
||||
MANAGE_SETTING_CLEAR_CACHE_FAILED: string
|
||||
MANAGE_SETTING_ISENCODEURL_TITLE: string
|
||||
MANAGE_SETTING_ISENCODEURL_TIPS: string
|
||||
MANAGE_NO_DATA: string
|
||||
MANAGE_MAIN_PAGE_NEW_BUCKET: string
|
||||
MANAGE_MAIN_PAGE_BACK_TO_HOME: string
|
||||
MANAGE_MAIN_PAGE_SWITCH_PICBED: string
|
||||
MANAGE_MAIN_PAGE_SETTING: string
|
||||
MANAGE_MAIN_PAGE_SUBMIT: string
|
||||
MANAGE_MAIN_PAGE_TIPS: string
|
||||
MANAGE_MAIN_PAGE_TIPS_SUCCESS: string
|
||||
MANAGE_MAIN_PAGE_TIPS_FAILED: string
|
||||
MANAGE_MAIN_PAGE_BUCKET: string
|
||||
MANAGE_MAIN_PAGE_GALLERY: string
|
||||
MANAGE_MAIN_PAGE_REPOSITORY: string
|
||||
MANAGE_CONSTANT_BASE_RULE: string
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A: string
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B: string
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C: string
|
||||
MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A: string
|
||||
MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B: string
|
||||
MANAGE_CONSTANT_ALIAS_TOOLTIP: string
|
||||
MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP: string
|
||||
MANAGE_CONSTANT_PAGING_TOOLTIP: string
|
||||
MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP: string
|
||||
MANAGE_CONSTANT_BASE_DIR_TOOLTIP: string
|
||||
MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP: string
|
||||
MANAGE_CONSTANT_SMMS_ALIAS_DESC: string
|
||||
MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SMMS_TOKEN_DESC: string
|
||||
MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SMMS_PAGING_DESC: string
|
||||
MANAGE_CONSTANT_SMMS_EXPLAIN: string
|
||||
MANAGE_CONSTANT_SMMS_REFER_TEXT: string
|
||||
MANAGE_CONSTANT_QINIU_NAME: string
|
||||
MANAGE_CONSTANT_QINIU_ALIAS_DESC: string
|
||||
MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC: string
|
||||
MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC: string
|
||||
MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_QINIU_BUCKET_DESC: string
|
||||
MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_QINIU_BASE_DIR_DESC: string
|
||||
MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC: string
|
||||
MANAGE_CONSTANT_QINIU_PAGING_DESC: string
|
||||
MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC: string
|
||||
MANAGE_CONSTANT_QINIU_EXPLAIN: string
|
||||
MANAGE_CONSTANT_QINIU_REFER_TEXT: string
|
||||
MANAGE_CONSTANT_GITHUB_ALIAS_DESC: string
|
||||
MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_DESC: string
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_GITHUB_TOKEN_TIPS: string
|
||||
MANAGE_CONSTANT_GITHUB_USER_DESC: string
|
||||
MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE: string
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_DESC: string
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_GITHUB_PROXY_TIPS: string
|
||||
MANAGE_CONSTANT_GITHUB_PAGING_DESC: string
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC: string
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS: string
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A: string
|
||||
MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B: string
|
||||
MANAGE_CONSTANT_GITHUB_EXPLAIN: string
|
||||
MANAGE_CONSTANT_GITHUB_REFER_TEXT: string
|
||||
MANAGE_CONSTANT_ALIYUN_NAME: string
|
||||
MANAGE_CONSTANT_ALIYUN_ALIAS_DESC: string
|
||||
MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC: string
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC: string
|
||||
MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_ALIYUN_BUCKET_DESC: string
|
||||
MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC: string
|
||||
MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC: string
|
||||
MANAGE_CONSTANT_ALIYUN_PAGING_DESC: string
|
||||
MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC: string
|
||||
MANAGE_CONSTANT_ALIYUN_EXPLAIN: string
|
||||
MANAGE_CONSTANT_ALIYUN_REFER_TEXT: string
|
||||
MANAGE_CONSTANT_TENCENT_NAME: string
|
||||
MANAGE_CONSTANT_TENCENT_ALIAS_DESC: string
|
||||
MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC: string
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC: string
|
||||
MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_TENCENT_APPID_DESC: string
|
||||
MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP: string
|
||||
MANAGE_CONSTANT_TENCENT_BUCKET_DESC: string
|
||||
MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC: string
|
||||
MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC: string
|
||||
MANAGE_CONSTANT_TENCENT_PAGING_DESC: string
|
||||
MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC: string
|
||||
MANAGE_CONSTANT_TENCENT_EXPLAIN: string
|
||||
MANAGE_CONSTANT_TENCENT_REFER_TEXT: string
|
||||
MANAGE_CONSTANT_UPYUN_NAME: string
|
||||
MANAGE_CONSTANT_UPYUN_ALIAS_DESC: string
|
||||
MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_UPYUN_BUCKET_DESC: string
|
||||
MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC: string
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE: string
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC: string
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE: string
|
||||
MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC: string
|
||||
MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC: string
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A: string
|
||||
MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B: string
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_DESC: string
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_UPYUN_ANTI_LEECH_TOKEN_TOOLTIP: string
|
||||
MANAGE_CONSTANT_UPYUN_EXPIRE_TIME_DESC: string
|
||||
MANAGE_CONSTANT_UPYUN_PAGING: string
|
||||
MANAGE_CONSTANT_UPYUN_ITEMS_PAGE: string
|
||||
MANAGE_CONSTANT_UPYUN_EXPLAIN: string
|
||||
MANAGE_CONSTANT_UPYUN_REFER_TEXT: string
|
||||
MANAGE_CONSTANT_IMGUR_NAME: string
|
||||
MANAGE_CONSTANT_IMGUR_ALIAS_DESC: string
|
||||
MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_IMGUR_USERNAME_DESC: string
|
||||
MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC: string
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP: string
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_DESC: string
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP: string
|
||||
MANAGE_CONSTANT_IMGUR_EXPLAIN: string
|
||||
MANAGE_CONSTANT_IMGUR_REFER_TEXT: string
|
||||
MANAGE_CONSTANT_S3_NAME: string
|
||||
MANAGE_CONSTANT_S3_ALIAS_DESC: string
|
||||
MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC: string
|
||||
MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC: string
|
||||
MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_DESC: string
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP: string
|
||||
MANAGE_CONSTANT_S3_SSLENABLED_DESC: string
|
||||
MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP: string
|
||||
MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC: string
|
||||
MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP: string
|
||||
MANAGE_CONSTANT_S3_PROXY_DESC: string
|
||||
MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_S3_PROXY_TOOLTIP: string
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC: string
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE: string
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ: string
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE: string
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ: string
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ: string
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL: string
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ: string
|
||||
MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP: string
|
||||
MANAGE_CONSTANT_S3_BUCKET_DESC: string
|
||||
MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_S3_BASE_DIR_DESC: string
|
||||
MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_DESC: string
|
||||
MANAGE_CONSTANT_S3_DOGE_CLOUD_SUPPORT_TOOLTIP: string
|
||||
MANAGE_CONSTANT_S3_PAGING_DESC: string
|
||||
MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC: string
|
||||
MANAGE_CONSTANT_S3_EXPLAIN: string
|
||||
MANAGE_CONSTANT_S3_REFER_TEXT: string
|
||||
MANAGE_CONSTANT_WEBDAV_ALIAS_DESC: string
|
||||
MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_DESC: string
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP: string
|
||||
MANAGE_CONSTANT_WEBDAV_USERNAME_DESC: string
|
||||
MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_DESC: string
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP: string
|
||||
MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC: string
|
||||
MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC: string
|
||||
MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC: string
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP: string
|
||||
MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE: string
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH: string
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_WEBDAV_WEB_PATH_TOOLTIP: string
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_DESC: string
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP: string
|
||||
MANAGE_CONSTANT_WEBDAV_SSL_DESC: string
|
||||
MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP: string
|
||||
MANAGE_CONSTANT_WEBDAV_AUTH_TYPE_DESC: string
|
||||
MANAGE_CONSTANT_WEBDAV_EXPLAIN: string
|
||||
MANAGE_CONSTANT_WEBDAV_REFER_TEXT: string
|
||||
MANAGE_CONSTANT_LOCAL_NAME: string
|
||||
MANAGE_CONSTANT_LOCAL_ALIAS_DESC: string
|
||||
MANAGE_CONSTANT_LOCAL_ALIAS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_DESC: string
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_DESC: string
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_LOCAL_CUSTOM_URL_TOOLTIP: string
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH: string
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_LOCAL_WEB_PATH_TOOLTIP: string
|
||||
MANAGE_CONSTANT_LOCAL_EXPLAIN: string
|
||||
MANAGE_CONSTANT_LOCAL_REFER_TEXT: string
|
||||
MANAGE_CONSTANT_LOCAL_BASE_DIR_RULE_MESSAGE: string
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_DESC: string
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_LOCAL_BUCKET_TOOLTIP: string
|
||||
MANAGE_CONSTANT_SFTP_NAME: string
|
||||
MANAGE_CONSTANT_SFTP_ALIAS_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_ALIAS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_HOST_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_HOST_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_PORT_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_PORT_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_USERNAME_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_USERNAME_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_PASSWORD_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_PASSWORD_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_PRIVATE_KEY_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_PASSPHRASE_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_PASSPHRASE_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_CUSTOM_URL_TOOLTIP: string
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH: string
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_WEB_PATH_TOOLTIP: string
|
||||
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_FILE_PERMISSIONS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_DIR_PERMISSIONS_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_EXPLAIN: string
|
||||
MANAGE_CONSTANT_SFTP_REFER_TEXT: string
|
||||
MANAGE_CONSTANT_SFTP_BASE_DIR_RULE_MESSAGE: string
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_DESC: string
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_PLACEHOLDER: string
|
||||
MANAGE_CONSTANT_SFTP_BUCKET_TOOLTIP: string
|
||||
MANAGE_LOGIN_PAGE_PANE_NAME: string
|
||||
MANAGE_LOGIN_PAGE_PANE_KEY_NAME: string
|
||||
MANAGE_LOGIN_PAGE_PANE_KEY_VALUE: string
|
||||
MANAGE_LOGIN_PAGE_PANE_ENTER: string
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE: string
|
||||
MANAGE_LOGIN_PAGE_PANE_SELECT_PLACEHOLDER: string
|
||||
MANAGE_LOGIN_PAGE_PANE_IMPORT: string
|
||||
MANAGE_LOGIN_PAGE_PANE_SAVE: string
|
||||
MANAGE_LOGIN_PAGE_PANE_RESET: string
|
||||
MANAGE_LOGIN_PAGE_PANE_TABLE_TITLE: string
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_MESSAGE_A: string
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ALIAS_MESSAGE: string
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_ITEMS_PER_PAGE_MESSAGE: string
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_CUSTOM_URL_MESSAGE: string
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME: string
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE: string
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_B: string
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C: string
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D: string
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E: string
|
||||
MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS: string
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE: string
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP: string
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM: string
|
||||
MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL: string
|
||||
MANAGE_BUCKET_PAGE_LOADING_TEXT: string
|
||||
MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER: string
|
||||
MANAGE_BUCKET_PAGE_CUSTOM_URL_INPUT_PLACEHOLDER: string
|
||||
MANAGE_BUCKET_PAGE_UPLOAD_FILES_TOOLTIP: string
|
||||
MANAGE_BUCKET_PAGE_UPLOAD_FROM_URL_TOOLTIP: string
|
||||
MANAGE_BUCKET_PAGE_CREATE_FOLDER_TOOLTIP: string
|
||||
MANAGE_BUCKET_PAGE_DOWNLOAD_TOOLTIP: string
|
||||
MANAGE_BUCKET_PAGE_BATCH_RENAME_TOOLTIP: string
|
||||
MANAGE_BUCKET_PAGE_BATCH_COPY_URL_TOOLTIP: string
|
||||
MANAGE_BUCKET_PAGE_COPY_FILE_INFO_TOOLTIP: string
|
||||
MANAGE_BUCKET_PAGE_FORCE_REFRESH_TOOLTIP: string
|
||||
MANAGE_BUCKET_PAGE_SEARCH_PLACEHOLDER: string
|
||||
MANAGE_BUCKET_PAGE_ROOT_FOLDER: string
|
||||
MANAGE_BUCKET_PAGE_FILE_NUMBER: string
|
||||
MANAGE_BUCKET_PAGE_FILE_SIZE: string
|
||||
MANAGE_BUCKET_PAGE_SELECT_ALL: string
|
||||
MANAGE_BUCKET_PAGE_SELECT_NONE: string
|
||||
MANAGE_BUCKET_PAGE_SELECT_INVERT: string
|
||||
MANAGE_BUCKET_DOWNLOAD_BTN: string
|
||||
MANAGE_BUCKET_DELETE_BTN: string
|
||||
MANAGE_BUCKET_SORT_TITLE: string
|
||||
MANAGE_BUCKET_SORT_NAME: string
|
||||
MANAGE_BUCKET_SORT_SIZE: string
|
||||
MANAGE_BUCKET_SORT_EXT: string
|
||||
MANAGE_BUCKET_SORT_TIME: string
|
||||
MANAGE_BUCKET_SORT_CHECK: string
|
||||
MANAGE_BUCKET_SORT_INIT: string
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_TITLE: string
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CONFIRM: string
|
||||
MANAGE_BUCKET_URL_UPLOAD_DIALOG_CANCEL: string
|
||||
MANAGE_BUCKET_URL_FORMAT_MARKDOWN: string
|
||||
MANAGE_BUCKET_URL_FORMAT_MARKDOWN_WITH_LINK: string
|
||||
MANAGE_BUCKET_URL_FORMAT_URL: string
|
||||
MANAGE_BUCKET_URL_FORMAT_HTML: string
|
||||
MANAGE_BUCKET_URL_FORMAT_BBCODE: string
|
||||
MANAGE_BUCKET_URL_FORMAT_CUSTOM: string
|
||||
MANAGE_BUCKET_URL_FORMAT_PRESIGN: string
|
||||
MANAGE_BUCKET_FILE_INFO_TITLE: string
|
||||
MANAGE_BUCKET_FILE_INFO_COPY_TIPS: string
|
||||
MANAGE_BUCKET_FILE_LIST_LOADING: string
|
||||
MANAGE_BUCKET_FILE_LIST_DOWNLOAD_PRE: string
|
||||
MANAGE_BUCKET_KEEP_FOLDER_STRUCTURE: string
|
||||
MANAGE_BUCKET_NOT_KEEP_FOLDER_STRUCTURE: string
|
||||
MANAGE_BUCKET_UPLOAD_AREA_TITLE: string
|
||||
MANAGE_BUCKET_UPLOAD_AREA_TEXT: string
|
||||
MANAGE_BUCKET_UPLOAD_AREA_BTN_LOADING: string
|
||||
MANAGE_BUCKET_UPLOAD_AREA_BTN: string
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR: string
|
||||
MANAGE_BUCKET_UPLOAD_AREA_STATUS_UPLOADING: string
|
||||
MANAGE_BUCKET_UPLOAD_AREA_COPY_TASK: string
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR_UPLOADED_TASK: string
|
||||
MANAGE_BUCKET_UPLOAD_AREA_CLEAR_ALL_TASK: string
|
||||
MANAGE_BUCKET_UPLOAD_AREA_SUCCESS: string
|
||||
MANAGE_BUCKET_UPLOAD_AREA_FAILED: string
|
||||
MANAGE_BUCKET_DOWNLOAD_PAGE_TITLE: string
|
||||
MANAGE_BUCKET_DOWNLOADING: string
|
||||
MANAGE_BUCKET_DOWNLOAD_COPY_TASK: string
|
||||
MANAGE_BUCKET_DOWNLOAD_CLEAR_DOWNLOADED_TASK: string
|
||||
MANAGE_BUCKET_DOWNLOAD_CLEAR_ALL_TASK: string
|
||||
MANAGE_BUCKET_DOWNLOAD_OPEN_FOLDER: string
|
||||
MANAGE_BUCKET_DOWNLOAD_SUCCESS: string
|
||||
MANAGE_BUCKET_DOWNLOAD_FAILED: string
|
||||
MANAGE_BUCKET_MARKDOWN_PREVIEW: string
|
||||
MANAGE_BUCKET_PLAY: string
|
||||
MANAGE_BUCKET_RENAME_FILE: string
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A: string
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A_TIPS: string
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_A_PLACEHOLDER: string
|
||||
MANAGE_BUCKET_RENAME_FILE_INPUT_B: string
|
||||
MANAGE_BUCKET_RENAME_FILE_TABLE_IID: string
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT: string
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_TIPS: string
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_YES: string
|
||||
MANAGE_BUCKET_RENAME_FILE_EXT_NO: string
|
||||
MANAGE_BUCKET_RENAME_FILE_CANCEL: string
|
||||
MANAGE_BUCKET_RENAME_FILE_CONFIRM: string
|
||||
MANAGE_BUCKET_COPY_SUCCESS: string
|
||||
MANAGE_BUCKET_START_LOADING_MESSAGE: string
|
||||
MANAGE_BUCKET_END_LOADING_MESSAGE_FAIL: string
|
||||
MANAGE_BUCKET_LAST_PAGE_TITLE: string
|
||||
MANAGE_BUCKET_LAST_PAGE_MSG: string
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_TITLE: string
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG: string
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG2: string
|
||||
MANAGE_BUCKET_GET_LIST_FAIL_MSG3: string
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TITLE: string
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_TIP: string
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CONFIRM: string
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_BOX_CANCEL: string
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_SUCCESS: string
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_FAIL: string
|
||||
MANAGE_BUCKET_DOWNLOAD_FOLDER_CANCEL: string
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_TITLE: string
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_TIP: string
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_CONFIRM: string
|
||||
MANAGE_BUCKET_CREATE_FOLDER_BOX_CANCEL: string
|
||||
MANAGE_BUCKET_CREATE_FOLDER_ERROR_MSG: string
|
||||
MANAGE_BUCKET_CREATE_FOLDER_SUCCESS: string
|
||||
MANAGE_BUCKET_CREATE_FOLDER_FAIL: string
|
||||
MANAGE_BUCKET_UPLOAD_URL_ERROR_MSQ: string
|
||||
MANAGE_BUCKET_UPLOAD_URL_NOT_TITLE: string
|
||||
MANAGE_BUCKET_UPLOAD_URL_NOT_MSG: string
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG: string
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG2: string
|
||||
MANAGE_BUCKET_BATCH_RENAME_ERROR_MSG3: string
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_A: string
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_B: string
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_MSG_C: string
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_CONFIRM: string
|
||||
MANAGE_BUCKET_BATCH_RENAME_REPEATED_CANCEL: string
|
||||
MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_A: string
|
||||
MANAGE_BUCKET_BATCH_RENAME_RESULT_MSG_B: string
|
||||
MANAGE_BUCKET_BATCH_RENAME_CANCEL: string
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_ERROR_MSG: string
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_MSG_A: string
|
||||
MANAGE_BUCKET_BATCH_COPY_INFO_MSG_B: string
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_ERROR_MSG: string
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_MSG_A: string
|
||||
MANAGE_BUCKET_BATCH_COPY_URL_MSG_B: string
|
||||
MANAGE_BUCKET_CANCEL_LOADING_TITLE: string
|
||||
MANAGE_BUCKET_CANCEL_LOADING_MSG: string
|
||||
MANAGE_BUCKET_CANCEL_LOADING_CONFIRM: string
|
||||
MANAGE_BUCKET_CANCEL_LOADING_CANCEL: string
|
||||
MANAGE_BUCKET_CANCEL_LOADING_SUCCESS: string
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_TITLE: string
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_MSG: string
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CONFIRM: string
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_CANCEL: string
|
||||
MANAGE_BUCKET_CANCEL_DOWNLOAD_LOADING_SUCCESS: string
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_TITLE: string
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_MSG: string
|
||||
MANAGE_BUCKET_GET_FILE_BS_NOT_MSG2: string
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_A: string
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_TITLE_B: string
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_MSG: string
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CONFIRM: string
|
||||
MANAGE_BUCKET_BATCH_DELETE_CONFIRM_CANCEL: string
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_TITLE: string
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG: string
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG2: string
|
||||
MANAGE_BUCKET_BATCH_DELETE_ERROR_MSG_MSG3: string
|
||||
MANAGE_BUCKET_BATCH_DELETE_CANCEL: string
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE: string
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER: string
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FOLDER_A: string
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_FILE: string
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_TITLE_C: string
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_MSG: string
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_CONFIRM: string
|
||||
MANAGE_BUCKET_DELETE_CONFIRM_CANCEL: string
|
||||
MANAGE_BUCKET_DELETE_ERROR_MSG_TITLE: string
|
||||
MANAGE_BUCKET_DELETE_ERROR_MSG_MSG: string
|
||||
MANAGE_BUCKET_DELETE_SUCCESS: string
|
||||
MANAGE_BUCKET_DELETE_FAIL: string
|
||||
MANAGE_BUCKET_DELETE_CANCEL: string
|
||||
MANAGE_BUCKET_RENAME_INFO_MSG: string
|
||||
MANAGE_BUCKET_RENAME_SUCCESS: string
|
||||
MANAGE_BUCKET_RENAME_ERROR_MSG: string
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_FILENAME: string
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_FINISHTIME: string
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS: string
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_SUCCESS: string
|
||||
MANAGE_BUCKET_DOWNLOAD_COLUMN_STATUS_FAIL: string
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_FILENAME: string
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_TARGETFILEPATH: string
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_FINISHTIME: string
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS: string
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_SUCCESS: string
|
||||
MANAGE_BUCKET_UPLOAD_COLUMN_STATUS_FAIL: string
|
||||
MANAGE_BUCKET_DOWNLOADING_COLUMN_FILENAME: string
|
||||
MANAGE_BUCKET_DOWNLOADING_COLUMN_PROGRESS: string
|
||||
MANAGE_BUCKET_UPLOADING_COLUMN_FILENAME: string
|
||||
MANAGE_BUCKET_UPLOADING_COLUMN_PROGRESS: string
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILENAME: string
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILESIZE: string
|
||||
MANAGE_BUCKET_UPLOADED_COLUMN_FILENUM: string
|
||||
MANAGE_BUCKET_FILE_COLUMN_FILENAME: string
|
||||
MANAGE_BUCKET_FILE_COLUMN_COPY_URL: string
|
||||
MANAGE_BUCKET_FILE_COLUMN_INFO: string
|
||||
MANAGE_BUCKET_FILE_COLUMN_FILESIZE: string
|
||||
MANAGE_BUCKET_FILE_COLUMN_TIME: string
|
||||
MANAGE_NEW_BUCKET_TCYUN_NAME: string
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_DESC: string
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_PLACEHOLDER: string
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_A: string
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_B: string
|
||||
MANAGE_NEW_BUCKET_TCYUN_BUCKETNAME_RULE_MSG_C: string
|
||||
MANAGE_NEW_BUCKET_TCYUN_REGION: string
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_DESC: string
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_RW: string
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PUBLIC_R: string
|
||||
MANAGE_NEW_BUCKET_TCYUN_ACL_PRIVATE: string
|
||||
MANAGE_NEW_BUCKET_ALIYUN_NAME: string
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_DESC: string
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_PLACEHOLDER: string
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_A: string
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_B: string
|
||||
MANAGE_NEW_BUCKET_ALIYUN_BUCKETNAME_RULE_MSG_C: string
|
||||
MANAGE_NEW_BUCKET_ALIYUN_REGION: string
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_DESC: string
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_RW: string
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PUBLIC_R: string
|
||||
MANAGE_NEW_BUCKET_ALIYUN_ACL_PRIVATE: string
|
||||
MANAGE_NEW_BUCKET_QINIU_NAME: string
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_DESC: string
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_PLACEHOLDER: string
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_A: string
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_B: string
|
||||
MANAGE_NEW_BUCKET_QINIU_BUCKETNAME_RULE_MSG_C: string
|
||||
MANAGE_NEW_BUCKET_QINIU_REGION: string
|
||||
MANAGE_NEW_BUCKET_QINIU_ACL_DESC: string
|
||||
MANAGE_NEW_BUCKET_S3PLIST_NAME: string
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_DESC: string
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_PLACEHOLDER: string
|
||||
MANAGE_NEW_BUCKET_S3PLIST_BUCKETNAME_RULE_MSG_A: string
|
||||
MANAGE_NEW_BUCKET_S3PLIST_REGION: string
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_DESC: string
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_RW: string
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PUBLIC_R: string
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_PRIVATE: string
|
||||
MANAGE_NEW_BUCKET_S3PLIST_ACL_AUTHENTICATED_READ: string
|
||||
PLUGIN_INSTALL_FAILED: string
|
||||
PLUGIN_UNINSTALL_FAILED: string
|
||||
PLUGIN_UPDATE_SUCCEED: string
|
||||
PLUGIN_UPDATE_FAILED: string
|
||||
PLUGIN_IMPORT_SUCCEED: string
|
||||
PLUGIN_IMPORT_FAILED: string
|
||||
|
||||
3
src/universal/types/shims-tsx.d.ts
vendored
3
src/universal/types/shims-tsx.d.ts
vendored
@@ -67,8 +67,5 @@ declare global {
|
||||
setLocales: (lang: string, locales: ILocales) => void
|
||||
translate: (key: ILocalesKey, args?: IStringKeyMap) => string
|
||||
}
|
||||
TDAPP: {
|
||||
onEvent: (EventId: string, Label?: string, MapKv?: IStringKeyMap) => void
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,12 +153,6 @@ export interface IBounds {
|
||||
y: number
|
||||
}
|
||||
|
||||
export interface ITalkingDataOptions {
|
||||
EventId: string
|
||||
Label?: string
|
||||
MapKv?: IStringKeyMap
|
||||
}
|
||||
|
||||
// PicGo Types
|
||||
export type ICtx = PicGo
|
||||
export interface IPicGoPlugin {
|
||||
@@ -457,13 +451,6 @@ export interface IAppNotification {
|
||||
icon?: string
|
||||
}
|
||||
|
||||
export interface IAnalyticsData {
|
||||
fromClipboard: boolean
|
||||
type: string
|
||||
count: number
|
||||
duration?: number // 耗时
|
||||
}
|
||||
|
||||
export interface IStringKeyMap {
|
||||
[propName: string]: any
|
||||
}
|
||||
|
||||
376
yarn.lock
376
yarn.lock
@@ -1151,7 +1151,7 @@
|
||||
chalk "^2.0.0"
|
||||
js-tokens "^4.0.0"
|
||||
|
||||
"@babel/parser@^7.27.2", "@babel/parser@^7.28.0":
|
||||
"@babel/parser@^7.24.6", "@babel/parser@^7.27.2", "@babel/parser@^7.28.0":
|
||||
version "7.28.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.0.tgz#979829fbab51a29e13901e5a80713dbcb840825e"
|
||||
integrity sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==
|
||||
@@ -2103,6 +2103,95 @@
|
||||
resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-3.0.8.tgz#efc293ba0ed91e90e6267f1aacc1c70d20b8b4e8"
|
||||
integrity sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==
|
||||
|
||||
"@intlify/bundle-utils@^10.0.1":
|
||||
version "10.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/bundle-utils/-/bundle-utils-10.0.1.tgz#6416e1c327bcc3b3579d803dc9bbe0d30ec0b012"
|
||||
integrity sha512-WkaXfSevtpgtUR4t8K2M6lbR7g03mtOxFeh+vXp5KExvPqS12ppaRj1QxzwRuRI5VUto54A22BjKoBMLyHILWQ==
|
||||
dependencies:
|
||||
"@intlify/message-compiler" "^11.1.2"
|
||||
"@intlify/shared" "^11.1.2"
|
||||
acorn "^8.8.2"
|
||||
escodegen "^2.1.0"
|
||||
estree-walker "^2.0.2"
|
||||
jsonc-eslint-parser "^2.3.0"
|
||||
mlly "^1.2.0"
|
||||
source-map-js "^1.0.1"
|
||||
yaml-eslint-parser "^1.2.2"
|
||||
|
||||
"@intlify/core-base@10.0.8":
|
||||
version "10.0.8"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-10.0.8.tgz#2fcf46bab72d4daa8575eb11e04a549ea4030ac3"
|
||||
integrity sha512-FoHslNWSoHjdUBLy35bpm9PV/0LVI/DSv9L6Km6J2ad8r/mm0VaGg06C40FqlE8u2ADcGUM60lyoU7Myo4WNZQ==
|
||||
dependencies:
|
||||
"@intlify/message-compiler" "10.0.8"
|
||||
"@intlify/shared" "10.0.8"
|
||||
|
||||
"@intlify/core-base@11.1.11":
|
||||
version "11.1.11"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-11.1.11.tgz#e36893a7d37a3a75fae30977fc58c1d8cf3c853f"
|
||||
integrity sha512-1Z0N8jTfkcD2Luq9HNZt+GmjpFe4/4PpZF3AOzoO1u5PTtSuXZcfhwBatywbfE2ieB/B5QHIoOFmCXY2jqVKEQ==
|
||||
dependencies:
|
||||
"@intlify/message-compiler" "11.1.11"
|
||||
"@intlify/shared" "11.1.11"
|
||||
|
||||
"@intlify/message-compiler@10.0.8":
|
||||
version "10.0.8"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-10.0.8.tgz#48aee742916f8aaa43945682f32bec1c9e73e2f8"
|
||||
integrity sha512-DV+sYXIkHVd5yVb2mL7br/NEUwzUoLBsMkV3H0InefWgmYa34NLZUvMCGi5oWX+Hqr2Y2qUxnVrnOWF4aBlgWg==
|
||||
dependencies:
|
||||
"@intlify/shared" "10.0.8"
|
||||
source-map-js "^1.0.2"
|
||||
|
||||
"@intlify/message-compiler@11.1.11", "@intlify/message-compiler@^11.1.2":
|
||||
version "11.1.11"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-11.1.11.tgz#ba10641f86af0e991ac9def0385bd345c8f150fb"
|
||||
integrity sha512-7PC6neomoc/z7a8JRjPBbu0T2TzR2MQuY5kn2e049MP7+o32Ve7O8husylkA7K9fQRe4iNXZWTPnDJ6vZdtS1Q==
|
||||
dependencies:
|
||||
"@intlify/shared" "11.1.11"
|
||||
source-map-js "^1.0.2"
|
||||
|
||||
"@intlify/shared@10.0.8", "@intlify/shared@^10.0.0":
|
||||
version "10.0.8"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-10.0.8.tgz#5f8019919dea8695b2e345257fc0cda7665d8ef9"
|
||||
integrity sha512-BcmHpb5bQyeVNrptC3UhzpBZB/YHHDoEREOUERrmF2BRxsyOEuRrq+Z96C/D4+2KJb8kuHiouzAei7BXlG0YYw==
|
||||
|
||||
"@intlify/shared@11.1.11", "@intlify/shared@^11.1.2":
|
||||
version "11.1.11"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-11.1.11.tgz#6bba3b86617c05767356e4ca939c9e300563a083"
|
||||
integrity sha512-RIBFTIqxZSsxUqlcyoR7iiC632bq7kkOwYvZlvcVObHfrF4NhuKc4FKvu8iPCrEO+e3XsY7/UVpfgzg+M7ETzA==
|
||||
|
||||
"@intlify/unplugin-vue-i18n@^6.0.8":
|
||||
version "6.0.8"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/unplugin-vue-i18n/-/unplugin-vue-i18n-6.0.8.tgz#2162dced28b01f7ea471b577ba10ecc4ba523d0d"
|
||||
integrity sha512-Vvm3KhjE6TIBVUQAk37rBiaYy2M5OcWH0ZcI1XKEsOTeN1o0bErk+zeuXmcrcMc/73YggfI8RoxOUz9EB/69JQ==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.4.0"
|
||||
"@intlify/bundle-utils" "^10.0.1"
|
||||
"@intlify/shared" "^11.1.2"
|
||||
"@intlify/vue-i18n-extensions" "^8.0.0"
|
||||
"@rollup/pluginutils" "^5.1.0"
|
||||
"@typescript-eslint/scope-manager" "^8.13.0"
|
||||
"@typescript-eslint/typescript-estree" "^8.13.0"
|
||||
debug "^4.3.3"
|
||||
fast-glob "^3.2.12"
|
||||
js-yaml "^4.1.0"
|
||||
json5 "^2.2.3"
|
||||
pathe "^1.0.0"
|
||||
picocolors "^1.0.0"
|
||||
source-map-js "^1.0.2"
|
||||
unplugin "^1.1.0"
|
||||
vue "^3.4"
|
||||
|
||||
"@intlify/vue-i18n-extensions@^8.0.0":
|
||||
version "8.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/vue-i18n-extensions/-/vue-i18n-extensions-8.0.0.tgz#84adc3f40829ee144f056b774a77d838ce3f5034"
|
||||
integrity sha512-w0+70CvTmuqbskWfzeYhn0IXxllr6mU+IeM2MU0M+j9OW64jkrvqY+pYFWrUnIIC9bEdij3NICruicwd5EgUuQ==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.24.6"
|
||||
"@intlify/shared" "^10.0.0"
|
||||
"@vue/compiler-dom" "^3.2.45"
|
||||
vue-i18n "^10.0.0"
|
||||
|
||||
"@isaacs/balanced-match@^4.0.1":
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz#3081dadbc3460661b751e7591d7faea5df39dd29"
|
||||
@@ -2457,6 +2546,15 @@
|
||||
resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.29.tgz#f8fc9a8788757dccba0d3b7fee93183621773d4c"
|
||||
integrity sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==
|
||||
|
||||
"@rollup/pluginutils@^5.1.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.2.0.tgz#eac25ca5b0bdda4ba735ddaca5fbf26bd435f602"
|
||||
integrity sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==
|
||||
dependencies:
|
||||
"@types/estree" "^1.0.0"
|
||||
estree-walker "^2.0.2"
|
||||
picomatch "^4.0.2"
|
||||
|
||||
"@rollup/rollup-android-arm-eabi@4.46.2":
|
||||
version "4.46.2"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz#292e25953d4988d3bd1af0f5ebbd5ee4d65c90b4"
|
||||
@@ -3204,7 +3302,7 @@
|
||||
dependencies:
|
||||
"@types/ms" "*"
|
||||
|
||||
"@types/estree@1.0.8", "@types/estree@^1.0.6":
|
||||
"@types/estree@1.0.8", "@types/estree@^1.0.0", "@types/estree@^1.0.6":
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e"
|
||||
integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
|
||||
@@ -3253,14 +3351,6 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4"
|
||||
integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==
|
||||
|
||||
"@types/inquirer@^6.5.0":
|
||||
version "6.5.0"
|
||||
resolved "https://registry.npmjs.org/@types/inquirer/-/inquirer-6.5.0.tgz#b83b0bf30b88b8be7246d40e51d32fe9d10e09be"
|
||||
integrity sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==
|
||||
dependencies:
|
||||
"@types/through" "*"
|
||||
rxjs "^6.4.0"
|
||||
|
||||
"@types/js-yaml@^4.0.9":
|
||||
version "4.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.9.tgz#cd82382c4f902fed9691a2ed79ec68c5898af4c2"
|
||||
@@ -3419,13 +3509,6 @@
|
||||
dependencies:
|
||||
"@types/node" "^18.11.18"
|
||||
|
||||
"@types/through@*":
|
||||
version "0.0.30"
|
||||
resolved "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz#e0e42ce77e897bd6aead6f6ea62aeb135b8a3895"
|
||||
integrity sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/tunnel@^0.0.7":
|
||||
version "0.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@types/tunnel/-/tunnel-0.0.7.tgz#6150f30579ecd467b63c13c48124150f4f52ac93"
|
||||
@@ -3509,7 +3592,7 @@
|
||||
"@typescript-eslint/types" "^8.38.0"
|
||||
debug "^4.3.4"
|
||||
|
||||
"@typescript-eslint/scope-manager@8.38.0":
|
||||
"@typescript-eslint/scope-manager@8.38.0", "@typescript-eslint/scope-manager@^8.13.0":
|
||||
version "8.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.38.0.tgz#5a0efcb5c9cf6e4121b58f87972f567c69529226"
|
||||
integrity sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==
|
||||
@@ -3538,7 +3621,7 @@
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.38.0.tgz#297351c994976b93c82ac0f0e206c8143aa82529"
|
||||
integrity sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==
|
||||
|
||||
"@typescript-eslint/typescript-estree@8.38.0":
|
||||
"@typescript-eslint/typescript-estree@8.38.0", "@typescript-eslint/typescript-estree@^8.13.0":
|
||||
version "8.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.38.0.tgz#82262199eb6778bba28a319e25ad05b1158957df"
|
||||
integrity sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==
|
||||
@@ -3785,7 +3868,7 @@
|
||||
estree-walker "^2.0.2"
|
||||
source-map-js "^1.2.1"
|
||||
|
||||
"@vue/compiler-dom@3.5.18", "@vue/compiler-dom@^3.5.0":
|
||||
"@vue/compiler-dom@3.5.18", "@vue/compiler-dom@^3.2.45", "@vue/compiler-dom@^3.5.0":
|
||||
version "3.5.18"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.18.tgz#e13504492c3061ec5bbe6a2e789f15261d4f03a7"
|
||||
integrity sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==
|
||||
@@ -3824,16 +3907,38 @@
|
||||
de-indent "^1.0.2"
|
||||
he "^1.2.0"
|
||||
|
||||
"@vue/devtools-api@^6.5.0":
|
||||
version "6.5.0"
|
||||
resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz#98b99425edee70b4c992692628fa1ea2c1e57d07"
|
||||
integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==
|
||||
|
||||
"@vue/devtools-api@^6.6.4":
|
||||
"@vue/devtools-api@^6.5.0", "@vue/devtools-api@^6.6.4":
|
||||
version "6.6.4"
|
||||
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz#cbe97fe0162b365edc1dba80e173f90492535343"
|
||||
integrity sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==
|
||||
|
||||
"@vue/devtools-api@^7.7.2":
|
||||
version "7.7.7"
|
||||
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-7.7.7.tgz#5ef5f55f60396220725a273548c0d7ee983d5d34"
|
||||
integrity sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==
|
||||
dependencies:
|
||||
"@vue/devtools-kit" "^7.7.7"
|
||||
|
||||
"@vue/devtools-kit@^7.7.7":
|
||||
version "7.7.7"
|
||||
resolved "https://registry.yarnpkg.com/@vue/devtools-kit/-/devtools-kit-7.7.7.tgz#41a64f9526e9363331c72405544df020ce2e3641"
|
||||
integrity sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==
|
||||
dependencies:
|
||||
"@vue/devtools-shared" "^7.7.7"
|
||||
birpc "^2.3.0"
|
||||
hookable "^5.5.3"
|
||||
mitt "^3.0.1"
|
||||
perfect-debounce "^1.0.0"
|
||||
speakingurl "^14.0.1"
|
||||
superjson "^2.2.2"
|
||||
|
||||
"@vue/devtools-shared@^7.7.7":
|
||||
version "7.7.7"
|
||||
resolved "https://registry.yarnpkg.com/@vue/devtools-shared/-/devtools-shared-7.7.7.tgz#ff14aa8c1262ebac8c0397d3b09f767cd489750c"
|
||||
integrity sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==
|
||||
dependencies:
|
||||
rfdc "^1.4.1"
|
||||
|
||||
"@vue/eslint-config-prettier@^10.2.0":
|
||||
version "10.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@vue/eslint-config-prettier/-/eslint-config-prettier-10.2.0.tgz#49a5ed571acb81820a216e6d88ebf1f3def321d0"
|
||||
@@ -3971,7 +4076,7 @@ acorn-walk@^8.1.1:
|
||||
resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
|
||||
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
|
||||
|
||||
acorn@^8.15.0:
|
||||
acorn@^8.14.0, acorn@^8.15.0, acorn@^8.5.0, acorn@^8.8.2, acorn@^8.9.0:
|
||||
version "8.15.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816"
|
||||
integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
|
||||
@@ -4376,6 +4481,11 @@ before@^0.0.1:
|
||||
resolved "https://registry.npmjs.org/before/-/before-0.0.1.tgz#d21270e98747e9097253441e868adb325ae72dda"
|
||||
integrity sha512-1J5SWbkoVJH9DTALN8igB4p+nPKZzPrJ/HomqBDLpfUvDXCdjdBmBUcH5McZfur0lftVssVU6BZug5NYh87zTw==
|
||||
|
||||
birpc@^2.3.0:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/birpc/-/birpc-2.5.0.tgz#3a014e54c17eceba0ce15738d484ea371dbf6527"
|
||||
integrity sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==
|
||||
|
||||
bl@^1.0.0:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7"
|
||||
@@ -5001,6 +5111,11 @@ conf@^9.0.0:
|
||||
pkg-up "^3.1.0"
|
||||
semver "^7.3.4"
|
||||
|
||||
confbox@^0.1.8:
|
||||
version "0.1.8"
|
||||
resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.8.tgz#820d73d3b3c82d9bd910652c5d4d599ef8ff8b06"
|
||||
integrity sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==
|
||||
|
||||
config-chain@^1.1.11:
|
||||
version "1.1.13"
|
||||
resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4"
|
||||
@@ -5097,6 +5212,13 @@ convert-source-map@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
|
||||
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
|
||||
|
||||
copy-anything@^3.0.2:
|
||||
version "3.0.5"
|
||||
resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-3.0.5.tgz#2d92dce8c498f790fa7ad16b01a1ae5a45b020a0"
|
||||
integrity sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==
|
||||
dependencies:
|
||||
is-what "^4.1.8"
|
||||
|
||||
copy-to@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5"
|
||||
@@ -5389,6 +5511,11 @@ deep-is@^0.1.3:
|
||||
resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
|
||||
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
|
||||
|
||||
deep-pick-omit@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/deep-pick-omit/-/deep-pick-omit-1.2.1.tgz#c035b27a4c86518b76f60ffa3004e6c61f317032"
|
||||
integrity sha512-2J6Kc/m3irCeqVG42T+SaUMesaK7oGWaedGnQQK/+O0gYc+2SP5bKh/KKTE7d7SJ+GCA9UUE1GRzh6oDe0EnGw==
|
||||
|
||||
default-shell@^2.0.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/default-shell/-/default-shell-2.2.0.tgz#31481c19747bfe59319b486591643eaf115a1864"
|
||||
@@ -5420,6 +5547,11 @@ define-properties@^1.1.3:
|
||||
dependencies:
|
||||
object-keys "^1.0.12"
|
||||
|
||||
defu@^6.1.4:
|
||||
version "6.1.4"
|
||||
resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.4.tgz#4e0c9cf9ff68fe5f3d7f2765cc1a012dfdcb0479"
|
||||
integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==
|
||||
|
||||
degenerator@^5.0.0:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-5.0.1.tgz#9403bf297c6dad9a1ece409b37db27954f91f2f5"
|
||||
@@ -5439,6 +5571,11 @@ depd@^1.1.2:
|
||||
resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
|
||||
integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
|
||||
|
||||
destr@^2.0.5:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.5.tgz#7d112ff1b925fb8d2079fac5bdb4a90973b51fdb"
|
||||
integrity sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==
|
||||
|
||||
destroy@^1.0.4:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
|
||||
@@ -6015,10 +6152,10 @@ eslint-plugin-unicorn@^60.0.0:
|
||||
semver "^7.7.2"
|
||||
strip-indent "^4.0.0"
|
||||
|
||||
eslint-plugin-vue@^10.3.0:
|
||||
version "10.3.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-10.3.0.tgz#d8fb96d06bc71829177fe81590489117b9540c17"
|
||||
integrity sha512-A0u9snqjCfYaPnqqOaH6MBLVWDUIN4trXn8J3x67uDcXvR7X6Ut8p16N+nYhMCQ9Y7edg2BIRGzfyZsY0IdqoQ==
|
||||
eslint-plugin-vue@^10.4.0:
|
||||
version "10.4.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-10.4.0.tgz#2ae20df43801d20515c58ec2ae0555bf1127a080"
|
||||
integrity sha512-K6tP0dW8FJVZLQxa2S7LcE1lLw3X8VvB3t887Q6CLrFVxHYBXGANbXvwNzYIu6Ughx1bSJ5BDT0YB3ybPT39lw==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.4.0"
|
||||
natural-compare "^1.4.0"
|
||||
@@ -6035,16 +6172,16 @@ eslint-scope@^8.2.0, eslint-scope@^8.4.0:
|
||||
esrecurse "^4.3.0"
|
||||
estraverse "^5.2.0"
|
||||
|
||||
eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
|
||||
version "3.4.3"
|
||||
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
|
||||
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
|
||||
|
||||
eslint-visitor-keys@^3.3.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
|
||||
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
|
||||
|
||||
eslint-visitor-keys@^3.4.3:
|
||||
version "3.4.3"
|
||||
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
|
||||
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
|
||||
|
||||
eslint-visitor-keys@^4.2.0, eslint-visitor-keys@^4.2.1:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1"
|
||||
@@ -6100,6 +6237,15 @@ espree@^10.0.1, espree@^10.3.0, espree@^10.4.0:
|
||||
acorn-jsx "^5.3.2"
|
||||
eslint-visitor-keys "^4.2.1"
|
||||
|
||||
espree@^9.0.0:
|
||||
version "9.6.1"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
|
||||
integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
|
||||
dependencies:
|
||||
acorn "^8.9.0"
|
||||
acorn-jsx "^5.3.2"
|
||||
eslint-visitor-keys "^3.4.1"
|
||||
|
||||
esprima@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
|
||||
@@ -6238,7 +6384,7 @@ fast-diff@^1.1.2:
|
||||
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0"
|
||||
integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
|
||||
|
||||
fast-glob@^3.3.2, fast-glob@^3.3.3:
|
||||
fast-glob@^3.2.12, fast-glob@^3.3.2, fast-glob@^3.3.3:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818"
|
||||
integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
|
||||
@@ -7168,6 +7314,11 @@ homedir-polyfill@^1.0.1:
|
||||
dependencies:
|
||||
parse-passwd "^1.0.0"
|
||||
|
||||
hookable@^5.5.3:
|
||||
version "5.5.3"
|
||||
resolved "https://registry.yarnpkg.com/hookable/-/hookable-5.5.3.tgz#6cfc358984a1ef991e2518cb9ed4a778bbd3215d"
|
||||
integrity sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==
|
||||
|
||||
hosted-git-info@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
|
||||
@@ -7660,6 +7811,11 @@ is-utf8@^0.2.1:
|
||||
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
|
||||
integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==
|
||||
|
||||
is-what@^4.1.8:
|
||||
version "4.1.16"
|
||||
resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.16.tgz#1ad860a19da8b4895ad5495da3182ce2acdd7a6f"
|
||||
integrity sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==
|
||||
|
||||
is-windows@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
|
||||
@@ -7837,6 +7993,16 @@ json5@^2.2.3:
|
||||
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
|
||||
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
|
||||
|
||||
jsonc-eslint-parser@^2.3.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz#74ded53f9d716e8d0671bd167bf5391f452d5461"
|
||||
integrity sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==
|
||||
dependencies:
|
||||
acorn "^8.5.0"
|
||||
eslint-visitor-keys "^3.0.0"
|
||||
espree "^9.0.0"
|
||||
semver "^7.3.5"
|
||||
|
||||
jsonfile@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
|
||||
@@ -8499,6 +8665,16 @@ mkdirp@^1.0.3, mkdirp@^1.0.4:
|
||||
resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
|
||||
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
|
||||
|
||||
mlly@^1.2.0, mlly@^1.7.4:
|
||||
version "1.7.4"
|
||||
resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.4.tgz#3d7295ea2358ec7a271eaa5d000a0f84febe100f"
|
||||
integrity sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==
|
||||
dependencies:
|
||||
acorn "^8.14.0"
|
||||
pathe "^2.0.1"
|
||||
pkg-types "^1.3.0"
|
||||
ufo "^1.5.4"
|
||||
|
||||
mockdate@^3.0.5:
|
||||
version "3.0.5"
|
||||
resolved "https://registry.npmjs.org/mockdate/-/mockdate-3.0.5.tgz#789be686deb3149e7df2b663d2bc4392bc3284fb"
|
||||
@@ -9148,6 +9324,16 @@ path-type@^4.0.0:
|
||||
resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
|
||||
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
|
||||
|
||||
pathe@^1.0.0:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec"
|
||||
integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==
|
||||
|
||||
pathe@^2.0.1:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716"
|
||||
integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==
|
||||
|
||||
pause-stream@~0.0.11:
|
||||
version "0.0.11"
|
||||
resolved "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
|
||||
@@ -9165,6 +9351,11 @@ pend@~1.2.0:
|
||||
resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
|
||||
integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
|
||||
|
||||
perfect-debounce@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a"
|
||||
integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==
|
||||
|
||||
performance-now@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
|
||||
@@ -9209,7 +9400,7 @@ performance-now@^2.1.0:
|
||||
uuid "^11.1.0"
|
||||
webdav "^5.8.0"
|
||||
|
||||
picocolors@^1.1.1:
|
||||
picocolors@^1.0.0, picocolors@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
|
||||
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
|
||||
@@ -9234,18 +9425,21 @@ pify@^3.0.0:
|
||||
resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
|
||||
integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
|
||||
|
||||
pinia-plugin-persistedstate@^3.2.1:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.1.tgz#66780602aecd6c7b152dd7e3ddc249a1f7a13fe5"
|
||||
integrity sha512-MK++8LRUsGF7r45PjBFES82ISnPzyO6IZx3CH5vyPseFLZCk1g2kgx6l/nW8pEBKxxd4do0P6bJw+mUSZIEZUQ==
|
||||
|
||||
pinia@^2.1.7:
|
||||
version "2.1.7"
|
||||
resolved "https://registry.yarnpkg.com/pinia/-/pinia-2.1.7.tgz#4cf5420d9324ca00b7b4984d3fbf693222115bbc"
|
||||
integrity sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==
|
||||
pinia-plugin-persistedstate@^4.4.1:
|
||||
version "4.4.1"
|
||||
resolved "https://registry.yarnpkg.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-4.4.1.tgz#2cc60432d8b5b56c49cdd1c604a709f2e2864d60"
|
||||
integrity sha512-lmuMPpXla2zJKjxEq34e1E9P9jxkWEhcVwwioCCE0izG45kkTOvQfCzvwhW3i38cvnaWC7T1eRdkd15Re59ldw==
|
||||
dependencies:
|
||||
"@vue/devtools-api" "^6.5.0"
|
||||
vue-demi ">=0.14.5"
|
||||
deep-pick-omit "^1.2.1"
|
||||
defu "^6.1.4"
|
||||
destr "^2.0.5"
|
||||
|
||||
pinia@^3.0.3:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/pinia/-/pinia-3.0.3.tgz#f412019bdeb2f45e85927b432803190343e12d89"
|
||||
integrity sha512-ttXO/InUULUXkMHpTdp9Fj4hLpD/2AoJdmAbAeW2yu1iy1k+pkFekQXw5VpC0/5p51IOR/jDaDRfRWRnMMsGOA==
|
||||
dependencies:
|
||||
"@vue/devtools-api" "^7.7.2"
|
||||
|
||||
pinkie-promise@^2.0.0:
|
||||
version "2.0.1"
|
||||
@@ -9266,6 +9460,15 @@ pkcs7@^1.0.4:
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
|
||||
pkg-types@^1.3.0:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.3.1.tgz#bd7cc70881192777eef5326c19deb46e890917df"
|
||||
integrity sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==
|
||||
dependencies:
|
||||
confbox "^0.1.8"
|
||||
mlly "^1.7.4"
|
||||
pathe "^2.0.1"
|
||||
|
||||
pkg-up@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.npmmirror.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5"
|
||||
@@ -9709,6 +9912,11 @@ reusify@^1.0.4:
|
||||
resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
|
||||
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
|
||||
|
||||
rfdc@^1.4.1:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca"
|
||||
integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==
|
||||
|
||||
rimraf@^3.0.0, rimraf@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
|
||||
@@ -10112,7 +10320,7 @@ sort-keys@^2.0.0:
|
||||
dependencies:
|
||||
is-plain-obj "^1.0.0"
|
||||
|
||||
source-map-js@^1.2.1:
|
||||
source-map-js@^1.0.1, source-map-js@^1.0.2, source-map-js@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
|
||||
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
|
||||
@@ -10161,6 +10369,11 @@ spdx-license-ids@^3.0.0:
|
||||
resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95"
|
||||
integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==
|
||||
|
||||
speakingurl@^14.0.1:
|
||||
version "14.0.1"
|
||||
resolved "https://registry.yarnpkg.com/speakingurl/-/speakingurl-14.0.1.tgz#f37ec8ddc4ab98e9600c1c9ec324a8c48d772a53"
|
||||
integrity sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==
|
||||
|
||||
split2@^4.0.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4"
|
||||
@@ -10446,6 +10659,13 @@ sumchecker@^3.0.1:
|
||||
dependencies:
|
||||
debug "^4.1.0"
|
||||
|
||||
superjson@^2.2.2:
|
||||
version "2.2.2"
|
||||
resolved "https://registry.yarnpkg.com/superjson/-/superjson-2.2.2.tgz#9d52bf0bf6b5751a3c3472f1292e714782ba3173"
|
||||
integrity sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==
|
||||
dependencies:
|
||||
copy-anything "^3.0.2"
|
||||
|
||||
supports-color@^5.3.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
||||
@@ -10798,6 +11018,11 @@ typescript@^5.4.3, typescript@^5.8.3:
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e"
|
||||
integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==
|
||||
|
||||
ufo@^1.5.4:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.6.1.tgz#ac2db1d54614d1b22c1d603e3aef44a85d8f146b"
|
||||
integrity sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==
|
||||
|
||||
uglify-js@^3.1.4:
|
||||
version "3.14.5"
|
||||
resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz#cdabb7d4954231d80cb4a927654c4655e51f4859"
|
||||
@@ -10872,6 +11097,14 @@ universalify@^2.0.0:
|
||||
resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
|
||||
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
|
||||
|
||||
unplugin@^1.1.0:
|
||||
version "1.16.1"
|
||||
resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.16.1.tgz#a844d2e3c3b14a4ac2945c42be80409321b61199"
|
||||
integrity sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==
|
||||
dependencies:
|
||||
acorn "^8.14.0"
|
||||
webpack-virtual-modules "^0.6.2"
|
||||
|
||||
unrs-resolver@^1.9.2:
|
||||
version "1.11.1"
|
||||
resolved "https://registry.yarnpkg.com/unrs-resolver/-/unrs-resolver-1.11.1.tgz#be9cd8686c99ef53ecb96df2a473c64d304048a9"
|
||||
@@ -11160,11 +11393,6 @@ vue-demi@*:
|
||||
resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz#7d90369bdae8974d87b1973564ad390182410d99"
|
||||
integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==
|
||||
|
||||
vue-demi@>=0.14.5:
|
||||
version "0.14.5"
|
||||
resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz#676d0463d1a1266d5ab5cba932e043d8f5f2fbd9"
|
||||
integrity sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==
|
||||
|
||||
vue-demi@^0.12.5:
|
||||
version "0.12.5"
|
||||
resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.12.5.tgz#8eeed566a7d86eb090209a11723f887d28aeb2d1"
|
||||
@@ -11182,6 +11410,24 @@ vue-eslint-parser@^10.2.0:
|
||||
esquery "^1.6.0"
|
||||
semver "^7.6.3"
|
||||
|
||||
vue-i18n@^10.0.0:
|
||||
version "10.0.8"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-10.0.8.tgz#adce21f875b29589c8bd602eb28b5c6ad2d85c97"
|
||||
integrity sha512-mIjy4utxMz9lMMo6G9vYePv7gUFt4ztOMhY9/4czDJxZ26xPeJ49MAGa9wBAE3XuXbYCrtVPmPxNjej7JJJkZQ==
|
||||
dependencies:
|
||||
"@intlify/core-base" "10.0.8"
|
||||
"@intlify/shared" "10.0.8"
|
||||
"@vue/devtools-api" "^6.5.0"
|
||||
|
||||
vue-i18n@^11.1.11:
|
||||
version "11.1.11"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-11.1.11.tgz#b38ed214896540cf7a68932dfa565d9d4fbbffac"
|
||||
integrity sha512-LvyteQoXeQiuILbzqv13LbyBna/TEv2Ha+4ZWK2AwGHUzZ8+IBaZS0TJkCgn5izSPLcgZwXy9yyTrewCb2u/MA==
|
||||
dependencies:
|
||||
"@intlify/core-base" "11.1.11"
|
||||
"@intlify/shared" "11.1.11"
|
||||
"@vue/devtools-api" "^6.5.0"
|
||||
|
||||
vue-router@^4.5.1:
|
||||
version "4.5.1"
|
||||
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.5.1.tgz#47bffe2d3a5479d2886a9a244547a853aa0abf69"
|
||||
@@ -11211,7 +11457,7 @@ vue3-photo-preview@^0.3.0:
|
||||
dependencies:
|
||||
lodash-es "^4.17.21"
|
||||
|
||||
vue@^3.5.18:
|
||||
vue@^3.4, vue@^3.5.18:
|
||||
version "3.5.18"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-3.5.18.tgz#3d622425ad1391a2b0138323211ec784f4415686"
|
||||
integrity sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==
|
||||
@@ -11259,6 +11505,11 @@ webdav@^5.8.0:
|
||||
url-join "^5.0.0"
|
||||
url-parse "^1.5.10"
|
||||
|
||||
webpack-virtual-modules@^0.6.2:
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz#057faa9065c8acf48f24cb57ac0e77739ab9a7e8"
|
||||
integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==
|
||||
|
||||
which@^1.2.14:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||
@@ -11392,6 +11643,19 @@ yallist@^4.0.0:
|
||||
resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
||||
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
||||
|
||||
yaml-eslint-parser@^1.2.2:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/yaml-eslint-parser/-/yaml-eslint-parser-1.3.0.tgz#975dd11f8349e18c15c88b0e41a6d0b0377969cd"
|
||||
integrity sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==
|
||||
dependencies:
|
||||
eslint-visitor-keys "^3.0.0"
|
||||
yaml "^2.0.0"
|
||||
|
||||
yaml@^2.0.0:
|
||||
version "2.8.0"
|
||||
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.0.tgz#15f8c9866211bdc2d3781a0890e44d4fa1a5fff6"
|
||||
integrity sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==
|
||||
|
||||
yargs-parser@^21.0.0:
|
||||
version "21.0.0"
|
||||
resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55"
|
||||
|
||||
Reference in New Issue
Block a user