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
13 KiB
JSON
166 lines
13 KiB
JSON
{
|
|
"html_readability_error": "use original input, because can't apply html readability",
|
|
"vendor_not_configured": "vendor %s not configured",
|
|
"vendor_no_transcription_support": "vendor %s does not support audio transcription",
|
|
"transcription_model_required": "transcription model is required (use --transcribe-model)",
|
|
"youtube_not_configured": "YouTube is not configured, please run the setup procedure",
|
|
"youtube_api_key_required": "YouTube API key required for comments and metadata. Run 'fabric --setup' to configure",
|
|
"youtube_ytdlp_not_found": "yt-dlp not found in PATH. Please install yt-dlp to use YouTube transcript functionality",
|
|
"youtube_invalid_url": "invalid YouTube URL, can't get video or playlist ID: '%s'",
|
|
"youtube_url_is_playlist_not_video": "URL is a playlist, not a video",
|
|
"youtube_no_video_id_found": "no video ID found in URL",
|
|
"youtube_rate_limit_exceeded": "YouTube rate limit exceeded. Try again later or use different yt-dlp arguments like '--sleep-requests 1' to slow down requests.",
|
|
"youtube_auth_required_bot_detection": "YouTube requires authentication (bot detection). Use --yt-dlp-args='--cookies-from-browser BROWSER' where BROWSER is chrome, firefox, brave, etc.",
|
|
"youtube_ytdlp_stderr_error": "Error reading yt-dlp stderr",
|
|
"youtube_invalid_ytdlp_arguments": "invalid yt-dlp arguments: %v",
|
|
"youtube_failed_create_temp_dir": "failed to create temp directory: %v",
|
|
"youtube_no_transcript_content": "no transcript content found in VTT file",
|
|
"youtube_no_vtt_files_found": "no VTT files found in directory",
|
|
"youtube_failed_walk_directory": "failed to walk directory: %v",
|
|
"youtube_error_getting_video_details": "error getting video details: %v",
|
|
"youtube_invalid_duration_string": "invalid duration string: %s",
|
|
"youtube_error_getting_metadata": "error getting video metadata: %v",
|
|
"youtube_error_parsing_duration": "error parsing video duration: %v",
|
|
"youtube_error_getting_comments": "error getting comments: %v",
|
|
"youtube_error_saving_csv": "error saving videos to CSV: %v",
|
|
"youtube_no_video_found_with_id": "no video found with ID: %s",
|
|
"youtube_invalid_timestamp_format": "invalid timestamp format: %s",
|
|
"youtube_empty_seconds_string": "empty seconds string",
|
|
"youtube_invalid_seconds_format": "invalid seconds format %q: %w",
|
|
"error_fetching_playlist_videos": "error fetching playlist videos: %w",
|
|
"openai_api_base_url_not_configured": "API base URL not configured for provider %s",
|
|
"openai_failed_to_create_models_url": "failed to create models URL: %w",
|
|
"openai_unexpected_status_code_with_body": "unexpected status code: %d from provider %s, response body: %s",
|
|
"openai_unexpected_status_code_read_error_partial": "unexpected status code: %d from provider %s (error reading body: %v), partial response: %s",
|
|
"openai_unexpected_status_code_read_error": "unexpected status code: %d from provider %s (failed to read response body: %v)",
|
|
"openai_unable_to_parse_models_response": "unable to parse models response; raw response: %s",
|
|
"scraping_not_configured": "scraping functionality is not configured. Please set up Jina to enable scraping",
|
|
"could_not_determine_home_dir": "could not determine user home directory: %w",
|
|
"could_not_stat_env_file": "could not stat .env file: %w",
|
|
"could_not_create_config_dir": "could not create config directory: %w",
|
|
"could_not_create_env_file": "could not create .env file: %w",
|
|
"could_not_copy_to_clipboard": "could not copy to clipboard: %v",
|
|
"file_already_exists_not_overwriting": "file %s already exists, not overwriting. Rename the existing file or choose a different name",
|
|
"error_creating_file": "error creating file: %v",
|
|
"error_writing_to_file": "error writing to file: %v",
|
|
"error_creating_audio_file": "error creating audio file: %v",
|
|
"error_writing_audio_data": "error writing audio data to file: %v",
|
|
"tts_model_requires_audio_output": "TTS model '%s' requires audio output. Please specify an audio output file with -o flag (e.g., -o output.wav)",
|
|
"audio_output_file_specified_but_not_tts_model": "audio output file '%s' specified but model '%s' is not a TTS model. Please use a TTS model like gemini-2.5-flash-preview-tts",
|
|
"file_already_exists_choose_different": "file %s already exists. Please choose a different filename or remove the existing file",
|
|
"no_notification_system_available": "no notification system available",
|
|
"cannot_convert_string": "cannot convert string %q to %v",
|
|
"unsupported_conversion": "unsupported conversion from %v to %v",
|
|
"invalid_config_path": "invalid config path: %w",
|
|
"config_file_not_found": "config file not found: %s",
|
|
"error_reading_config_file": "error reading config file: %w",
|
|
"error_parsing_config_file": "error parsing config file: %w",
|
|
"error_reading_piped_message": "error reading piped message from stdin: %w",
|
|
"image_file_already_exists": "image file already exists: %s",
|
|
"invalid_image_file_extension": "invalid image file extension '%s'. Supported formats: .png, .jpeg, .jpg, .webp",
|
|
"image_parameters_require_image_file": "image parameters (--image-size, --image-quality, --image-background, --image-compression) can only be used with --image-file",
|
|
"invalid_image_size": "invalid image size '%s'. Supported sizes: 1024x1024, 1536x1024, 1024x1536, auto",
|
|
"invalid_image_quality": "invalid image quality '%s'. Supported qualities: low, medium, high, auto",
|
|
"invalid_image_background": "invalid image background '%s'. Supported backgrounds: opaque, transparent",
|
|
"image_compression_jpeg_webp_only": "image compression can only be used with JPEG and WebP formats, not %s",
|
|
"image_compression_range_error": "image compression must be between 0 and 100, got %d",
|
|
"transparent_background_png_webp_only": "transparent background can only be used with PNG and WebP formats, not %s",
|
|
"available_transcription_models": "Available transcription models:",
|
|
"tts_audio_generated_successfully": "TTS audio generated successfully and saved to: %s\n",
|
|
"fabric_command_complete": "Fabric Command Complete",
|
|
"fabric_command_complete_with_pattern": "Fabric: %s Complete",
|
|
"command_completed_successfully": "Command completed successfully",
|
|
"output_truncated": "Output: %s...",
|
|
"output_full": "Output: %s",
|
|
"choose_pattern_from_available": "Choose a pattern from the available patterns",
|
|
"pattern_variables_help": "Values for pattern variables, e.g. -v=#role:expert -v=#points:30",
|
|
"choose_context_from_available": "Choose a context from the available contexts",
|
|
"choose_session_from_available": "Choose a session from the available sessions",
|
|
"attachment_path_or_url_help": "Attachment path or URL (e.g. for OpenAI image recognition messages)",
|
|
"run_setup_for_reconfigurable_parts": "Run setup for all reconfigurable parts of fabric",
|
|
"set_temperature": "Set temperature",
|
|
"set_top_p": "Set top P",
|
|
"stream_help": "Stream",
|
|
"set_presence_penalty": "Set presence penalty",
|
|
"use_model_defaults_raw_help": "Use the defaults of the model without sending chat options (temperature, top_p, etc.). Only affects OpenAI-compatible providers. Anthropic models always use smart parameter selection to comply with model-specific requirements.",
|
|
"set_frequency_penalty": "Set frequency penalty",
|
|
"list_all_patterns": "List all patterns",
|
|
"list_all_available_models": "List all available models",
|
|
"list_all_contexts": "List all contexts",
|
|
"list_all_sessions": "List all sessions",
|
|
"update_patterns": "Update patterns",
|
|
"messages_to_send_to_chat": "Messages to send to chat",
|
|
"copy_to_clipboard": "Copy to clipboard",
|
|
"choose_model": "Choose model",
|
|
"specify_vendor_for_model": "Specify vendor for the selected model (e.g., -V \"LM Studio\" -m openai/gpt-oss-20b)",
|
|
"model_context_length_ollama": "Model context length (only affects ollama)",
|
|
"output_to_file": "Output to file",
|
|
"output_entire_session": "Output the entire session (also a temporary one) to the output file",
|
|
"number_of_latest_patterns": "Number of latest patterns to list",
|
|
"change_default_model": "Change default model",
|
|
"youtube_url_help": "YouTube video or play list \"URL\" to grab transcript, comments from it and send to chat or print it put to the console and store it in the output file",
|
|
"prefer_playlist_over_video": "Prefer playlist over video if both ids are present in the URL",
|
|
"grab_transcript_from_youtube": "Grab transcript from YouTube video and send to chat (it is used per default).",
|
|
"grab_transcript_with_timestamps": "Grab transcript from YouTube video with timestamps and send to chat",
|
|
"grab_comments_from_youtube": "Grab comments from YouTube video and send to chat",
|
|
"output_video_metadata": "Output video metadata",
|
|
"additional_yt_dlp_args": "Additional arguments to pass to yt-dlp (e.g. '--cookies-from-browser brave')",
|
|
"specify_language_code": "Specify the Language Code for the chat, e.g. -g=en -g=zh -g=pt-BR -g=pt-PT",
|
|
"scrape_website_url": "Scrape website URL to markdown using Jina AI",
|
|
"search_question_jina": "Search question using Jina AI",
|
|
"seed_for_lmm_generation": "Seed to be used for LMM generation",
|
|
"wipe_context": "Wipe context",
|
|
"wipe_session": "Wipe session",
|
|
"print_context": "Print context",
|
|
"print_session": "Print session",
|
|
"convert_html_readability": "Convert HTML input into a clean, readable view",
|
|
"apply_variables_to_input": "Apply variables to user input",
|
|
"disable_pattern_variable_replacement": "Disable pattern variable replacement",
|
|
"show_dry_run": "Show what would be sent to the model without actually sending it",
|
|
"serve_fabric_rest_api": "Serve the Fabric Rest API",
|
|
"serve_fabric_api_ollama_endpoints": "Serve the Fabric Rest API with ollama endpoints",
|
|
"address_to_bind_rest_api": "The address to bind the REST API",
|
|
"api_key_secure_server_routes": "API key used to secure server routes",
|
|
"path_to_yaml_config": "Path to YAML config file",
|
|
"print_current_version": "Print current version",
|
|
"list_all_registered_extensions": "List all registered extensions",
|
|
"register_new_extension": "Register a new extension from config file path",
|
|
"remove_registered_extension": "Remove a registered extension by name",
|
|
"choose_strategy_from_available": "Choose a strategy from the available strategies",
|
|
"list_all_strategies": "List all strategies",
|
|
"list_all_vendors": "List all vendors",
|
|
"output_raw_list_shell_completion": "Output raw list without headers/formatting (for shell completion)",
|
|
"enable_web_search_tool": "Enable web search tool for supported models (Anthropic, OpenAI, Gemini)",
|
|
"set_location_web_search": "Set location for web search results (e.g., 'America/Los_Angeles')",
|
|
"save_generated_image_to_file": "Save generated image to specified file path (e.g., 'output.png')",
|
|
"image_dimensions_help": "Image dimensions: 1024x1024, 1536x1024, 1024x1536, auto (default: auto)",
|
|
"image_quality_help": "Image quality: low, medium, high, auto (default: auto)",
|
|
"compression_level_jpeg_webp": "Compression level 0-100 for JPEG/WebP formats (default: not set)",
|
|
"background_type_help": "Background type: opaque, transparent (default: opaque, only for PNG/WebP)",
|
|
"suppress_thinking_tags": "Suppress text enclosed in thinking tags",
|
|
"start_tag_thinking_sections": "Start tag for thinking sections",
|
|
"end_tag_thinking_sections": "End tag for thinking sections",
|
|
"disable_openai_responses_api": "Disable OpenAI Responses API (default: false)",
|
|
"audio_video_file_transcribe": "Audio or video file to transcribe",
|
|
"model_for_transcription": "Model to use for transcription (separate from chat model)",
|
|
"split_media_files_ffmpeg": "Split audio/video files larger than 25MB using ffmpeg",
|
|
"tts_voice_name": "TTS voice name for supported models (e.g., Kore, Charon, Puck)",
|
|
"list_gemini_tts_voices": "List all available Gemini TTS voices",
|
|
"list_transcription_models": "List all available transcription models",
|
|
"send_desktop_notification": "Send desktop notification when command completes",
|
|
"custom_notification_command": "Custom command to run for notifications (overrides built-in notifications)",
|
|
"set_reasoning_thinking_level": "Set reasoning/thinking level (e.g., off, low, medium, high, or numeric tokens for Anthropic or Google Gemini)",
|
|
"set_debug_level": "Set debug level (0=off, 1=basic, 2=detailed, 3=trace)",
|
|
"usage_header": "Usage:",
|
|
"application_options_header": "Application Options:",
|
|
"help_options_header": "Help Options:",
|
|
"help_message": "Show this help message",
|
|
"options_placeholder": "[OPTIONS]",
|
|
"available_vendors_header": "Available Vendors:",
|
|
"available_models_header": "Available models",
|
|
"no_items_found": "No %s",
|
|
"no_description_available": "No description available",
|
|
"i18n_download_failed": "Failed to download translation for language '%s': %v",
|
|
"i18n_load_failed": "Failed to load translation file: %v"
|
|
}
|