mirror of
https://github.com/Kuingsmile/PicList.git
synced 2026-07-10 23:21:27 +08:00
✨ Feature(custom): split i18n in main and renderer, use vue-i18n
This commit is contained in:
@@ -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) {
|
||||
window.electron.sendRPC(IRPCActionType.SET_CURRENT_LANGUAGE, lang)
|
||||
}
|
||||
|
||||
get languageList () {
|
||||
return this.#i18nFileList
|
||||
}
|
||||
export function setCurrentLanguage (lang: string) {
|
||||
window.electron.sendRPC(IRPCActionType.SET_CURRENT_LANGUAGE, lang)
|
||||
}
|
||||
|
||||
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'))
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -1,72 +1,72 @@
|
||||
import { IStringKeyMap } from '#/types/types'
|
||||
|
||||
const AliyunAreaCodeName: IStringKeyMap = {
|
||||
'oss-cn-hangzhou': '华东1(杭州)',
|
||||
'oss-cn-shanghai': '华东2(上海)',
|
||||
'oss-cn-nanjing': '华东5(南京)',
|
||||
'oss-cn-fuzhou': '华东6(福州)',
|
||||
'oss-cn-wuhan': '华中1(武汉)',
|
||||
'oss-cn-qingdao': '华北1(青岛)',
|
||||
'oss-cn-beijing': '华北2(北京)',
|
||||
'oss-cn-zhangjiakou': '华北3(张家口)',
|
||||
'oss-cn-huhehaote': '华北5(呼和浩特)',
|
||||
'oss-cn-wulanchabu': '华北6(乌兰察布)',
|
||||
'oss-cn-shenzhen': '华南1(深圳)',
|
||||
'oss-cn-heyuan': '华南2(河源)',
|
||||
'oss-cn-guangzhou': '华南3(广州)',
|
||||
'oss-cn-chengdu': '西南1(成都)',
|
||||
'oss-cn-hongkong': '中国香港',
|
||||
'oss-us-west-1': '美国(硅谷)',
|
||||
'oss-us-east-1': '美国(弗吉尼亚)',
|
||||
'oss-ap-northeast-1': '日本(东京)',
|
||||
'oss-ap-northeast-2': '韩国(首尔)',
|
||||
'oss-ap-southeast-1': '新加坡',
|
||||
'oss-ap-southeast-2': '澳大利亚(悉尼)',
|
||||
'oss-ap-southeast-3': '马来西亚(吉隆坡)',
|
||||
'oss-ap-southeast-5': '印度尼西亚(雅加达)',
|
||||
'oss-ap-southeast-6': '菲律宾(马尼拉)',
|
||||
'oss-ap-southeast-7': '泰国(曼谷)',
|
||||
'oss-ap-south-1': '印度(孟买)',
|
||||
'oss-eu-central-1': '德国(法兰克福)',
|
||||
'oss-eu-west-1': '英国(伦敦)',
|
||||
'oss-me-east-1': '阿联酋(迪拜)',
|
||||
'oss-rg-china-mainland': '无地域属性'
|
||||
}
|
||||
|
||||
const QiniuAreaCodeName: IStringKeyMap = {
|
||||
z0: '华东-浙江',
|
||||
'cn-east-2': '华东 浙江2',
|
||||
z1: '华北-河北',
|
||||
z2: '华南-广东',
|
||||
na0: '北美-洛杉矶',
|
||||
as0: '亚太-新加坡',
|
||||
'ap-northeast-1': '亚太-首尔',
|
||||
'ap-southeast-2': '亚太-河内'
|
||||
}
|
||||
|
||||
const TencentAreaCodeName: IStringKeyMap = {
|
||||
'ap-beijing-1': '北京一区',
|
||||
'ap-beijing': '北京',
|
||||
'ap-nanjing': '南京',
|
||||
'ap-shanghai': '上海',
|
||||
'ap-guangzhou': '广州',
|
||||
'ap-chengdu': '成都',
|
||||
'ap-chongqing': '重庆',
|
||||
'ap-shenzhen-fsi': '深圳金融',
|
||||
'ap-shagnhai-fsi': '上海金融',
|
||||
'ap-beijing-fsi': '北京金融',
|
||||
'ap-hongkong': '香港',
|
||||
'ap-singapore': '新加坡',
|
||||
'ap-mumbai': '孟买',
|
||||
'ap-jakarta': '雅加达',
|
||||
'ap-seoul': '首尔',
|
||||
'ap-bangkok': '曼谷',
|
||||
'ap-tokyo': '东京',
|
||||
'na-siliconvalley': '硅谷(美西)',
|
||||
'na-ashburn': '弗吉尼亚(美东)',
|
||||
'na-toronto': '多伦多',
|
||||
'sa-saopaulo': '圣保罗',
|
||||
'eu-frankfurt': '法兰克福'
|
||||
}
|
||||
|
||||
export { AliyunAreaCodeName, QiniuAreaCodeName, TencentAreaCodeName }
|
||||
import { IStringKeyMap } from '#/types/types'
|
||||
|
||||
const AliyunAreaCodeName: IStringKeyMap = {
|
||||
'oss-cn-hangzhou': '华东1(杭州)',
|
||||
'oss-cn-shanghai': '华东2(上海)',
|
||||
'oss-cn-nanjing': '华东5(南京)',
|
||||
'oss-cn-fuzhou': '华东6(福州)',
|
||||
'oss-cn-wuhan': '华中1(武汉)',
|
||||
'oss-cn-qingdao': '华北1(青岛)',
|
||||
'oss-cn-beijing': '华北2(北京)',
|
||||
'oss-cn-zhangjiakou': '华北3(张家口)',
|
||||
'oss-cn-huhehaote': '华北5(呼和浩特)',
|
||||
'oss-cn-wulanchabu': '华北6(乌兰察布)',
|
||||
'oss-cn-shenzhen': '华南1(深圳)',
|
||||
'oss-cn-heyuan': '华南2(河源)',
|
||||
'oss-cn-guangzhou': '华南3(广州)',
|
||||
'oss-cn-chengdu': '西南1(成都)',
|
||||
'oss-cn-hongkong': '中国香港',
|
||||
'oss-us-west-1': '美国(硅谷)',
|
||||
'oss-us-east-1': '美国(弗吉尼亚)',
|
||||
'oss-ap-northeast-1': '日本(东京)',
|
||||
'oss-ap-northeast-2': '韩国(首尔)',
|
||||
'oss-ap-southeast-1': '新加坡',
|
||||
'oss-ap-southeast-2': '澳大利亚(悉尼)',
|
||||
'oss-ap-southeast-3': '马来西亚(吉隆坡)',
|
||||
'oss-ap-southeast-5': '印度尼西亚(雅加达)',
|
||||
'oss-ap-southeast-6': '菲律宾(马尼拉)',
|
||||
'oss-ap-southeast-7': '泰国(曼谷)',
|
||||
'oss-ap-south-1': '印度(孟买)',
|
||||
'oss-eu-central-1': '德国(法兰克福)',
|
||||
'oss-eu-west-1': '英国(伦敦)',
|
||||
'oss-me-east-1': '阿联酋(迪拜)',
|
||||
'oss-rg-china-mainland': '无地域属性'
|
||||
}
|
||||
|
||||
const QiniuAreaCodeName: IStringKeyMap = {
|
||||
z0: '华东-浙江',
|
||||
'cn-east-2': '华东 浙江2',
|
||||
z1: '华北-河北',
|
||||
z2: '华南-广东',
|
||||
na0: '北美-洛杉矶',
|
||||
as0: '亚太-新加坡',
|
||||
'ap-northeast-1': '亚太-首尔',
|
||||
'ap-southeast-2': '亚太-河内'
|
||||
}
|
||||
|
||||
const TencentAreaCodeName: IStringKeyMap = {
|
||||
'ap-beijing-1': '北京一区',
|
||||
'ap-beijing': '北京',
|
||||
'ap-nanjing': '南京',
|
||||
'ap-shanghai': '上海',
|
||||
'ap-guangzhou': '广州',
|
||||
'ap-chengdu': '成都',
|
||||
'ap-chongqing': '重庆',
|
||||
'ap-shenzhen-fsi': '深圳金融',
|
||||
'ap-shagnhai-fsi': '上海金融',
|
||||
'ap-beijing-fsi': '北京金融',
|
||||
'ap-hongkong': '香港',
|
||||
'ap-singapore': '新加坡',
|
||||
'ap-mumbai': '孟买',
|
||||
'ap-jakarta': '雅加达',
|
||||
'ap-seoul': '首尔',
|
||||
'ap-bangkok': '曼谷',
|
||||
'ap-tokyo': '东京',
|
||||
'na-siliconvalley': '硅谷(美西)',
|
||||
'na-ashburn': '弗吉尼亚(美东)',
|
||||
'na-toronto': '多伦多',
|
||||
'sa-saopaulo': '圣保罗',
|
||||
'eu-frankfurt': '法兰克福'
|
||||
}
|
||||
|
||||
export { AliyunAreaCodeName, QiniuAreaCodeName, TencentAreaCodeName }
|
||||
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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user