Files
MyTube/frontend/src/utils/locales/zh.ts
2025-12-25 17:32:29 -05:00

579 lines
25 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export const zh = {
// Header
myTube: "MyTube",
manage: "管理",
settings: "设置",
logout: "退出",
pleaseEnterUrlOrSearchTerm: "请输入视频链接或搜索关键词",
unexpectedErrorOccurred: "发生意外错误,请重试",
uploadVideo: "上传视频",
enterUrlOrSearchTerm: "输入视频链接或搜索关键词",
manageVideos: "管理视频",
instruction: "使用说明",
// Home
pasteUrl: "粘贴视频或合集链接",
download: "下载",
search: "搜索",
recentDownloads: "最近下载",
noDownloads: "暂无下载",
downloadStarted: "开始下载",
downloadFailed: "下载失败",
loadingVideos: "加载视频中...",
searchResultsFor: "搜索结果:",
fromYourLibrary: "来自您的媒体库",
noMatchingVideos: "媒体库中未找到匹配视频",
fromYouTube: "来自 YouTube",
loadingYouTubeResults: "加载 YouTube 结果中...",
noYouTubeResults: "未找到 YouTube 结果",
noVideosYet: "暂无视频。提交视频链接以开始下载您的第一个视频!",
views: "次观看",
// Settings
general: "常规",
security: "安全",
videoDefaults: "播放器默认设置",
downloadSettings: "下载设置",
language: "语言",
websiteName: "网站名称",
websiteNameHelper: "{current}/{max} 字符 (默认: {default})",
infiniteScroll: "无限滚动",
infiniteScrollDisabled: "启用无限滚动时禁用",
maxVideoColumns: "最大视频列数 (主页)",
videoColumns: "视频列数 (主页)",
columnsCount: "{count} 列",
enableLogin: "启用登录保护",
password: "密码",
enterPassword: "输入密码",
togglePasswordVisibility: "切换密码可见性",
passwordHelper: "留空以保持当前密码,或输入新密码以更改",
passwordSetHelper: "设置访问应用程序的密码",
autoPlay: "自动播放视频",
autoLoop: "自动循环播放",
maxConcurrent: "最大同时下载数",
saveSettings: "保存设置",
saving: "保存中...",
backToManage: "返回管理",
settingsSaved: "设置保存成功",
settingsFailed: "保存设置失败",
debugMode: "调试模式",
debugModeDescription: "显示或隐藏控制台消息(需要刷新)",
tagsManagement: "标签管理",
newTag: "新标签",
tags: "标签",
tagsManagementNote: "添加或删除标签后,请记得点击“保存设置”以应用更改。",
// Database
database: "数据库",
migrateDataDescription:
"从旧版 JSON 文件迁移数据到新的 SQLite 数据库。此操作可以安全地多次运行(将跳过重复项)。",
migrateDataButton: "从 JSON 迁移数据",
scanFiles: "扫描文件",
scanFilesSuccess: "扫描完成。添加了 {count} 个新视频。",
scanFilesDeleted: " 移除了 {count} 个缺失文件。",
scanFilesFailed: "扫描失败",
scanFilesConfirmMessage:
"系统将扫描视频路径的根文件夹。新文件将被添加,缺失的视频文件将从系统中移除。",
scanning: "扫描中...",
migrateConfirmation: "您确定要迁移数据吗?这可能需要一些时间。",
migrationResults: "迁移结果",
migrationReport: "迁移报告",
migrationSuccess: "迁移完成。请查看警报中的详细信息。",
migrationNoData: "迁移完成但未找到数据。",
migrationFailed: "迁移失败",
migrationWarnings: "警告",
migrationErrors: "错误",
itemsMigrated: "项已迁移",
fileNotFound: "未找到文件于",
noDataFilesFound: "未找到可迁移的数据文件。请检查您的卷映射。",
removeLegacyData: "删除旧数据",
removeLegacyDataDescription:
"删除旧的 JSON 文件videos.json, collections.json 等)以释放磁盘空间。请仅在确认数据已成功迁移后执行此操作。",
removeLegacyDataConfirmTitle: "删除旧数据?",
removeLegacyDataConfirmMessage:
"确定要删除旧的 JSON 数据文件吗?此操作无法撤销。",
legacyDataDeleted: "旧数据删除成功。",
formatLegacyFilenames: "格式化旧文件名",
formatLegacyFilenamesDescription:
"批量将所有视频文件、缩略图和字幕重命名为新的标准格式:标题-作者-YYYY。此操作将修改磁盘上的文件名并更新数据库记录。",
formatLegacyFilenamesButton: "格式化文件名",
formatFilenamesSuccess:
"处理: {processed}\n重命名: {renamed}\n错误: {errors}",
formatFilenamesDetails: "详情:",
formatFilenamesMore: "...还有 {count} 项",
formatFilenamesError: "格式化文件名失败: {error}",
deleteLegacyDataButton: "删除旧数据",
cleanupTempFiles: "清理临时文件",
cleanupTempFilesDescription:
"从上传目录中删除所有临时下载文件(.ytdl、.part。这有助于释放未完成或已取消下载占用的磁盘空间。",
cleanupTempFilesConfirmTitle: "清理临时文件?",
cleanupTempFilesConfirmMessage:
"这将永久删除上传目录中的所有.ytdl和.part文件。请确保没有正在进行的下载。",
cleanupTempFilesActiveDownloads:
"有活动下载时无法清理。请等待所有下载完成或取消它们。",
itemsPerPage: "每页显示数量",
itemsPerPageHelper: "每页显示的视频数量 (默认: 12)",
showYoutubeSearch: "显示 YouTube 搜索结果",
visitorMode: "访客模式(只读)",
visitorModeReadOnly: "访客模式:只读",
visitorModeDescription: "只读模式。隐藏的视频对访客不可见。",
visitorModePasswordPrompt: "请输入网站密码以更改访客模式设置。",
cleanupTempFilesSuccess: "成功删除了 {count} 个临时文件。",
cleanupTempFilesFailed: "清理临时文件失败",
// Cookie Settings
cookieSettings: "Cookie 设置",
cookieUploadDescription:
'上传 cookies.txt 以通过 YouTube 机器人检测并启用 Bilibili 字幕下载。文件将自动重命名为 cookies.txt。(例如:使用 "Get cookies.txt LOCALLY" 扩展导出 cookies)',
uploadCookies: "上传 Cookie",
onlyTxtFilesAllowed: "仅允许 .txt 文件",
cookiesUploadedSuccess: "Cookie 上传成功",
cookiesUploadFailed: "上传 Cookies 失败",
cookiesFound: "已找到 cookies.txt",
cookiesNotFound: "未找到 cookies.txt",
deleteCookies: "删除 Cookies",
confirmDeleteCookies:
"您确定要删除 cookies 文件吗?这将影响您下载有年龄限制或仅限会员视频的能力。",
cookiesDeletedSuccess: "Cookies 删除成功",
cookiesDeleteFailed: "删除 Cookies 失败",
// Cloud Drive
cloudDriveSettings: "云端存储 (OpenList)",
cloudDriveDescription:
"自动上传视频到云存储 (Alist) 并扫描云端新文件。上传成功后将删除本地文件。",
enableAutoSave: "启用云端同步",
apiUrl: "API 地址",
apiUrlHelper: "例如https://your-alist-instance.com/api/fs/put",
token: "Token",
publicUrl: "公开访问域名",
publicUrlHelper:
"用于访问文件的公开域名例如https://your-cloudflare-tunnel-domain.com。如果设置将使用此域名而不是 API 地址来访问文件。",
uploadPath: "上传路径",
cloudDrivePathHelper: "云端存储中的目录路径,例如:/mytube-uploads",
scanPaths: "扫描路径",
scanPathsHelper:
"每行一个路径。系统将扫描这些路径下的视频。留空则使用默认上传路径。示例:\n/a/电影\n/b/纪录片",
cloudDriveNote:
"启用此功能后,新下载的视频将自动上传到云端存储,本地文件将被删除。视频将通过代理从云端存储播放。",
cloudScanAdded: "从云端添加",
testing: "测试中...",
testConnection: "测试连接",
sync: "同步",
syncToCloud: "双向同步",
syncWarning:
"此操作将上传本地视频到云端并扫描云端新文件。上传后,本地文件将被删除。",
syncing: "正在同步...",
syncCompleted: "同步完成",
syncFailed: "同步失败",
syncReport: "总计: {total} | 已上传: {uploaded} | 失败: {failed}",
syncErrors: "错误:",
fillApiUrlToken: "请先填写API URL和Token",
connectionTestSuccess: "连接测试成功!设置有效。",
connectionFailedStatus: "连接失败:服务器返回状态 {status}",
connectionFailedUrl: "无法连接到服务器。请检查API URL。",
authFailed: "认证失败。请检查您的Token。",
connectionTestFailed: "连接测试失败:{error}",
syncFailedMessage: "同步失败。请重试。",
foundVideosToSync: "发现 {count} 个包含本地文件的视频等待同步",
uploadingVideo: "正在上传: {title}",
clearThumbnailCache: "清除缩略图本地缓存",
clearing: "清除中...",
clearThumbnailCacheSuccess: "缩略图缓存清除成功。下次访问时将重新生成。",
clearThumbnailCacheError: "清除缩略图缓存失败",
clearThumbnailCacheConfirmMessage: "这将清除所有云端视频的本地缩略图缓存。下次访问时将从云端重新生成。确定继续吗?",
// Manage
manageContent: "内容管理",
videos: "视频",
collections: "合集",
allVideos: "所有视频",
delete: "删除",
backToHome: "返回首页",
confirmDelete: "确定要删除吗?",
deleteSuccess: "删除成功",
deleteFailed: "删除失败",
noVideos: "未找到视频",
noCollectionsFound: "未找到合集",
noCollections: "未找到合集",
searchVideos: "搜索视频...",
thumbnail: "缩略图",
title: "标题",
author: "作者",
authors: "作者列表",
created: "创建时间",
name: "名称",
size: "大小",
actions: "操作",
deleteCollection: "删除合集",
deleteVideo: "删除视频",
noVideosFoundMatching: "未找到匹配的视频。",
// Video Player
playing: "播放",
paused: "暂停",
next: "下一个",
previous: "上一个",
loop: "循环",
autoPlayOn: "自动播放已开启",
autoPlayOff: "自动播放已关闭",
autoPlayNext: "自动播放下一个",
videoNotFound: "未找到视频",
videoNotFoundOrLoaded: "未找到视频或无法加载。",
deleting: "删除中...",
addToCollection: "添加到合集",
originalLink: "原始链接",
source: "来源:",
addedDate: "添加日期:",
latestComments: "最新评论",
noComments: "暂无评论。",
hideComments: "隐藏评论",
showComments: "显示评论",
upNext: "接下来播放",
noOtherVideos: "没有其他视频",
currentlyIn: "当前所在:",
collectionWarning: "添加到其他合集将从当前合集中移除。",
addToExistingCollection: "添加到现有合集:",
selectCollection: "选择合集",
add: "添加",
createNewCollection: "创建新合集:",
collectionName: "合集名称",
create: "创建",
removeFromCollection: "从合集中移除",
confirmRemoveFromCollection: "确定要从合集中移除此视频吗?",
remove: "移除",
loadingVideo: "加载视频中...",
current: "(当前)",
rateThisVideo: "给视频评分",
enterFullscreen: "全屏",
exitFullscreen: "退出全屏",
share: "分享",
editTitle: "编辑标题",
hideVideo: "使视频在访客模式下隐藏",
showVideo: "使视频在访客模式下可见",
toggleVisibility: "切换可见性",
titleUpdated: "标题更新成功",
titleUpdateFailed: "更新标题失败",
refreshThumbnail: "刷新缩略图",
thumbnailRefreshed: "缩略图刷新成功",
thumbnailRefreshFailed: "刷新缩略图失败",
videoUpdated: "视频更新成功",
videoUpdateFailed: "更新视频失败",
failedToLoadVideos: "加载视频失败。请稍后再试。",
videoRemovedSuccessfully: "视频删除成功",
failedToDeleteVideo: "删除视频失败",
pleaseEnterSearchTerm: "请输入搜索词",
failedToSearch: "搜索失败。请稍后再试。",
searchCancelled: "搜索已取消",
openInExternalPlayer: "在外部播放器中打开",
playWith: "使用此应用播放...",
deleteAllFilteredVideos: "删除所有过滤后的视频",
confirmDeleteFilteredVideos:
"您确定要删除通过选定标签过滤的 {count} 个视频吗?",
deleteFilteredVideosSuccess: "成功删除 {count} 个视频。",
deletingVideos: "正在删除视频...",
// Login
signIn: "登录",
verifying: "验证中...",
incorrectPassword: "密码错误",
loginFailed: "验证密码失败",
defaultPasswordHint: "默认密码123",
checkingConnection: "正在检查连接...",
connectionError: "连接错误",
backendConnectionFailed:
"无法连接到服务器。请检查后端是否正在运行并确保端口已开放,然后重试。",
retry: "重试",
resetPassword: "重置密码",
resetPasswordTitle: "重置密码",
resetPasswordMessage:
"您确定要重置密码吗当前密码将被重置为一个随机的8位字符串并显示在后端日志中。",
resetPasswordConfirm: "重置",
resetPasswordSuccess: "密码已重置。请查看后端日志以获取新密码。",
waitTimeMessage: "请等待 {time} 后再试。",
tooManyAttempts: "失败尝试次数过多。",
linkCopied: "链接已复制到剪贴板",
copyFailed: "复制链接失败",
// Collection Page
loadingCollection: "加载合集中...",
collectionNotFound: "未找到合集",
noVideosInCollection: "此合集中没有视频。",
back: "返回",
// Snackbar Messages
videoDownloading: "视频下载中",
downloadStartedSuccessfully: "下载已成功开始",
collectionCreatedSuccessfully: "集合创建成功",
videoAddedToCollection: "视频已添加到集合",
videoRemovedFromCollection: "视频已从集合中移除",
collectionDeletedSuccessfully: "集合删除成功",
failedToDeleteCollection: "删除集合失败",
// Author Videos
loadVideosError: "加载视频失败,请稍后再试。",
unknownAuthor: "未知",
noVideosForAuthor: "未找到该作者的视频。",
deleteAuthor: "删除作者",
deleteAuthorConfirmation:
"您确定要删除作者 {author} 吗?这将删除该作者的所有视频。",
authorDeletedSuccessfully: "作者删除成功",
failedToDeleteAuthor: "删除作者失败",
// Delete Collection Modal
deleteCollectionTitle: "删除合集",
deleteCollectionConfirmation: "确定要删除合集",
collectionContains: "此合集包含",
deleteCollectionOnly: "仅删除合集",
deleteCollectionAndVideos: "删除合集及所有视频",
// Common
loading: "加载中...",
error: "错误",
success: "成功",
cancel: "取消",
close: "关闭",
ok: "确定",
confirm: "确认",
save: "保存",
note: "注意",
on: "开启",
off: "关",
continue: "继续",
expand: "展开",
collapse: "收起",
// Video Card
unknownDate: "未知日期",
part: "分P",
collection: "合集",
// Upload Modal
selectVideoFile: "选择视频文件",
pleaseSelectVideo: "请选择视频文件",
uploadFailed: "上传失败",
failedToUpload: "视频上传失败",
uploading: "上传中...",
upload: "上传",
// Bilibili Modal
bilibiliCollectionDetected: "检测到 Bilibili 合集",
bilibiliSeriesDetected: "检测到 Bilibili 系列",
multiPartVideoDetected: "检测到多P视频",
collectionHasVideos: "此合集包含 {count} 个视频。",
seriesHasVideos: "此系列包含 {count} 个视频。",
videoHasParts: "此视频包含 {count} 个分P。",
downloadAllVideos: "下载所有 {count} 个视频",
downloadAllParts: "下载所有 {count} 个分P",
downloadThisVideoOnly: "仅下载此视频",
downloadCurrentPartOnly: "仅下载当前分P",
processing: "处理中...",
wouldYouLikeToDownloadAllParts: "您想要下载所有分P吗",
wouldYouLikeToDownloadAllVideos: "您想要下载所有视频吗?",
allPartsAddedToCollection: "所有分P将被添加到此合集",
allVideosAddedToCollection: "所有视频将被添加到此合集",
queued: "已排队",
waitingInQueue: "等待中",
// Downloads
downloads: "下载",
activeDownloads: "进行中的下载",
manageDownloads: "管理下载",
queuedDownloads: "排队中的下载",
downloadHistory: "下载历史",
clearQueue: "清空队列",
clearHistory: "清空历史",
noActiveDownloads: "暂无进行中的下载",
noQueuedDownloads: "暂无排队的下载",
noDownloadHistory: "暂无下载历史",
downloadCancelled: "下载已取消",
queueCleared: "队列已清空",
historyCleared: "历史已清空",
removedFromQueue: "已从队列移除",
removedFromHistory: "已从历史移除",
status: "状态",
progress: "进度",
speed: "速度",
finishedAt: "完成时间",
failed: "失败",
// Batch Download
batchDownload: "批量下载",
batchDownloadDescription: "在下方粘贴多个链接,每行一个。",
urls: "链接",
addToQueue: "添加到队列",
batchTasksAdded: "已添加 {count} 个任务",
addBatchTasks: "添加批量任务",
// Subscriptions
subscribeToAuthor: "订阅作者",
subscribeConfirmationMessage: "您确定要订阅 {author} 吗?",
subscribeDescription: "系统将自动检查此作者的新视频并下载。",
checkIntervalMinutes: "检查间隔(分钟)",
subscribe: "订阅",
subscriptions: "订阅",
interval: "间隔",
lastCheck: "上次检查",
platform: "平台",
unsubscribe: "取消订阅",
confirmUnsubscribe: "您确定要取消订阅 {author} 吗?",
subscribedSuccessfully: "订阅成功",
unsubscribedSuccessfully: "取消订阅成功",
subscriptionAlreadyExists: "您已订阅此作者。",
minutes: "分钟",
never: "从未",
downloadAllPreviousVideos: "下载此作者的所有历史视频",
downloadAllPreviousWarning:
"警告:这将下载此作者的所有历史视频。这可能会消耗大量存储空间,并可能触发机器人检测机制,导致平台临时或永久封禁。使用风险自负。",
continuousDownloadTasks: "连续下载任务",
taskStatusActive: "进行中",
taskStatusPaused: "已暂停",
taskStatusCompleted: "已完成",
taskStatusCancelled: "已取消",
downloaded: "已下载",
cancelTask: "取消任务",
confirmCancelTask: "您确定要取消 {author} 的下载任务吗?",
taskCancelled: "任务已成功取消",
deleteTask: "删除任务",
confirmDeleteTask: "您确定要删除 {author} 的任务记录吗?此操作无法撤销。",
taskDeleted: "任务已成功删除",
// Existing Video Detection
existingVideoDetected: "检测到已下载视频",
videoAlreadyDownloaded: "此视频已下载过。",
viewVideo: "查看视频",
previouslyDeletedVideo: "曾下载并删除的视频",
previouslyDeleted: "已删除",
videoWasDeleted: "此视频曾经下载过,但已被删除。",
downloadAgain: "再次下载",
downloadedOn: "下载时间",
deletedOn: "删除时间",
existingVideo: "已存在的视频",
skipped: "已跳过",
videoSkippedExists: "视频已存在,跳过下载",
videoSkippedDeleted: "视频曾被删除,跳过下载",
history: "历史",
downloading: "下载中...",
poweredBy: "由 MyTube 提供支持",
// Instruction Page
instructionSection1Title: "1. 下载与任务管理",
instructionSection1Desc: "本模块包含视频获取、批量任务及文件导入等功能。",
instructionSection1Sub1: "链接下载:",
instructionSection1Item1Label: "基础下载:",
instructionSection1Item1Text:
"在链接文本框中粘贴各类视频网站的链接即可直接下载。",
instructionSection1Item2Label: "权限说明:",
instructionSection1Item2Text:
"部分需要会员或登录才能观看的网站,请先在浏览器内另开标签页登录对应账号,以获取下载权限。",
instructionSection1Sub2: "智能识别:",
instructionSection1Item3Label: "YouTube 作者订阅:",
instructionSection1Item3Text:
"当粘贴链接为作者个人空间时,系统将询问是否订阅。订阅后,系统可设定时间间隔,自动扫描并下载该作者的更新。",
instructionSection1Item4Label: "Bilibili 合集下载:",
instructionSection1Item4Text:
"当粘贴链接为 Bilibili 收藏夹/合集时,系统将询问是否下载整个合集内容。",
instructionSection1Sub3: "高级工具(下载管理页):",
instructionSection1Item5Label: "批量添加任务:",
instructionSection1Item5Text:
"支持一次性粘贴多个下载链接(请按行区分),进行批量添加。",
instructionSection1Item6Label: "扫描文件:",
instructionSection1Item6Text:
"自动搜索视频储存根目录及一级文件夹下的所有文件。此功能适用于管理员在服务器后台直接存入文件后,将其批量同步至系统。",
instructionSection1Item7Label: "上传视频:",
instructionSection1Item7Text:
"支持直接从客户端单独上传本地视频文件到服务器。",
instructionSection2Title: "2. 视频库管理",
instructionSection2Desc: "对已下载或导入的视频资源进行维护和编辑。",
instructionSection2Sub1: "合集/视频删除:",
instructionSection2Text1:
"在管理页面删除合集时,系统提供两种选择:仅删除合集列表项(保留文件),或连同合集内的物理文件一并彻底删除。",
instructionSection2Sub2: "缩略图修复:",
instructionSection2Text2:
"若遇到下载后视频无封面的情况,可点击视频缩略图上的刷新按钮,系统将重新抓取视频首帧作为新的缩略图。",
instructionSection3Title: "3. 系统设置",
instructionSection3Desc: "配置系统参数、维护数据及扩展功能。",
instructionSection3Sub1: "安全设定:",
instructionSection3Text1:
"设置系统登录密码(默认初始密码为 123建议首次登录后修改。",
instructionSection3Sub2: "标签管理:",
instructionSection3Text2:
"支持添加或删除视频分类标签。注意: 所有操作完成后,必须点击页面底端的“保存”按钮方可生效。",
instructionSection3Sub3: "系统维护:",
instructionSection3Item1Label: "清理临时文件:",
instructionSection3Item1Text:
"用于清除因后端偶发故障而残留的临时下载文件,释放空间。",
instructionSection3Item2Label: "数据库迁移:",
instructionSection3Item2Text:
"专为早期版本用户设计。使用此功能可将数据从 JSON 迁移至新的 SQLite 数据库。迁移成功后,可点击删除按钮清理旧的历史数据。",
instructionSection3Sub4: "扩展服务:",
instructionSection3Item3Label: "OpenList 云盘:",
instructionSection3Item3Text:
"(开发中)支持连接用户自行部署的 OpenList 服务,在此处添加配置后可实现云盘联动。",
// Sorting
sort: "排序",
sortBy: "排序方式",
dateDesc: "添加日期 (最新)",
dateAsc: "添加日期 (最早)",
viewsDesc: "观看次数 (从高到低)",
viewsAsc: "观看次数 (从低到高)",
nameAsc: "名称 (A-Z)",
random: "随机播放",
// yt-dlp Configuration
ytDlpConfiguration: "yt-dlp 配置",
ytDlpConfigurationDescription: "配置 yt-dlp 下载选项。详见",
ytDlpConfigurationDocs: "文档",
ytDlpConfigurationDescriptionEnd: "了解更多信息。",
customize: "自定义",
hide: "隐藏",
reset: "重置",
more: "更多",
proxyOnlyApplyToYoutube: "代理仅应用于Youtube",
moveSubtitlesToVideoFolder: "字幕位置",
moveSubtitlesToVideoFolderOn: "与视频在同一文件夹",
moveSubtitlesToVideoFolderOff: "在独立字幕文件夹",
moveSubtitlesToVideoFolderDescription:
"启用后,字幕文件将被移动到与视频文件相同的文件夹中。禁用后,它们将被移动到独立的字幕文件夹中。",
moveThumbnailsToVideoFolder: "封面位置",
moveThumbnailsToVideoFolderOn: "与视频在一起",
moveThumbnailsToVideoFolderOff: "在独立的图片文件夹中",
moveThumbnailsToVideoFolderDescription:
"启用后,封面文件将被移动到与视频文件相同的文件夹中。禁用后,它们将被移动到独立的图片文件夹中。",
// Cloudflare Tunnel
cloudflaredTunnel: "Cloudflare 穿透",
enableCloudflaredTunnel: "启用 Cloudflare 穿透",
cloudflaredToken: "Token",
cloudflaredTokenHelper: "在此粘贴您的 Token或留空以使用随机 Quick Tunnel。",
// Database Export/Import
exportImportDatabase: "导出/导入数据库",
exportImportDatabaseDescription:
"将数据库导出为备份文件或导入之前导出的备份。导入将使用备份数据覆盖现有数据。",
exportDatabase: "导出数据库",
importDatabase: "导入数据库",
onlyDbFilesAllowed: "仅允许 .db 文件",
importDatabaseWarning:
"警告:导入数据库将覆盖所有现有数据。请确保首先导出当前数据库作为备份。",
selectDatabaseFile: "选择数据库文件",
databaseExportedSuccess: "数据库导出成功",
databaseExportFailed: "数据库导出失败",
databaseImportedSuccess: "数据库导入成功。现有数据已被备份数据覆盖。",
databaseImportFailed: "数据库导入失败",
cleanupBackupDatabases: "清理备份数据库",
cleanupBackupDatabasesWarning:
"警告此操作将永久删除所有在之前导入时创建的备份数据库文件mytube-backup-*.db.backup。此操作无法撤销。您确定要继续吗",
backupDatabasesCleanedUp: "备份数据库清理成功",
backupDatabasesCleanupFailed: "清理备份数据库失败",
restoreFromLastBackup: "从最后备份恢复",
restoreFromLastBackupWarning:
"警告:这将从最后一个自动备份文件恢复数据库。所有当前数据将被备份数据覆盖。此操作无法撤销。您确定要继续吗?",
restoreFromLastBackupSuccess: "从备份成功恢复数据库",
restoreFromLastBackupFailed: "从备份恢复失败",
lastBackupDate: "最后备份日期",
noBackupAvailable: "没有可用的备份",
};