Adding option to delete processed files in folder watch

This commit is contained in:
Raivis Dejus 2026-02-27 16:53:32 +02:00
commit 830e12fd24
23 changed files with 528 additions and 183 deletions

View file

@ -188,20 +188,20 @@ gh_upgrade_pr:
# Internationalization
translation_po_all:
$(MAKE) translation_po locale=en_US
$(MAKE) translation_po locale=ca_ES
$(MAKE) translation_po locale=es_ES
$(MAKE) translation_po locale=pl_PL
$(MAKE) translation_po locale=zh_CN
$(MAKE) translation_po locale=zh_TW
$(MAKE) translation_po locale=it_IT
$(MAKE) translation_po locale=lv_LV
$(MAKE) translation_po locale=uk_UA
$(MAKE) translation_po locale=ja_JP
$(MAKE) translation_po locale=da_DK
$(MAKE) translation_po locale=de_DE
$(MAKE) translation_po locale=en_US
$(MAKE) translation_po locale=es_ES
$(MAKE) translation_po locale=it_IT
$(MAKE) translation_po locale=ja_JP
$(MAKE) translation_po locale=lv_LV
$(MAKE) translation_po locale=nl
$(MAKE) translation_po locale=pl_PL
$(MAKE) translation_po locale=pt_BR
$(MAKE) translation_po locale=uk_UA
$(MAKE) translation_po locale=zh_CN
$(MAKE) translation_po locale=zh_TW
TMP_POT_FILE_PATH := $(shell mktemp)
PO_FILE_PATH := buzz/locale/${locale}/LC_MESSAGES/buzz.po

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: buzz\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: 2025-10-17 07:59+0200\n"
"Last-Translator: Éric Duarte <contacto@ericdq.com>\n"
"Language-Team: Catalan <jmas@softcatala.org>\n"
@ -184,7 +184,8 @@ msgid ""
"in the Live Recording screen in a future version."
msgstr ""
"Nota: La configuració d'exportació d'enregistrament en directe es mourà a la "
"Configuració avançada a la pantalla d'enregistrament en directe en una versió futura."
"Configuració avançada a la pantalla d'enregistrament en directe en una "
"versió futura."
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Use 8-bit quantization to reduce memory usage"
@ -259,6 +260,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr "Habilita el seguiment de carpetes"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "Eliminar fitxers processats"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "Carpeta d'entrada"
@ -623,11 +628,15 @@ msgstr "No s'ha pogut reiniciar la transcripció: {}"
msgid ""
"Could not restart transcription: model not available and could not be "
"downloaded."
msgstr "No s'ha pogut reiniciar la transcripció: el model no està disponible i no s'ha pogut descarregar."
msgstr ""
"No s'ha pogut reiniciar la transcripció: el model no està disponible i no "
"s'ha pogut descarregar."
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Could not restart transcription: transcriber worker not found."
msgstr "No s'ha pogut reiniciar la transcripció: no s'ha trobat el treballador del transcriptor."
msgstr ""
"No s'ha pogut reiniciar la transcripció: no s'ha trobat el treballador del "
"transcriptor."
#: buzz/widgets/recording_transcriber_widget.py
msgid "Live Recording"
@ -896,7 +905,9 @@ msgstr "Longitud desitjada dels subtítols"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were disabled during transcription"
msgstr "Disponible només si els temps a nivell de paraula estaven desactivats durant la transcripció"
msgstr ""
"Disponible només si els temps a nivell de paraula estaven desactivats durant "
"la transcripció"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Merge Options"
@ -920,12 +931,16 @@ msgstr "Fusiona"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were enabled during transcription"
msgstr "Disponible només si els temps a nivell de paraula estaven activats durant la transcripció"
msgstr ""
"Disponible només si els temps a nivell de paraula estaven activats durant la "
"transcripció"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid ""
"Speaker identification is not available: failed to load required libraries."
msgstr "La identificació de parlants no està disponible: no s'han pogut carregar les biblioteques necessàries."
msgstr ""
"La identificació de parlants no està disponible: no s'han pogut carregar les "
"biblioteques necessàries."
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "1/8 Collecting transcripts"
@ -941,13 +956,16 @@ msgstr "3/8 Carregant el model d'alineació"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "3/8 Loading alignment model (retrying with cache...)"
msgstr "3/8 Carregant el model d'alineació (tornant a intentar amb la memòria cau...)"
msgstr ""
"3/8 Carregant el model d'alineació (tornant a intentar amb la memòria cau...)"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid ""
"Failed to load alignment model. Please check your internet connection and "
"try again."
msgstr "No s'ha pogut carregar el model d'alineació. Comproveu la vostra connexió a Internet i torneu-ho a intentar."
msgstr ""
"No s'ha pogut carregar el model d'alineació. Comproveu la vostra connexió a "
"Internet i torneu-ho a intentar."
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "4/8 Processing audio"
@ -1551,15 +1569,16 @@ msgstr "Afegeix a sobre"
msgid "Append and correct"
msgstr "Afegeix i corregeix"
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr "Error de traducció, vegeu els registres!"
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
"to be downloaded."
msgstr "Ha fallat l'extracció de veu! Comproveu la vostra connexió a Internet — pot ser que s'hagi de descarregar un model."
msgstr ""
"Ha fallat l'extracció de veu! Comproveu la vostra connexió a Internet — pot "
"ser que s'hagi de descarregar un model."
#~ msgid "Translation error, see logs!"
#~ msgstr "Error de traducció, vegeu els registres!"
#~ msgid "Snap permission notice"
#~ msgstr "Avís de permís d'ajust"

View file

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: Ole Guldberg2 <xalt7x.service@gmail.com>\n"
"Language-Team: \n"
@ -205,7 +205,9 @@ msgstr "Brug kun CPU og deaktiver GPU-acceleration"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Set this if larger models do not fit your GPU memory and Buzz crashes"
msgstr "Aktivér dette hvis større modeller ikke passer i GPU-hukommelsen og Buzz crasher"
msgstr ""
"Aktivér dette hvis større modeller ikke passer i GPU-hukommelsen og Buzz "
"crasher"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Disable GPU"
@ -254,6 +256,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr "Aktiver mappeovervågning"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "Slet behandlede filer"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "Inputmappe"
@ -618,12 +624,13 @@ msgid ""
"Could not restart transcription: model not available and could not be "
"downloaded."
msgstr ""
"Kunne ikke genstarte transkription: modellen er ikke tilgængelig og "
"kunne ikke downloades."
"Kunne ikke genstarte transkription: modellen er ikke tilgængelig og kunne "
"ikke downloades."
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Could not restart transcription: transcriber worker not found."
msgstr "Kunne ikke genstarte transkription: transkriptionsprocessen blev ikke fundet."
msgstr ""
"Kunne ikke genstarte transkription: transkriptionsprocessen blev ikke fundet."
#: buzz/widgets/recording_transcriber_widget.py
msgid "Live Recording"
@ -892,7 +899,9 @@ msgstr "Ønskede undertekst længde"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were disabled during transcription"
msgstr "Kun tilgængeligt hvis ordniveau-tidsstempler var deaktiveret under transkription"
msgstr ""
"Kun tilgængeligt hvis ordniveau-tidsstempler var deaktiveret under "
"transkription"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Merge Options"
@ -916,13 +925,16 @@ msgstr "Sammenflet"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were enabled during transcription"
msgstr "Kun tilgængeligt hvis ordniveau-tidsstempler var aktiveret under transkription"
msgstr ""
"Kun tilgængeligt hvis ordniveau-tidsstempler var aktiveret under "
"transkription"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid ""
"Speaker identification is not available: failed to load required libraries."
msgstr ""
"Taler-identifikation er ikke tilgængelig: kunne ikke indlæse nødvendige biblioteker."
"Taler-identifikation er ikke tilgængelig: kunne ikke indlæse nødvendige "
"biblioteker."
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "1/8 Collecting transcripts"
@ -1491,3 +1503,68 @@ msgstr "Vis transkriberede oversættelse"
#: buzz/settings/shortcut.py
msgid "View Transcript Timestamps"
msgstr "Vis transkriptionstidstempler "
#: buzz/settings/shortcut.py
#, fuzzy
msgid "Search Transcript"
msgstr "Åben transkription"
#: buzz/settings/shortcut.py
msgid "Go to Next Transcript Search Result"
msgstr ""
#: buzz/settings/shortcut.py
msgid "Go to Previous Transcript Search Result"
msgstr ""
#: buzz/settings/shortcut.py
#, fuzzy
msgid "Scroll to Current Text"
msgstr "Rul til aktuel"
#: buzz/settings/shortcut.py
msgid "Play/Pause Audio"
msgstr ""
#: buzz/settings/shortcut.py
msgid "Replay Current Segment"
msgstr ""
#: buzz/settings/shortcut.py
#, fuzzy
msgid "Toggle Playback Controls"
msgstr "Afspilningskontroller:"
#: buzz/settings/shortcut.py
msgid "Decrease Segment Start Time"
msgstr ""
#: buzz/settings/shortcut.py
msgid "Increase Segment Start Time"
msgstr ""
#: buzz/settings/shortcut.py
msgid "Decrease Segment End Time"
msgstr ""
#: buzz/settings/shortcut.py
msgid "Increase Segment End Time"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py
msgid "Append below"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py
msgid "Append above"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py
msgid "Append and correct"
msgstr ""
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
"to be downloaded."
msgstr ""

View file

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: 2025-03-05 14:41+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -260,6 +260,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr "Ordner überwachen aktivieren"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "Verarbeitete Dateien löschen"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "Eingabeordner"
@ -438,7 +442,8 @@ msgstr "KI-Modell:"
#: buzz/widgets/transcriber/advanced_settings_dialog.py
msgid "Please translate each text sent to you from English to Spanish."
msgstr "Bitte übersetzen Sie jeden an Sie gesendeten Text von Englisch nach Spanisch."
msgstr ""
"Bitte übersetzen Sie jeden an Sie gesendeten Text von Englisch nach Spanisch."
#: buzz/widgets/transcriber/advanced_settings_dialog.py
msgid "Instructions for AI:"
@ -615,7 +620,9 @@ msgstr "Neustart nicht möglich"
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Only failed or canceled transcriptions can be restarted."
msgstr "Nur fehlgeschlagene oder abgebrochene Transkriptionen können neu gestartet werden."
msgstr ""
"Nur fehlgeschlagene oder abgebrochene Transkriptionen können neu gestartet "
"werden."
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Failed to restart transcription: {}"
@ -631,7 +638,9 @@ msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Could not restart transcription: transcriber worker not found."
msgstr "Transkription konnte nicht neu gestartet werden: Transkriptions-Worker nicht gefunden."
msgstr ""
"Transkription konnte nicht neu gestartet werden: Transkriptions-Worker nicht "
"gefunden."
#: buzz/widgets/recording_transcriber_widget.py
msgid "Live Recording"
@ -824,7 +833,8 @@ msgstr "Segment wiederholen"
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py
msgid "Enable/disable looping when clicking on transcript segments"
msgstr "Wiederholen beim Klicken auf Transkript-Segmente aktivieren/deaktivieren"
msgstr ""
"Wiederholen beim Klicken auf Transkript-Segmente aktivieren/deaktivieren"
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py
msgid "Follow Audio"
@ -900,7 +910,9 @@ msgstr "Gewünschte Untertitellänge"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were disabled during transcription"
msgstr "Nur verfügbar, wenn Zeitangaben auf Wortebene bei der Transkription deaktiviert waren"
msgstr ""
"Nur verfügbar, wenn Zeitangaben auf Wortebene bei der Transkription "
"deaktiviert waren"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Merge Options"
@ -924,7 +936,9 @@ msgstr "Vereinigen"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were enabled during transcription"
msgstr "Nur verfügbar, wenn Zeitangaben auf Wortebene bei der Transkription aktiviert waren"
msgstr ""
"Nur verfügbar, wenn Zeitangaben auf Wortebene bei der Transkription "
"aktiviert waren"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid ""
@ -1089,7 +1103,9 @@ msgstr ""
#: buzz/transcriber/local_whisper_cpp_server_transcriber.py
#: buzz/transcriber/recording_transcriber.py
msgid "Whisper server failed to start. Check logs for details."
msgstr "Whisper-Server konnte nicht gestartet werden. Details in den Protokollen prüfen."
msgstr ""
"Whisper-Server konnte nicht gestartet werden. Details in den Protokollen "
"prüfen."
#: buzz/transcriber/local_whisper_cpp_server_transcriber.py
#: buzz/transcriber/recording_transcriber.py
@ -1559,10 +1575,6 @@ msgstr "Oben anhängen"
msgid "Append and correct"
msgstr "Anhängen und korrigieren"
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr "Übersetzungsfehler, Protokolle prüfen!"
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
@ -1571,6 +1583,9 @@ msgstr ""
"Sprachextraktion fehlgeschlagen! Bitte Internetverbindung prüfen — ein "
"Modell muss möglicherweise heruntergeladen werden."
#~ msgid "Translation error, see logs!"
#~ msgstr "Übersetzungsfehler, Protokolle prüfen!"
#~ msgid "Snap permission notice"
#~ msgstr "Snap-Berechtigungsmitteilung"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-22 15:20+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -246,6 +246,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr ""
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr ""
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr ""
@ -1521,10 +1525,6 @@ msgstr ""
msgid "Append and correct"
msgstr ""
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr ""
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: 2025-09-08 12:43+0200\n"
"Last-Translator: Éric Duarte <contacto@ericdq.com>\n"
"Language-Team: \n"
@ -264,6 +264,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr "Habilitar la inspección de carpetas"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "Eliminar archivos procesados"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "Carpeta de entrada"
@ -654,11 +658,15 @@ msgstr "No se pudo reiniciar la transcripción: {}"
msgid ""
"Could not restart transcription: model not available and could not be "
"downloaded."
msgstr "No se pudo reiniciar la transcripción: modelo no disponible y no se pudo descargar."
msgstr ""
"No se pudo reiniciar la transcripción: modelo no disponible y no se pudo "
"descargar."
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Could not restart transcription: transcriber worker not found."
msgstr "No se pudo reiniciar la transcripción: no se encontró el trabajador del transcriptor."
msgstr ""
"No se pudo reiniciar la transcripción: no se encontró el trabajador del "
"transcriptor."
# automatic translation
#: buzz/widgets/recording_transcriber_widget.py
@ -938,7 +946,9 @@ msgstr "Longitud deseada de los subtítulos"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were disabled during transcription"
msgstr "Disponible solo si los tiempos a nivel de palabra estaban desactivados durante la transcripción"
msgstr ""
"Disponible solo si los tiempos a nivel de palabra estaban desactivados "
"durante la transcripción"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Merge Options"
@ -962,12 +972,16 @@ msgstr "Fusión"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were enabled during transcription"
msgstr "Disponible solo si los tiempos a nivel de palabra estaban activados durante la transcripción"
msgstr ""
"Disponible solo si los tiempos a nivel de palabra estaban activados durante "
"la transcripción"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid ""
"Speaker identification is not available: failed to load required libraries."
msgstr "La identificación de hablantes no está disponible: no se pudieron cargar las bibliotecas requeridas."
msgstr ""
"La identificación de hablantes no está disponible: no se pudieron cargar las "
"bibliotecas requeridas."
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "1/8 Collecting transcripts"
@ -989,7 +1003,9 @@ msgstr "3/8 Cargando modelo de alineación (reintentando con caché...)"
msgid ""
"Failed to load alignment model. Please check your internet connection and "
"try again."
msgstr "No se pudo cargar el modelo de alineación. Por favor, compruebe su conexión a internet e inténtelo de nuevo."
msgstr ""
"No se pudo cargar el modelo de alineación. Por favor, compruebe su conexión "
"a internet e inténtelo de nuevo."
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "4/8 Processing audio"
@ -1610,15 +1626,16 @@ msgstr "Añadir arriba"
msgid "Append and correct"
msgstr "Añadir y corregir"
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr "¡Error de traducción, consulte los registros!"
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
"to be downloaded."
msgstr "¡Extracción de voz fallida! Compruebe su conexión a internet — es posible que sea necesario descargar un modelo."
msgstr ""
"¡Extracción de voz fallida! Compruebe su conexión a internet — es posible "
"que sea necesario descargar un modelo."
#~ msgid "Translation error, see logs!"
#~ msgstr "¡Error de traducción, consulte los registros!"
#~ msgid "Snap permission notice"
#~ msgstr "Aviso de permiso Snap"

View file

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: buzz\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: 2026-01-25 21:42+0200\n"
"Language-Team: (Italiano) Albano Battistella <albanobattistella@gmail.com>\n"
"Language: it_IT\n"
@ -260,6 +260,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr "Abilita controllo cartelle"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "Elimina file elaborati"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "Cartella di input"
@ -438,7 +442,9 @@ msgstr "Modello AI:"
#: buzz/widgets/transcriber/advanced_settings_dialog.py
msgid "Please translate each text sent to you from English to Spanish."
msgstr "Per favore, traduci ogni testo che ti viene inviato dall'inglese allo spagnolo."
msgstr ""
"Per favore, traduci ogni testo che ti viene inviato dall'inglese allo "
"spagnolo."
#: buzz/widgets/transcriber/advanced_settings_dialog.py
msgid "Instructions for AI:"
@ -1565,10 +1571,6 @@ msgstr "Aggiungere sopra"
msgid "Append and correct"
msgstr "Aggiungere e correggere"
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr "Errore di traduzione, controlla i log!"
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
@ -1577,6 +1579,9 @@ msgstr ""
"Estrazione del parlato non riuscita! Controlla la tua connessione Internet — "
"potrebbe essere necessario scaricare un modello."
#~ msgid "Translation error, see logs!"
#~ msgstr "Errore di traduzione, controlla i log!"
#~ msgid "Snap permission notice"
#~ msgstr "Avviso di autorizzazione Snap"

View file

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: nunawa <71294849+nunawa@users.noreply.github.com>\n"
"Language-Team: \n"
@ -178,8 +178,8 @@ msgid ""
"Note: Live recording export settings will be moved to the Advanced Settings "
"in the Live Recording screen in a future version."
msgstr ""
"注意:ライブ録音の出力設定は、将来のバージョンでライブ録音画面の詳細設定に移"
"されます。"
"注意:ライブ録音の出力設定は、将来のバージョンでライブ録音画面の詳細設定に移"
"されます。"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Use 8-bit quantization to reduce memory usage"
@ -190,8 +190,8 @@ msgid ""
"Applies to Huggingface and Faster Whisper models. Reduces GPU memory usage "
"but may slightly decrease transcription quality."
msgstr ""
"HuggingfaceおよびFaster Whisperモデルに適用されます。GPUメモリ使用量を削減し"
"すが、文字起こしの品質がわずかに低下する場合があります。"
"HuggingfaceおよびFaster Whisperモデルに適用されます。GPUメモリ使用量を削減し"
"すが、文字起こしの品質がわずかに低下する場合があります。"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Reduce GPU RAM"
@ -203,7 +203,8 @@ msgstr "CPUのみを使用してGPUアクセラレーションを無効にする
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Set this if larger models do not fit your GPU memory and Buzz crashes"
msgstr "大きなモデルがGPUメモリに収まらずBuzzがクラッシュする場合に設定してください"
msgstr ""
"大きなモデルがGPUメモリに収まらずBuzzがクラッシュする場合に設定してください"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Disable GPU"
@ -252,6 +253,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr "フォルダ監視を有効にする"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "処理済みファイルを削除"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "入力フォルダ"
@ -616,8 +621,8 @@ msgid ""
"Could not restart transcription: model not available and could not be "
"downloaded."
msgstr ""
"文字起こしを再開できませんでした: モデルが利用できず、ダウンロードもできませ"
"でした。"
"文字起こしを再開できませんでした: モデルが利用できず、ダウンロードもできませ"
"でした。"
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Could not restart transcription: transcriber worker not found."
@ -919,8 +924,7 @@ msgstr "文字起こし時に単語レベルのタイミングが有効だった
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid ""
"Speaker identification is not available: failed to load required libraries."
msgstr ""
"話者識別は利用できません: 必要なライブラリの読み込みに失敗しました。"
msgstr "話者識別は利用できません: 必要なライブラリの読み込みに失敗しました。"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "1/8 Collecting transcripts"
@ -1085,8 +1089,8 @@ msgid ""
"variable."
msgstr ""
"メモリ不足のためWhisperサーバーの起動に失敗しました。より小さいモデルで再試行"
"してください。CPUモードを強制するには環境変数BUZZ_FORCE_CPU=TRUEを使用してく"
"さい。"
"してください。CPUモードを強制するには環境変数BUZZ_FORCE_CPU=TRUEを使用してく"
"さい。"
#: buzz/transcriber/transcriber.py
msgid "Translate to English"
@ -1544,10 +1548,6 @@ msgstr "上に追加"
msgid "Append and correct"
msgstr "追加して修正"
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr "翻訳エラーが発生しました。ログを確認してください!"
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
@ -1556,6 +1556,9 @@ msgstr ""
"音声抽出に失敗しました!インターネット接続を確認してください。モデルのダウン"
"ロードが必要な場合があります。"
#~ msgid "Translation error, see logs!"
#~ msgstr "翻訳エラーが発生しました。ログを確認してください!"
#~ msgid "Snap permission notice"
#~ msgstr "Snap権限通知"

View file

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"PO-Revision-Date: 2026-02-27 09:11+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: 2026-02-27 16:47+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: lv_LV\n"
@ -261,6 +261,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr "Ieslēgt mapes vērošanu"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "Dzēst apstrādātos failus"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "Vērojamā mape"
@ -1561,10 +1565,6 @@ msgstr "Jaunie teikumi augšā"
msgid "Append and correct"
msgstr "Papildināt un labot esošo"
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr "Kļūda tulkojot, skatiet sistēmas žurnālu!"
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
@ -1573,6 +1573,9 @@ msgstr ""
"Runas atdalīšana neizdevās! Pārbaudiet interneta savienojumu, iespējams "
"jālejupielādē modelis."
#~ msgid "Translation error, see logs!"
#~ msgstr "Kļūda tulkojot, skatiet sistēmas žurnālu!"
#~ msgid "Snap permission notice"
#~ msgstr "Snap atļauju piezīme"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: 2025-03-20 18:30+0100\n"
"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n"
"Language-Team: none\n"
@ -186,7 +186,8 @@ msgid ""
"in the Live Recording screen in a future version."
msgstr ""
"Opmerking: de exportinstellingen voor live-opnames worden in een toekomstige "
"versie verplaatst naar de geavanceerde instellingen in het scherm Live-opname."
"versie verplaatst naar de geavanceerde instellingen in het scherm Live-"
"opname."
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Use 8-bit quantization to reduce memory usage"
@ -210,7 +211,9 @@ msgstr "Alleen CPU gebruiken en GPU-versnelling uitschakelen"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Set this if larger models do not fit your GPU memory and Buzz crashes"
msgstr "Gebruik dit als grotere modellen niet in het GPU-geheugen passen en Buzz crasht"
msgstr ""
"Gebruik dit als grotere modellen niet in het GPU-geheugen passen en Buzz "
"crasht"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Disable GPU"
@ -259,6 +262,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr "Map bijhouden"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "Verwerkte bestanden verwijderen"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "Invoermap"
@ -437,7 +444,8 @@ msgstr "AI-model:"
#: buzz/widgets/transcriber/advanced_settings_dialog.py
msgid "Please translate each text sent to you from English to Spanish."
msgstr "Vertaal elke tekst die naar u wordt verzonden van het Engels naar het Spaans."
msgstr ""
"Vertaal elke tekst die naar u wordt verzonden van het Engels naar het Spaans."
#: buzz/widgets/transcriber/advanced_settings_dialog.py
msgid "Instructions for AI:"
@ -614,7 +622,8 @@ msgstr "Kan niet opnieuw starten"
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Only failed or canceled transcriptions can be restarted."
msgstr "Alleen mislukte of afgebroken transcripties kunnen opnieuw worden gestart."
msgstr ""
"Alleen mislukte of afgebroken transcripties kunnen opnieuw worden gestart."
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Failed to restart transcription: {}"
@ -630,7 +639,9 @@ msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Could not restart transcription: transcriber worker not found."
msgstr "Transcriptie kon niet opnieuw worden gestart: transcriptieproces niet gevonden."
msgstr ""
"Transcriptie kon niet opnieuw worden gestart: transcriptieproces niet "
"gevonden."
#: buzz/widgets/recording_transcriber_widget.py
msgid "Live Recording"
@ -897,7 +908,9 @@ msgstr "Voorkeurslengte van ondertiteling"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were disabled during transcription"
msgstr "Alleen beschikbaar als timings op woordniveau zijn uitgeschakeld tijdens transcriptie"
msgstr ""
"Alleen beschikbaar als timings op woordniveau zijn uitgeschakeld tijdens "
"transcriptie"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Merge Options"
@ -921,7 +934,9 @@ msgstr "Samenvoegen"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were enabled during transcription"
msgstr "Alleen beschikbaar als timings op woordniveau zijn ingeschakeld tijdens transcriptie"
msgstr ""
"Alleen beschikbaar als timings op woordniveau zijn ingeschakeld tijdens "
"transcriptie"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid ""
@ -951,8 +966,8 @@ msgid ""
"Failed to load alignment model. Please check your internet connection and "
"try again."
msgstr ""
"Het laden van het uitlijningsmodel is mislukt. Controleer uw internetverbinding "
"en probeer het opnieuw."
"Het laden van het uitlijningsmodel is mislukt. Controleer uw "
"internetverbinding en probeer het opnieuw."
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "4/8 Processing audio"
@ -1085,7 +1100,9 @@ msgstr "De OpenAI-api-sleutel kan niet worden bewaard in de sleutelbos"
#: buzz/transcriber/local_whisper_cpp_server_transcriber.py
#: buzz/transcriber/recording_transcriber.py
msgid "Whisper server failed to start. Check logs for details."
msgstr "De Whisper-server kon niet worden gestart. Raadpleeg de logboeken voor meer informatie."
msgstr ""
"De Whisper-server kon niet worden gestart. Raadpleeg de logboeken voor meer "
"informatie."
#: buzz/transcriber/local_whisper_cpp_server_transcriber.py
#: buzz/transcriber/recording_transcriber.py
@ -1094,8 +1111,8 @@ msgid ""
"with a smaller model. To force CPU mode use BUZZ_FORCE_CPU=TRUE environment "
"variable."
msgstr ""
"De Whisper-server kon niet worden gestart wegens onvoldoende geheugen. Probeer "
"het opnieuw met een kleiner model. Gebruik de omgevingsvariabele "
"De Whisper-server kon niet worden gestart wegens onvoldoende geheugen. "
"Probeer het opnieuw met een kleiner model. Gebruik de omgevingsvariabele "
"BUZZ_FORCE_CPU=TRUE om CPU-modus te forceren."
#: buzz/transcriber/transcriber.py
@ -1554,10 +1571,6 @@ msgstr "Bovenaan toevoegen"
msgid "Append and correct"
msgstr "Toevoegen en corrigeren"
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr "Vertaalfout, raadpleeg de logboeken!"
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
@ -1566,6 +1579,9 @@ msgstr ""
"Spraakextractie mislukt! Controleer uw internetverbinding — mogelijk moet er "
"een model worden gedownload."
#~ msgid "Translation error, see logs!"
#~ msgstr "Vertaalfout, raadpleeg de logboeken!"
#~ msgid "Snap permission notice"
#~ msgstr "Snap-rechten"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: 2024-03-17 20:50+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -208,7 +208,9 @@ msgstr "Używaj tylko CPU i wyłącz akcelerację GPU"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Set this if larger models do not fit your GPU memory and Buzz crashes"
msgstr "Ustaw to, jeśli większe modele nie mieszczą się w pamięci GPU i Buzz się zawiesza"
msgstr ""
"Ustaw to, jeśli większe modele nie mieszczą się w pamięci GPU i Buzz się "
"zawiesza"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Disable GPU"
@ -250,13 +252,17 @@ msgid ""
"validation."
msgstr ""
"OpenAI API zwróciło nieprawidłową odpowiedź. Sprawdź adres URL API lub swój "
"klucz. Transkrypcja i tłumaczenie mogą nadal działać, jeśli API nie obsługuje "
"weryfikacji klucza."
"klucz. Transkrypcja i tłumaczenie mogą nadal działać, jeśli API nie "
"obsługuje weryfikacji klucza."
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Enable folder watch"
msgstr "Włącz obserwację folderu"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "Usuń przetworzonych pliki"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "Folder wejściowy"
@ -610,7 +616,8 @@ msgstr "Nie można ponownie uruchomić"
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Only failed or canceled transcriptions can be restarted."
msgstr "Tylko nieudane lub anulowane transkrypcje mogą być uruchomione ponownie."
msgstr ""
"Tylko nieudane lub anulowane transkrypcje mogą być uruchomione ponownie."
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Failed to restart transcription: {}"
@ -626,7 +633,9 @@ msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Could not restart transcription: transcriber worker not found."
msgstr "Nie można uruchomić ponownie transkrypcji: nie znaleziono procesu transkrypcji."
msgstr ""
"Nie można uruchomić ponownie transkrypcji: nie znaleziono procesu "
"transkrypcji."
#: buzz/widgets/recording_transcriber_widget.py
msgid "Live Recording"
@ -895,7 +904,8 @@ msgstr "Żądana długość napisów"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were disabled during transcription"
msgstr "Dostępne tylko jeśli znaczniki dla słów były wyłączone podczas transkrypcji"
msgstr ""
"Dostępne tylko jeśli znaczniki dla słów były wyłączone podczas transkrypcji"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Merge Options"
@ -919,13 +929,15 @@ msgstr "Scal"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were enabled during transcription"
msgstr "Dostępne tylko jeśli znaczniki dla słów były włączone podczas transkrypcji"
msgstr ""
"Dostępne tylko jeśli znaczniki dla słów były włączone podczas transkrypcji"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid ""
"Speaker identification is not available: failed to load required libraries."
msgstr ""
"Identyfikacja mówcy jest niedostępna: nie udało się załadować wymaganych bibliotek."
"Identyfikacja mówcy jest niedostępna: nie udało się załadować wymaganych "
"bibliotek."
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "1/8 Collecting transcripts"
@ -941,7 +953,8 @@ msgstr "3/8 Ładowanie modelu wyrównania"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "3/8 Loading alignment model (retrying with cache...)"
msgstr "3/8 Ładowanie modelu wyrównania (ponowna próba z pamięcią podręczną...)"
msgstr ""
"3/8 Ładowanie modelu wyrównania (ponowna próba z pamięcią podręczną...)"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid ""
@ -1092,8 +1105,8 @@ msgid ""
"variable."
msgstr ""
"Serwer Whisper nie uruchomił się z powodu niewystarczającej pamięci. Spróbuj "
"ponownie z mniejszym modelem. Aby wymusić tryb CPU, użyj zmiennej środowiskowej "
"BUZZ_FORCE_CPU=TRUE."
"ponownie z mniejszym modelem. Aby wymusić tryb CPU, użyj zmiennej "
"środowiskowej BUZZ_FORCE_CPU=TRUE."
#: buzz/transcriber/transcriber.py
msgid "Translate to English"
@ -1551,17 +1564,16 @@ msgstr "Dodaj powyżej"
msgid "Append and correct"
msgstr "Dodaj i popraw"
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr "Błąd tłumaczenia, sprawdź logi!"
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
"to be downloaded."
msgstr ""
"Wyodrębnianie mowy nie powiodło się! Sprawdź połączenie internetowe — "
"może być konieczne pobranie modelu."
"Wyodrębnianie mowy nie powiodło się! Sprawdź połączenie internetowe — może "
"być konieczne pobranie modelu."
#~ msgid "Translation error, see logs!"
#~ msgstr "Błąd tłumaczenia, sprawdź logi!"
#~ msgid "ID"
#~ msgstr "ID"

View file

@ -258,6 +258,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr "Habilitar monitoramento de pasta"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "Excluir arquivos processados"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "Pasta de entrada"

View file

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: Yevhen Popok <xalt7x.service@gmail.com>\n"
"Language-Team: \n"
@ -205,7 +205,8 @@ msgstr "Використовувати лише CPU та вимкнути при
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Set this if larger models do not fit your GPU memory and Buzz crashes"
msgstr "Увімкніть це, якщо великі моделі не поміщаються в пам'ять GPU і Buzz падає"
msgstr ""
"Увімкніть це, якщо великі моделі не поміщаються в пам'ять GPU і Buzz падає"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Disable GPU"
@ -232,8 +233,8 @@ msgid ""
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
"API key may cause errors."
msgstr ""
"API підтримує лише символи base64 (A-Za-z0-9+/=_-). Інші символи в "
"API-ключі можуть спричиняти помилки."
"API підтримує лише символи base64 (A-Za-z0-9+/=_-). Інші символи в API-ключі "
"можуть спричиняти помилки."
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
#: buzz/widgets/transcriber/advanced_settings_dialog.py
@ -254,6 +255,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr "Увімкнути стеження за текою"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "Видалити оброблені файли"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "Тека введення"
@ -430,7 +435,9 @@ msgstr "Модель ШІ"
#: buzz/widgets/transcriber/advanced_settings_dialog.py
msgid "Please translate each text sent to you from English to Spanish."
msgstr "Будь ласка, перекладайте кожен текст, надісланий вам, з англійської на іспанську."
msgstr ""
"Будь ласка, перекладайте кожен текст, надісланий вам, з англійської на "
"іспанську."
#: buzz/widgets/transcriber/advanced_settings_dialog.py
msgid "Instructions for AI:"
@ -623,7 +630,8 @@ msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Could not restart transcription: transcriber worker not found."
msgstr "Не вдалося перезапустити транскрипцію: обробник транскрипції не знайдено."
msgstr ""
"Не вдалося перезапустити транскрипцію: обробник транскрипції не знайдено."
#: buzz/widgets/recording_transcriber_widget.py
msgid "Live Recording"
@ -892,7 +900,9 @@ msgstr "Бажана довжина субтитрів"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were disabled during transcription"
msgstr "Доступно лише якщо хронометраж на рівні слів був вимкнений під час транскрипції"
msgstr ""
"Доступно лише якщо хронометраж на рівні слів був вимкнений під час "
"транскрипції"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Merge Options"
@ -916,7 +926,9 @@ msgstr "Об'єднати"
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py
msgid "Available only if word level timings were enabled during transcription"
msgstr "Доступно лише якщо хронометраж на рівні слів був увімкнений під час транскрипції"
msgstr ""
"Доступно лише якщо хронометраж на рівні слів був увімкнений під час "
"транскрипції"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid ""
@ -1078,7 +1090,8 @@ msgstr "Не вдається додати до звʼязки ключів API-
#: buzz/transcriber/local_whisper_cpp_server_transcriber.py
#: buzz/transcriber/recording_transcriber.py
msgid "Whisper server failed to start. Check logs for details."
msgstr "Не вдалося запустити сервер Whisper. Перевірте журнали для отримання деталей."
msgstr ""
"Не вдалося запустити сервер Whisper. Перевірте журнали для отримання деталей."
#: buzz/transcriber/local_whisper_cpp_server_transcriber.py
#: buzz/transcriber/recording_transcriber.py
@ -1547,10 +1560,6 @@ msgstr "Додати зверху"
msgid "Append and correct"
msgstr "Додати та виправити"
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr "Помилка перекладу, перегляньте журнали!"
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
@ -1559,6 +1568,9 @@ msgstr ""
"Не вдалося витягти мовлення! Перевірте підключення до інтернету — можливо, "
"потрібно завантажити модель."
#~ msgid "Translation error, see logs!"
#~ msgstr "Помилка перекладу, перегляньте журнали!"
#~ msgid "Snap permission notice"
#~ msgstr "Попередження щодо дозволів Snap"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: 2023-05-01 15:45+0800\n"
"Last-Translator: \n"
"Language-Team: lamb \n"
@ -182,8 +182,7 @@ msgstr "实时录制模式"
msgid ""
"Note: Live recording export settings will be moved to the Advanced Settings "
"in the Live Recording screen in a future version."
msgstr ""
"注意:实时录制导出设置将在未来版本中移至实时录制界面的高级设置中。"
msgstr "注意:实时录制导出设置将在未来版本中移至实时录制界面的高级设置中。"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Use 8-bit quantization to reduce memory usage"
@ -194,8 +193,8 @@ msgid ""
"Applies to Huggingface and Faster Whisper models. Reduces GPU memory usage "
"but may slightly decrease transcription quality."
msgstr ""
"适用于 Huggingface 和 Faster Whisper 模型。可减少 GPU 内存占用,但可能略微"
"低转录质量。"
"适用于 Huggingface 和 Faster Whisper 模型。可减少 GPU 内存占用,但可能略微"
"低转录质量。"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Reduce GPU RAM"
@ -252,6 +251,10 @@ msgstr ""
msgid "Enable folder watch"
msgstr "开启文件夹监控"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "删除已处理的文件"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "输入文件夹"
@ -820,8 +823,7 @@ msgstr "跟随音频"
msgid ""
"Enable/disable following the current audio position in the transcript. When "
"enabled, automatically scrolls to current text."
msgstr ""
"在识别文本中启用/禁用跟随当前音频位置。启用后,自动滚动到当前文本。"
msgstr "在识别文本中启用/禁用跟随当前音频位置。启用后,自动滚动到当前文本。"
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py
msgid "Scroll to Current"
@ -1076,8 +1078,8 @@ msgid ""
"with a smaller model. To force CPU mode use BUZZ_FORCE_CPU=TRUE environment "
"variable."
msgstr ""
"Whisper 服务器因内存不足而启动失败。请尝试使用较小的模型。如需强制使用 CPU "
"式,请设置环境变量 BUZZ_FORCE_CPU=TRUE。"
"Whisper 服务器因内存不足而启动失败。请尝试使用较小的模型。如需强制使用 CPU "
"式,请设置环境变量 BUZZ_FORCE_CPU=TRUE。"
#: buzz/transcriber/transcriber.py
msgid "Translate to English"
@ -1535,16 +1537,14 @@ msgstr "增加上方"
msgid "Append and correct"
msgstr "增加并纠正"
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr "翻译出错,请查看日志!"
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
"to be downloaded."
msgstr ""
"语音提取失败!请检查您的网络连接——可能需要下载模型。"
msgstr "语音提取失败!请检查您的网络连接——可能需要下载模型。"
#~ msgid "Translation error, see logs!"
#~ msgstr "翻译出错,请查看日志!"
#~ msgid "Snap permission notice"
#~ msgstr "快照权限通知"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-27 09:07+0200\n"
"POT-Creation-Date: 2026-02-27 16:46+0200\n"
"PO-Revision-Date: 2023-05-01 15:45+0800\n"
"Last-Translator: \n"
"Language-Team: Lamb\n"
@ -182,8 +182,7 @@ msgstr "即時錄製模式"
msgid ""
"Note: Live recording export settings will be moved to the Advanced Settings "
"in the Live Recording screen in a future version."
msgstr ""
"注意:即時錄製匯出設定將在未來版本中移至即時錄製畫面的進階設定中。"
msgstr "注意:即時錄製匯出設定將在未來版本中移至即時錄製畫面的進階設定中。"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Use 8-bit quantization to reduce memory usage"
@ -194,8 +193,8 @@ msgid ""
"Applies to Huggingface and Faster Whisper models. Reduces GPU memory usage "
"but may slightly decrease transcription quality."
msgstr ""
"適用於 Huggingface 和 Faster Whisper 模型。可降低 GPU 記憶體使用量,但可能"
"微降低轉錄品質。"
"適用於 Huggingface 和 Faster Whisper 模型。可降低 GPU 記憶體使用量,但可能"
"微降低轉錄品質。"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Reduce GPU RAM"
@ -221,8 +220,7 @@ msgstr "OpenAI API 金鑰測試"
msgid ""
"Your API key is valid. Buzz will use this key to perform Whisper API "
"transcriptions and AI translations."
msgstr ""
"您的 API 金鑰有效。Buzz 將使用此金鑰執行 Whisper API 轉錄和 AI 翻譯。"
msgstr "您的 API 金鑰有效。Buzz 將使用此金鑰執行 Whisper API 轉錄和 AI 翻譯。"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
msgid "Invalid API key"
@ -233,7 +231,8 @@ msgid ""
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
"API key may cause errors."
msgstr ""
"API 僅支援 base64 字元A-Za-z0-9+/=_-。API 金鑰中的其他字元可能會導致錯誤。"
"API 僅支援 base64 字元A-Za-z0-9+/=_-。API 金鑰中的其他字元可能會導致錯"
"誤。"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py
#: buzz/widgets/transcriber/advanced_settings_dialog.py
@ -246,13 +245,17 @@ msgid ""
"Transcription and translation may still work if the API does not support key "
"validation."
msgstr ""
"OpenAI API 傳回無效回應。請檢查 API 網址或您的金鑰。若 API 不支援金鑰驗證,"
"錄和翻譯仍可能正常運作。"
"OpenAI API 傳回無效回應。請檢查 API 網址或您的金鑰。若 API 不支援金鑰驗證,"
"錄和翻譯仍可能正常運作。"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Enable folder watch"
msgstr "啟用資料夾監視"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Delete processed files"
msgstr "刪除已處理的檔案"
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py
msgid "Input folder"
msgstr "輸入資料夾"
@ -616,8 +619,7 @@ msgstr "重新開始轉錄失敗:{}"
msgid ""
"Could not restart transcription: model not available and could not be "
"downloaded."
msgstr ""
"無法重新開始轉錄:模型不可用且無法下載。"
msgstr "無法重新開始轉錄:模型不可用且無法下載。"
#: buzz/widgets/transcription_tasks_table_widget.py
msgid "Could not restart transcription: transcriber worker not found."
@ -822,8 +824,7 @@ msgstr "跟隨音訊"
msgid ""
"Enable/disable following the current audio position in the transcript. When "
"enabled, automatically scrolls to current text."
msgstr ""
"啟用/停用在轉錄稿中跟隨目前音訊位置。啟用後,自動捲動至目前文字。"
msgstr "啟用/停用在轉錄稿中跟隨目前音訊位置。啟用後,自動捲動至目前文字。"
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py
msgid "Scroll to Current"
@ -916,8 +917,7 @@ msgstr "僅在轉錄時啟用單字級別時間戳記時可用"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid ""
"Speaker identification is not available: failed to load required libraries."
msgstr ""
"說話者識別不可用:無法載入所需程式庫。"
msgstr "說話者識別不可用:無法載入所需程式庫。"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "1/8 Collecting transcripts"
@ -939,8 +939,7 @@ msgstr "3/8 載入對齊模型(正在使用快取重試..."
msgid ""
"Failed to load alignment model. Please check your internet connection and "
"try again."
msgstr ""
"無法載入對齊模型。請檢查您的網路連線並重試。"
msgstr "無法載入對齊模型。請檢查您的網路連線並重試。"
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py
msgid "4/8 Processing audio"
@ -1080,8 +1079,8 @@ msgid ""
"with a smaller model. To force CPU mode use BUZZ_FORCE_CPU=TRUE environment "
"variable."
msgstr ""
"Whisper 伺服器因記憶體不足而啟動失敗。請改用較小的模型重試。若要強制使用 "
"CPU 模式,請設定環境變數 BUZZ_FORCE_CPU=TRUE。"
"Whisper 伺服器因記憶體不足而啟動失敗。請改用較小的模型重試。若要強制使用 CPU "
"模式,請設定環境變數 BUZZ_FORCE_CPU=TRUE。"
#: buzz/transcriber/transcriber.py
msgid "Translate to English"
@ -1539,16 +1538,14 @@ msgstr "附加至上方"
msgid "Append and correct"
msgstr "附加並校正"
#: buzz/translator.py
msgid "Translation error, see logs!"
msgstr "翻譯錯誤,請查看日誌!"
#: buzz/file_transcriber_queue_worker.py
msgid ""
"Speech extraction failed! Check your internet connection — a model may need "
"to be downloaded."
msgstr ""
"語音提取失敗!請檢查您的網路連線——可能需要下載模型。"
msgstr "語音提取失敗!請檢查您的網路連線——可能需要下載模型。"
#~ msgid "Translation error, see logs!"
#~ msgstr "翻譯錯誤,請查看日誌!"
#~ msgid "ID"
#~ msgstr "ID"

View file

@ -155,13 +155,16 @@ class FileTranscriber(QObject):
or self.transcription_task.file_path
)
if source_path and os.path.exists(source_path):
shutil.move(
source_path,
os.path.join(
self.transcription_task.output_directory,
os.path.basename(source_path),
),
)
if self.transcription_task.delete_source_file:
os.remove(source_path)
else:
shutil.move(
source_path,
os.path.join(
self.transcription_task.output_directory,
os.path.basename(source_path),
),
)
def on_download_progress(self, data: dict):
if data["status"] == "downloading":

View file

@ -202,6 +202,7 @@ class FileTranscriptionTask:
source: Source = Source.FILE_IMPORT
file_path: Optional[str] = None
original_file_path: Optional[str] = None # Original path before speech extraction
delete_source_file: bool = False
url: Optional[str] = None
fraction_downloaded: float = 0.0

View file

@ -44,6 +44,11 @@ class FolderWatchPreferencesWidget(QWidget):
checkbox.setObjectName("EnableFolderWatchCheckbox")
checkbox.stateChanged.connect(self.on_enable_changed)
delete_checkbox = QCheckBox(_("Delete processed files"))
delete_checkbox.setChecked(config.delete_processed_files)
delete_checkbox.setObjectName("DeleteProcessedFilesCheckbox")
delete_checkbox.stateChanged.connect(self.on_delete_processed_files_changed)
input_folder_browse_button = QPushButton(_("Browse"))
input_folder_browse_button.clicked.connect(self.on_click_browse_input_folder)
@ -93,6 +98,7 @@ class FolderWatchPreferencesWidget(QWidget):
folders_form_layout.addRow("", checkbox)
folders_form_layout.addRow(_("Input folder"), input_folder_row)
folders_form_layout.addRow(_("Output folder"), output_folder_row)
folders_form_layout.addRow("", delete_checkbox)
folders_form_layout.addWidget(transcription_form_widget)
layout.addLayout(folders_form_layout)
@ -123,6 +129,10 @@ class FolderWatchPreferencesWidget(QWidget):
self.config.enabled = state == 2
self.config_changed.emit(self.config)
def on_delete_processed_files_changed(self, state: int):
self.config.delete_processed_files = state == 2
self.config_changed.emit(self.config)
def on_transcription_options_changed(
self, options: Tuple[TranscriptionOptions, FileTranscriptionOptions]
):

View file

@ -13,11 +13,13 @@ class FolderWatchPreferences:
input_directory: str
output_directory: str
file_transcription_options: FileTranscriptionPreferences
delete_processed_files: bool = False
def save(self, settings: QSettings):
settings.setValue("enabled", self.enabled)
settings.setValue("input_folder", self.input_directory)
settings.setValue("output_directory", self.output_directory)
settings.setValue("delete_processed_files", self.delete_processed_files)
settings.beginGroup("file_transcription_options")
self.file_transcription_options.save(settings)
settings.endGroup()
@ -29,6 +31,8 @@ class FolderWatchPreferences:
input_folder = settings.value("input_folder", defaultValue="", type=str)
output_folder = settings.value("output_directory", defaultValue="", type=str)
delete_value = settings.value("delete_processed_files", False)
delete_processed_files = False if delete_value == "false" else bool(delete_value)
settings.beginGroup("file_transcription_options")
file_transcription_options = FileTranscriptionPreferences.load(settings)
settings.endGroup()
@ -37,4 +41,5 @@ class FolderWatchPreferences:
input_directory=input_folder,
output_directory=output_folder,
file_transcription_options=file_transcription_options,
delete_processed_files=delete_processed_files,
)

View file

@ -111,6 +111,7 @@ class TranscriptionTaskFolderWatcher(QFileSystemWatcher):
model_path=model_path,
output_directory=output_directory,
source=FileTranscriptionTask.Source.FOLDER_WATCH,
delete_source_file=self.preferences.delete_processed_files,
)
self.task_found.emit(task)
self.paths_emitted.add(file_path)

View file

@ -357,6 +357,42 @@ class TestWhisperFileTranscriber:
transcriber.stop()
time.sleep(3)
def test_transcribe_from_folder_watch_source_deletes_file(self, qtbot):
file_path = tempfile.mktemp(suffix=".mp3")
shutil.copy(test_audio_path, file_path)
file_transcription_options = FileTranscriptionOptions(
file_paths=[file_path],
output_formats={OutputFormat.TXT},
)
transcription_options = TranscriptionOptions()
model_path = get_model_path(transcription_options.model)
output_directory = tempfile.mkdtemp()
transcriber = WhisperFileTranscriber(
task=FileTranscriptionTask(
model_path=model_path,
transcription_options=transcription_options,
file_transcription_options=file_transcription_options,
file_path=file_path,
original_file_path=file_path,
output_directory=output_directory,
source=FileTranscriptionTask.Source.FOLDER_WATCH,
delete_source_file=True,
)
)
with qtbot.wait_signal(transcriber.completed, timeout=10 * 6000):
transcriber.run()
assert not os.path.isfile(file_path)
assert not os.path.isfile(
os.path.join(output_directory, os.path.basename(file_path))
)
assert len(glob.glob("*.txt", root_dir=output_directory)) > 0
transcriber.stop()
time.sleep(3)
@pytest.mark.skip()
def test_transcribe_stop(self):
output_file_path = os.path.join(tempfile.gettempdir(), "whisper.txt")

View file

@ -57,3 +57,42 @@ class TestFolderWatchPreferencesWidget:
assert last_config_changed_call[0][0].enabled
assert last_config_changed_call[0][0].input_directory == "test/input/folder"
assert last_config_changed_call[0][0].output_directory == "test/output/folder"
def test_delete_processed_files_checkbox(self, qtbot):
widget = FolderWatchPreferencesWidget(
config=FolderWatchPreferences(
enabled=False,
input_directory="",
output_directory="",
file_transcription_options=FileTranscriptionPreferences(
language=None,
task=Task.TRANSCRIBE,
model=TranscriptionModel.default(),
word_level_timings=False,
extract_speech=False,
temperature=DEFAULT_WHISPER_TEMPERATURE,
initial_prompt="",
enable_llm_translation=False,
llm_model="",
llm_prompt="",
output_formats=set(),
),
),
)
mock_config_changed = Mock()
widget.config_changed.connect(mock_config_changed)
qtbot.add_widget(widget)
delete_checkbox = widget.findChild(QCheckBox, "DeleteProcessedFilesCheckbox")
assert delete_checkbox is not None
assert not delete_checkbox.isChecked()
delete_checkbox.setChecked(True)
last_config = mock_config_changed.call_args_list[-1][0][0]
assert last_config.delete_processed_files is True
delete_checkbox.setChecked(False)
last_config = mock_config_changed.call_args_list[-1][0][0]
assert last_config.delete_processed_files is False

View file

@ -322,6 +322,76 @@ class TestTranscriptionTaskFolderWatcher:
task: FileTranscriptionTask = blocker.args[0]
assert task.file_path == os.path.join(input_directory, "whisper-french.mp3")
def test_should_set_delete_source_file_when_preference_enabled(self, qtbot: QtBot):
input_directory = mkdtemp()
output_directory = mkdtemp()
watcher = TranscriptionTaskFolderWatcher(
tasks={},
preferences=FolderWatchPreferences(
enabled=True,
input_directory=input_directory,
output_directory=output_directory,
delete_processed_files=True,
file_transcription_options=FileTranscriptionPreferences(
language=None,
task=Task.TRANSCRIBE,
model=self.default_model(),
word_level_timings=False,
extract_speech=False,
temperature=DEFAULT_WHISPER_TEMPERATURE,
initial_prompt="",
enable_llm_translation=False,
llm_model="",
llm_prompt="",
output_formats=set(),
),
),
)
shutil.copy(test_audio_path, input_directory)
with qtbot.wait_signal(watcher.task_found, timeout=10_000) as blocker:
pass
task: FileTranscriptionTask = blocker.args[0]
assert task.delete_source_file is True
def test_should_not_set_delete_source_file_when_preference_disabled(self, qtbot: QtBot):
input_directory = mkdtemp()
output_directory = mkdtemp()
watcher = TranscriptionTaskFolderWatcher(
tasks={},
preferences=FolderWatchPreferences(
enabled=True,
input_directory=input_directory,
output_directory=output_directory,
delete_processed_files=False,
file_transcription_options=FileTranscriptionPreferences(
language=None,
task=Task.TRANSCRIBE,
model=self.default_model(),
word_level_timings=False,
extract_speech=False,
temperature=DEFAULT_WHISPER_TEMPERATURE,
initial_prompt="",
enable_llm_translation=False,
llm_model="",
llm_prompt="",
output_formats=set(),
),
),
)
shutil.copy(test_audio_path, input_directory)
with qtbot.wait_signal(watcher.task_found, timeout=10_000) as blocker:
pass
task: FileTranscriptionTask = blocker.args[0]
assert task.delete_source_file is False
def test_should_set_original_file_path(self, qtbot: QtBot):
input_directory = mkdtemp()
output_directory = mkdtemp()