diff --git a/src/constants/locales.ts b/src/constants/locales.ts index 299b747f..73de628c 100644 --- a/src/constants/locales.ts +++ b/src/constants/locales.ts @@ -7,5 +7,6 @@ export const LOCALES = [ { code: 'fr', key: 'french' }, { code: 'it', key: 'italian' }, { code: 'es', key: 'spanish' }, - { code: 'hr', key: 'croatian' } + { code: 'hr', key: 'croatian' }, + { code: 'zh-CN', key: 'chinese' } ]; \ No newline at end of file diff --git a/src/i18n/locales/ar.json b/src/i18n/locales/ar.json index 9cc51388..f6e8b36f 100644 --- a/src/i18n/locales/ar.json +++ b/src/i18n/locales/ar.json @@ -631,6 +631,7 @@ "french": "الفرنسية", "italian": "الإيطالية", "croatian": "الكرواتية", + "chinese": "الصينية (المبسطة)", "account": "الحساب", "content_discovery": "المحتوى والاكتشاف", "appearance": "المظهر", diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index cf95a991..faee6ba6 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -631,6 +631,7 @@ "french": "Französisch", "italian": "Italienisch", "croatian": "Kroatisch", + "chinese": "Chinesisch (Vereinfacht)", "account": "Konto", "content_discovery": "Inhalt & Entdeckung", "appearance": "Aussehen", diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index ffc30ea2..bf9eb0dd 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -631,6 +631,7 @@ "french": "French", "italian": "Italian", "croatian": "Croatian", + "chinese": "Chinese (Simplified)", "account": "Account", "content_discovery": "Content & Discovery", "appearance": "Appearance", diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index f5a532af..d5ae8b02 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -631,6 +631,7 @@ "french": "Francés", "italian": "Italiano", "croatian": "Croata", + "chinese": "Chino (Simplificado)", "account": "Cuenta", "content_discovery": "Contenido y descubrimiento", "appearance": "Apariencia", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 9c2f9341..d6c39784 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -631,6 +631,7 @@ "french": "Français", "italian": "Italien", "croatian": "Croate", + "chinese": "Chinois (Simplifié)", "account": "Compte", "content_discovery": "Contenu et découverte", "appearance": "Apparence", diff --git a/src/i18n/locales/hr.json b/src/i18n/locales/hr.json index 6482b4f8..bf9c60f2 100644 --- a/src/i18n/locales/hr.json +++ b/src/i18n/locales/hr.json @@ -631,6 +631,7 @@ "french": "Francuski", "italian": "Talijanski", "croatian": "Hrvatski", + "chinese": "Kineski (Pojednostavljeni)", "account": "Račun", "content_discovery": "Sadržaj i otkrivanje", "appearance": "Izgled", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index a70dc127..bb2105b3 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -631,6 +631,7 @@ "french": "Francese", "italian": "Italiano", "croatian": "Croato", + "chinese": "Cinese (Semplificato)", "account": "Account", "content_discovery": "Contenuti e Scoperta", "appearance": "Aspetto", diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index 8afdc591..ffe237c6 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json @@ -645,6 +645,7 @@ "french": "Francês", "italian": "Italiano", "croatian": "Croata", + "chinese": "Chinês (Simplificado)", "account": "Conta", "content_discovery": "Conteúdo e Descoberta", "appearance": "Aparência", diff --git a/src/i18n/locales/pt-PT.json b/src/i18n/locales/pt-PT.json index 3b1c9151..19ec3a71 100644 --- a/src/i18n/locales/pt-PT.json +++ b/src/i18n/locales/pt-PT.json @@ -645,6 +645,7 @@ "french": "Francês", "italian": "Italiano", "croatian": "Croata", + "chinese": "Chinês (Simplificado)", "account": "Conta", "content_discovery": "Conteúdo e Descoberta", "appearance": "Aparência", diff --git a/src/i18n/locales/zh-CN.json b/src/i18n/locales/zh-CN.json new file mode 100644 index 00000000..fd58c310 --- /dev/null +++ b/src/i18n/locales/zh-CN.json @@ -0,0 +1,1365 @@ +{ + "common": { + "loading": "加载中...", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "search": "搜索", + "error": "错误", + "success": "成功", + "ok": "确定", + "unknown": "未知", + "retry": "重试", + "try_again": "重试", + "go_back": "返回", + "settings": "设置", + "close": "关闭", + "show_more": "显示更多", + "show_less": "显示更少", + "load_more": "加载更多", + "unknown_date": "未知日期", + "anonymous_user": "匿名用户", + "time": { + "now": "刚刚", + "minutes_ago": "{{count}}分钟前", + "hours_ago": "{{count}}小时前", + "days_ago": "{{count}}天前" + }, + "days_short": { + "sun": "周日", + "mon": "周一", + "tue": "周二", + "wed": "周三", + "thu": "周四", + "fri": "周五", + "sat": "周六" + }, + "email": "电子邮件", + "status": "状态" + }, + "home": { + "categories": { + "movies": "电影", + "series": "剧集", + "channels": "频道" + }, + "movies": "电影", + "tv_shows": "电视剧", + "load_more_catalogs": "加载更多目录", + "no_content": "暂无内容", + "add_catalogs": "添加目录", + "sign_in_available": "可登录", + "sign_in_desc": "您可以随时在 设置 → 账户 中登录", + "view_all": "查看全部", + "this_week": "本周", + "upcoming": "即将上映", + "recently_released": "最近发布", + "no_scheduled_episodes": "暂无预定剧集", + "check_back_later": "稍后再来看看", + "continue_watching": "继续观看", + "up_next": "接下来", + "up_next_caps": "接下来", + "released": "已发布", + "new": "新", + "tba": "待定", + "new_episodes": "{{count}} 集新剧集", + "season_short": "第{{season}}季", + "episode_short": "第{{episode}}集", + "season": "第 {{season}} 季", + "episode": "第 {{episode}} 集", + "movie": "电影", + "series": "剧集", + "tv_show": "电视剧", + "percent_watched": "观看进度 {{percent}}%", + "view_details": "查看详情", + "remove": "移除", + "play": "播放", + "play_now": "立即播放", + "resume": "继续播放", + "info": "信息", + "more_info": "更多信息", + "my_list": "我的列表", + "save": "保存", + "saved": "已保存", + "retry": "重试", + "install_addons": "安装插件", + "settings": "设置", + "no_featured_content": "暂无推荐内容", + "couldnt_load_featured": "无法加载推荐内容", + "no_featured_desc": "安装包含目录的插件或在设置中更改内容源。", + "load_error_desc": "获取推荐内容时出现问题。请检查您的网络连接并重试。", + "no_featured_available": "暂无推荐内容可用", + "no_description": "暂无描述" + }, + "navigation": { + "home": "首页", + "library": "媒体库", + "search": "搜索", + "downloads": "下载", + "settings": "设置" + }, + "search": { + "title": "搜索", + "recent_searches": "最近搜索", + "discover": "发现", + "movies": "电影", + "tv_shows": "电视剧", + "select_catalog": "选择目录", + "all_genres": "所有类型", + "discovering": "正在发现内容...", + "show_more": "显示更多 ({{count}})", + "no_content_found": "未找到内容", + "try_different": "尝试不同的类型或目录", + "select_catalog_desc": "选择一个目录以开始发现", + "tap_catalog_desc": "点击上方的目录标签以开始", + "placeholder": "搜索电影、节目...", + "keep_typing": "继续输入...", + "type_characters": "输入至少 2 个字符进行搜索", + "no_results": "未找到结果", + "try_keywords": "尝试不同的关键词或检查拼写", + "select_type": "选择类型", + "browse_movies": "浏览电影目录", + "browse_tv": "浏览电视剧目录", + "select_genre": "选择类型", + "show_all_content": "显示所有内容", + "genres_count": "{{count}} 种类型" + }, + "library": { + "title": "媒体库", + "watched": "已观看", + "continue": "继续观看", + "watchlist": "待看列表", + "collection": "收藏", + "rated": "已评分", + "items": "项目", + "trakt_collections": "Trakt 收藏", + "trakt_collection": "Trakt 收藏", + "no_trakt": "暂无 Trakt 收藏", + "no_trakt_desc": "开始使用 Trakt 后,您的 Trakt 收藏将显示在这里", + "load_collections": "加载收藏", + "empty_folder": "{{folder}} 中暂无内容", + "empty_folder_desc": "此收藏夹为空", + "refresh": "刷新", + "no_movies": "暂无电影", + "no_series": "暂无电视剧", + "no_content": "暂无内容", + "add_content_desc": "向您的媒体库添加一些内容,它们将显示在这里", + "find_something": "找点看的", + "removed_from_library": "已从媒体库移除", + "item_removed": "项目已从您的媒体库中移除", + "failed_update_library": "更新媒体库失败", + "unable_remove": "无法从媒体库移除项目", + "marked_watched": "已标记为已观看", + "marked_unwatched": "已标记为未观看", + "item_marked_watched": "项目已标记为已观看", + "item_marked_unwatched": "项目已标记为未观看", + "failed_update_watched": "更新观看状态失败", + "unable_update_watched": "无法更新观看状态", + "added_to_library": "已添加到媒体库", + "item_added": "已添加到您的本地媒体库", + "add_to_library": "添加到媒体库", + "remove_from_library": "从媒体库移除", + "mark_watched": "标记为已观看", + "mark_unwatched": "标记为未观看", + "share": "分享", + "add_to_watchlist": "添加到 Trakt 待看列表", + "remove_from_watchlist": "从 Trakt 待看列表移除", + "added_to_watchlist": "已添加到待看列表", + "added_to_watchlist_desc": "已添加到您的 Trakt 待看列表", + "removed_from_watchlist": "已从待看列表移除", + "removed_from_watchlist_desc": "已从您的 Trakt 待看列表移除", + "add_to_collection": "添加到 Trakt 收藏", + "remove_from_collection": "从 Trakt 收藏移除", + "added_to_collection": "已添加到收藏", + "added_to_collection_desc": "已添加到您的 Trakt 收藏", + "removed_from_collection": "已从收藏移除", + "removed_from_collection_desc": "已从您的 Trakt 收藏移除" + }, + "metadata": { + "unable_to_load": "无法加载内容", + "error_code": "错误代码:{{code}}", + "content_not_found": "未找到内容", + "content_not_found_desc": "此内容不存在或已被移除。", + "server_error": "服务器错误", + "server_error_desc": "服务器暂时不可用。请稍后再试。", + "bad_gateway": "网关错误", + "bad_gateway_desc": "服务器遇到问题。请稍后再试。", + "service_unavailable": "服务不可用", + "service_unavailable_desc": "服务目前正在维护中。请稍后再试。", + "too_many_requests": "请求过多", + "too_many_requests_desc": "您的请求过于频繁。请稍候再试。", + "request_timeout": "请求超时", + "request_timeout_desc": "请求耗时过长。请重试。", + "network_error": "网络错误", + "network_error_desc": "请检查您的互联网连接并重试。", + "auth_error": "认证错误", + "auth_error_desc": "请检查您的账户设置并重试。", + "access_denied": "拒绝访问", + "access_denied_desc": "您没有权限访问此内容。", + "connection_error": "连接错误", + "streams_unavailable": "流不可用", + "streams_unavailable_desc": "流媒体源暂时不可用。请稍后再试。", + "unknown_error": "未知错误", + "something_went_wrong": "出了点问题。请重试。", + "cast": "演员", + "more_like_this": "猜你喜欢", + "collection": "收藏", + "episodes": "剧集", + "seasons": "季", + "posters": "海报", + "banners": "横幅", + "specials": "特别篇", + "season_number": "第 {{number}} 季", + "episode_count": "{{count}} 集", + "episode_count_plural": "{{count}} 集", + "no_episodes": "暂无剧集", + "no_episodes_for_season": "第 {{season}} 季暂无剧集", + "episodes_not_released": "剧集可能尚未发布", + "no_description": "暂无描述", + "episode_label": "第 {{number}} 集", + "watch_again": "再次观看", + "completed": "已完成", + "play_episode": "播放 S{{season}}E{{episode}}", + "play": "播放", + "watched": "已观看", + "watched_on_trakt": "在 Trakt 上已观看", + "synced_with_trakt": "已与 Trakt 同步", + "saved": "已保存", + "director": "导演", + "directors": "导演", + "creator": "创作者", + "creators": "创作者", + "production": "制作", + "network": "网络", + "mark_watched": "标记为已观看", + "mark_unwatched": "标记为未观看", + "marking": "正在标记...", + "removing": "正在移除...", + "unmark_season": "取消标记第 {{season}} 季", + "mark_season": "标记第 {{season}} 季", + "resume": "继续播放", + "spoiler_warning": "剧透警告", + "spoiler_warning_desc": "此评论包含剧透。确定要显示吗?", + "cancel": "取消", + "reveal_spoilers": "显示剧透", + "movie_details": "电影详情", + "show_details": "节目详情", + "tagline": "标语", + "status": "状态", + "release_date": "发布日期", + "runtime": "时长", + "budget": "预算", + "revenue": "票房", + "origin_country": "原产国", + "original_language": "原始语言", + "first_air_date": "首播日期", + "last_air_date": "最近播出日期", + "total_episodes": "总集数", + "episode_runtime": "单集时长", + "created_by": "主创", + "backdrop_gallery": "背景图库", + "loading_episodes": "正在加载剧集...", + "no_episodes_available": "暂无剧集可用", + "play_next": "播放 S{{season}}E{{episode}}", + "play_next_episode": "播放下一集", + "save": "保存", + "percent_watched": "已观看 {{percent}}%", + "percent_watched_trakt": "已观看 {{percent}}% (Trakt 上 {{traktPercent}}%)", + "synced_with_trakt_progress": "已与 Trakt 同步", + "using_trakt_progress": "使用 Trakt 进度", + "added_to_collection_hero": "已添加到收藏", + "added_to_collection_desc_hero": "已添加到您的 Trakt 收藏", + "removed_from_collection_hero": "已从收藏移除", + "removed_from_collection_desc_hero": "已从您的 Trakt 收藏移除", + "mark_as_watched": "标记为已观看", + "mark_as_unwatched": "标记为未观看" + }, + "cast": { + "biography": "简介", + "known_for": "成名作", + "personal_info": "个人信息", + "born_in": "出生于 {{place}}", + "filmography": "影视作品", + "also_known_as": "别名", + "no_info_available": "暂无更多信息", + "as_character": "饰演 {{character}}", + "loading_details": "正在加载详情...", + "years_old": "{{age}} 岁", + "view_filmography": "查看影视作品", + "filter": "筛选", + "sort_by": "排序", + "sort_popular": "热门", + "sort_latest": "最新", + "sort_upcoming": "即将上映", + "upcoming_badge": "即将上映", + "coming_soon": "即将推出", + "filmography_count": "影视作品 • {{count}} 部标题", + "loading_filmography": "正在加载影视作品...", + "load_more_remaining": "加载更多 (剩余 {{count}})", + "alert_error_title": "错误", + "alert_error_message": "无法加载 \"{{title}}\"。请稍后再试。", + "alert_ok": "确定", + "no_upcoming": "该演员暂无即将上映的作品", + "no_content": "该演员暂无内容", + "no_movies": "该演员暂无电影", + "no_tv": "该演员暂无电视剧" + }, + "comments": { + "title": "Trakt 评论", + "spoiler_warning": "⚠️ 此评论包含剧透。点击显示。", + "spoiler": "剧透", + "contains_spoilers": "包含剧透", + "reveal": "显示", + "vip": "VIP", + "unavailable": "评论不可用", + "no_comments": "Trakt 上暂无评论", + "not_in_database": "此内容可能尚未收录于 Trakt 数据库", + "check_trakt": "查看 Trakt" + }, + "trailers": { + "title": "预告片", + "official_trailers": "官方预告片", + "official_trailer": "官方预告片", + "teasers": "预告短片", + "teaser": "预告短片", + "clips_scenes": "片段和场景", + "clip": "片段", + "featurettes": "花絮", + "featurette": "花絮", + "behind_the_scenes": "幕后", + "no_trailers": "暂无预告片", + "unavailable": "预告片不可用", + "unavailable_desc": "此时无法加载预告片。请稍后再试。", + "unable_to_play": "无法播放预告片。请重试。", + "watch_on_youtube": "在 YouTube 观看" + }, + "catalog": { + "no_content_found": "未找到内容", + "no_content_filters": "没有符合所选筛选条件的内容", + "loading_content": "正在加载内容...", + "back": "返回", + "in_theaters": "正在热映", + "all": "全部", + "failed_tmdb": "从 TMDB 加载内容失败", + "movies": "电影", + "tv_shows": "电视剧", + "channels": "频道" + }, + "streams": { + "back_to_episodes": "返回剧集", + "back_to_info": "返回信息", + "fetching_from": "正在获取:", + "no_sources_available": "暂无流媒体源", + "add_sources_desc": "请在设置中添加流媒体源", + "add_sources": "添加源", + "finding_streams": "正在查找可用流...", + "finding_best_stream": "正在查找最佳流以自动播放...", + "still_fetching": "仍在获取流...", + "no_streams_available": "暂无流可用", + "starting_best_stream": "正在启动最佳流...", + "loading_more_sources": "正在加载更多源..." + }, + "player_ui": { + "via": "via {{name}}", + "audio_tracks": "音频轨道", + "no_audio_tracks": "暂无音频轨道", + "playback_speed": "播放速度", + "on_hold": "暂停中", + "playback_error": "播放错误", + "unknown_error": "播放期间发声未知错误。", + "copy_error": "复制错误详情", + "copied_to_clipboard": "已复制到剪贴板", + "dismiss": "忽略", + "continue_watching": "继续观看", + "start_over": "从头开始", + "resume": "恢复", + "change_source": "更换源", + "switching_source": "正在切换源...", + "no_sources_found": "未找到源", + "sources": "源", + "finding_sources": "正在查找源...", + "unknown_source": "未知源", + "sources_limited": "由于提供商错误,源可能受到限制。", + "episodes": "剧集", + "specials": "特别篇", + "season": "第 {{season}} 季", + "stream": "流 {{number}}", + "subtitles": "字幕", + "built_in": "内置", + "addons": "插件", + "style": "样式", + "none": "无", + "search_online_subtitles": "搜索在线字幕", + "preview": "预览", + "quick_presets": "快速预设", + "default": "默认", + "yellow": "黄色", + "high_contrast": "高对比度", + "large": "大", + "core": "核心", + "font_size": "字体大小", + "show_background": "显示背景", + "advanced": "高级", + "position": "位置", + "text_color": "文本颜色", + "align": "对齐", + "bottom_offset": "底部偏移", + "background_opacity": "背景不透明度", + "text_shadow": "文本阴影", + "on": "开", + "off": "关", + "outline_color": "轮廓颜色", + "outline": "轮廓", + "outline_width": "轮廓宽度", + "letter_spacing": "字间距", + "line_height": "行高", + "timing_offset": "时间偏移 (秒)", + "visual_sync": "视觉同步", + "timing_hint": "向前 (-) 或向后 (+) 微调字幕以同步。", + "reset_defaults": "重置为默认" + }, + "downloads": { + "title": "下载", + "no_downloads": "暂无下载", + "no_downloads_desc": "下载的内容将显示在此处以供离线观看", + "explore": "探索内容", + "path_copied": "路径已复制", + "path_copied_desc": "本地文件路径已复制到剪贴板", + "copied": "已复制", + "incomplete": "下载未完成", + "incomplete_desc": "下载尚未完成", + "not_available": "不可用", + "not_available_desc": "仅在下载完成后本地文件路径才可用。", + "status_downloading": "下载中", + "status_completed": "已完成", + "status_paused": "已暂停", + "status_error": "错误", + "status_queued": "已排队", + "status_unknown": "未知", + "provider": "提供商", + "streaming_playlist_warning": "可能无法播放 - 流媒体播放列表", + "remaining": "剩余", + "not_ready": "下载未就绪", + "not_ready_desc": "请等待下载完成。", + "filter_all": "全部", + "filter_active": "进行中", + "filter_done": "已完成", + "filter_paused": "已暂停", + "no_filter_results": "没有 {{filter}} 下载", + "try_different_filter": "尝试选择不同的过滤器", + "limitations_title": "下载限制", + "limitations_msg": "• 小于 1MB 的文件通常是 M3U8 流媒体播放列表,无法下载离线观看。这些仅适用于在线流媒体,包含视频片段的链接,而非实际视频内容。", + "remove_title": "移除下载", + "remove_confirm": "移除 \"{{title}}\"{{season_episode}}?", + "cancel": "取消", + "remove": "移除" + }, + "addons": { + "title": "插件", + "reorder_mode": "重新排序模式", + "reorder_info": "顶部的插件在加载内容时具有更高优先级", + "add_addon_placeholder": "插件 URL", + "add_button": "添加插件", + "my_addons": "我的插件", + "community_addons": "社区插件", + "no_addons": "未安装插件", + "uninstall_title": "卸载插件", + "uninstall_message": "确定要卸载 {{name}} 吗?", + "uninstall_button": "卸载", + "install_success": "插件安装成功", + "install_error": "安装插件失败", + "load_error": "加载插件失败", + "fetch_error": "获取插件详情失败", + "invalid_url": "请输入插件 URL", + "configure": "配置", + "version": "版本: {{version}}", + "installed_addons": "已安装的插件", + "reorder_drag_title": "拖动插件以重新排序", + "install": "安装", + "config_unavailable_title": "配置不可用", + "config_unavailable_msg": "无法确定此插件的配置 URL。", + "cannot_open_config_title": "无法打开配置", + "cannot_open_config_msg": "无法打开配置 URL ({{url}})。该插件可能没有配置页面。", + "description": "描述", + "supported_types": "支持的类型", + "catalogs": "目录", + "no_description": "暂无描述", + "overview": "概览", + "no_categories": "无分类", + "pre_installed": "预安装" + }, + "trakt": { + "title": "Trakt 设置", + "settings_title": "Trakt 设置", + "connect_title": "连接到 Trakt", + "connect_desc": "同步您的观看历史、待看列表和收藏到 Trakt.tv", + "sign_in": "登录 Trakt", + "sign_out": "注销", + "sign_out_confirm": "确定要注销您的 Trakt 账户吗?", + "joined": "加入于 {{date}}", + "sync_settings_title": "同步设置", + "sync_info": "连接到 Trakt 后,完整的历史记录直接从 API 同步,不会写入本地存储。您的“继续观看”列表反映了您的全局 Trakt 进度。", + "auto_sync_label": "自动同步播放进度", + "auto_sync_desc": "自动将观看进度同步到 Trakt", + "import_history_label": "导入观看历史", + "import_history_desc": "使用“立即同步”从 Trakt 导入您的观看历史和进度", + "sync_now_button": "立即同步", + "display_settings_title": "显示设置", + "show_comments_label": "显示 Trakt 评论", + "show_comments_desc": "在元数据屏幕中显示 Trakt 评论(如果可用)", + "maintenance_title": "维护中", + "maintenance_unavailable": "Trakt 不可用", + "maintenance_desc": "Trakt 集成暂时暂停以进行维护。所有同步和身份验证都将被禁用,直到维护完成。", + "maintenance_button": "服务维护中", + "auth_success_title": "连接成功", + "auth_success_msg": "您的 Trakt 账户已成功连接。", + "auth_error_title": "认证错误", + "auth_error_msg": "与 Trakt 完成身份验证失败。", + "auth_error_generic": "认证期间发生错误。", + "sign_out_error": "注销 Trakt 失败。", + "sync_complete_title": "同步完成", + "sync_success_msg": "已成功将您的观看进度与 Trakt 同步。", + "sync_error_msg": "同步失败。请重试。" + }, + "simkl": { + "title": "Simkl 设置", + "settings_title": "Simkl 设置", + "connect_title": "连接到 Simkl", + "connect_desc": "同步您的观看历史并追踪您正在观看的内容", + "sign_in": "登录 Simkl", + "sign_out": "断开连接", + "sign_out_confirm": "确定要断开与 Simkl 的连接吗?", + "syncing_desc": "您的观看项目正在与 Simkl 同步。", + "auth_success_title": "连接成功", + "auth_success_msg": "您的 Simkl 账户已成功连接。", + "auth_error_title": "认证错误", + "auth_error_msg": "与 Simkl 完成身份验证失败。", + "auth_error_generic": "认证期间发生错误。", + "sign_out_error": "断开 Simkl 连接失败。", + "config_error_title": "配置错误", + "config_error_msg": "环境变量中缺少 Simkl 客户端 ID。", + "conflict_title": "冲突", + "conflict_msg": "Trakt 已连接时无法连接到 Simkl。请先断开 Trakt。", + "disclaimer": "Nuvio 与 Simkl 无关。" + }, + "tmdb_settings": { + "title": "TMDb 设置", + "metadata_enrichment": "元数据充实", + "metadata_enrichment_desc": "使用 TMDb 数据增强您的内容元数据,以获得更好的详情和信息。", + "enable_enrichment": "启用充实", + "enable_enrichment_desc": "使用 TMDb 的数据丰富插件元数据,包括演员、分级、徽标/海报和制作信息。", + "localized_text": "本地化文本", + "localized_text_desc": "从 TMDb以此您偏好的语言获取标题和描述。", + "language": "语言", + "change": "更改", + "logo_preview": "徽标预览", + "logo_preview_desc": "预览显示本地化徽标在所选语言下的显示效果。", + "example": "示例:", + "no_logo": "无徽标可用", + "enrichment_options": "充实选项", + "enrichment_options_desc": "控制从 TMDb 获取哪些数据。禁用的选项将使用插件数据(如果可用)。", + "cast_crew": "演职人员", + "cast_crew_desc": "演员、导演、编剧及其头像", + "title_description": "标题和描述", + "title_description_desc": "使用 TMDb 本地化标题和概览文本", + "title_logos": "标题徽标", + "title_logos_desc": "高质量标题处理图像", + "banners_backdrops": "横幅和背景", + "banners_backdrops_desc": "高分辨率背景图像", + "certification": "内容分级", + "certification_desc": "年龄分级(PG-13, R, TV-MA 等)", + "recommendations": "推荐", + "recommendations_desc": "相似内容建议", + "episode_data": "剧集数据", + "episode_data_desc": "剧集缩略图、信息及电视剧后备信息", + "season_posters": "季海报", + "season_posters_desc": "特定季的海报图像", + "production_info": "制作信息", + "production_info_desc": "网络和制作公司及其徽标", + "movie_details": "电影详情", + "movie_details_desc": "预算、票房、时长、标语", + "tv_details": "电视剧详情", + "tv_details_desc": "状态、季数、网络、创作者", + "movie_collections": "电影系列", + "movie_collections_desc": "系列电影(漫威、星球大战等)", + "api_configuration": "API 配置", + "api_configuration_desc": "配置您的 TMDb API 访问以增强功能。", + "custom_api_key": "自定义 API 密钥", + "custom_api_key_desc": "使用您自己的 TMDb API 密钥以获得更好的性能和专用速率限制。", + "custom_key_active": "自定义 API 密钥已激活", + "api_key_required": "需要 API 密钥", + "api_key_placeholder": "粘贴您的 TMDb API 密钥 (v3)", + "how_to_get_key": "如何获取 TMDb API 密钥?", + "built_in_key_msg": "当前正在使用内置 API 密钥。考虑使用您自己的密钥以获得更好的性能。", + "cache_size": "缓存大小", + "clear_cache": "清除缓存", + "cache_days": "TMDB 响应缓存 7 天以提高性能", + "choose_language": "选择语言", + "choose_language_desc": "选择您偏好的 TMDb 内容语言", + "popular": "热门", + "all_languages": "所有语言", + "search_results": "搜索结果", + "no_languages_found": "未找到 \"{{query}}\" 的语言", + "clear_search": "清除搜索", + "clear_cache_title": "清除 TMDB 缓存", + "clear_cache_msg": "这将清除所有缓存的 TMDB 数据 ({{size}})。在缓存重建之前,加载可能会暂时变慢。", + "clear_cache_success": "TMDB 缓存已成功清除。", + "clear_cache_error": "清除缓存失败。", + "clear_api_key_title": "清除 API 密钥", + "clear_api_key_msg": "确定要移除您的自定义 API 密钥并恢复默认设置吗?", + "clear_api_key_success": "API 密钥清除成功", + "clear_api_key_error": "清除 API 密钥失败", + "empty_api_key": "API 密钥不能为空。", + "invalid_api_key": "无效的 API 密钥。请检查并重试。", + "save_error": "保存时发生错误。请重试。", + "using_builtin_key": "现在使用内置 TMDb API 密钥。", + "using_custom_key": "现在使用您的自定义 TMDb API 密钥。", + "enter_custom_key": "请输入并保存您的自定义 TMDb API 密钥。", + "key_verified": "API 密钥已验证并保存成功。" + }, + "settings": { + "language": "语言", + "select_language": "选择语言", + "english": "英语", + "portuguese": "葡萄牙语", + "portuguese_br": "葡萄牙语 (巴西)", + "portuguese_pt": "葡萄牙语 (葡萄牙)", + "german": "德语", + "arabic": "阿拉伯语", + "spanish": "西班牙语", + "french": "法语", + "italian": "意大利语", + "croatian": "克罗地亚语", + "chinese": "简体中文", + "account": "账户", + "content_discovery": "内容与发现", + "appearance": "外观", + "integrations": "集成", + "playback": "播放", + "backup_restore": "备份与恢复", + "updates": "更新", + "about": "关于", + "developer": "开发者", + "cache": "缓存", + "title": "设置", + "settings_title": "设置", + "sign_in_sync": "登录以同步", + "add_catalogs_sources": "插件、目录和源", + "player_trailers_downloads": "播放器、预告片、下载", + "mdblist_tmdb_ai": "MDBList、TMDB、AI", + "check_updates": "检查更新", + "clear_mdblist_cache": "清除 MDBList 缓存", + "cache_management": "缓存管理", + "downloads_counter": "下载及计数", + "made_with_love": "由 Tapframe 和朋友们 ❤️ 制作", + "sections": { + "information": "信息", + "account": "账户", + "theme": "主题", + "layout": "布局", + "sources": "源", + "catalogs": "目录", + "discovery": "发现", + "metadata": "元数据", + "ai_assistant": "AI 助手", + "video_player": "视频播放器", + "audio_subtitles": "音频和字幕", + "media": "媒体", + "notifications": "通知", + "testing": "测试", + "danger_zone": "危险区域" + }, + "items": { + "legal": "法律与免责声明", + "privacy_policy": "隐私政策", + "report_issue": "报告问题", + "version": "版本", + "contributors": "贡献者", + "view_contributors": "查看所有贡献者", + "theme": "主题", + "episode_layout": "剧集布局", + "streams_backdrop": "流背景", + "streams_backdrop_desc": "在移动端流媒体上显示模糊背景", + "addons": "插件", + "installed": "已安装", + "debrid_integration": "Debrid 集成", + "debrid_desc": "连接 Torbox", + "plugins": "插件", + "plugins_desc": "管理插件和仓库", + "catalogs": "目录", + "active": "激活", + "home_screen": "主屏幕", + "home_screen_desc": "布局和内容", + "continue_watching": "继续观看", + "continue_watching_desc": "缓存和播放行为", + "show_discover": "显示发现部分", + "show_discover_desc": "在搜索中显示发现内容", + "mdblist": "MDBList", + "mdblist_connected": "已连接", + "mdblist_desc": "启用以添加评分和评论", + "simkl": "Simkl", + "simkl_connected": "已连接", + "simkl_desc": "追踪您观看的内容", + "tmdb": "TMDB", + "tmdb_desc": "元数据和徽标源提供商", + "openrouter": "OpenRouter API", + "openrouter_connected": "已连接", + "openrouter_desc": "添加您的 API 密钥以启用 AI 聊天", + "video_player": "视频播放器", + "built_in": "内置", + "external": "外部", + "preferred_audio": "首选音频语言", + "preferred_subtitle": "首选字幕语言", + "subtitle_source": "字幕源优先级", + "auto_select_subs": "自动选择字幕", + "auto_select_subs_desc": "自动选择符合您偏好的字幕", + "show_trailers": "显示预告片", + "show_trailers_desc": "在推荐部分显示预告片", + "enable_downloads": "启用下载", + "enable_downloads_desc": "显示下载标签页并允许保存流", + "notifications": "通知", + "notifications_desc": "剧集提醒", + "developer_tools": "开发者工具", + "developer_tools_desc": "测试和调试选项", + "test_onboarding": "测试引导页", + "reset_onboarding": "重置引导页", + "test_announcement": "测试公告", + "test_announcement_desc": "显示新内容覆盖层", + "reset_campaigns": "重置活动", + "reset_campaigns_desc": "清除活动展示记录", + "clear_all_data": "清除所有数据", + "clear_all_data_desc": "重置所有设置和缓存数据" + }, + "options": { + "horizontal": "水平", + "vertical": "垂直", + "internal_first": "内置优先", + "internal_first_desc": "优先使用内嵌字幕,然后是外部", + "external_first": "外部优先", + "external_first_desc": "优先使用插件字幕,然后是内嵌", + "any_available": "任意可用", + "any_available_desc": "使用第一个可用的字幕轨道" + }, + "clear_data_desc": "这将重置所有设置并清除所有缓存数据。您确定吗?", + "app_updates": "应用更新", + "about_nuvio": "关于 Nuvio" + }, + "ai_settings": { + "title": "AI 助手", + "info_title": "AI 驱动的聊天", + "info_desc": "使用先进的 AI 询问有关任何电影或电视剧集的问题。获取有关剧情、角色、主题、花絮等的见解 - 全部由全面的 TMDB 数据支持。", + "feature_1": "特定剧集的上下文和分析", + "feature_2": "剧情解释和角色见解", + "feature_3": "幕后花絮和事实", + "feature_4": "您自己的免费 OpenRouter API 密钥", + "api_key_section": "OPENROUTER API 密钥", + "api_key_label": "API 密钥", + "api_key_desc": "输入您的 OpenRouter API 密钥以启用 AI 聊天功能", + "save_api_key": "保存 API 密钥", + "saving": "正在保存...", + "update": "更新", + "remove": "移除", + "get_free_key": "从 OpenRouter 获取免费 API 密钥", + "enable_chat": "启用 AI 聊天", + "enable_chat_desc": "启用后,内容页面上将显示“询问 AI”按钮。", + "chat_enabled": "AI 聊天已启用", + "chat_enabled_desc": "您现在可以询问有关电影和电视节目的时候。留意内容页面上的“询问 AI”按钮!", + "how_it_works": "工作原理", + "how_it_works_desc": "• OpenRouter 提供访问多个 AI 模型的权限\n• 您的 API 密钥保持私密和安全\n• 免费层包含慷慨的使用限额\n• 可以询问有关特定剧集/电影的上下文\n• 获取详细分析和解释", + "error_invalid_key": "请输入有效的 API 密钥", + "error_key_format": "OpenRouter API 密钥应以 \"sk-or-\" 开头", + "success_saved": "OpenRouter API 密钥保存成功!", + "error_save": "保存 API 密钥失败", + "confirm_remove_title": "移除 API 密钥", + "confirm_remove_msg": "确定要移除您的 OpenRouter API 密钥吗?这将禁用 AI 聊天功能。", + "success_removed": "API 密钥移除成功", + "error_remove": "移除 API 密钥失败" + }, + "catalog_settings": { + "title": "目录", + "layout_phone": "目录屏幕布局 (手机)", + "posters_per_row": "每行海报数", + "auto": "自动", + "show_titles": "显示海报标题", + "show_titles_desc": "在每张海报下方显示标题文本", + "phone_only_hint": "仅适用于手机。平板电脑保持自适应布局。", + "catalogs_group": "目录", + "enabled_count": "已启用 {{enabled}} / {{total}}", + "rename_hint": "长按目录重命名", + "rename_modal_title": "重命名目录", + "rename_placeholder": "输入新目录名称", + "error_save_name": "无法保存自定义名称。" + }, + "continue_watching_settings": { + "title": "继续观看", + "playback_behavior": "播放行为", + "use_cached": "使用缓存流", + "use_cached_desc": "启用后,点击“继续观看”项目将使用以前播放的流直接打开播放器。禁用时,打开内容屏幕。", + "open_metadata": "打开元数据屏幕", + "open_metadata_desc": "当禁用缓存流时,打开元数据屏幕而不是流屏幕。这将显示内容详情并允许手动选择流。", + "card_appearance": "卡片外观", + "card_style": "卡片样式", + "card_style_desc": "选择“继续观看”项目在主屏幕上的显示方式", + "wide": "宽", + "poster": "海报", + "cache_settings": "缓存设置", + "cache_duration": "流缓存时长", + "cache_duration_desc": "缓存流链接在过期前的保留时间", + "important_note": "重要提示", + "important_note_text": "并非所有流链接在整个缓存期间都保持有效。较长的缓存时间可能导致链接过期。如果缓存链接失败,应用将回退到获取新流。", + "how_it_works": "工作原理", + "how_it_works_cached": "• 流在播放后会根据您选择的时长进行缓存\n• 使用缓存流前会进行验证\n• 如果缓存无效或过期,则回退到内容屏幕\n• “使用缓存流”控制直接播放与屏幕导航\n• “打开元数据屏幕”仅在禁用缓存流时出现", + "how_it_works_uncached": "• 当禁用缓存流时,点击“继续观看”项目将打开内容屏幕\n• “打开元数据屏幕”选项控制打开哪个屏幕\n• 元数据屏幕显示内容详情并允许手动选择流\n• 流屏幕显示可用流以便立即播放", + "changes_saved": "更改已保存", + "min": "分钟", + "hour": "小时", + "hours": "小时" + }, + "contributors": { + "title": "贡献者", + "special_mentions": "特别提及", + "tab_contributors": "贡献者", + "tab_special": "特别提及", + "tab_donors": "捐赠者", + "manager_role": "社区经理", + "manager_desc": "管理 Nuvio 的 Discord 和 Reddit 社区", + "sponsor_role": "服务器赞助商", + "sponsor_desc": "资助 Nuvio 的服务器基础设施", + "mod_role": "Discord 版主", + "mod_desc": "协助管理 Nuvio Discord 社区", + "loading": "加载中...", + "discord_user": "Discord 用户", + "contributions": "贡献", + "gratitude_title": "我们感谢每一份贡献", + "gratitude_desc": "每一行代码、每一个错误报告和建议都让 Nuvio 变得更好", + "special_thanks_title": "特别感谢", + "special_thanks_desc": "这些了不起的人帮助维持 Nuvio 社区的运作和服务器在线", + "donors_desc": "感谢您信任我们的建设。您的支持让 Nuvio 保持免费并不断改进。", + "latest_donations": "最新", + "leaderboard": "排行榜", + "loading_donors": "正在加载捐赠者...", + "no_donors": "暂无捐赠者", + "error_rate_limit": "超出 GitHub API 速率限制。请稍后再试或下拉刷新。", + "error_failed": "加载贡献者失败。请检查您的网络连接。", + "retry": "重试", + "no_contributors": "未找到贡献者", + "loading_contributors": "正在加载贡献者..." + }, + "debrid": { + "title": "Debrid 集成", + "description_torbox": "通过集成 Torbox 解锁 4K 高质量流媒体和闪电般的速度。在下方输入您的 API 密钥以立即升级您的流媒体体验。", + "description_torrentio": "配置 Torrentio 以获取电影和电视节目的 Torrent 流。需要 Debrid 服务才能流式传输内容。", + "tab_torbox": "TorBox", + "tab_torrentio": "Torrentio", + "status_connected": "已连接", + "status_disconnected": "已断开", + "enable_addon": "启用插件", + "disconnect_button": "断开连接并移除", + "disconnect_loading": "正在断开...", + "account_info": "账户信息", + "plan": "计划", + "plan_free": "免费", + "plan_essential": "基础 ($3/月)", + "plan_pro": "专业 ($10/月)", + "plan_standard": "标准 ($5/月)", + "plan_unknown": "未知", + "expires": "过期", + "downloaded": "已下载", + "status_active": "活跃", + "connected_title": "✓ 已连接到 TorBox", + "connected_desc": "您的 TorBox 插件已激活并提供高级流媒体。", + "configure_title": "配置插件", + "configure_desc": "自定义您的流媒体体验。按质量排序、过滤文件大小并管理其他集成设置。", + "open_settings": "打开设置", + "what_is_debrid": "什么是 Debrid 服务?", + "enter_api_key": "输入您的 API 密钥", + "connect_button": "连接并安装", + "connecting": "正在连接...", + "unlock_speeds_title": "解锁高级速度", + "unlock_speeds_desc": "获取 Torbox 订阅以访问零缓冲的缓存高质量流媒体。", + "get_subscription": "获取订阅", + "powered_by": "技术支持", + "disclaimer_torbox": "Nuvio 与 Torbox 没有任何关联。", + "disclaimer_torrentio": "Nuvio 与 Torrentio 没有任何关联。", + "installed_badge": "✓ 已安装", + "promo_title": "⚡ 需要 Debrid 服务?", + "promo_desc": "获取 TorBox 以获得零缓冲的闪电般 4K 流媒体。高级缓存 Torrent 和即时下载。", + "promo_button": "获取 TorBox 订阅", + "service_label": "Debrid 服务 *", + "api_key_label": "API 密钥 *", + "sorting_label": "排序", + "exclude_qualities": "排除质量", + "priority_languages": "优先语言", + "max_results": "最大结果数", + "additional_options": "其他选项", + "no_download_links": "不显示下载链接", + "no_debrid_catalog": "不显示 Debrid 目录", + "install_button": "安装 Torrentio", + "installing": "正在安装...", + "update_button": "更新配置", + "updating": "正在更新...", + "remove_button": "移除 Torrentio", + "error_api_required": "需要 API 密钥", + "error_api_required_desc": "请输入您的 Debrid 服务 API 密钥以安装 Torrentio。", + "success_installed": "Torrentio 插件安装成功!", + "success_removed": "Torrentio 插件移除成功", + "alert_disconnect_title": "断开 Torbox", + "alert_disconnect_msg": "确定要断开 Torbox 吗?这将移除插件并清除您保存的 API 密钥。" + }, + "home_screen": { + "title": "主屏幕设置", + "changes_applied": "更改已应用", + "display_options": "显示选项", + "show_hero": "显示推荐部分", + "show_hero_desc": "顶部的精选内容", + "show_this_week": "显示本周部分", + "show_this_week_desc": "本周新剧集", + "select_catalogs": "选择目录", + "all_catalogs": "所有目录", + "selected": "已选择", + "hero_layout": "推荐部分布局", + "layout_legacy": "传统", + "layout_carousel": "轮播", + "layout_appletv": "Apple TV", + "layout_desc": "全宽横幅、可滑动卡片或 Apple TV 风格", + "featured_source": "推荐源", + "using_catalogs": "使用目录", + "manage_selected_catalogs": "管理选定的目录", + "dynamic_bg": "动态推荐背景", + "dynamic_bg_desc": "轮播下方的模糊横幅", + "performance_note": "可能会影响低端设备的性能。", + "posters": "海报", + "show_titles": "显示标题", + "poster_size": "海报大小", + "poster_corners": "海报圆角", + "size_small": "小", + "size_medium": "中", + "size_large": "大", + "corners_square": "方形", + "corners_rounded": "圆角", + "corners_pill": "胶囊", + "about_these_settings": "关于这些设置", + "about_desc": "这些设置控制内容在您主屏幕上的显示方式。更改会立即应用,无需重启应用。", + "hero_catalogs": { + "title": "推荐部分目录", + "select_all": "全选", + "clear_all": "清除全部", + "info": "选择要在推荐部分显示的目录。如果未选择,将使用所有目录。完成后别忘了点击保存。", + "settings_saved": "设置已保存", + "error_load": "加载目录失败", + "movies": "电影", + "tv_shows": "电视剧" + } + }, + "calendar": { + "title": "日历", + "loading": "正在加载日历...", + "no_scheduled_episodes": "暂无预定剧集", + "check_back_later": "稍后再来看看", + "showing_episodes_for": "显示 {{date}} 的剧集", + "show_all_episodes": "显示所有剧集", + "no_episodes_for": "暂无 {{date}} 的剧集", + "no_upcoming_found": "未找到即将播出的剧集", + "add_series_desc": "将剧集添加到您的媒体库以在此处查看到即将播出的剧集" + }, + "mdblist": { + "title": "评分来源", + "status_disabled": "MDBList 已禁用", + "status_active": "API 密钥已激活", + "status_required": "需要 API 密钥", + "status_disabled_desc": "MDBList 功能目前已禁用。", + "status_active_desc": "MDBList 评分已启用。", + "status_required_desc": "在下方添加您的密钥以启用评分。", + "enable_toggle": "启用 MDBList", + "enable_toggle_desc": "开启/关闭所有 MDBList 功能", + "api_section": "API 密钥", + "placeholder": "粘贴您的 MDBList API 密钥", + "save": "保存", + "clear": "清除密钥", + "rating_providers": "评分提供商", + "rating_providers_desc": "选择要在应用中显示的评分", + "how_to": "如何获取 API 密钥", + "step_1": "登录", + "step_1_link": "MDBList 网站", + "step_2": "前往", + "step_2_settings": "设置", + "step_2_api": "API", + "step_2_end": "部分。", + "step_3": "生成新密钥并复制。", + "go_to_website": "前往 MDBList", + "alert_clear_title": "清除 API 密钥", + "alert_clear_msg": "确定要移除保存的 API 密钥吗?", + "success_saved": "API 密钥保存成功。", + "error_empty": "API 密钥不能为空。", + "error_save": "保存时发生错误。请重试。", + "api_key_empty_error": "API 密钥不能为空。", + "success_cleared": "API 密钥清除成功", + "error_clear": "清除 API 密钥失败" + }, + "notification": { + "title": "通知设置", + "section_general": "常规", + "enable_notifications": "启用通知", + "section_types": "通知类型", + "new_episodes": "新剧集", + "upcoming_shows": "即将播出的节目", + "reminders": "提醒", + "section_timing": "通知时间", + "timing_desc": "在剧集播出前多久通知您?", + "hours_1": "1 小时", + "hours_suffix": "小时", + "section_status": "通知状态", + "stats_upcoming": "即将播出", + "stats_this_week": "本周", + "stats_total": "总计", + "sync_button": "同步媒体库和 Trakt", + "syncing": "正在同步...", + "sync_desc": "自动同步您媒体库和 Trakt 待看列表/收藏中所有节目的通知。", + "section_advanced": "高级", + "reset_button": "重置所有通知", + "test_button": "测试通知 (5秒)", + "test_notification_in": "通知将在 {{seconds}}s 后发出...", + "test_notification_text": "通知将在 {{seconds}} 秒后出现", + "alert_reset_title": "重置通知", + "alert_reset_msg": "这将取消所有预定的通知,但不会从您保存的媒体库中移除任何内容。您确定吗?", + "alert_reset_success": "所有通知已重置", + "alert_sync_complete": "同步完成", + "alert_sync_msg": "成功同步您的媒体库和 Trakt 项目的通知。\n\n预定:{{upcoming}} 集即将播出\n本周:{{thisWeek}} 集", + "alert_test_scheduled": "测试通知已安排立即触发" + }, + "backup": { + "title": "备份与恢复", + "options_title": "备份选项", + "options_desc": "选择要包含在备份中的内容", + "section_core": "核心数据", + "section_addons": "插件与集成", + "section_settings": "设置与偏好", + "library_label": "媒体库", + "library_desc": "您保存的电影和电视剧", + "watch_progress_label": "观看进度", + "watch_progress_desc": "继续观看位置", + "addons_label": "插件", + "addons_desc": "已安装的 Stremio 插件", + "plugins_label": "插件配置", + "plugins_desc": "自定义抓取器配置", + "trakt_label": "Trakt 集成", + "trakt_desc": "同步数据和认证令牌", + "app_settings_label": "应用设置", + "app_settings_desc": "主题、偏好和配置", + "user_prefs_label": "用户偏好", + "user_prefs_desc": "插件顺序和 UI 设置", + "catalog_settings_label": "目录设置", + "catalog_settings_desc": "目录过滤器和偏好", + "api_keys_label": "API 密钥", + "api_keys_desc": "MDBList 和 OpenRouter 密钥", + "action_create": "创建备份", + "action_restore": "从备份恢复", + "section_info": "关于备份", + "info_text": "• 使用上方的开关自定义备份内容\n• 备份文件存储在本地设备上\n• 分享您的备份以在设备间传输数据\n• 恢复将覆盖您当前的数据", + "alert_create_title": "创建备份", + "alert_no_content": "未选择要备份的内容。\n\n请在上方的“备份选项”部分启用至少一个选项。", + "alert_backup_created_title": "备份已创建", + "alert_backup_created_msg": "您的备份已创建并准备好分享。", + "alert_backup_failed_title": "备份失败", + "alert_restore_confirm_title": "确认恢复", + "alert_restore_confirm_msg": "这将从 {{date}} 创建的备份恢复您的数据。\n\n此操作将覆盖您当前的数据。确定要继续吗?", + "alert_restore_complete_title": "恢复完成", + "alert_restore_complete_msg": "您的数据已成功恢复。请重新启动应用以查看所有更改。", + "alert_restore_failed_title": "恢复失败", + "restart_app": "重启应用", + "alert_restart_failed_title": "重启失败", + "alert_restart_failed_msg": "重启应用失败。请手动关闭并重新打开应用以查看恢复的数据。" + }, + "updates": { + "title": "应用更新", + "status_checking": "正在检查更新...", + "status_available": "有可用更新!", + "status_downloading": "正在下载更新...", + "status_installing": "正在安装更新...", + "status_success": "更新安装成功!", + "status_error": "更新失败", + "status_ready": "准备检查更新", + "action_check": "检查更新", + "action_install": "安装更新", + "release_notes": "发布说明:", + "version": "版本:", + "last_checked": "上次检查:", + "current_version": "当前版本:", + "current_release_notes": "当前发布说明:", + "github_release": "GITHUB 发布", + "current": "当前:", + "latest": "最新:", + "notes": "说明:", + "view_release": "查看发布", + "notification_settings": "通知设置", + "ota_alerts_label": "OTA 更新提醒", + "ota_alerts_desc": "显示 OTA 更新通知", + "major_alerts_label": "重大更新提醒", + "major_alerts_desc": "显示 GitHub 上新应用版本的通知", + "alert_disable_ota_title": "禁用 OTA 更新提醒?", + "alert_disable_ota_msg": "您将不再收到 OTA 更新的自动通知。\n\n⚠️ 警告:保持最新版本对于以下方面很重要:\n• 错误修复和稳定性改进\n• 新功能和增强\n• 提供准确的反馈和崩溃报告\n\n您仍然可以在此屏幕手动检查更新。", + "alert_disable_major_title": "禁用重大更新提醒?", + "alert_disable_major_msg": "您将不再收到需要重新安装的重大应用更新通知。\n\n⚠️ 警告:重大更新通常包括:\n• 关键安全补丁\n• 需要重新安装应用的重大更改\n• 重要的兼容性修复\n\n您仍然可以手动检查更新。", + "warning_note": "保持提醒开启可确保您收到错误修复并提供准确的崩溃报告。", + "disable": "禁用", + "alert_no_update_to_install": "没有可安装的更新", + "alert_install_failed": "安装更新失败", + "alert_no_update_title": "无更新", + "alert_update_applied_msg": "更新将在下次应用重启时应用" + }, + "player": { + "title": "视频播放器", + "section_selection": "播放器选择", + "internal_title": "内置播放器", + "internal_desc": "使用应用的默认视频播放器", + "vlc_title": "VLC", + "vlc_desc": "在 VLC 媒体播放器中打开流", + "infuse_title": "Infuse", + "infuse_desc": "在 Infuse 播放器中打开流", + "outplayer_title": "OutPlayer", + "outplayer_desc": "在 OutPlayer 中打开流", + "vidhub_title": "VidHub", + "vidhub_desc": "在 VidHub 播放器中打开流", + "infuse_live_title": "Infuse Livecontainer", + "infuse_live_desc": "在 Infuse 播放器 LiveContainer 中打开流", + "external_title": "外部播放器", + "external_desc": "在您偏好的视频播放器中打开流", + "section_playback": "播放选项", + "skip_intro_settings_title": "跳过片头", + "powered_by_introdb": "由 IntroDB 提供支持", + "autoplay_title": "自动播放首个流", + "autoplay_desc": "自动开始播放列表中显示的第一个流。", + "resume_title": "始终恢复", + "resume_desc": "跳过恢复提示并自动从您离开的地方继续(如果观看少于 85%)。", + "engine_title": "视频播放器引擎", + "engine_desc": "自动使用 ExoPlayer 并以 MPV 作为后备。MPV 不支持某些格式(如杜比视界和 HDR),因此建议使用“自动”以获得最佳兼容性。", + "decoder_title": "解码器模式", + "decoder_desc": "视频解码方式。推荐使用“自动”以获得最佳平衡。", + "gpu_title": "GPU 渲染", + "gpu_desc": "GPU-Next 提供更好的 HDR 和色彩管理。", + "external_downloads_title": "外部播放器用于下载", + "external_downloads_desc": "在您首选的外部播放器中播放下载的内容。", + "restart_required": "需要重启", + "restart_msg_decoder": "请重启应用以使解码器更改生效。", + "restart_msg_gpu": "请重启应用以使 GPU 模式更改生效。", + "option_auto": "自动", + "option_auto_desc_engine": "ExoPlayer + MPV 后备", + "option_mpv": "MPV", + "option_mpv_desc": "仅 MPV", + "option_auto_desc_decoder": "最佳平衡", + "option_sw": "软件", + "option_sw_desc": "软件解码", + "option_hw": "硬件", + "option_hw_desc": "硬件解码", + "option_hw_plus": "硬件+", + "option_hw_plus_desc": "全硬件解码", + "option_gpu_desc": "标准", + "option_gpu_next_desc": "高级" + }, + "plugins": { + "title": "插件", + "enable_title": "启用插件", + "enable_desc": "启用插件引擎以解析外部媒体源", + "repo_config_title": "仓库配置", + "repo_config_desc": "管理外部插件仓库。在下方开启或关闭每个仓库。", + "your_repos": "仓库", + "your_repos_desc": "配置插件的外部源。", + "add_repo_button": "添加仓库", + "refresh": "刷新", + "remove": "移除", + "enabled": "已启用", + "disabled": "已禁用", + "updating": "正在更新...", + "success": "成功", + "error": "错误", + "alert_repo_added": "仓库已添加且插件加载成功", + "alert_repo_saved": "仓库 URL 保存成功", + "alert_repo_refreshed": "仓库刷新成功", + "alert_invalid_url": "无效的 URL 格式", + "alert_plugins_cleared": "所有插件已移除", + "alert_cache_cleared": "仓库缓存已清除成功", + "unknown": "未知", + "active": "活跃", + "available": "可用", + "platform_disabled": "平台已禁用", + "limited": "受限", + "clear_all": "清除所有插件", + "clear_all_desc": "确定要移除所有已安装的插件吗?此操作无法撤销。", + "clear_cache": "清除仓库缓存", + "clear_cache_desc": "这将移除保存的仓库 URL 并清除所有缓存的插件数据。您需要重新输入您的仓库 URL。", + "add_new_repo": "添加新仓库", + "available_plugins": "可用插件 ({{count}})", + "placeholder": "搜索插件...", + "all": "全部", + "filter_all": "所有类型", + "filter_movies": "电影", + "filter_tv": "电视剧", + "enable_all": "启用全部", + "disable_all": "禁用全部", + "no_plugins_found": "未找到插件", + "no_plugins_available": "暂无插件可用", + "no_match_desc": "没有匹配 \"{{query}}\" 的插件。尝试不同的搜索词。", + "configure_repo_desc": "在上配置仓库以查看可用插件。", + "clear_search": "清除搜索", + "no_external_player": "无外部播放器", + "showbox_token": "ShowBox UI 令牌", + "showbox_placeholder": "粘贴您的 ShowBox UI 令牌", + "save": "保存", + "clear": "清除", + "additional_settings": "其他设置", + "enable_url_validation": "启用 URL 验证", + "url_validation_desc": "Before returning media URLs, validate them (may slow down results but improves reliability)", + "group_streams": "分组插件源", + "group_streams_desc": "启用后,源按仓库分组。禁用后,每个插件显示为单独的提供商。", + "sort_quality": "按质量优先排序", + "sort_quality_desc": "启用后,源将按质量优先排序。仅在启用分组时可用。", + "show_logos": "显示插件徽标", + "show_logos_desc": "在源屏幕上的媒体链接旁边显示插件徽标。", + "quality_filtering": "质量过滤", + "quality_filtering_desc": "从搜索结果中排除特定视频分辨率。点击质量以从插件结果中排除。", + "excluded_qualities": "排除的质量:", + "language_filtering": "语言过滤", + "language_filtering_desc": "从搜索结果中排除特定语言。点击语言以从插件结果中排除。", + "note": "注意:", + "language_filtering_note": "此过滤器仅适用于包含语言信息的提供商。它不会影响其他提供商。", + "excluded_languages": "排除的语言:", + "about_title": "关于插件", + "about_desc_1": "插件是模块化组件,可从各种外部协议适配内容。它们在您的设备上本地运行,可以从受信任的仓库安装。", + "about_desc_2": "标记为“受限”的插件可能需要特定的外部配置。", + "help_title": "插件设置", + "help_step_1": "1. **启用插件** - 打开主开关", + "help_step_2": "2. **添加仓库** - 添加有效的仓库 URL", + "help_step_3": "3. **刷新仓库** - 获取可用插件", + "help_step_4": "4. **激活** - 启用您希望使用的插件", + "got_it": "知道了!", + "repo_format_hint": "格式:https://raw.githubusercontent.com/username/repo/refs/heads/branch", + "cancel": "取消", + "add": "添加" + }, + "theme": { + "title": "应用主题", + "select_theme": "选择主题", + "create_custom": "创建自定义主题", + "options": "选项", + "use_dominant_color": "使用艺术作品的主色调", + "categories": { + "all": "所有主题", + "dark": "暗色主题", + "colorful": "多彩", + "custom": "我的主题" + }, + "editor": { + "theme_name_placeholder": "主题名称", + "save": "保存", + "primary": "主要", + "secondary": "次要", + "background": "背景", + "invalid_name_title": "无效名称", + "invalid_name_msg": "请输入有效的主题名称" + }, + "alerts": { + "delete_title": "删除主题", + "delete_msg": "确定要删除 \"{{name}}\" 吗?", + "ok": "确定", + "delete": "删除", + "cancel": "取消", + "back": "设置" + } + }, + "legal": { + "title": "法律与免责声明", + "intro_title": "应用性质", + "intro_text": "Nuvio 是一个媒体播放器和元数据管理应用程序。它仅作为浏览公开可用元数据(电影、电视节目等)和播放用户或第三方扩展提供的媒体文件的客户端界面。Nuvio 本身不托管、存储、分发或索引任何媒体内容。", + "extensions_title": "第三方插件", + "extensions_text": "Nuvio 使用可扩展架构,允许用户安装第三方插件。这些插件由与 Nuvio 无关的独立开发者开发和维护。我们无法控制也无法对任何第三方插件的内容、合法性或功能负责。", + "user_resp_title": "用户责任", + "user_resp_text": "用户对其安装的插件和访问的内容负全责。使用本应用程序即表示您同意确保您拥有使用 Nuvio 访问任何内容的合法权利。Nuvio 的开发者不认可或鼓励侵犯版权。", + "dmca_title": "版权与 DMCA", + "dmca_text": "我们尊重他人的知识产权。由于 Nuvio 不托管任何内容,我们无法从互联网上移除内容。但是,如果您认为应用程序界面本身侵犯了您的权利,请联系我们。", + "warranty_title": "无担保", + "warranty_text": "本软件“按原样”提供,不提供任何明示或暗示的担保。在任何情况下,作者或版权持有人均不对因使用本软件而引起的任何索赔、损害或其他责任负责。" + }, + "plugin_tester": { + "title": "插件测试器", + "subtitle": "实时运行抓取器并检查日志", + "tabs": { + "individual": "单个", + "repo": "仓库测试器", + "code": "代码", + "logs": "日志", + "results": "结果" + }, + "common": { + "error": "错误", + "success": "成功", + "movie": "电影", + "tv": "电视剧", + "tmdb_id": "TMDB ID", + "season": "季", + "episode": "集", + "running": "正在运行...", + "run_test": "运行测试", + "play": "播放", + "done": "完成", + "test": "测试", + "testing": "正在测试..." + }, + "individual": { + "load_from_url": "从 URL 加载", + "load_from_url_desc": "粘贴原始 GitHub URL 或本地 IP 并点击下载。", + "enter_url_error": "请输入 URL", + "code_loaded": "代码已从 URL 加载", + "fetch_error": "获取失败: {{message}}", + "no_code_error": "没有可运行的代码", + "plugin_code": "插件代码", + "focus_editor": "聚焦代码编辑器", + "code_placeholder": "// 在此粘贴插件代码...", + "test_parameters": "测试参数", + "no_logs": "暂无日志。运行测试以查看输出。", + "no_streams": "暂未找到流。", + "streams_found": "找到 {{count}} 个流", + "streams_found_plural": "找到 {{count}} 个流", + "tap_play_hint": "点击播放以在原生播放器中测试流。", + "unnamed_stream": "未命名流", + "quality": "质量: {{quality}}", + "size": "大小: {{size}}", + "url_label": "URL: {{url}}", + "headers_info": "头信息: {{count}} 自定义头", + "find_placeholder": "在代码中查找...", + "edit_code_title": "编辑代码", + "no_url_stream_error": "未找到此流的 URL" + }, + "repo": { + "title": "仓库测试器", + "description": "获取仓库(本地 URL 或 GitHub raw)并测试每个提供商。", + "enter_repo_url_error": "请输入仓库 URL", + "invalid_url_title": "无效 URL", + "invalid_url_msg": "使用 GitHub raw URL 或本地 http(s) URL。\n\n示例:\nhttps://raw.githubusercontent.com/tapframe/nuvio-providers/refs/heads/main", + "manifest_build_error": "无法从输入构建清单 URL", + "manifest_fetch_error": "获取清单失败", + "repo_manifest_fetch_error": "获取仓库清单失败", + "missing_filename": "清单中缺少文件名", + "scraper_build_error": "无法构建抓取器 URL", + "download_scraper_error": "下载抓取器失败", + "test_failed": "测试失败", + "test_parameters": "仓库测试参数", + "test_parameters_desc": "这些参数仅用于仓库测试器。", + "using_info": "使用: {{mediaType}} • TMDB {{tmdbId}}", + "using_info_tv": "使用: {{mediaType}} • TMDB {{tmdbId}} • S{{season}}E{{episode}}", + "providers_title": "提供商", + "repository_default": "仓库", + "providers_count": "{{count}} 提供商", + "fetch_hint": "获取仓库以列出提供商。", + "test_all": "全部测试", + "status_running": "运行中", + "status_ok": "正常 ({{count}})", + "status_ok_empty": "正常 (0)", + "status_failed": "失败", + "status_idle": "空闲", + "tried_url": "尝试: {{url}}", + "provider_logs": "提供商日志", + "no_logs_captured": "未捕获日志。" + } + } +} \ No newline at end of file diff --git a/src/i18n/resources.ts b/src/i18n/resources.ts index 208f77f5..8f09b755 100644 --- a/src/i18n/resources.ts +++ b/src/i18n/resources.ts @@ -8,6 +8,7 @@ import it from './locales/it.json'; import de from './locales/de.json'; import hr from './locales/hr.json'; +import zhCN from './locales/zh-CN.json'; export const resources = { en: { translation: en }, @@ -19,4 +20,5 @@ export const resources = { it: { translation: it }, de: { translation: de }, hr: { translation: hr }, + 'zh-CN': { translation: zhCN }, };