mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-01-09 14:28:01 -05:00
- Add GitHub Models to supported OpenAI-compatible providers list - Implement direct HTTP fallback for non-standard model responses - Centralize model fetching logic in openai package - Upgrade openai-go SDK dependency from v1.8.2 to v1.12.0 - Remove redundant model fetching code from openai_compatible package - Add comprehensive GitHub Models setup documentation (700+ lines) - Support custom models URL endpoint per provider configuration - Add unit tests for direct model fetching functionality - Update internationalization strings for model fetching errors - Add VSCode dictionary entries for "azureml" and "Jamba"
166 lines
12 KiB
JSON
166 lines
12 KiB
JSON
{
|
||
"html_readability_error": "使用原始输入,因为无法应用 HTML 可读性处理",
|
||
"vendor_not_configured": "供应商 %s 未配置",
|
||
"vendor_no_transcription_support": "供应商 %s 不支持音频转录",
|
||
"transcription_model_required": "需要转录模型(使用 --transcribe-model)",
|
||
"youtube_not_configured": "YouTube 未配置,请运行设置程序",
|
||
"youtube_api_key_required": "评论和元数据需要 YouTube API 密钥。运行 'fabric --setup' 进行配置",
|
||
"youtube_ytdlp_not_found": "在 PATH 中未找到 yt-dlp。请安装 yt-dlp 以使用 YouTube 转录功能",
|
||
"youtube_invalid_url": "无效的 YouTube URL,无法获取视频或播放列表 ID:'%s'",
|
||
"youtube_url_is_playlist_not_video": "URL 是播放列表,而不是视频",
|
||
"youtube_no_video_id_found": "在 URL 中未找到视频 ID",
|
||
"youtube_rate_limit_exceeded": "超过 YouTube 速率限制。请稍后重试,或使用不同的 yt-dlp 参数(如 '--sleep-requests 1')来减慢请求速度。",
|
||
"youtube_auth_required_bot_detection": "YouTube 需要身份验证(机器人检测)。使用 --yt-dlp-args='--cookies-from-browser BROWSER',其中 BROWSER 可以是 chrome、firefox、brave 等。",
|
||
"youtube_ytdlp_stderr_error": "读取 yt-dlp stderr 时出错",
|
||
"youtube_invalid_ytdlp_arguments": "无效的 yt-dlp 参数:%v",
|
||
"youtube_failed_create_temp_dir": "创建临时目录失败:%v",
|
||
"youtube_no_transcript_content": "在 VTT 文件中未找到转录内容",
|
||
"youtube_no_vtt_files_found": "在目录中未找到 VTT 文件",
|
||
"youtube_failed_walk_directory": "遍历目录失败:%v",
|
||
"youtube_error_getting_video_details": "获取视频详情时出错:%v",
|
||
"youtube_invalid_duration_string": "无效的时长字符串:%s",
|
||
"youtube_error_getting_metadata": "获取视频元数据时出错:%v",
|
||
"youtube_error_parsing_duration": "解析视频时长时出错:%v",
|
||
"youtube_error_getting_comments": "获取评论时出错:%v",
|
||
"youtube_error_saving_csv": "将视频保存为 CSV 时出错:%v",
|
||
"youtube_no_video_found_with_id": "未找到 ID 为 %s 的视频",
|
||
"youtube_invalid_timestamp_format": "无效的时间戳格式:%s",
|
||
"youtube_empty_seconds_string": "秒数字符串为空",
|
||
"youtube_invalid_seconds_format": "无效的秒数格式 %q:%w",
|
||
"error_fetching_playlist_videos": "获取播放列表视频时出错: %w",
|
||
"openai_api_base_url_not_configured": "未为提供商 %s 配置 API 基础 URL",
|
||
"openai_failed_to_create_models_url": "创建模型 URL 失败:%w",
|
||
"openai_unexpected_status_code_with_body": "意外的状态码:来自提供商 %s 的 %d,响应主体:%s",
|
||
"openai_unexpected_status_code_read_error_partial": "意外的状态码:来自提供商 %s 的 %d(读取主体错误:%v),部分响应:%s",
|
||
"openai_unexpected_status_code_read_error": "意外的状态码:来自提供商 %s 的 %d(读取响应主体失败:%v)",
|
||
"openai_unable_to_parse_models_response": "无法解析模型响应;原始响应:%s",
|
||
"scraping_not_configured": "抓取功能未配置。请设置 Jina 以启用抓取功能",
|
||
"could_not_determine_home_dir": "无法确定用户主目录: %w",
|
||
"could_not_stat_env_file": "无法获取 .env 文件状态: %w",
|
||
"could_not_create_config_dir": "无法创建配置目录: %w",
|
||
"could_not_create_env_file": "无法创建 .env 文件: %w",
|
||
"could_not_copy_to_clipboard": "无法复制到剪贴板: %v",
|
||
"file_already_exists_not_overwriting": "文件 %s 已存在,不会覆盖。请重命名现有文件或选择其他名称",
|
||
"error_creating_file": "创建文件时出错: %v",
|
||
"error_writing_to_file": "写入文件时出错: %v",
|
||
"error_creating_audio_file": "创建音频文件时出错: %v",
|
||
"error_writing_audio_data": "写入音频数据到文件时出错: %v",
|
||
"tts_model_requires_audio_output": "TTS 模型 '%s' 需要音频输出。请使用 -o 标志指定音频输出文件(例如,-o output.wav)",
|
||
"audio_output_file_specified_but_not_tts_model": "指定了音频输出文件 '%s' 但模型 '%s' 不是 TTS 模型。请使用 TTS 模型,如 gemini-2.5-flash-preview-tts",
|
||
"file_already_exists_choose_different": "文件 %s 已存在。请选择不同的文件名或删除现有文件",
|
||
"no_notification_system_available": "没有可用的通知系统",
|
||
"cannot_convert_string": "无法将字符串 %q 转换为 %v",
|
||
"unsupported_conversion": "不支持从 %v 到 %v 的转换",
|
||
"invalid_config_path": "无效的配置路径: %w",
|
||
"config_file_not_found": "找不到配置文件: %s",
|
||
"error_reading_config_file": "读取配置文件时出错: %w",
|
||
"error_parsing_config_file": "解析配置文件时出错: %w",
|
||
"error_reading_piped_message": "从 stdin 读取管道消息时出错: %w",
|
||
"image_file_already_exists": "图像文件已存在: %s",
|
||
"invalid_image_file_extension": "无效的图像文件扩展名 '%s'。支持的格式:.png、.jpeg、.jpg、.webp",
|
||
"image_parameters_require_image_file": "图像参数(--image-size、--image-quality、--image-background、--image-compression)只能与 --image-file 一起使用",
|
||
"invalid_image_size": "无效的图像尺寸 '%s'。支持的尺寸:1024x1024、1536x1024、1024x1536、auto",
|
||
"invalid_image_quality": "无效的图像质量 '%s'。支持的质量:low、medium、high、auto",
|
||
"invalid_image_background": "无效的图像背景 '%s'。支持的背景:opaque、transparent",
|
||
"image_compression_jpeg_webp_only": "图像压缩只能用于 JPEG 和 WebP 格式,不支持 %s",
|
||
"image_compression_range_error": "图像压缩必须在 0 到 100 之间,得到 %d",
|
||
"transparent_background_png_webp_only": "透明背景只能用于 PNG 和 WebP 格式,不支持 %s",
|
||
"available_transcription_models": "可用的转录模型:",
|
||
"tts_audio_generated_successfully": "TTS 音频生成成功并保存到: %s\n",
|
||
"fabric_command_complete": "Fabric 命令完成",
|
||
"fabric_command_complete_with_pattern": "Fabric: %s 完成",
|
||
"command_completed_successfully": "命令执行成功",
|
||
"output_truncated": "输出: %s...",
|
||
"output_full": "输出: %s",
|
||
"choose_pattern_from_available": "从可用模式中选择一个模式",
|
||
"pattern_variables_help": "模式变量的值,例如 -v=#role:expert -v=#points:30",
|
||
"choose_context_from_available": "从可用上下文中选择一个上下文",
|
||
"choose_session_from_available": "从可用会话中选择一个会话",
|
||
"attachment_path_or_url_help": "附件路径或 URL(例如用于 OpenAI 图像识别消息)",
|
||
"run_setup_for_reconfigurable_parts": "为 fabric 的所有可重新配置部分运行设置",
|
||
"set_temperature": "设置温度",
|
||
"set_top_p": "设置 top P",
|
||
"stream_help": "流式传输",
|
||
"set_presence_penalty": "设置存在惩罚",
|
||
"use_model_defaults_raw_help": "在不发送聊天选项(temperature、top_p 等)的情况下使用模型默认值。仅影响兼容 OpenAI 的提供商。Anthropic 模型始终使用智能参数选择以满足特定模型的要求。",
|
||
"set_frequency_penalty": "设置频率惩罚",
|
||
"list_all_patterns": "列出所有模式",
|
||
"list_all_available_models": "列出所有可用模型",
|
||
"list_all_contexts": "列出所有上下文",
|
||
"list_all_sessions": "列出所有会话",
|
||
"update_patterns": "更新模式",
|
||
"messages_to_send_to_chat": "发送到聊天的消息",
|
||
"copy_to_clipboard": "复制到剪贴板",
|
||
"choose_model": "选择模型",
|
||
"specify_vendor_for_model": "为所选模型指定供应商(例如,-V \"LM Studio\" -m openai/gpt-oss-20b)",
|
||
"model_context_length_ollama": "模型上下文长度(仅影响 ollama)",
|
||
"output_to_file": "输出到文件",
|
||
"output_entire_session": "将整个会话(包括临时会话)输出到输出文件",
|
||
"number_of_latest_patterns": "要列出的最新模式数量",
|
||
"change_default_model": "更改默认模型",
|
||
"youtube_url_help": "YouTube 视频或播放列表 \"URL\",用于获取转录、评论并发送到聊天或打印到控制台并存储到输出文件",
|
||
"prefer_playlist_over_video": "如果 URL 中同时存在两个 ID,则优先选择播放列表而不是视频",
|
||
"grab_transcript_from_youtube": "从 YouTube 视频获取转录并发送到聊天(默认使用)。",
|
||
"grab_transcript_with_timestamps": "从 YouTube 视频获取带时间戳的转录并发送到聊天",
|
||
"grab_comments_from_youtube": "从 YouTube 视频获取评论并发送到聊天",
|
||
"output_video_metadata": "输出视频元数据",
|
||
"additional_yt_dlp_args": "传递给 yt-dlp 的其他参数(例如 '--cookies-from-browser brave')",
|
||
"specify_language_code": "指定聊天的语言代码,例如 -g=en -g=zh -g=pt-BR -g=pt-PT",
|
||
"scrape_website_url": "使用 Jina AI 将网站 URL 抓取为 markdown",
|
||
"search_question_jina": "使用 Jina AI 搜索问题",
|
||
"seed_for_lmm_generation": "用于 LMM 生成的种子",
|
||
"wipe_context": "清除上下文",
|
||
"wipe_session": "清除会话",
|
||
"print_context": "打印上下文",
|
||
"print_session": "打印会话",
|
||
"convert_html_readability": "将 HTML 输入转换为清洁、可读的视图",
|
||
"apply_variables_to_input": "将变量应用于用户输入",
|
||
"disable_pattern_variable_replacement": "禁用模式变量替换",
|
||
"show_dry_run": "显示将发送给模型的内容而不实际发送",
|
||
"serve_fabric_rest_api": "提供 Fabric REST API 服务",
|
||
"serve_fabric_api_ollama_endpoints": "提供带有 ollama 端点的 Fabric REST API 服务",
|
||
"address_to_bind_rest_api": "绑定 REST API 的地址",
|
||
"api_key_secure_server_routes": "用于保护服务器路由的 API 密钥",
|
||
"path_to_yaml_config": "YAML 配置文件路径",
|
||
"print_current_version": "打印当前版本",
|
||
"list_all_registered_extensions": "列出所有已注册的扩展",
|
||
"register_new_extension": "从配置文件路径注册新扩展",
|
||
"remove_registered_extension": "按名称删除已注册的扩展",
|
||
"choose_strategy_from_available": "从可用策略中选择一个策略",
|
||
"list_all_strategies": "列出所有策略",
|
||
"list_all_vendors": "列出所有供应商",
|
||
"output_raw_list_shell_completion": "输出不带标题/格式的原始列表(用于 shell 补全)",
|
||
"enable_web_search_tool": "为支持的模型启用网络搜索工具(Anthropic、OpenAI、Gemini)",
|
||
"set_location_web_search": "设置网络搜索结果的位置(例如,'America/Los_Angeles')",
|
||
"save_generated_image_to_file": "将生成的图像保存到指定文件路径(例如,'output.png')",
|
||
"image_dimensions_help": "图像尺寸:1024x1024、1536x1024、1024x1536、auto(默认:auto)",
|
||
"image_quality_help": "图像质量:low、medium、high、auto(默认:auto)",
|
||
"compression_level_jpeg_webp": "JPEG/WebP 格式的压缩级别 0-100(默认:未设置)",
|
||
"background_type_help": "背景类型:opaque、transparent(默认:opaque,仅适用于 PNG/WebP)",
|
||
"suppress_thinking_tags": "抑制包含在思考标签中的文本",
|
||
"start_tag_thinking_sections": "思考部分的开始标签",
|
||
"end_tag_thinking_sections": "思考部分的结束标签",
|
||
"disable_openai_responses_api": "禁用 OpenAI 响应 API(默认:false)",
|
||
"audio_video_file_transcribe": "要转录的音频或视频文件",
|
||
"model_for_transcription": "用于转录的模型(与聊天模型分离)",
|
||
"split_media_files_ffmpeg": "使用 ffmpeg 分割大于 25MB 的音频/视频文件",
|
||
"tts_voice_name": "支持模型的 TTS 语音名称(例如,Kore、Charon、Puck)",
|
||
"list_gemini_tts_voices": "列出所有可用的 Gemini TTS 语音",
|
||
"list_transcription_models": "列出所有可用的转录模型",
|
||
"send_desktop_notification": "命令完成时发送桌面通知",
|
||
"custom_notification_command": "用于通知的自定义命令(覆盖内置通知)",
|
||
"set_reasoning_thinking_level": "设置推理/思考级别(例如,off、low、medium、high,或 Anthropic 或 Google Gemini 的数字令牌)",
|
||
"set_debug_level": "设置调试级别(0=关闭,1=基本,2=详细,3=跟踪)",
|
||
"usage_header": "用法:",
|
||
"application_options_header": "应用程序选项:",
|
||
"help_options_header": "帮助选项:",
|
||
"help_message": "显示此帮助消息",
|
||
"options_placeholder": "[选项]",
|
||
"available_vendors_header": "可用供应商:",
|
||
"available_models_header": "可用模型",
|
||
"no_items_found": "没有 %s",
|
||
"no_description_available": "没有可用描述",
|
||
"i18n_download_failed": "下载语言 '%s' 的翻译失败: %v",
|
||
"i18n_load_failed": "加载翻译文件失败: %v"
|
||
}
|