mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-01-09 22:38:10 -05:00
feat(i18n): add de/fr/ja/pt/zh/fa locales; expand tests, improve changelog spacing
CHANGES - Add DE, FR, JA, PT, ZH, FA i18n locale files. - Expand i18n tests with table-driven multilingual coverage. - Verify 'html_readability_error' translations across all supported languages. - Update README with release notes for added languages. - Watch new locale and test files in VSCode. - Insert blank lines between aggregated PR changelog sections. - Append direct commits section only when content exists.
This commit is contained in:
8
.vscode/settings.json
vendored
8
.vscode/settings.json
vendored
@@ -192,7 +192,13 @@
|
||||
"web/static/data/pattern_descriptions.json",
|
||||
"scripts/pattern_descriptions/*.json",
|
||||
"data/patterns/pattern_explanations.md",
|
||||
"internal/i18n/locales/es.json"
|
||||
"internal/i18n/locales/es.json",
|
||||
"internal/i18n/locales/fr.json",
|
||||
"internal/i18n/locales/de.json",
|
||||
"internal/i18n/locales/it.json",
|
||||
"internal/i18n/locales/pt.json",
|
||||
"internal/i18n/locales/zh.json",
|
||||
"internal/i18n/i18n_test.go"
|
||||
],
|
||||
"markdownlint.config": {
|
||||
"MD004": false,
|
||||
|
||||
@@ -72,6 +72,8 @@ Below are the **new features and capabilities** we've added (newest first):
|
||||
|
||||
### Recent Major Features
|
||||
|
||||
- [v1.4.311](https://github.com/danielmiessler/fabric/releases/tag/v1.4.311) (Sep 13, 2025) — **More internationalization support**: Adds de (German), fa (Persian / Farsi), fr (French), it (Italian),
|
||||
ja (Japanese), pt (Portuguese), zh (Chinese)
|
||||
- [v1.4.309](https://github.com/danielmiessler/fabric/releases/tag/v1.4.309) (Sep 9, 2025) — **Comprehensive internationalization support**: Includes English and Spanish locale files.
|
||||
- [v1.4.303](https://github.com/danielmiessler/fabric/releases/tag/v1.4.303) (Aug 29, 2025) — **New Binary Releases**: Linux ARM and Windows ARM targets. You can run Fabric on the Raspberry PI and on your Windows Surface!
|
||||
- [v1.4.294](https://github.com/danielmiessler/fabric/releases/tag/v1.4.294) (Aug 20, 2025) — **Venice AI Support**: Added the Venice AI provider. Venice is a Privacy-First, Open-Source AI provider. See their ["About Venice"](https://docs.venice.ai/overview/about-venice) page for details.
|
||||
|
||||
7
cmd/generate_changelog/incoming/1767.txt
Normal file
7
cmd/generate_changelog/incoming/1767.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
### PR [#1767](https://github.com/danielmiessler/Fabric/pull/1767) by [ksylvan](https://github.com/ksylvan): feat(i18n): add de, fr, ja, pt, zh, fa locales; expand tests
|
||||
|
||||
- Add DE, FR, JA, PT, ZH, FA i18n locale files
|
||||
- Expand i18n tests with table-driven multilingual coverage
|
||||
- Verify 'html_readability_error' translations across all supported languages
|
||||
- Update README with release notes for added languages
|
||||
- Insert blank lines between aggregated PR changelog sections
|
||||
@@ -133,14 +133,17 @@ func (g *Generator) CreateNewChangelogEntry(version string) error {
|
||||
var processingErrors []string
|
||||
|
||||
// First, aggregate all incoming PR files
|
||||
for _, file := range files {
|
||||
for i, file := range files {
|
||||
data, err := os.ReadFile(file)
|
||||
if err != nil {
|
||||
processingErrors = append(processingErrors, fmt.Sprintf("failed to read %s: %v", file, err))
|
||||
continue // Continue to attempt processing other files
|
||||
}
|
||||
content.WriteString(string(data))
|
||||
// Note: No extra newline needed here as each incoming file already ends with a newline
|
||||
// Add an extra newline between PR sections for proper spacing
|
||||
if i < len(files)-1 {
|
||||
content.WriteString("\n")
|
||||
}
|
||||
}
|
||||
|
||||
if len(processingErrors) > 0 {
|
||||
@@ -177,7 +180,13 @@ func (g *Generator) CreateNewChangelogEntry(version string) error {
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get direct commits since last release: %w", err)
|
||||
}
|
||||
content.WriteString(directCommitsContent)
|
||||
if directCommitsContent != "" {
|
||||
// Add spacing before direct commits section if we have PR content
|
||||
if content.Len() > 0 {
|
||||
content.WriteString("\n")
|
||||
}
|
||||
content.WriteString(directCommitsContent)
|
||||
}
|
||||
|
||||
// Check if we have any content at all
|
||||
if content.Len() == 0 {
|
||||
|
||||
@@ -7,16 +7,34 @@ import (
|
||||
)
|
||||
|
||||
func TestTranslation(t *testing.T) {
|
||||
loc, err := Init("es")
|
||||
if err != nil {
|
||||
t.Fatalf("init failed: %v", err)
|
||||
testCases := []struct {
|
||||
lang string
|
||||
expected string
|
||||
}{
|
||||
{"es", "usa la entrada original, porque no se puede aplicar la legibilidad de html"},
|
||||
{"en", "use original input, because can't apply html readability"},
|
||||
{"zh", "使用原始输入,因为无法应用 HTML 可读性处理"},
|
||||
{"de", "verwende ursprüngliche Eingabe, da HTML-Lesbarkeit nicht angewendet werden kann"},
|
||||
{"ja", "HTML可読性を適用できないため、元の入力を使用します"},
|
||||
{"fr", "utilise l'entrée originale, car la lisibilité HTML ne peut pas être appliquée"},
|
||||
{"pt", "usa a entrada original, porque não é possível aplicar a legibilidade HTML"},
|
||||
{"fa", "از ورودی اصلی استفاده کن، چون نمیتوان خوانایی HTML را اعمال کرد"},
|
||||
{"it", "usa l'input originale, perché non è possibile applicare la leggibilità HTML"},
|
||||
}
|
||||
msg, err := loc.Localize(&gi18n.LocalizeConfig{MessageID: "html_readability_error"})
|
||||
if err != nil {
|
||||
t.Fatalf("localize failed: %v", err)
|
||||
}
|
||||
expected := "usa la entrada original, porque no se puede aplicar la legibilidad de html"
|
||||
if msg != expected {
|
||||
t.Fatalf("unexpected translation: %s", msg)
|
||||
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.lang, func(t *testing.T) {
|
||||
loc, err := Init(tc.lang)
|
||||
if err != nil {
|
||||
t.Fatalf("init failed for %s: %v", tc.lang, err)
|
||||
}
|
||||
msg, err := loc.Localize(&gi18n.LocalizeConfig{MessageID: "html_readability_error"})
|
||||
if err != nil {
|
||||
t.Fatalf("localize failed for %s: %v", tc.lang, err)
|
||||
}
|
||||
if msg != tc.expected {
|
||||
t.Fatalf("unexpected translation for %s: got %s, expected %s", tc.lang, msg, tc.expected)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
136
internal/i18n/locales/de.json
Normal file
136
internal/i18n/locales/de.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"html_readability_error": "verwende ursprüngliche Eingabe, da HTML-Lesbarkeit nicht angewendet werden kann",
|
||||
"vendor_not_configured": "Anbieter %s ist nicht konfiguriert",
|
||||
"vendor_no_transcription_support": "Anbieter %s unterstützt keine Audio-Transkription",
|
||||
"transcription_model_required": "Transkriptionsmodell ist erforderlich (verwende --transcribe-model)",
|
||||
"youtube_not_configured": "YouTube ist nicht konfiguriert, bitte führe das Setup-Verfahren aus",
|
||||
"error_fetching_playlist_videos": "Fehler beim Abrufen der Playlist-Videos: %w",
|
||||
"scraping_not_configured": "Scraping-Funktionalität ist nicht konfiguriert. Bitte richte Jina ein, um Scraping zu aktivieren",
|
||||
"could_not_determine_home_dir": "konnte Benutzer-Home-Verzeichnis nicht bestimmen: %w",
|
||||
"could_not_stat_env_file": "konnte .env-Datei nicht überprüfen: %w",
|
||||
"could_not_create_config_dir": "konnte Konfigurationsverzeichnis nicht erstellen: %w",
|
||||
"could_not_create_env_file": "konnte .env-Datei nicht erstellen: %w",
|
||||
"could_not_copy_to_clipboard": "konnte nicht in die Zwischenablage kopieren: %v",
|
||||
"file_already_exists_not_overwriting": "Datei %s existiert bereits, wird nicht überschrieben. Benenne die vorhandene Datei um oder wähle einen anderen Namen",
|
||||
"error_creating_file": "Fehler beim Erstellen der Datei: %v",
|
||||
"error_writing_to_file": "Fehler beim Schreiben in die Datei: %v",
|
||||
"error_creating_audio_file": "Fehler beim Erstellen der Audio-Datei: %v",
|
||||
"error_writing_audio_data": "Fehler beim Schreiben von Audio-Daten in die Datei: %v",
|
||||
"tts_model_requires_audio_output": "TTS-Modell '%s' benötigt Audio-Ausgabe. Bitte gib eine Audio-Ausgabedatei mit dem -o Flag an (z.B., -o output.wav)",
|
||||
"audio_output_file_specified_but_not_tts_model": "Audio-Ausgabedatei '%s' angegeben, aber Modell '%s' ist kein TTS-Modell. Bitte verwende ein TTS-Modell wie gemini-2.5-flash-preview-tts",
|
||||
"file_already_exists_choose_different": "Datei %s existiert bereits. Bitte wähle einen anderen Dateinamen oder entferne die vorhandene Datei",
|
||||
"no_notification_system_available": "kein Benachrichtigungssystem verfügbar",
|
||||
"cannot_convert_string": "kann String %q nicht zu %v konvertieren",
|
||||
"unsupported_conversion": "nicht unterstützte Konvertierung von %v zu %v",
|
||||
"invalid_config_path": "ungültiger Konfigurationspfad: %w",
|
||||
"config_file_not_found": "Konfigurationsdatei nicht gefunden: %s",
|
||||
"error_reading_config_file": "Fehler beim Lesen der Konfigurationsdatei: %w",
|
||||
"error_parsing_config_file": "Fehler beim Parsen der Konfigurationsdatei: %w",
|
||||
"error_reading_piped_message": "Fehler beim Lesen der weitergeleiteten Nachricht von stdin: %w",
|
||||
"image_file_already_exists": "Bilddatei existiert bereits: %s",
|
||||
"invalid_image_file_extension": "ungültige Bilddatei-Erweiterung '%s'. Unterstützte Formate: .png, .jpeg, .jpg, .webp",
|
||||
"image_parameters_require_image_file": "Bildparameter (--image-size, --image-quality, --image-background, --image-compression) können nur mit --image-file verwendet werden",
|
||||
"invalid_image_size": "ungültige Bildgröße '%s'. Unterstützte Größen: 1024x1024, 1536x1024, 1024x1536, auto",
|
||||
"invalid_image_quality": "ungültige Bildqualität '%s'. Unterstützte Qualitäten: low, medium, high, auto",
|
||||
"invalid_image_background": "ungültiger Bildhintergrund '%s'. Unterstützte Hintergründe: opaque, transparent",
|
||||
"image_compression_jpeg_webp_only": "Bildkomprimierung kann nur mit JPEG- und WebP-Formaten verwendet werden, nicht %s",
|
||||
"image_compression_range_error": "Bildkomprimierung muss zwischen 0 und 100 liegen, erhalten: %d",
|
||||
"transparent_background_png_webp_only": "transparenter Hintergrund kann nur mit PNG- und WebP-Formaten verwendet werden, nicht %s",
|
||||
"available_transcription_models": "Verfügbare Transkriptionsmodelle:",
|
||||
"tts_audio_generated_successfully": "TTS-Audio erfolgreich generiert und gespeichert unter: %s\n",
|
||||
"fabric_command_complete": "Fabric-Befehl abgeschlossen",
|
||||
"fabric_command_complete_with_pattern": "Fabric: %s abgeschlossen",
|
||||
"command_completed_successfully": "Befehl erfolgreich abgeschlossen",
|
||||
"output_truncated": "Ausgabe: %s...",
|
||||
"output_full": "Ausgabe: %s",
|
||||
"choose_pattern_from_available": "Wähle ein Muster aus den verfügbaren Mustern",
|
||||
"pattern_variables_help": "Werte für Mustervariablen, z.B. -v=#role:expert -v=#points:30",
|
||||
"choose_context_from_available": "Wähle einen Kontext aus den verfügbaren Kontexten",
|
||||
"choose_session_from_available": "Wähle eine Sitzung aus den verfügbaren Sitzungen",
|
||||
"attachment_path_or_url_help": "Anhangspfad oder URL (z.B. für OpenAI-Bilderkennungsnachrichten)",
|
||||
"run_setup_for_reconfigurable_parts": "Setup für alle rekonfigurierbaren Teile von Fabric ausführen",
|
||||
"set_temperature": "Temperatur festlegen",
|
||||
"set_top_p": "Top P festlegen",
|
||||
"stream_help": "Streaming",
|
||||
"set_presence_penalty": "Präsenzstrafe festlegen",
|
||||
"use_model_defaults_raw_help": "Verwende die Standardwerte des Modells ohne Senden von Chat-Optionen (wie Temperatur usw.) und verwende die Benutzerrolle anstelle der Systemrolle für Muster.",
|
||||
"set_frequency_penalty": "Häufigkeitsstrafe festlegen",
|
||||
"list_all_patterns": "Alle Muster auflisten",
|
||||
"list_all_available_models": "Alle verfügbaren Modelle auflisten",
|
||||
"list_all_contexts": "Alle Kontexte auflisten",
|
||||
"list_all_sessions": "Alle Sitzungen auflisten",
|
||||
"update_patterns": "Muster aktualisieren",
|
||||
"messages_to_send_to_chat": "Nachrichten zum Senden an den Chat",
|
||||
"copy_to_clipboard": "In Zwischenablage kopieren",
|
||||
"choose_model": "Modell wählen",
|
||||
"specify_vendor_for_model": "Anbieter für das ausgewählte Modell angeben (z.B., -V \"LM Studio\" -m openai/gpt-oss-20b)",
|
||||
"model_context_length_ollama": "Modell-Kontextlänge (betrifft nur ollama)",
|
||||
"output_to_file": "Ausgabe in Datei",
|
||||
"output_entire_session": "Gesamte Sitzung (auch eine temporäre) in die Ausgabedatei ausgeben",
|
||||
"number_of_latest_patterns": "Anzahl der neuesten Muster zum Auflisten",
|
||||
"change_default_model": "Standardmodell ändern",
|
||||
"youtube_url_help": "YouTube-Video oder Playlist-\"URL\" zum Abrufen von Transkript und Kommentaren und Senden an Chat oder Ausgabe in Konsole und Speichern in Ausgabedatei",
|
||||
"prefer_playlist_over_video": "Playlist gegenüber Video bevorzugen, wenn beide IDs in der URL vorhanden sind",
|
||||
"grab_transcript_from_youtube": "Transkript von YouTube-Video abrufen und an Chat senden (wird standardmäßig verwendet).",
|
||||
"grab_transcript_with_timestamps": "Transkript von YouTube-Video mit Zeitstempeln abrufen und an Chat senden",
|
||||
"grab_comments_from_youtube": "Kommentare von YouTube-Video abrufen und an Chat senden",
|
||||
"output_video_metadata": "Video-Metadaten ausgeben",
|
||||
"additional_yt_dlp_args": "Zusätzliche Argumente für yt-dlp (z.B. '--cookies-from-browser brave')",
|
||||
"specify_language_code": "Sprachcode für den Chat angeben, z.B. -g=en -g=zh",
|
||||
"scrape_website_url": "Website-URL zu Markdown mit Jina AI scrapen",
|
||||
"search_question_jina": "Suchanfrage mit Jina AI",
|
||||
"seed_for_lmm_generation": "Seed für LMM-Generierung",
|
||||
"wipe_context": "Kontext löschen",
|
||||
"wipe_session": "Sitzung löschen",
|
||||
"print_context": "Kontext ausgeben",
|
||||
"print_session": "Sitzung ausgeben",
|
||||
"convert_html_readability": "HTML-Eingabe in eine saubere, lesbare Ansicht konvertieren",
|
||||
"apply_variables_to_input": "Variablen auf Benutzereingabe anwenden",
|
||||
"disable_pattern_variable_replacement": "Mustervariablenersetzung deaktivieren",
|
||||
"show_dry_run": "Zeige, was an das Modell gesendet würde, ohne es tatsächlich zu senden",
|
||||
"serve_fabric_rest_api": "Fabric REST API bereitstellen",
|
||||
"serve_fabric_api_ollama_endpoints": "Fabric REST API mit ollama-Endpunkten bereitstellen",
|
||||
"address_to_bind_rest_api": "Adresse zum Binden der REST API",
|
||||
"api_key_secure_server_routes": "API-Schlüssel zum Sichern der Server-Routen",
|
||||
"path_to_yaml_config": "Pfad zur YAML-Konfigurationsdatei",
|
||||
"print_current_version": "Aktuelle Version ausgeben",
|
||||
"list_all_registered_extensions": "Alle registrierten Erweiterungen auflisten",
|
||||
"register_new_extension": "Neue Erweiterung aus Konfigurationsdateipfad registrieren",
|
||||
"remove_registered_extension": "Registrierte Erweiterung nach Name entfernen",
|
||||
"choose_strategy_from_available": "Strategie aus den verfügbaren Strategien wählen",
|
||||
"list_all_strategies": "Alle Strategien auflisten",
|
||||
"list_all_vendors": "Alle Anbieter auflisten",
|
||||
"output_raw_list_shell_completion": "Rohe Liste ohne Kopfzeilen/Formatierung ausgeben (für Shell-Vervollständigung)",
|
||||
"enable_web_search_tool": "Web-Such-Tool für unterstützte Modelle aktivieren (Anthropic, OpenAI, Gemini)",
|
||||
"set_location_web_search": "Standort für Web-Suchergebnisse festlegen (z.B., 'America/Los_Angeles')",
|
||||
"save_generated_image_to_file": "Generiertes Bild in angegebenem Dateipfad speichern (z.B., 'output.png')",
|
||||
"image_dimensions_help": "Bildabmessungen: 1024x1024, 1536x1024, 1024x1536, auto (Standard: auto)",
|
||||
"image_quality_help": "Bildqualität: low, medium, high, auto (Standard: auto)",
|
||||
"compression_level_jpeg_webp": "Komprimierungslevel 0-100 für JPEG/WebP-Formate (Standard: nicht gesetzt)",
|
||||
"background_type_help": "Hintergrundtyp: opaque, transparent (Standard: opaque, nur für PNG/WebP)",
|
||||
"suppress_thinking_tags": "In Denk-Tags eingeschlossenen Text unterdrücken",
|
||||
"start_tag_thinking_sections": "Start-Tag für Denk-Abschnitte",
|
||||
"end_tag_thinking_sections": "End-Tag für Denk-Abschnitte",
|
||||
"disable_openai_responses_api": "OpenAI Responses API deaktivieren (Standard: false)",
|
||||
"audio_video_file_transcribe": "Audio- oder Video-Datei zum Transkribieren",
|
||||
"model_for_transcription": "Modell für Transkription (getrennt vom Chat-Modell)",
|
||||
"split_media_files_ffmpeg": "Audio/Video-Dateien größer als 25MB mit ffmpeg aufteilen",
|
||||
"tts_voice_name": "TTS-Stimmenname für unterstützte Modelle (z.B., Kore, Charon, Puck)",
|
||||
"list_gemini_tts_voices": "Alle verfügbaren Gemini TTS-Stimmen auflisten",
|
||||
"list_transcription_models": "Alle verfügbaren Transkriptionsmodelle auflisten",
|
||||
"send_desktop_notification": "Desktop-Benachrichtigung senden, wenn Befehl abgeschlossen ist",
|
||||
"custom_notification_command": "Benutzerdefinierter Befehl für Benachrichtigungen (überschreibt eingebaute Benachrichtigungen)",
|
||||
"set_reasoning_thinking_level": "Reasoning/Thinking-Level festlegen (z.B., off, low, medium, high, oder numerische Token für Anthropic oder Google Gemini)",
|
||||
"set_debug_level": "Debug-Level festlegen (0=aus, 1=grundlegend, 2=detailliert, 3=Trace)",
|
||||
"usage_header": "Verwendung:",
|
||||
"application_options_header": "Anwendungsoptionen:",
|
||||
"help_options_header": "Hilfe-Optionen:",
|
||||
"help_message": "Diese Hilfenachricht anzeigen",
|
||||
"options_placeholder": "[OPTIONEN]",
|
||||
"available_vendors_header": "Verfügbare Anbieter:",
|
||||
"available_models_header": "Verfügbare Modelle",
|
||||
"no_items_found": "Keine %s",
|
||||
"no_description_available": "Keine Beschreibung verfügbar",
|
||||
"i18n_download_failed": "Fehler beim Herunterladen der Übersetzung für Sprache '%s': %v",
|
||||
"i18n_load_failed": "Fehler beim Laden der Übersetzungsdatei: %v"
|
||||
}
|
||||
136
internal/i18n/locales/fa.json
Normal file
136
internal/i18n/locales/fa.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"html_readability_error": "از ورودی اصلی استفاده کن، چون نمیتوان خوانایی HTML را اعمال کرد",
|
||||
"vendor_not_configured": "تامینکننده %s پیکربندی نشده است",
|
||||
"vendor_no_transcription_support": "تامینکننده %s از رونویسی صوتی پشتیبانی نمیکند",
|
||||
"transcription_model_required": "مدل رونویسی الزامی است (از --transcribe-model استفاده کنید)",
|
||||
"youtube_not_configured": "یوتیوب پیکربندی نشده است، لطفاً روند تنظیمات را اجرا کنید",
|
||||
"error_fetching_playlist_videos": "خطا در دریافت ویدیوهای فهرست پخش: %w",
|
||||
"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": "استفاده از پیشفرضهای مدل بدون ارسال گزینههای گفتگو (مثل دما و غیره) و استفاده از نقش کاربر به جای نقش سیستم برای الگوها.",
|
||||
"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": "ویدیو یوتیوب یا \"URL\" فهرست پخش برای دریافت رونوشت، نظرات و ارسال به گفتگو یا چاپ در کنسول و ذخیره در فایل خروجی",
|
||||
"prefer_playlist_over_video": "اولویت فهرست پخش نسبت به ویدیو اگر هر دو ID در URL موجود باشند",
|
||||
"grab_transcript_from_youtube": "دریافت رونوشت از ویدیو یوتیوب و ارسال به گفتگو (به طور پیشفرض استفاده میشود).",
|
||||
"grab_transcript_with_timestamps": "دریافت رونوشت از ویدیو یوتیوب با مهر زمان و ارسال به گفتگو",
|
||||
"grab_comments_from_youtube": "دریافت نظرات از ویدیو یوتیوب و ارسال به گفتگو",
|
||||
"output_video_metadata": "نمایش فراداده ویدیو",
|
||||
"additional_yt_dlp_args": "آرگومانهای اضافی برای ارسال به yt-dlp (مثال: '--cookies-from-browser brave')",
|
||||
"specify_language_code": "تعیین کد زبان برای گفتگو، مثال: -g=en -g=zh",
|
||||
"scrape_website_url": "استخراج URL وبسایت به markdown با استفاده از Jina AI",
|
||||
"search_question_jina": "سؤال جستجو با استفاده از Jina AI",
|
||||
"seed_for_lmm_generation": "Seed برای استفاده در تولید 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": "سرویس API REST Fabric",
|
||||
"serve_fabric_api_ollama_endpoints": "سرویس API REST Fabric با نقاط پایانی ollama",
|
||||
"address_to_bind_rest_api": "آدرس برای متصل کردن API REST",
|
||||
"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": "سطح فشردهسازی 0-100 برای فرمتهای JPEG/WebP (پیشفرض: تنظیم نشده)",
|
||||
"background_type_help": "نوع پسزمینه: opaque، transparent (پیشفرض: opaque، فقط برای PNG/WebP)",
|
||||
"suppress_thinking_tags": "سرکوب متن محصور در تگهای تفکر",
|
||||
"start_tag_thinking_sections": "تگ شروع برای بخشهای تفکر",
|
||||
"end_tag_thinking_sections": "تگ پایان برای بخشهای تفکر",
|
||||
"disable_openai_responses_api": "غیرفعال کردن API OpenAI Responses (پیشفرض: false)",
|
||||
"audio_video_file_transcribe": "فایل صوتی یا ویدیویی برای رونویسی",
|
||||
"model_for_transcription": "مدل برای استفاده در رونویسی (جدا از مدل گفتگو)",
|
||||
"split_media_files_ffmpeg": "تقسیم فایلهای صوتی/ویدیویی بزرگتر از 25MB با استفاده از ffmpeg",
|
||||
"tts_voice_name": "نام صدای TTS برای مدلهای پشتیبانی شده (مثال: Kore، Charon، Puck)",
|
||||
"list_gemini_tts_voices": "فهرست تمام صداهای TTS Gemini موجود",
|
||||
"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"
|
||||
}
|
||||
136
internal/i18n/locales/fr.json
Normal file
136
internal/i18n/locales/fr.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"html_readability_error": "utilise l'entrée originale, car la lisibilité HTML ne peut pas être appliquée",
|
||||
"vendor_not_configured": "le fournisseur %s n'est pas configuré",
|
||||
"vendor_no_transcription_support": "le fournisseur %s ne prend pas en charge la transcription audio",
|
||||
"transcription_model_required": "un modèle de transcription est requis (utilisez --transcribe-model)",
|
||||
"youtube_not_configured": "YouTube n'est pas configuré, veuillez exécuter la procédure de configuration",
|
||||
"error_fetching_playlist_videos": "erreur lors de la récupération des vidéos de la liste de lecture : %w",
|
||||
"scraping_not_configured": "la fonctionnalité de scraping n'est pas configurée. Veuillez configurer Jina pour activer le scraping",
|
||||
"could_not_determine_home_dir": "impossible de déterminer le répertoire home de l'utilisateur : %w",
|
||||
"could_not_stat_env_file": "impossible de vérifier le fichier .env : %w",
|
||||
"could_not_create_config_dir": "impossible de créer le répertoire de configuration : %w",
|
||||
"could_not_create_env_file": "impossible de créer le fichier .env : %w",
|
||||
"could_not_copy_to_clipboard": "impossible de copier dans le presse-papiers : %v",
|
||||
"file_already_exists_not_overwriting": "le fichier %s existe déjà, ne sera pas écrasé. Renommez le fichier existant ou choisissez un nom différent",
|
||||
"error_creating_file": "erreur lors de la création du fichier : %v",
|
||||
"error_writing_to_file": "erreur lors de l'écriture dans le fichier : %v",
|
||||
"error_creating_audio_file": "erreur lors de la création du fichier audio : %v",
|
||||
"error_writing_audio_data": "erreur lors de l'écriture des données audio dans le fichier : %v",
|
||||
"tts_model_requires_audio_output": "le modèle TTS '%s' nécessite une sortie audio. Veuillez spécifier un fichier de sortie audio avec le flag -o (ex. -o output.wav)",
|
||||
"audio_output_file_specified_but_not_tts_model": "fichier de sortie audio '%s' spécifié mais le modèle '%s' n'est pas un modèle TTS. Veuillez utiliser un modèle TTS comme gemini-2.5-flash-preview-tts",
|
||||
"file_already_exists_choose_different": "le fichier %s existe déjà. Veuillez choisir un nom de fichier différent ou supprimer le fichier existant",
|
||||
"no_notification_system_available": "aucun système de notification disponible",
|
||||
"cannot_convert_string": "impossible de convertir la chaîne %q en %v",
|
||||
"unsupported_conversion": "conversion non prise en charge de %v vers %v",
|
||||
"invalid_config_path": "chemin de configuration invalide : %w",
|
||||
"config_file_not_found": "fichier de configuration non trouvé : %s",
|
||||
"error_reading_config_file": "erreur lors de la lecture du fichier de configuration : %w",
|
||||
"error_parsing_config_file": "erreur lors de l'analyse du fichier de configuration : %w",
|
||||
"error_reading_piped_message": "erreur lors de la lecture du message redirigé depuis stdin : %w",
|
||||
"image_file_already_exists": "le fichier image existe déjà : %s",
|
||||
"invalid_image_file_extension": "extension de fichier image invalide '%s'. Formats pris en charge : .png, .jpeg, .jpg, .webp",
|
||||
"image_parameters_require_image_file": "les paramètres d'image (--image-size, --image-quality, --image-background, --image-compression) ne peuvent être utilisés qu'avec --image-file",
|
||||
"invalid_image_size": "taille d'image invalide '%s'. Tailles prises en charge : 1024x1024, 1536x1024, 1024x1536, auto",
|
||||
"invalid_image_quality": "qualité d'image invalide '%s'. Qualités prises en charge : low, medium, high, auto",
|
||||
"invalid_image_background": "arrière-plan d'image invalide '%s'. Arrière-plans pris en charge : opaque, transparent",
|
||||
"image_compression_jpeg_webp_only": "la compression d'image ne peut être utilisée qu'avec les formats JPEG et WebP, pas %s",
|
||||
"image_compression_range_error": "la compression d'image doit être entre 0 et 100, reçu %d",
|
||||
"transparent_background_png_webp_only": "l'arrière-plan transparent ne peut être utilisé qu'avec les formats PNG et WebP, pas %s",
|
||||
"available_transcription_models": "Modèles de transcription disponibles :",
|
||||
"tts_audio_generated_successfully": "Audio TTS généré avec succès et sauvegardé dans : %s\n",
|
||||
"fabric_command_complete": "Commande Fabric terminée",
|
||||
"fabric_command_complete_with_pattern": "Fabric : %s terminé",
|
||||
"command_completed_successfully": "Commande terminée avec succès",
|
||||
"output_truncated": "Sortie : %s...",
|
||||
"output_full": "Sortie : %s",
|
||||
"choose_pattern_from_available": "Choisissez un motif parmi les motifs disponibles",
|
||||
"pattern_variables_help": "Valeurs pour les variables de motif, ex. -v=#role:expert -v=#points:30",
|
||||
"choose_context_from_available": "Choisissez un contexte parmi les contextes disponibles",
|
||||
"choose_session_from_available": "Choisissez une session parmi les sessions disponibles",
|
||||
"attachment_path_or_url_help": "Chemin de pièce jointe ou URL (ex. pour les messages de reconnaissance d'image OpenAI)",
|
||||
"run_setup_for_reconfigurable_parts": "Exécuter la configuration pour toutes les parties reconfigurables de fabric",
|
||||
"set_temperature": "Définir la température",
|
||||
"set_top_p": "Définir le top P",
|
||||
"stream_help": "Streaming",
|
||||
"set_presence_penalty": "Définir la pénalité de présence",
|
||||
"use_model_defaults_raw_help": "Utiliser les valeurs par défaut du modèle sans envoyer d'options de chat (comme la température, etc.) et utiliser le rôle utilisateur au lieu du rôle système pour les motifs.",
|
||||
"set_frequency_penalty": "Définir la pénalité de fréquence",
|
||||
"list_all_patterns": "Lister tous les motifs",
|
||||
"list_all_available_models": "Lister tous les modèles disponibles",
|
||||
"list_all_contexts": "Lister tous les contextes",
|
||||
"list_all_sessions": "Lister toutes les sessions",
|
||||
"update_patterns": "Mettre à jour les motifs",
|
||||
"messages_to_send_to_chat": "Messages à envoyer au chat",
|
||||
"copy_to_clipboard": "Copier dans le presse-papiers",
|
||||
"choose_model": "Choisir le modèle",
|
||||
"specify_vendor_for_model": "Spécifier le fournisseur pour le modèle sélectionné (ex. -V \"LM Studio\" -m openai/gpt-oss-20b)",
|
||||
"model_context_length_ollama": "Longueur de contexte du modèle (affecte seulement ollama)",
|
||||
"output_to_file": "Sortie vers fichier",
|
||||
"output_entire_session": "Sortie de toute la session (même temporaire) vers le fichier de sortie",
|
||||
"number_of_latest_patterns": "Nombre des motifs les plus récents à lister",
|
||||
"change_default_model": "Changer le modèle par défaut",
|
||||
"youtube_url_help": "Vidéo YouTube ou \"URL\" de liste de lecture pour récupérer la transcription, les commentaires et envoyer au chat ou afficher dans la console et stocker dans le fichier de sortie",
|
||||
"prefer_playlist_over_video": "Préférer la liste de lecture à la vidéo si les deux IDs sont présents dans l'URL",
|
||||
"grab_transcript_from_youtube": "Récupérer la transcription de la vidéo YouTube et envoyer au chat (utilisé par défaut).",
|
||||
"grab_transcript_with_timestamps": "Récupérer la transcription de la vidéo YouTube avec horodatage et envoyer au chat",
|
||||
"grab_comments_from_youtube": "Récupérer les commentaires de la vidéo YouTube et envoyer au chat",
|
||||
"output_video_metadata": "Afficher les métadonnées de la vidéo",
|
||||
"additional_yt_dlp_args": "Arguments supplémentaires à passer à yt-dlp (ex. '--cookies-from-browser brave')",
|
||||
"specify_language_code": "Spécifier le code de langue pour le chat, ex. -g=en -g=zh",
|
||||
"scrape_website_url": "Scraper l'URL du site web en markdown en utilisant Jina AI",
|
||||
"search_question_jina": "Question de recherche en utilisant Jina AI",
|
||||
"seed_for_lmm_generation": "Graine à utiliser pour la génération LMM",
|
||||
"wipe_context": "Effacer le contexte",
|
||||
"wipe_session": "Effacer la session",
|
||||
"print_context": "Afficher le contexte",
|
||||
"print_session": "Afficher la session",
|
||||
"convert_html_readability": "Convertir l'entrée HTML en vue propre et lisible",
|
||||
"apply_variables_to_input": "Appliquer les variables à l'entrée utilisateur",
|
||||
"disable_pattern_variable_replacement": "Désactiver le remplacement des variables de motif",
|
||||
"show_dry_run": "Montrer ce qui serait envoyé au modèle sans l'envoyer réellement",
|
||||
"serve_fabric_rest_api": "Servir l'API REST Fabric",
|
||||
"serve_fabric_api_ollama_endpoints": "Servir l'API REST Fabric avec les endpoints ollama",
|
||||
"address_to_bind_rest_api": "Adresse pour lier l'API REST",
|
||||
"api_key_secure_server_routes": "Clé API utilisée pour sécuriser les routes du serveur",
|
||||
"path_to_yaml_config": "Chemin vers le fichier de configuration YAML",
|
||||
"print_current_version": "Afficher la version actuelle",
|
||||
"list_all_registered_extensions": "Lister toutes les extensions enregistrées",
|
||||
"register_new_extension": "Enregistrer une nouvelle extension depuis le chemin du fichier de configuration",
|
||||
"remove_registered_extension": "Supprimer une extension enregistrée par nom",
|
||||
"choose_strategy_from_available": "Choisir une stratégie parmi les stratégies disponibles",
|
||||
"list_all_strategies": "Lister toutes les stratégies",
|
||||
"list_all_vendors": "Lister tous les fournisseurs",
|
||||
"output_raw_list_shell_completion": "Sortie de liste brute sans en-têtes/formatage (pour la complétion shell)",
|
||||
"enable_web_search_tool": "Activer l'outil de recherche web pour les modèles pris en charge (Anthropic, OpenAI, Gemini)",
|
||||
"set_location_web_search": "Définir l'emplacement pour les résultats de recherche web (ex. 'America/Los_Angeles')",
|
||||
"save_generated_image_to_file": "Sauvegarder l'image générée dans le chemin de fichier spécifié (ex. 'output.png')",
|
||||
"image_dimensions_help": "Dimensions de l'image : 1024x1024, 1536x1024, 1024x1536, auto (par défaut : auto)",
|
||||
"image_quality_help": "Qualité de l'image : low, medium, high, auto (par défaut : auto)",
|
||||
"compression_level_jpeg_webp": "Niveau de compression 0-100 pour les formats JPEG/WebP (par défaut : non défini)",
|
||||
"background_type_help": "Type d'arrière-plan : opaque, transparent (par défaut : opaque, seulement pour PNG/WebP)",
|
||||
"suppress_thinking_tags": "Supprimer le texte encadré par les balises de réflexion",
|
||||
"start_tag_thinking_sections": "Balise de début pour les sections de réflexion",
|
||||
"end_tag_thinking_sections": "Balise de fin pour les sections de réflexion",
|
||||
"disable_openai_responses_api": "Désactiver l'API OpenAI Responses (par défaut : false)",
|
||||
"audio_video_file_transcribe": "Fichier audio ou vidéo à transcrire",
|
||||
"model_for_transcription": "Modèle à utiliser pour la transcription (séparé du modèle de chat)",
|
||||
"split_media_files_ffmpeg": "Diviser les fichiers audio/vidéo de plus de 25MB en utilisant ffmpeg",
|
||||
"tts_voice_name": "Nom de voix TTS pour les modèles pris en charge (ex. Kore, Charon, Puck)",
|
||||
"list_gemini_tts_voices": "Lister toutes les voix TTS Gemini disponibles",
|
||||
"list_transcription_models": "Lister tous les modèles de transcription disponibles",
|
||||
"send_desktop_notification": "Envoyer une notification de bureau quand la commande se termine",
|
||||
"custom_notification_command": "Commande personnalisée à exécuter pour les notifications (remplace les notifications intégrées)",
|
||||
"set_reasoning_thinking_level": "Définir le niveau de raisonnement/réflexion (ex. off, low, medium, high, ou tokens numériques pour Anthropic ou Google Gemini)",
|
||||
"set_debug_level": "Définir le niveau de débogage (0=désactivé, 1=basique, 2=détaillé, 3=trace)",
|
||||
"usage_header": "Utilisation :",
|
||||
"application_options_header": "Options de l'application :",
|
||||
"help_options_header": "Options d'aide :",
|
||||
"help_message": "Afficher ce message d'aide",
|
||||
"options_placeholder": "[OPTIONS]",
|
||||
"available_vendors_header": "Fournisseurs disponibles :",
|
||||
"available_models_header": "Modèles disponibles",
|
||||
"no_items_found": "Aucun %s",
|
||||
"no_description_available": "Aucune description disponible",
|
||||
"i18n_download_failed": "Échec du téléchargement de la traduction pour la langue '%s' : %v",
|
||||
"i18n_load_failed": "Échec du chargement du fichier de traduction : %v"
|
||||
}
|
||||
136
internal/i18n/locales/it.json
Normal file
136
internal/i18n/locales/it.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"html_readability_error": "usa l'input originale, perché non è possibile applicare la leggibilità HTML",
|
||||
"vendor_not_configured": "il fornitore %s non è configurato",
|
||||
"vendor_no_transcription_support": "il fornitore %s non supporta la trascrizione audio",
|
||||
"transcription_model_required": "è richiesto un modello di trascrizione (usa --transcribe-model)",
|
||||
"youtube_not_configured": "YouTube non è configurato, per favore esegui la procedura di configurazione",
|
||||
"error_fetching_playlist_videos": "errore nel recupero dei video della playlist: %w",
|
||||
"scraping_not_configured": "la funzionalità di scraping non è configurata. Per favore configura Jina per abilitare lo scraping",
|
||||
"could_not_determine_home_dir": "impossibile determinare la directory home dell'utente: %w",
|
||||
"could_not_stat_env_file": "impossibile verificare il file .env: %w",
|
||||
"could_not_create_config_dir": "impossibile creare la directory di configurazione: %w",
|
||||
"could_not_create_env_file": "impossibile creare il file .env: %w",
|
||||
"could_not_copy_to_clipboard": "impossibile copiare negli appunti: %v",
|
||||
"file_already_exists_not_overwriting": "il file %s esiste già, non verrà sovrascritto. Rinomina il file esistente o scegli un nome diverso",
|
||||
"error_creating_file": "errore nella creazione del file: %v",
|
||||
"error_writing_to_file": "errore nella scrittura del file: %v",
|
||||
"error_creating_audio_file": "errore nella creazione del file audio: %v",
|
||||
"error_writing_audio_data": "errore nella scrittura dei dati audio nel file: %v",
|
||||
"tts_model_requires_audio_output": "il modello TTS '%s' richiede un output audio. Per favore specifica un file di output audio con il flag -o (es. -o output.wav)",
|
||||
"audio_output_file_specified_but_not_tts_model": "file di output audio '%s' specificato ma il modello '%s' non è un modello TTS. Per favore usa un modello TTS come gemini-2.5-flash-preview-tts",
|
||||
"file_already_exists_choose_different": "il file %s esiste già. Per favore scegli un nome file diverso o rimuovi il file esistente",
|
||||
"no_notification_system_available": "nessun sistema di notifica disponibile",
|
||||
"cannot_convert_string": "impossibile convertire la stringa %q in %v",
|
||||
"unsupported_conversion": "conversione non supportata da %v a %v",
|
||||
"invalid_config_path": "percorso di configurazione non valido: %w",
|
||||
"config_file_not_found": "file di configurazione non trovato: %s",
|
||||
"error_reading_config_file": "errore nella lettura del file di configurazione: %w",
|
||||
"error_parsing_config_file": "errore nell'analisi del file di configurazione: %w",
|
||||
"error_reading_piped_message": "errore nella lettura del messaggio reindirizzato da stdin: %w",
|
||||
"image_file_already_exists": "il file immagine esiste già: %s",
|
||||
"invalid_image_file_extension": "estensione file immagine non valida '%s'. Formati supportati: .png, .jpeg, .jpg, .webp",
|
||||
"image_parameters_require_image_file": "i parametri immagine (--image-size, --image-quality, --image-background, --image-compression) possono essere utilizzati solo con --image-file",
|
||||
"invalid_image_size": "dimensione immagine non valida '%s'. Dimensioni supportate: 1024x1024, 1536x1024, 1024x1536, auto",
|
||||
"invalid_image_quality": "qualità immagine non valida '%s'. Qualità supportate: low, medium, high, auto",
|
||||
"invalid_image_background": "sfondo immagine non valido '%s'. Sfondi supportati: opaque, transparent",
|
||||
"image_compression_jpeg_webp_only": "la compressione immagine può essere utilizzata solo con formati JPEG e WebP, non %s",
|
||||
"image_compression_range_error": "la compressione immagine deve essere tra 0 e 100, ricevuto %d",
|
||||
"transparent_background_png_webp_only": "lo sfondo trasparente può essere utilizzato solo con formati PNG e WebP, non %s",
|
||||
"available_transcription_models": "Modelli di trascrizione disponibili:",
|
||||
"tts_audio_generated_successfully": "Audio TTS generato con successo e salvato in: %s\n",
|
||||
"fabric_command_complete": "Comando Fabric completato",
|
||||
"fabric_command_complete_with_pattern": "Fabric: %s completato",
|
||||
"command_completed_successfully": "Comando completato con successo",
|
||||
"output_truncated": "Output: %s...",
|
||||
"output_full": "Output: %s",
|
||||
"choose_pattern_from_available": "Scegli un pattern dai pattern disponibili",
|
||||
"pattern_variables_help": "Valori per le variabili pattern, es. -v=#role:expert -v=#points:30",
|
||||
"choose_context_from_available": "Scegli un contesto dai contesti disponibili",
|
||||
"choose_session_from_available": "Scegli una sessione dalle sessioni disponibili",
|
||||
"attachment_path_or_url_help": "Percorso allegato o URL (es. per messaggi di riconoscimento immagine OpenAI)",
|
||||
"run_setup_for_reconfigurable_parts": "Esegui la configurazione per tutte le parti riconfigurabili di fabric",
|
||||
"set_temperature": "Imposta temperatura",
|
||||
"set_top_p": "Imposta top P",
|
||||
"stream_help": "Streaming",
|
||||
"set_presence_penalty": "Imposta penalità di presenza",
|
||||
"use_model_defaults_raw_help": "Usa i valori predefiniti del modello senza inviare opzioni di chat (come temperatura, ecc.) e usa il ruolo utente invece del ruolo sistema per i pattern.",
|
||||
"set_frequency_penalty": "Imposta penalità di frequenza",
|
||||
"list_all_patterns": "Elenca tutti i pattern",
|
||||
"list_all_available_models": "Elenca tutti i modelli disponibili",
|
||||
"list_all_contexts": "Elenca tutti i contesti",
|
||||
"list_all_sessions": "Elenca tutte le sessioni",
|
||||
"update_patterns": "Aggiorna pattern",
|
||||
"messages_to_send_to_chat": "Messaggi da inviare alla chat",
|
||||
"copy_to_clipboard": "Copia negli appunti",
|
||||
"choose_model": "Scegli modello",
|
||||
"specify_vendor_for_model": "Specifica il fornitore per il modello selezionato (es. -V \"LM Studio\" -m openai/gpt-oss-20b)",
|
||||
"model_context_length_ollama": "Lunghezza del contesto del modello (influisce solo su ollama)",
|
||||
"output_to_file": "Output su file",
|
||||
"output_entire_session": "Output dell'intera sessione (anche temporanea) nel file di output",
|
||||
"number_of_latest_patterns": "Numero dei pattern più recenti da elencare",
|
||||
"change_default_model": "Cambia modello predefinito",
|
||||
"youtube_url_help": "Video YouTube o \"URL\" della playlist per ottenere trascrizioni, commenti e inviarli alla chat o stamparli sulla console e memorizzarli nel file di output",
|
||||
"prefer_playlist_over_video": "Preferisci playlist al video se entrambi gli ID sono presenti nell'URL",
|
||||
"grab_transcript_from_youtube": "Ottieni trascrizione dal video YouTube e invia alla chat (usato per impostazione predefinita).",
|
||||
"grab_transcript_with_timestamps": "Ottieni trascrizione dal video YouTube con timestamp e invia alla chat",
|
||||
"grab_comments_from_youtube": "Ottieni commenti dal video YouTube e invia alla chat",
|
||||
"output_video_metadata": "Output metadati video",
|
||||
"additional_yt_dlp_args": "Argomenti aggiuntivi da passare a yt-dlp (es. '--cookies-from-browser brave')",
|
||||
"specify_language_code": "Specifica il codice lingua per la chat, es. -g=en -g=zh",
|
||||
"scrape_website_url": "Scraping dell'URL del sito web in markdown usando Jina AI",
|
||||
"search_question_jina": "Domanda di ricerca usando Jina AI",
|
||||
"seed_for_lmm_generation": "Seed da utilizzare per la generazione LMM",
|
||||
"wipe_context": "Cancella contesto",
|
||||
"wipe_session": "Cancella sessione",
|
||||
"print_context": "Stampa contesto",
|
||||
"print_session": "Stampa sessione",
|
||||
"convert_html_readability": "Converti input HTML in una vista pulita e leggibile",
|
||||
"apply_variables_to_input": "Applica variabili all'input utente",
|
||||
"disable_pattern_variable_replacement": "Disabilita sostituzione variabili pattern",
|
||||
"show_dry_run": "Mostra cosa verrebbe inviato al modello senza inviarlo effettivamente",
|
||||
"serve_fabric_rest_api": "Servi l'API REST di Fabric",
|
||||
"serve_fabric_api_ollama_endpoints": "Servi l'API REST di Fabric con endpoint ollama",
|
||||
"address_to_bind_rest_api": "Indirizzo per associare l'API REST",
|
||||
"api_key_secure_server_routes": "Chiave API utilizzata per proteggere le route del server",
|
||||
"path_to_yaml_config": "Percorso del file di configurazione YAML",
|
||||
"print_current_version": "Stampa versione corrente",
|
||||
"list_all_registered_extensions": "Elenca tutte le estensioni registrate",
|
||||
"register_new_extension": "Registra una nuova estensione dal percorso del file di configurazione",
|
||||
"remove_registered_extension": "Rimuovi un'estensione registrata per nome",
|
||||
"choose_strategy_from_available": "Scegli una strategia dalle strategie disponibili",
|
||||
"list_all_strategies": "Elenca tutte le strategie",
|
||||
"list_all_vendors": "Elenca tutti i fornitori",
|
||||
"output_raw_list_shell_completion": "Output lista grezza senza intestazioni/formattazione (per completamento shell)",
|
||||
"enable_web_search_tool": "Abilita strumento di ricerca web per modelli supportati (Anthropic, OpenAI, Gemini)",
|
||||
"set_location_web_search": "Imposta posizione per risultati ricerca web (es. 'America/Los_Angeles')",
|
||||
"save_generated_image_to_file": "Salva immagine generata nel percorso file specificato (es. 'output.png')",
|
||||
"image_dimensions_help": "Dimensioni immagine: 1024x1024, 1536x1024, 1024x1536, auto (predefinito: auto)",
|
||||
"image_quality_help": "Qualità immagine: low, medium, high, auto (predefinito: auto)",
|
||||
"compression_level_jpeg_webp": "Livello di compressione 0-100 per formati JPEG/WebP (predefinito: non impostato)",
|
||||
"background_type_help": "Tipo di sfondo: opaque, transparent (predefinito: opaque, solo per PNG/WebP)",
|
||||
"suppress_thinking_tags": "Sopprimi testo racchiuso in tag di pensiero",
|
||||
"start_tag_thinking_sections": "Tag di inizio per sezioni di pensiero",
|
||||
"end_tag_thinking_sections": "Tag di fine per sezioni di pensiero",
|
||||
"disable_openai_responses_api": "Disabilita API OpenAI Responses (predefinito: false)",
|
||||
"audio_video_file_transcribe": "File audio o video da trascrivere",
|
||||
"model_for_transcription": "Modello da utilizzare per la trascrizione (separato dal modello di chat)",
|
||||
"split_media_files_ffmpeg": "Dividi file audio/video più grandi di 25MB usando ffmpeg",
|
||||
"tts_voice_name": "Nome voce TTS per modelli supportati (es. Kore, Charon, Puck)",
|
||||
"list_gemini_tts_voices": "Elenca tutte le voci TTS Gemini disponibili",
|
||||
"list_transcription_models": "Elenca tutti i modelli di trascrizione disponibili",
|
||||
"send_desktop_notification": "Invia notifica desktop quando il comando è completato",
|
||||
"custom_notification_command": "Comando personalizzato da eseguire per le notifiche (sovrascrive le notifiche integrate)",
|
||||
"set_reasoning_thinking_level": "Imposta livello di ragionamento/pensiero (es. off, low, medium, high, o token numerici per Anthropic o Google Gemini)",
|
||||
"set_debug_level": "Imposta livello di debug (0=spento, 1=base, 2=dettagliato, 3=traccia)",
|
||||
"usage_header": "Uso:",
|
||||
"application_options_header": "Opzioni dell'applicazione:",
|
||||
"help_options_header": "Opzioni di aiuto:",
|
||||
"help_message": "Mostra questo messaggio di aiuto",
|
||||
"options_placeholder": "[OPZIONI]",
|
||||
"available_vendors_header": "Fornitori disponibili:",
|
||||
"available_models_header": "Modelli disponibili",
|
||||
"no_items_found": "Nessun %s",
|
||||
"no_description_available": "Nessuna descrizione disponibile",
|
||||
"i18n_download_failed": "Fallito il download della traduzione per la lingua '%s': %v",
|
||||
"i18n_load_failed": "Fallito il caricamento del file di traduzione: %v"
|
||||
}
|
||||
136
internal/i18n/locales/ja.json
Normal file
136
internal/i18n/locales/ja.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"html_readability_error": "HTML可読性を適用できないため、元の入力を使用します",
|
||||
"vendor_not_configured": "ベンダー %s が設定されていません",
|
||||
"vendor_no_transcription_support": "ベンダー %s は音声転写をサポートしていません",
|
||||
"transcription_model_required": "転写モデルが必要です(--transcribe-model を使用)",
|
||||
"youtube_not_configured": "YouTubeが設定されていません。セットアップ手順を実行してください",
|
||||
"error_fetching_playlist_videos": "プレイリスト動画の取得エラー: %w",
|
||||
"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モデルではありません。gemini-2.5-flash-preview-tts などの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": "チャットオプション(温度など)を送信せずにモデルのデフォルトを使用し、パターンにシステムロールではなくユーザーロールを使用します。",
|
||||
"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",
|
||||
"scrape_website_url": "Jina AIを使用してウェブサイトURLをマークダウンにスクレイピング",
|
||||
"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": "生リストをヘッダー/フォーマットなしで出力(シェル補完用)",
|
||||
"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 Responses APIを無効化(デフォルト:false)",
|
||||
"audio_video_file_transcribe": "転写する音声または動画ファイル",
|
||||
"model_for_transcription": "転写に使用するモデル(チャットモデルとは別)",
|
||||
"split_media_files_ffmpeg": "25MBを超える音声/動画ファイルをffmpegを使用して分割",
|
||||
"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"
|
||||
}
|
||||
136
internal/i18n/locales/pt.json
Normal file
136
internal/i18n/locales/pt.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"html_readability_error": "usa a entrada original, porque não é possível aplicar a legibilidade HTML",
|
||||
"vendor_not_configured": "o fornecedor %s não está configurado",
|
||||
"vendor_no_transcription_support": "o fornecedor %s não suporta transcrição de áudio",
|
||||
"transcription_model_required": "modelo de transcrição é necessário (use --transcribe-model)",
|
||||
"youtube_not_configured": "YouTube não está configurado, por favor execute o procedimento de configuração",
|
||||
"error_fetching_playlist_videos": "erro ao buscar vídeos da playlist: %w",
|
||||
"scraping_not_configured": "funcionalidade de scraping não está configurada. Por favor configure o Jina para ativar o scraping",
|
||||
"could_not_determine_home_dir": "não foi possível determinar o diretório home do usuário: %w",
|
||||
"could_not_stat_env_file": "não foi possível verificar o arquivo .env: %w",
|
||||
"could_not_create_config_dir": "não foi possível criar o diretório de configuração: %w",
|
||||
"could_not_create_env_file": "não foi possível criar o arquivo .env: %w",
|
||||
"could_not_copy_to_clipboard": "não foi possível copiar para a área de transferência: %v",
|
||||
"file_already_exists_not_overwriting": "o arquivo %s já existe, não será sobrescrito. Renomeie o arquivo existente ou escolha um nome diferente",
|
||||
"error_creating_file": "erro ao criar arquivo: %v",
|
||||
"error_writing_to_file": "erro ao escrever no arquivo: %v",
|
||||
"error_creating_audio_file": "erro ao criar arquivo de áudio: %v",
|
||||
"error_writing_audio_data": "erro ao escrever dados de áudio no arquivo: %v",
|
||||
"tts_model_requires_audio_output": "modelo TTS '%s' requer saída de áudio. Por favor especifique um arquivo de saída de áudio com a flag -o (ex. -o output.wav)",
|
||||
"audio_output_file_specified_but_not_tts_model": "arquivo de saída de áudio '%s' especificado mas o modelo '%s' não é um modelo TTS. Por favor use um modelo TTS como gemini-2.5-flash-preview-tts",
|
||||
"file_already_exists_choose_different": "arquivo %s já existe. Por favor escolha um nome de arquivo diferente ou remova o arquivo existente",
|
||||
"no_notification_system_available": "nenhum sistema de notificação disponível",
|
||||
"cannot_convert_string": "não é possível converter a string %q para %v",
|
||||
"unsupported_conversion": "conversão não suportada de %v para %v",
|
||||
"invalid_config_path": "caminho de configuração inválido: %w",
|
||||
"config_file_not_found": "arquivo de configuração não encontrado: %s",
|
||||
"error_reading_config_file": "erro ao ler arquivo de configuração: %w",
|
||||
"error_parsing_config_file": "erro ao analisar arquivo de configuração: %w",
|
||||
"error_reading_piped_message": "erro ao ler mensagem redirecionada do stdin: %w",
|
||||
"image_file_already_exists": "arquivo de imagem já existe: %s",
|
||||
"invalid_image_file_extension": "extensão de arquivo de imagem inválida '%s'. Formatos suportados: .png, .jpeg, .jpg, .webp",
|
||||
"image_parameters_require_image_file": "parâmetros de imagem (--image-size, --image-quality, --image-background, --image-compression) só podem ser usados com --image-file",
|
||||
"invalid_image_size": "tamanho de imagem inválido '%s'. Tamanhos suportados: 1024x1024, 1536x1024, 1024x1536, auto",
|
||||
"invalid_image_quality": "qualidade de imagem inválida '%s'. Qualidades suportadas: low, medium, high, auto",
|
||||
"invalid_image_background": "fundo de imagem inválido '%s'. Fundos suportados: opaque, transparent",
|
||||
"image_compression_jpeg_webp_only": "compressão de imagem só pode ser usada com formatos JPEG e WebP, não %s",
|
||||
"image_compression_range_error": "compressão de imagem deve estar entre 0 e 100, recebido %d",
|
||||
"transparent_background_png_webp_only": "fundo transparente só pode ser usado com formatos PNG e WebP, não %s",
|
||||
"available_transcription_models": "Modelos de transcrição disponíveis:",
|
||||
"tts_audio_generated_successfully": "Áudio TTS gerado com sucesso e salvo em: %s\n",
|
||||
"fabric_command_complete": "Comando Fabric concluído",
|
||||
"fabric_command_complete_with_pattern": "Fabric: %s concluído",
|
||||
"command_completed_successfully": "Comando concluído com sucesso",
|
||||
"output_truncated": "Saída: %s...",
|
||||
"output_full": "Saída: %s",
|
||||
"choose_pattern_from_available": "Escolha um padrão dos padrões disponíveis",
|
||||
"pattern_variables_help": "Valores para variáveis de padrão, ex. -v=#role:expert -v=#points:30",
|
||||
"choose_context_from_available": "Escolha um contexto dos contextos disponíveis",
|
||||
"choose_session_from_available": "Escolha uma sessão das sessões disponíveis",
|
||||
"attachment_path_or_url_help": "Caminho do anexo ou URL (ex. para mensagens de reconhecimento de imagem do OpenAI)",
|
||||
"run_setup_for_reconfigurable_parts": "Executar configuração para todas as partes reconfiguráveis do fabric",
|
||||
"set_temperature": "Definir temperatura",
|
||||
"set_top_p": "Definir top P",
|
||||
"stream_help": "Streaming",
|
||||
"set_presence_penalty": "Definir penalidade de presença",
|
||||
"use_model_defaults_raw_help": "Usar os padrões do modelo sem enviar opções de chat (como temperatura, etc.) e usar o papel de usuário em vez do papel de sistema para padrões.",
|
||||
"set_frequency_penalty": "Definir penalidade de frequência",
|
||||
"list_all_patterns": "Listar todos os padrões",
|
||||
"list_all_available_models": "Listar todos os modelos disponíveis",
|
||||
"list_all_contexts": "Listar todos os contextos",
|
||||
"list_all_sessions": "Listar todas as sessões",
|
||||
"update_patterns": "Atualizar padrões",
|
||||
"messages_to_send_to_chat": "Mensagens para enviar ao chat",
|
||||
"copy_to_clipboard": "Copiar para área de transferência",
|
||||
"choose_model": "Escolher modelo",
|
||||
"specify_vendor_for_model": "Especificar fornecedor para o modelo selecionado (ex. -V \"LM Studio\" -m openai/gpt-oss-20b)",
|
||||
"model_context_length_ollama": "Comprimento do contexto do modelo (afeta apenas ollama)",
|
||||
"output_to_file": "Saída para arquivo",
|
||||
"output_entire_session": "Saída de toda a sessão (incluindo temporária) para o arquivo de saída",
|
||||
"number_of_latest_patterns": "Número dos padrões mais recentes a listar",
|
||||
"change_default_model": "Mudar modelo padrão",
|
||||
"youtube_url_help": "Vídeo do YouTube ou \"URL\" de playlist para obter transcrição, comentários e enviar ao chat ou imprimir no console e armazenar no arquivo de saída",
|
||||
"prefer_playlist_over_video": "Preferir playlist ao vídeo se ambos os IDs estiverem presentes na URL",
|
||||
"grab_transcript_from_youtube": "Obter transcrição do vídeo do YouTube e enviar ao chat (usado por padrão).",
|
||||
"grab_transcript_with_timestamps": "Obter transcrição do vídeo do YouTube com timestamps e enviar ao chat",
|
||||
"grab_comments_from_youtube": "Obter comentários do vídeo do YouTube e enviar ao chat",
|
||||
"output_video_metadata": "Exibir metadados do vídeo",
|
||||
"additional_yt_dlp_args": "Argumentos adicionais para passar ao yt-dlp (ex. '--cookies-from-browser brave')",
|
||||
"specify_language_code": "Especificar código de idioma para o chat, ex. -g=en -g=zh",
|
||||
"scrape_website_url": "Fazer scraping da URL do site para markdown usando Jina AI",
|
||||
"search_question_jina": "Pergunta de busca usando Jina AI",
|
||||
"seed_for_lmm_generation": "Seed para ser usado na geração LMM",
|
||||
"wipe_context": "Limpar contexto",
|
||||
"wipe_session": "Limpar sessão",
|
||||
"print_context": "Imprimir contexto",
|
||||
"print_session": "Imprimir sessão",
|
||||
"convert_html_readability": "Converter entrada HTML em uma visualização limpa e legível",
|
||||
"apply_variables_to_input": "Aplicar variáveis à entrada do usuário",
|
||||
"disable_pattern_variable_replacement": "Desabilitar substituição de variáveis de padrão",
|
||||
"show_dry_run": "Mostrar o que seria enviado ao modelo sem enviar de fato",
|
||||
"serve_fabric_rest_api": "Servir a API REST do Fabric",
|
||||
"serve_fabric_api_ollama_endpoints": "Servir a API REST do Fabric com endpoints ollama",
|
||||
"address_to_bind_rest_api": "Endereço para vincular a API REST",
|
||||
"api_key_secure_server_routes": "Chave API usada para proteger rotas do servidor",
|
||||
"path_to_yaml_config": "Caminho para arquivo de configuração YAML",
|
||||
"print_current_version": "Imprimir versão atual",
|
||||
"list_all_registered_extensions": "Listar todas as extensões registradas",
|
||||
"register_new_extension": "Registrar uma nova extensão do caminho do arquivo de configuração",
|
||||
"remove_registered_extension": "Remover uma extensão registrada por nome",
|
||||
"choose_strategy_from_available": "Escolher uma estratégia das estratégias disponíveis",
|
||||
"list_all_strategies": "Listar todas as estratégias",
|
||||
"list_all_vendors": "Listar todos os fornecedores",
|
||||
"output_raw_list_shell_completion": "Saída de lista bruta sem cabeçalhos/formatação (para conclusão de shell)",
|
||||
"enable_web_search_tool": "Habilitar ferramenta de busca web para modelos suportados (Anthropic, OpenAI, Gemini)",
|
||||
"set_location_web_search": "Definir localização para resultados de busca web (ex. 'America/Los_Angeles')",
|
||||
"save_generated_image_to_file": "Salvar imagem gerada no caminho de arquivo especificado (ex. 'output.png')",
|
||||
"image_dimensions_help": "Dimensões da imagem: 1024x1024, 1536x1024, 1024x1536, auto (padrão: auto)",
|
||||
"image_quality_help": "Qualidade da imagem: low, medium, high, auto (padrão: auto)",
|
||||
"compression_level_jpeg_webp": "Nível de compressão 0-100 para formatos JPEG/WebP (padrão: não definido)",
|
||||
"background_type_help": "Tipo de fundo: opaque, transparent (padrão: opaque, apenas para PNG/WebP)",
|
||||
"suppress_thinking_tags": "Suprimir texto contido em tags de pensamento",
|
||||
"start_tag_thinking_sections": "Tag inicial para seções de pensamento",
|
||||
"end_tag_thinking_sections": "Tag final para seções de pensamento",
|
||||
"disable_openai_responses_api": "Desabilitar API OpenAI Responses (padrão: false)",
|
||||
"audio_video_file_transcribe": "Arquivo de áudio ou vídeo para transcrever",
|
||||
"model_for_transcription": "Modelo para usar na transcrição (separado do modelo de chat)",
|
||||
"split_media_files_ffmpeg": "Dividir arquivos de áudio/vídeo maiores que 25MB usando ffmpeg",
|
||||
"tts_voice_name": "Nome da voz TTS para modelos suportados (ex. Kore, Charon, Puck)",
|
||||
"list_gemini_tts_voices": "Listar todas as vozes TTS do Gemini disponíveis",
|
||||
"list_transcription_models": "Listar todos os modelos de transcrição disponíveis",
|
||||
"send_desktop_notification": "Enviar notificação desktop quando o comando for concluído",
|
||||
"custom_notification_command": "Comando personalizado para executar notificações (substitui notificações integradas)",
|
||||
"set_reasoning_thinking_level": "Definir nível de raciocínio/pensamento (ex. off, low, medium, high, ou tokens numéricos para Anthropic ou Google Gemini)",
|
||||
"set_debug_level": "Definir nível de debug (0=desligado, 1=básico, 2=detalhado, 3=rastreamento)",
|
||||
"usage_header": "Uso:",
|
||||
"application_options_header": "Opções da aplicação:",
|
||||
"help_options_header": "Opções de ajuda:",
|
||||
"help_message": "Mostrar esta mensagem de ajuda",
|
||||
"options_placeholder": "[OPÇÕES]",
|
||||
"available_vendors_header": "Fornecedores disponíveis:",
|
||||
"available_models_header": "Modelos disponíveis",
|
||||
"no_items_found": "Nenhum %s",
|
||||
"no_description_available": "Nenhuma descrição disponível",
|
||||
"i18n_download_failed": "Falha ao baixar tradução para o idioma '%s': %v",
|
||||
"i18n_load_failed": "Falha ao carregar arquivo de tradução: %v"
|
||||
}
|
||||
136
internal/i18n/locales/zh.json
Normal file
136
internal/i18n/locales/zh.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"html_readability_error": "使用原始输入,因为无法应用 HTML 可读性处理",
|
||||
"vendor_not_configured": "供应商 %s 未配置",
|
||||
"vendor_no_transcription_support": "供应商 %s 不支持音频转录",
|
||||
"transcription_model_required": "需要转录模型(使用 --transcribe-model)",
|
||||
"youtube_not_configured": "YouTube 未配置,请运行设置程序",
|
||||
"error_fetching_playlist_videos": "获取播放列表视频时出错: %w",
|
||||
"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": "使用模型默认设置,不发送聊天选项(如温度等),对于模式使用用户角色而非系统角色。",
|
||||
"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",
|
||||
"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"
|
||||
}
|
||||
Reference in New Issue
Block a user