mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-01-10 06:48:04 -05:00
fix: improve PT-BR translation naturalness and fluency
- Thanks to @JuracyAmerico for Brazilian Portugese native speaker expertise! - Replace "dos" with "entre" for better preposition usage - Add definite articles where natural in Portuguese - Clarify "configurações padrão" instead of just "padrões" - Keep technical terms visible like "padrões/patterns" - Remove unnecessary quotes around "URL" - Make phrasing more natural "Exportar para arquivo"
This commit is contained in:
7
cmd/generate_changelog/incoming/1779.txt
Normal file
7
cmd/generate_changelog/incoming/1779.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
### PR [#1779](https://github.com/danielmiessler/Fabric/pull/1779) by [ksylvan](https://github.com/ksylvan): Improve pt-BR Translation - Thanks to @JuracyAmerico
|
||||
|
||||
- Fix: improve PT-BR translation naturalness and fluency
|
||||
- Replace "dos" with "entre" for better preposition usage
|
||||
- Add definite articles where natural in Portuguese
|
||||
- Clarify "configurações padrão" instead of just "padrões"
|
||||
- Keep technical terms visible like "padrões/patterns"
|
||||
@@ -132,7 +132,7 @@ func TestPortugueseVariantDistinction(t *testing.T) {
|
||||
}
|
||||
|
||||
// Check a key that should differ between variants
|
||||
// "output_to_file" should be "Saída para arquivo" in pt-BR and "Saída para ficheiro" in pt-PT
|
||||
// "output_to_file" should be "Exportar para arquivo" in pt-BR and "Saída para ficheiro" in pt-PT
|
||||
msgBR := localizerBR.MustLocalize(&goi18n.LocalizeConfig{MessageID: "output_to_file"})
|
||||
msgPT := localizerPT.MustLocalize(&goi18n.LocalizeConfig{MessageID: "output_to_file"})
|
||||
|
||||
@@ -141,8 +141,8 @@ func TestPortugueseVariantDistinction(t *testing.T) {
|
||||
}
|
||||
|
||||
// Verify specific expected values
|
||||
if msgBR != "Saída para arquivo" {
|
||||
t.Errorf("pt-BR 'output_to_file' = %q; want 'Saída para arquivo'", msgBR)
|
||||
if msgBR != "Exportar para arquivo" {
|
||||
t.Errorf("pt-BR 'output_to_file' = %q; want 'Exportar para arquivo'", msgBR)
|
||||
}
|
||||
if msgPT != "Saída para ficheiro" {
|
||||
t.Errorf("pt-PT 'output_to_file' = %q; want 'Saída para ficheiro'", msgPT)
|
||||
@@ -169,7 +169,7 @@ func TestBackwardCompatibility(t *testing.T) {
|
||||
t.Errorf("'pt' and 'pt-BR' returned different translations: %q vs %q", msgPT, msgBR)
|
||||
}
|
||||
|
||||
if msgPT != "Saída para arquivo" {
|
||||
t.Errorf("'pt' did not default to Brazilian Portuguese. Got %q, want 'Saída para arquivo'", msgPT)
|
||||
if msgPT != "Exportar para arquivo" {
|
||||
t.Errorf("'pt' did not default to Brazilian Portuguese. Got %q, want 'Exportar para arquivo'", msgPT)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,4 +133,4 @@
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,4 +133,4 @@
|
||||
"no_description_available": "توضیحی در دسترس نیست",
|
||||
"i18n_download_failed": "دانلود ترجمه برای زبان '%s' ناموفق بود: %v",
|
||||
"i18n_load_failed": "بارگذاری فایل ترجمه ناموفق بود: %v"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,4 +133,4 @@
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,4 +133,4 @@
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,4 +133,4 @@
|
||||
"no_description_available": "説明がありません",
|
||||
"i18n_download_failed": "言語 '%s' の翻訳のダウンロードに失敗しました: %v",
|
||||
"i18n_load_failed": "翻訳ファイルの読み込みに失敗しました: %v"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,33 +43,33 @@
|
||||
"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_pattern_from_available": "Escolha um padrão entre os padrões disponíveis",
|
||||
"pattern_variables_help": "Valores para variáveis do padrão, ex. -v=#role:expert -v=#points:30",
|
||||
"choose_context_from_available": "Escolha um contexto entre os 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",
|
||||
"attachment_path_or_url_help": "Caminho para o anexo ou URL (ex. para mensagens de reconhecimento de imagem do OpenAI)",
|
||||
"run_setup_for_reconfigurable_parts": "Executar a 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.",
|
||||
"use_model_defaults_raw_help": "Usar as configurações padrão 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_patterns": "Listar todos os padrões/patterns",
|
||||
"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",
|
||||
"update_patterns": "Atualizar os padrões/patterns",
|
||||
"messages_to_send_to_chat": "Mensagens para enviar ao chat",
|
||||
"copy_to_clipboard": "Copiar para área de transferência",
|
||||
"copy_to_clipboard": "Copiar para a á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_to_file": "Exportar 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",
|
||||
"youtube_url_help": "Vídeo do YouTube ou URL da 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",
|
||||
|
||||
@@ -133,4 +133,4 @@
|
||||
"no_description_available": "没有可用描述",
|
||||
"i18n_download_failed": "下载语言 '%s' 的翻译失败: %v",
|
||||
"i18n_load_failed": "加载翻译文件失败: %v"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user