Live recording sliding window (#933)

This commit is contained in:
Raivis Dejus 2024-10-06 14:29:42 +03:00 committed by GitHub
commit 950e56ea6f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 838 additions and 470 deletions

1
.gitignore vendored
View file

@ -19,6 +19,7 @@ buzz/whisper_cpp.py
# Internationalization - compiled binaries
*.mo
*.po~
benchmarks.json

View file

@ -1 +1 @@
VERSION = "1.1.1"
VERSION = "1.2.0"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: buzz\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-27 11:58+0300\n"
"POT-Creation-Date: 2024-10-06 13:55+0300\n"
"PO-Revision-Date: 2023-02-15 05:01+0000\n"
"Last-Translator: Jordi Mas i Hernàndez <jmas@softcatala.org>\n"
"Language-Team: Catalan <jmas@softcatala.org>\n"
@ -26,6 +26,7 @@ msgstr ""
#: buzz/widgets/import_url_dialog.py:28
#: buzz/widgets/preferences_dialog/preferences_dialog.py:69
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:244
#: buzz/widgets/transcriber/advanced_settings_dialog.py:97
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:295
#: buzz/widgets/main_window.py:234
@ -34,7 +35,9 @@ msgstr ""
#: buzz/widgets/import_url_dialog.py:29
#: buzz/widgets/preferences_dialog/preferences_dialog.py:70
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:245
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:296
#: buzz/widgets/model_download_progress_dialog.py:29
#: buzz/widgets/main_window.py:235
#, fuzzy
msgid "Cancel"
@ -56,56 +59,61 @@ msgstr ""
msgid "Reset to Defaults"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:49
msgid "Font Size"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:54
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:56
msgid "Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:60
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:62
msgid "OpenAI API key"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:73
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:75
msgid "OpenAI base url"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:82
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
msgid "Default export file name"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:90
msgid "Enable live recording transcription export"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:94
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
msgid "Browse"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:113
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:115
msgid "Export folder"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:138
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:144
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:126
#, fuzzy
msgid "Live recording mode"
msgstr "Enregistrament en viu"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:151
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:157
msgid "OpenAI API Key Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:152
msgid ""
"Your API key is valid. Buzz will use this key to perform Whisper API "
"transcriptions and AI translations."
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:166
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:179
msgid "Select Export Folder"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:216
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:231
msgid ""
"OpenAI API returned invalid response. Please check the API url or your key. "
"Transcription and translation may still work if the API does not support key "
@ -154,52 +162,52 @@ msgstr "Dreceres"
msgid "Folder Watch"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:68
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:70
msgid "Group"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:80
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:82
msgid "Huggingface ID of a Faster whisper model"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:91
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:93
msgid "Download"
msgstr "Baixada"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:98
msgid "Show file location"
msgstr "Mostra la ubicació del fitxer"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:104
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:106
msgid "Delete"
msgstr "Suprimeix"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:135
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:137
msgid "Downloaded"
msgstr "Baixat"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:140
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:142
msgid "Available for Download"
msgstr "Disponible per baixar"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:161
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:163
msgid "Download link to Whisper.cpp ggml model file"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:237
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
msgid "Delete Model"
msgstr "Suprimeix el model"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:239
msgid "Are you sure you want to delete the selected model?"
msgstr "Esteu segur que voleu suprimir el model seleccionat?"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:258
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:267
#, fuzzy
msgid "Download failed"
msgstr "Baixat"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:259
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:268
#: buzz/widgets/main_window.py:291 buzz/model_loader.py:473
msgid "Error"
msgstr "Error"
@ -213,7 +221,7 @@ msgstr "Enregistra"
msgid "Stop"
msgstr "Atura"
#: buzz/widgets/transcriber/languages_combo_box.py:25
#: buzz/widgets/transcriber/languages_combo_box.py:35
#: buzz/transcriber/transcriber.py:159
msgid "Detect Language"
msgstr "Detecta l'idioma"
@ -291,7 +299,7 @@ msgstr "Temps amb granularitat de paraula"
msgid "Export:"
msgstr ""
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:36
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:37
msgid "Huggingface ID of a model"
msgstr ""
@ -316,75 +324,75 @@ msgstr "Cancel·la la transcripció"
msgid "Clear History"
msgstr "Neteja l'historial"
#: buzz/widgets/transcription_tasks_table_widget.py:62
#: buzz/widgets/transcription_tasks_table_widget.py:64
msgid "In Progress"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:65
#: buzz/widgets/transcription_tasks_table_widget.py:67
msgid "Completed"
msgstr "Completat"
#: buzz/widgets/transcription_tasks_table_widget.py:72
#: buzz/widgets/transcription_tasks_table_widget.py:74
msgid "Failed"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:75
#: buzz/widgets/transcription_tasks_table_widget.py:77
msgid "Canceled"
msgstr "Cancel·lat"
#: buzz/widgets/transcription_tasks_table_widget.py:77
#: buzz/widgets/transcription_tasks_table_widget.py:79
msgid "Queued"
msgstr "A la cua"
#: buzz/widgets/transcription_tasks_table_widget.py:84
#: buzz/widgets/transcription_tasks_table_widget.py:86
#, fuzzy
msgid "File Name / URL"
msgstr "Nom del fitxer"
#: buzz/widgets/transcription_tasks_table_widget.py:96
#: buzz/widgets/transcription_tasks_table_widget.py:98
#, fuzzy
msgid "Model"
msgstr "Model:"
#: buzz/widgets/transcription_tasks_table_widget.py:105
#: buzz/widgets/transcription_tasks_table_widget.py:107
#, fuzzy
msgid "Task"
msgstr "Tasca:"
#: buzz/widgets/transcription_tasks_table_widget.py:114
#: buzz/widgets/transcription_tasks_table_widget.py:116
msgid "Status"
msgstr "Estat"
#: buzz/widgets/transcription_tasks_table_widget.py:122
#: buzz/widgets/transcription_tasks_table_widget.py:124
msgid "Date Added"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:133
#: buzz/widgets/transcription_tasks_table_widget.py:135
#, fuzzy
msgid "Date Completed"
msgstr "Completat"
#: buzz/widgets/recording_transcriber_widget.py:73
#: buzz/widgets/recording_transcriber_widget.py:79
msgid "Live Recording"
msgstr "Enregistrament en viu"
#: buzz/widgets/recording_transcriber_widget.py:135
#: buzz/widgets/recording_transcriber_widget.py:144
msgid "Click Record to begin..."
msgstr "Feu clic a Enregistra per a començar..."
#: buzz/widgets/recording_transcriber_widget.py:138
#: buzz/widgets/recording_transcriber_widget.py:147
msgid "Waiting for AI translation..."
msgstr ""
#: buzz/widgets/recording_transcriber_widget.py:150
#: buzz/widgets/recording_transcriber_widget.py:159
msgid "Microphone:"
msgstr "Micròfon:"
#: buzz/widgets/recording_transcriber_widget.py:414
#: buzz/widgets/recording_transcriber_widget.py:523
msgid "An error occurred while starting a new recording:"
msgstr "S'ha produït un error en iniciar un enregistrament nou:"
#: buzz/widgets/recording_transcriber_widget.py:418
#: buzz/widgets/recording_transcriber_widget.py:527
msgid ""
"Please check your audio devices or check the application logs for more "
"information."
@ -410,14 +418,14 @@ msgstr "Finalitza"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:95
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:34
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:39
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:30
msgid "Text"
msgstr "Text"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:96
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:62
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:31
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:64
#, fuzzy
msgid "Translation"
msgstr "Transcripció nova"
@ -459,11 +467,11 @@ msgstr ""
msgid "Enter target characters per subtitle:"
msgstr ""
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:76
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
msgid "Save File"
msgstr "Desa el fitxer"
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:80
msgid "Text files"
msgstr "Fitxers de text"
@ -575,6 +583,18 @@ msgstr "Transcripció nova"
msgid "View Transcript Timestamps"
msgstr "Transcripció nova"
#: buzz/settings/recording_transcriber_mode.py:5
msgid "Append below"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:6
msgid "Append above"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:7
msgid "Append and correct"
msgstr ""
#~ msgid "ID"
#~ msgstr "ID"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-27 11:58+0300\n"
"POT-Creation-Date: 2024-10-06 13:55+0300\n"
"PO-Revision-Date: 2023-11-09 04:35-0600\n"
"Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n"
"Language-Team: \n"
@ -27,6 +27,7 @@ msgstr ""
#: buzz/widgets/import_url_dialog.py:28
#: buzz/widgets/preferences_dialog/preferences_dialog.py:69
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:244
#: buzz/widgets/transcriber/advanced_settings_dialog.py:97
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:295
#: buzz/widgets/main_window.py:234
@ -35,7 +36,9 @@ msgstr ""
#: buzz/widgets/import_url_dialog.py:29
#: buzz/widgets/preferences_dialog/preferences_dialog.py:70
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:245
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:296
#: buzz/widgets/model_download_progress_dialog.py:29
#: buzz/widgets/main_window.py:235
#, fuzzy
msgid "Cancel"
@ -57,56 +60,62 @@ msgstr ""
msgid "Reset to Defaults"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:49
msgid "Font Size"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:54
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:56
msgid "Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:60
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:62
msgid "OpenAI API key"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:73
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:75
msgid "OpenAI base url"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:82
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
msgid "Default export file name"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:90
msgid "Enable live recording transcription export"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:94
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
msgid "Browse"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:113
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:115
msgid "Export folder"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:138
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:144
# automatic translation
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:126
#, fuzzy
msgid "Live recording mode"
msgstr "Grabación en vivo"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:151
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:157
msgid "OpenAI API Key Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:152
msgid ""
"Your API key is valid. Buzz will use this key to perform Whisper API "
"transcriptions and AI translations."
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:166
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:179
msgid "Select Export Folder"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:216
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:231
msgid ""
"OpenAI API returned invalid response. Please check the API url or your key. "
"Transcription and translation may still work if the API does not support key "
@ -158,53 +167,53 @@ msgstr "Atajos"
msgid "Folder Watch"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:68
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:70
msgid "Group"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:80
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:82
msgid "Huggingface ID of a Faster whisper model"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:91
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:93
msgid "Download"
msgstr "Descargar"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:98
msgid "Show file location"
msgstr "Mostrar ubicación de archivo"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:104
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:106
msgid "Delete"
msgstr "Eliminar"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:135
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:137
msgid "Downloaded"
msgstr "Descargado"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:140
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:142
msgid "Available for Download"
msgstr "Disponible para descarga"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:161
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:163
msgid "Download link to Whisper.cpp ggml model file"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:237
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
msgid "Delete Model"
msgstr "Eliminar modelo"
# automatic translation
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:239
msgid "Are you sure you want to delete the selected model?"
msgstr "¿Confirma que quiere eliminar el modelo seleccionado?"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:258
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:267
#, fuzzy
msgid "Download failed"
msgstr "Descargado"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:259
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:268
#: buzz/widgets/main_window.py:291 buzz/model_loader.py:473
msgid "Error"
msgstr "Error"
@ -221,7 +230,7 @@ msgid "Stop"
msgstr "Detener"
# automatic translation
#: buzz/widgets/transcriber/languages_combo_box.py:25
#: buzz/widgets/transcriber/languages_combo_box.py:35
#: buzz/transcriber/transcriber.py:159
msgid "Detect Language"
msgstr "Detectar idioma"
@ -309,7 +318,7 @@ msgstr "Tiempos a nivel de palabra"
msgid "Export:"
msgstr ""
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:36
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:37
msgid "Huggingface ID of a model"
msgstr ""
@ -338,83 +347,83 @@ msgstr "Cancelar transcripción"
msgid "Clear History"
msgstr "Vaciar historial"
#: buzz/widgets/transcription_tasks_table_widget.py:62
#: buzz/widgets/transcription_tasks_table_widget.py:64
msgid "In Progress"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:65
#: buzz/widgets/transcription_tasks_table_widget.py:67
msgid "Completed"
msgstr "Completado"
#: buzz/widgets/transcription_tasks_table_widget.py:72
#: buzz/widgets/transcription_tasks_table_widget.py:74
msgid "Failed"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:75
#: buzz/widgets/transcription_tasks_table_widget.py:77
msgid "Canceled"
msgstr "Cancelado"
#: buzz/widgets/transcription_tasks_table_widget.py:77
#: buzz/widgets/transcription_tasks_table_widget.py:79
msgid "Queued"
msgstr "En cola"
# automatic translation
#: buzz/widgets/transcription_tasks_table_widget.py:84
#: buzz/widgets/transcription_tasks_table_widget.py:86
#, fuzzy
msgid "File Name / URL"
msgstr "Nombre de archivo"
# automatic translation
#: buzz/widgets/transcription_tasks_table_widget.py:96
#: buzz/widgets/transcription_tasks_table_widget.py:98
#, fuzzy
msgid "Model"
msgstr "Modelo:"
# automatic translation
#: buzz/widgets/transcription_tasks_table_widget.py:105
#: buzz/widgets/transcription_tasks_table_widget.py:107
#, fuzzy
msgid "Task"
msgstr "Tarea:"
#: buzz/widgets/transcription_tasks_table_widget.py:114
#: buzz/widgets/transcription_tasks_table_widget.py:116
msgid "Status"
msgstr "Estado"
#: buzz/widgets/transcription_tasks_table_widget.py:122
#: buzz/widgets/transcription_tasks_table_widget.py:124
msgid "Date Added"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:133
#: buzz/widgets/transcription_tasks_table_widget.py:135
#, fuzzy
msgid "Date Completed"
msgstr "Completado"
# automatic translation
#: buzz/widgets/recording_transcriber_widget.py:73
#: buzz/widgets/recording_transcriber_widget.py:79
msgid "Live Recording"
msgstr "Grabación en vivo"
# automatic translation
#: buzz/widgets/recording_transcriber_widget.py:135
#: buzz/widgets/recording_transcriber_widget.py:144
msgid "Click Record to begin..."
msgstr "Pulse en Grabar para comenzar..."
#: buzz/widgets/recording_transcriber_widget.py:138
#: buzz/widgets/recording_transcriber_widget.py:147
msgid "Waiting for AI translation..."
msgstr ""
# automatic translation
#: buzz/widgets/recording_transcriber_widget.py:150
#: buzz/widgets/recording_transcriber_widget.py:159
msgid "Microphone:"
msgstr "Micrófono:"
# automatic translation
#: buzz/widgets/recording_transcriber_widget.py:414
#: buzz/widgets/recording_transcriber_widget.py:523
msgid "An error occurred while starting a new recording:"
msgstr "Se produjo un error al iniciar una grabación nueva:"
# automatic translation
#: buzz/widgets/recording_transcriber_widget.py:418
#: buzz/widgets/recording_transcriber_widget.py:527
msgid ""
"Please check your audio devices or check the application logs for more "
"information."
@ -442,15 +451,15 @@ msgstr "Fin"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:95
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:34
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:39
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:30
msgid "Text"
msgstr "Texto"
# automatic translation
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:96
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:62
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:31
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:64
#, fuzzy
msgid "Translation"
msgstr "Transcripción nueva"
@ -493,11 +502,11 @@ msgid "Enter target characters per subtitle:"
msgstr ""
# automatic translation
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:76
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
msgid "Save File"
msgstr "Guardar archivo"
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:80
msgid "Text files"
msgstr "Archivos de texto"
@ -622,6 +631,18 @@ msgstr "Transcripción nueva"
msgid "View Transcript Timestamps"
msgstr "Transcripción nueva"
#: buzz/settings/recording_transcriber_mode.py:5
msgid "Append below"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:6
msgid "Append above"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:7
msgid "Append and correct"
msgstr ""
#~ msgid "ID"
#~ msgstr "Id."

View file

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: buzz\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-27 11:58+0300\n"
"POT-Creation-Date: 2024-10-06 13:55+0300\n"
"PO-Revision-Date: 2024-03-15 19:22+0100\n"
"Language-Team: (Italiano) Albano Battistella <albanobattistella@gmail.com>\n"
"Language: it_IT\n"
@ -26,6 +26,7 @@ msgstr ""
#: buzz/widgets/import_url_dialog.py:28
#: buzz/widgets/preferences_dialog/preferences_dialog.py:69
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:244
#: buzz/widgets/transcriber/advanced_settings_dialog.py:97
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:295
#: buzz/widgets/main_window.py:234
@ -34,7 +35,9 @@ msgstr ""
#: buzz/widgets/import_url_dialog.py:29
#: buzz/widgets/preferences_dialog/preferences_dialog.py:70
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:245
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:296
#: buzz/widgets/model_download_progress_dialog.py:29
#: buzz/widgets/main_window.py:235
msgid "Cancel"
msgstr "Annulla"
@ -55,57 +58,62 @@ msgstr "L'URL inserito non è valido."
msgid "Reset to Defaults"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:49
msgid "Font Size"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:54
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:56
msgid "Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:60
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:62
msgid "OpenAI API key"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:73
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:75
msgid "OpenAI base url"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:82
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
msgid "Default export file name"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:90
msgid "Enable live recording transcription export"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:94
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
msgid "Browse"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:113
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:115
#, fuzzy
msgid "Export folder"
msgstr "Esporta"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:138
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:144
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:126
#, fuzzy
msgid "Live recording mode"
msgstr "Registrazione in diretta"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:151
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:157
msgid "OpenAI API Key Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:152
msgid ""
"Your API key is valid. Buzz will use this key to perform Whisper API "
"transcriptions and AI translations."
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:166
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:179
msgid "Select Export Folder"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:216
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:231
msgid ""
"OpenAI API returned invalid response. Please check the API url or your key. "
"Transcription and translation may still work if the API does not support key "
@ -155,52 +163,52 @@ msgstr "Scorciatoie"
msgid "Folder Watch"
msgstr "Guarda cartella"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:68
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:70
msgid "Group"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:80
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:82
msgid "Huggingface ID of a Faster whisper model"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:91
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:93
msgid "Download"
msgstr "Download"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:98
msgid "Show file location"
msgstr "Mostra la posizione del file"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:104
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:106
msgid "Delete"
msgstr "Elimina"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:135
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:137
msgid "Downloaded"
msgstr "Scaricato"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:140
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:142
msgid "Available for Download"
msgstr "Disponibile per il download"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:161
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:163
msgid "Download link to Whisper.cpp ggml model file"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:237
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
msgid "Delete Model"
msgstr "Elimina modello"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:239
msgid "Are you sure you want to delete the selected model?"
msgstr "Sei sicuro di voler eliminare il modello selezionato?"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:258
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:267
#, fuzzy
msgid "Download failed"
msgstr "Scaricato"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:259
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:268
#: buzz/widgets/main_window.py:291 buzz/model_loader.py:473
msgid "Error"
msgstr "Errore"
@ -214,7 +222,7 @@ msgstr "Registra"
msgid "Stop"
msgstr "Arresta"
#: buzz/widgets/transcriber/languages_combo_box.py:25
#: buzz/widgets/transcriber/languages_combo_box.py:35
#: buzz/transcriber/transcriber.py:159
msgid "Detect Language"
msgstr "Rileva la lingua"
@ -293,7 +301,7 @@ msgstr "Tempistiche a livello di parola"
msgid "Export:"
msgstr "Esporta"
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:36
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:37
msgid "Huggingface ID of a model"
msgstr ""
@ -318,75 +326,75 @@ msgstr "Annulla trascrizione"
msgid "Clear History"
msgstr "Elimina la cronologia"
#: buzz/widgets/transcription_tasks_table_widget.py:62
#: buzz/widgets/transcription_tasks_table_widget.py:64
msgid "In Progress"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:65
#: buzz/widgets/transcription_tasks_table_widget.py:67
msgid "Completed"
msgstr "Completato"
#: buzz/widgets/transcription_tasks_table_widget.py:72
#: buzz/widgets/transcription_tasks_table_widget.py:74
msgid "Failed"
msgstr "Non riuscito"
#: buzz/widgets/transcription_tasks_table_widget.py:75
#: buzz/widgets/transcription_tasks_table_widget.py:77
msgid "Canceled"
msgstr "Annullato"
#: buzz/widgets/transcription_tasks_table_widget.py:77
#: buzz/widgets/transcription_tasks_table_widget.py:79
msgid "Queued"
msgstr "In coda"
#: buzz/widgets/transcription_tasks_table_widget.py:84
#: buzz/widgets/transcription_tasks_table_widget.py:86
#, fuzzy
msgid "File Name / URL"
msgstr "Nome file"
#: buzz/widgets/transcription_tasks_table_widget.py:96
#: buzz/widgets/transcription_tasks_table_widget.py:98
#, fuzzy
msgid "Model"
msgstr "Modello:"
#: buzz/widgets/transcription_tasks_table_widget.py:105
#: buzz/widgets/transcription_tasks_table_widget.py:107
#, fuzzy
msgid "Task"
msgstr "Compito:"
#: buzz/widgets/transcription_tasks_table_widget.py:114
#: buzz/widgets/transcription_tasks_table_widget.py:116
msgid "Status"
msgstr "Stato"
#: buzz/widgets/transcription_tasks_table_widget.py:122
#: buzz/widgets/transcription_tasks_table_widget.py:124
msgid "Date Added"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:133
#: buzz/widgets/transcription_tasks_table_widget.py:135
#, fuzzy
msgid "Date Completed"
msgstr "Completato"
#: buzz/widgets/recording_transcriber_widget.py:73
#: buzz/widgets/recording_transcriber_widget.py:79
msgid "Live Recording"
msgstr "Registrazione in diretta"
#: buzz/widgets/recording_transcriber_widget.py:135
#: buzz/widgets/recording_transcriber_widget.py:144
msgid "Click Record to begin..."
msgstr "Fai clic su Registra per iniziare..."
#: buzz/widgets/recording_transcriber_widget.py:138
#: buzz/widgets/recording_transcriber_widget.py:147
msgid "Waiting for AI translation..."
msgstr ""
#: buzz/widgets/recording_transcriber_widget.py:150
#: buzz/widgets/recording_transcriber_widget.py:159
msgid "Microphone:"
msgstr "Microfono:"
#: buzz/widgets/recording_transcriber_widget.py:414
#: buzz/widgets/recording_transcriber_widget.py:523
msgid "An error occurred while starting a new recording:"
msgstr "Si è verificato un errore durante l'avvio della nuova registrazione:"
#: buzz/widgets/recording_transcriber_widget.py:418
#: buzz/widgets/recording_transcriber_widget.py:527
msgid ""
"Please check your audio devices or check the application logs for more "
"information."
@ -412,14 +420,14 @@ msgstr "Fine"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:95
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:34
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:39
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:30
msgid "Text"
msgstr "Testo"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:96
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:62
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:31
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:64
#, fuzzy
msgid "Translation"
msgstr "Nuova trascrizione"
@ -461,11 +469,11 @@ msgstr ""
msgid "Enter target characters per subtitle:"
msgstr ""
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:76
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
msgid "Save File"
msgstr "Salva file"
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:80
msgid "Text files"
msgstr "File di testo"
@ -575,6 +583,18 @@ msgstr "Nuova trascrizione"
msgid "View Transcript Timestamps"
msgstr "Nuova trascrizione"
#: buzz/settings/recording_transcriber_mode.py:5
msgid "Append below"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:6
msgid "Append above"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:7
msgid "Append and correct"
msgstr ""
#~ msgid "ID"
#~ msgstr "ID"

View file

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-27 11:58+0300\n"
"POT-Creation-Date: 2024-10-06 13:55+0300\n"
"PO-Revision-Date: \n"
"Last-Translator: nunawa <71294849+nunawa@users.noreply.github.com>\n"
"Language-Team: \n"
@ -22,6 +22,7 @@ msgstr "https://example.com/audio.mp3"
#: buzz/widgets/import_url_dialog.py:28
#: buzz/widgets/preferences_dialog/preferences_dialog.py:69
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:244
#: buzz/widgets/transcriber/advanced_settings_dialog.py:97
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:295
#: buzz/widgets/main_window.py:234
@ -30,7 +31,9 @@ msgstr "Ok"
#: buzz/widgets/import_url_dialog.py:29
#: buzz/widgets/preferences_dialog/preferences_dialog.py:70
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:245
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:296
#: buzz/widgets/model_download_progress_dialog.py:29
#: buzz/widgets/main_window.py:235
msgid "Cancel"
msgstr "キャンセル"
@ -51,46 +54,51 @@ msgstr "入力されたURLは無効です。"
msgid "Reset to Defaults"
msgstr "デフォルトに戻す"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:49
msgid "Font Size"
msgstr "フォントサイズ"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:54
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:56
msgid "Test"
msgstr "テスト"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:60
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:62
msgid "OpenAI API key"
msgstr "OpenAI APIキー"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:73
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:75
msgid "OpenAI base url"
msgstr "OpenAI ベースURL"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:82
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
msgid "Default export file name"
msgstr "デフォルトの出力ファイル名"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:90
msgid "Enable live recording transcription export"
msgstr "ライブ録音書き起こしの出力を有効にする"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:94
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
msgid "Browse"
msgstr "参照"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:113
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:115
msgid "Export folder"
msgstr "出力フォルダ"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:138
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:144
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:126
#, fuzzy
msgid "Live recording mode"
msgstr "ライブ録音"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:151
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:157
msgid "OpenAI API Key Test"
msgstr "OpenAI APIキー テスト"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:152
msgid ""
"Your API key is valid. Buzz will use this key to perform Whisper API "
"transcriptions and AI translations."
@ -98,11 +106,11 @@ msgstr ""
"あなたのAPIキーは有効です。Buzzはこのキーを使ってWhisper APIの書き起こしとAI"
"翻訳を行います。"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:166
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:179
msgid "Select Export Folder"
msgstr "出力フォルダを選択"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:216
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:231
msgid ""
"OpenAI API returned invalid response. Please check the API url or your key. "
"Transcription and translation may still work if the API does not support key "
@ -152,51 +160,51 @@ msgstr "ショートカット"
msgid "Folder Watch"
msgstr "フォルダ監視"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:68
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:70
msgid "Group"
msgstr "グループ"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:80
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:82
msgid "Huggingface ID of a Faster whisper model"
msgstr "Faster whisperモデルのHuggingface ID"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:91
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:93
msgid "Download"
msgstr "ダウンロード"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:98
msgid "Show file location"
msgstr "ファイルの場所を表示"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:104
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:106
msgid "Delete"
msgstr "削除"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:135
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:137
msgid "Downloaded"
msgstr "ダウンロード済み"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:140
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:142
msgid "Available for Download"
msgstr "ダウンロード可能"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:161
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:163
msgid "Download link to Whisper.cpp ggml model file"
msgstr "Whisper.cpp ggmlモデルファイルのダウンロードリンク"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:237
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
msgid "Delete Model"
msgstr "モデルを削除"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:239
msgid "Are you sure you want to delete the selected model?"
msgstr "選択したモデルを本当に削除しますか?"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:258
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:267
msgid "Download failed"
msgstr "ダウンロード失敗"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:259
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:268
#: buzz/widgets/main_window.py:291 buzz/model_loader.py:473
msgid "Error"
msgstr "エラー"
@ -210,7 +218,7 @@ msgstr "録音する"
msgid "Stop"
msgstr "停止する"
#: buzz/widgets/transcriber/languages_combo_box.py:25
#: buzz/widgets/transcriber/languages_combo_box.py:35
#: buzz/transcriber/transcriber.py:159
msgid "Detect Language"
msgstr "自動検出"
@ -287,7 +295,7 @@ msgstr "単語レベルでのタイミング"
msgid "Export:"
msgstr "出力形式:"
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:36
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:37
msgid "Huggingface ID of a model"
msgstr "モデルのHuggingface ID"
@ -312,71 +320,71 @@ msgstr "文字起こしをキャンセルする"
msgid "Clear History"
msgstr "履歴を削除する"
#: buzz/widgets/transcription_tasks_table_widget.py:62
#: buzz/widgets/transcription_tasks_table_widget.py:64
msgid "In Progress"
msgstr "進行中"
#: buzz/widgets/transcription_tasks_table_widget.py:65
#: buzz/widgets/transcription_tasks_table_widget.py:67
msgid "Completed"
msgstr "完了"
#: buzz/widgets/transcription_tasks_table_widget.py:72
#: buzz/widgets/transcription_tasks_table_widget.py:74
msgid "Failed"
msgstr "失敗"
#: buzz/widgets/transcription_tasks_table_widget.py:75
#: buzz/widgets/transcription_tasks_table_widget.py:77
msgid "Canceled"
msgstr "キャンセル済み"
#: buzz/widgets/transcription_tasks_table_widget.py:77
#: buzz/widgets/transcription_tasks_table_widget.py:79
msgid "Queued"
msgstr "キュー済み"
#: buzz/widgets/transcription_tasks_table_widget.py:84
#: buzz/widgets/transcription_tasks_table_widget.py:86
msgid "File Name / URL"
msgstr "ファイル名 / URL"
#: buzz/widgets/transcription_tasks_table_widget.py:96
#: buzz/widgets/transcription_tasks_table_widget.py:98
msgid "Model"
msgstr "モデル"
#: buzz/widgets/transcription_tasks_table_widget.py:105
#: buzz/widgets/transcription_tasks_table_widget.py:107
msgid "Task"
msgstr "タスク"
#: buzz/widgets/transcription_tasks_table_widget.py:114
#: buzz/widgets/transcription_tasks_table_widget.py:116
msgid "Status"
msgstr "ステータス"
#: buzz/widgets/transcription_tasks_table_widget.py:122
#: buzz/widgets/transcription_tasks_table_widget.py:124
msgid "Date Added"
msgstr "追加日"
#: buzz/widgets/transcription_tasks_table_widget.py:133
#: buzz/widgets/transcription_tasks_table_widget.py:135
msgid "Date Completed"
msgstr "完了日"
#: buzz/widgets/recording_transcriber_widget.py:73
#: buzz/widgets/recording_transcriber_widget.py:79
msgid "Live Recording"
msgstr "ライブ録音"
#: buzz/widgets/recording_transcriber_widget.py:135
#: buzz/widgets/recording_transcriber_widget.py:144
msgid "Click Record to begin..."
msgstr "クリックで録音を開始..."
#: buzz/widgets/recording_transcriber_widget.py:138
#: buzz/widgets/recording_transcriber_widget.py:147
msgid "Waiting for AI translation..."
msgstr "AI翻訳を待っています..."
#: buzz/widgets/recording_transcriber_widget.py:150
#: buzz/widgets/recording_transcriber_widget.py:159
msgid "Microphone:"
msgstr "マイク:"
#: buzz/widgets/recording_transcriber_widget.py:414
#: buzz/widgets/recording_transcriber_widget.py:523
msgid "An error occurred while starting a new recording:"
msgstr "新規録音開始時にエラーが発生しました:"
#: buzz/widgets/recording_transcriber_widget.py:418
#: buzz/widgets/recording_transcriber_widget.py:527
msgid ""
"Please check your audio devices or check the application logs for more "
"information."
@ -402,14 +410,14 @@ msgstr "終了"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:95
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:34
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:39
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:30
msgid "Text"
msgstr "テキスト"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:96
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:62
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:31
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:64
msgid "Translation"
msgstr "翻訳"
@ -450,11 +458,11 @@ msgstr "希望する字幕の長さ"
msgid "Enter target characters per subtitle:"
msgstr "字幕の目標文字数を入力してください:"
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:76
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
msgid "Save File"
msgstr "ファイルを保存"
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:80
msgid "Text files"
msgstr "テキストファイル"
@ -558,3 +566,15 @@ msgstr "文字起こしの翻訳を表示する"
#: buzz/settings/shortcut.py:24
msgid "View Transcript Timestamps"
msgstr "文字起こしのタイムスタンプを表示する"
#: buzz/settings/recording_transcriber_mode.py:5
msgid "Append below"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:6
msgid "Append above"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:7
msgid "Append and correct"
msgstr ""

View file

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-27 11:58+0300\n"
"PO-Revision-Date: 2024-08-17 11:02+0300\n"
"POT-Creation-Date: 2024-10-06 13:55+0300\n"
"PO-Revision-Date: 2024-10-06 14:00+0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: lv_LV\n"
@ -28,6 +28,7 @@ msgstr "https://example.com/audio.mp3"
#: buzz/widgets/import_url_dialog.py:28
#: buzz/widgets/preferences_dialog/preferences_dialog.py:69
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:244
#: buzz/widgets/transcriber/advanced_settings_dialog.py:97
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:295
#: buzz/widgets/main_window.py:234
@ -36,7 +37,9 @@ msgstr "Labi"
#: buzz/widgets/import_url_dialog.py:29
#: buzz/widgets/preferences_dialog/preferences_dialog.py:70
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:245
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:296
#: buzz/widgets/model_download_progress_dialog.py:29
#: buzz/widgets/main_window.py:235
msgid "Cancel"
msgstr "Atcelt"
@ -57,46 +60,52 @@ msgstr "Jūsu ievadītā URL adrese nav derīga."
msgid "Reset to Defaults"
msgstr "Atjaunot noklusētos"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:49
msgid "Font Size"
msgstr "Fonta izmērs"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:54
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:56
msgid "Test"
msgstr "Pārbaudīt"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:60
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:62
msgid "OpenAI API key"
msgstr "OpenAI API atslēga"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:73
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:75
msgid "OpenAI base url"
msgstr "OpenAI adrese"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:82
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
msgid "Default export file name"
msgstr "Eksporta fails"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:90
msgid "Enable live recording transcription export"
msgstr "Eksportēt dzīvā ieraksta transkriptus"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:94
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
msgid "Browse"
msgstr "Izvēlēties"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:113
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:115
msgid "Export folder"
msgstr "Eksportēt mapē"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:138
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:144
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:126
msgid "Live recording mode"
msgstr ""
"Dzīvā ieraksta\n"
"režīms"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:151
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:157
msgid "OpenAI API Key Test"
msgstr "OpenAI API atslēgas pārbaude"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:152
msgid ""
"Your API key is valid. Buzz will use this key to perform Whisper API "
"transcriptions and AI translations."
@ -104,11 +113,11 @@ msgstr ""
"Jūsu API atslēga ir derīga. Buzz izmantos to runas atpazīšanai ar Whisper "
"API un tulkošanai."
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:166
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:179
msgid "Select Export Folder"
msgstr "Izvēlieties mapi kurā eksportēt"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:216
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:231
msgid ""
"OpenAI API returned invalid response. Please check the API url or your key. "
"Transcription and translation may still work if the API does not support key "
@ -158,51 +167,51 @@ msgstr "Īsinājumi"
msgid "Folder Watch"
msgstr "Mapes vērošana"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:68
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:70
msgid "Group"
msgstr "Veids"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:80
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:82
msgid "Huggingface ID of a Faster whisper model"
msgstr "Faster Whisper modeļa Huggingface ID"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:91
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:93
msgid "Download"
msgstr "Lejupielādēt"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:98
msgid "Show file location"
msgstr "Pādīt faila atrašanās vietu"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:104
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:106
msgid "Delete"
msgstr "Dzēst"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:135
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:137
msgid "Downloaded"
msgstr "Lejupielādēts"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:140
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:142
msgid "Available for Download"
msgstr "Pieejams lejupielādei"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:161
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:163
msgid "Download link to Whisper.cpp ggml model file"
msgstr "Whisper.cpp ggml modeļa datnes lejupielādes saite"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:237
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
msgid "Delete Model"
msgstr "Dzēst modeli"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:239
msgid "Are you sure you want to delete the selected model?"
msgstr "Vai tiešām dzēst izvēlēto modeli?"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:258
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:267
msgid "Download failed"
msgstr "Lejupielāde neizdevās"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:259
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:268
#: buzz/widgets/main_window.py:291 buzz/model_loader.py:473
msgid "Error"
msgstr "Kļūda"
@ -216,7 +225,7 @@ msgstr "Ierakstīt"
msgid "Stop"
msgstr "Apturēt"
#: buzz/widgets/transcriber/languages_combo_box.py:25
#: buzz/widgets/transcriber/languages_combo_box.py:35
#: buzz/transcriber/transcriber.py:159
msgid "Detect Language"
msgstr "Noteikt valodu"
@ -295,7 +304,7 @@ msgstr "Dalīt pa vārdiem"
msgid "Export:"
msgstr "Eksportēt:"
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:36
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:37
msgid "Huggingface ID of a model"
msgstr "Modeļa Huggingface ID"
@ -320,71 +329,71 @@ msgstr "Atcelt atpazīšanu"
msgid "Clear History"
msgstr "Notīrīt vēsturi"
#: buzz/widgets/transcription_tasks_table_widget.py:62
#: buzz/widgets/transcription_tasks_table_widget.py:64
msgid "In Progress"
msgstr "Apstrādā"
#: buzz/widgets/transcription_tasks_table_widget.py:65
#: buzz/widgets/transcription_tasks_table_widget.py:67
msgid "Completed"
msgstr "Pabeigts"
#: buzz/widgets/transcription_tasks_table_widget.py:72
#: buzz/widgets/transcription_tasks_table_widget.py:74
msgid "Failed"
msgstr "Neizdevās"
#: buzz/widgets/transcription_tasks_table_widget.py:75
#: buzz/widgets/transcription_tasks_table_widget.py:77
msgid "Canceled"
msgstr "Atcelts"
#: buzz/widgets/transcription_tasks_table_widget.py:77
#: buzz/widgets/transcription_tasks_table_widget.py:79
msgid "Queued"
msgstr "Ierindots"
#: buzz/widgets/transcription_tasks_table_widget.py:84
#: buzz/widgets/transcription_tasks_table_widget.py:86
msgid "File Name / URL"
msgstr "Fails / URL"
#: buzz/widgets/transcription_tasks_table_widget.py:96
#: buzz/widgets/transcription_tasks_table_widget.py:98
msgid "Model"
msgstr "Modelis"
#: buzz/widgets/transcription_tasks_table_widget.py:105
#: buzz/widgets/transcription_tasks_table_widget.py:107
msgid "Task"
msgstr "Uzdevums"
#: buzz/widgets/transcription_tasks_table_widget.py:114
#: buzz/widgets/transcription_tasks_table_widget.py:116
msgid "Status"
msgstr "Statuss"
#: buzz/widgets/transcription_tasks_table_widget.py:122
#: buzz/widgets/transcription_tasks_table_widget.py:124
msgid "Date Added"
msgstr "Pievienots"
#: buzz/widgets/transcription_tasks_table_widget.py:133
#: buzz/widgets/transcription_tasks_table_widget.py:135
msgid "Date Completed"
msgstr "Pabeigts"
#: buzz/widgets/recording_transcriber_widget.py:73
#: buzz/widgets/recording_transcriber_widget.py:79
msgid "Live Recording"
msgstr "Dzīvā ierakstīšana"
#: buzz/widgets/recording_transcriber_widget.py:135
#: buzz/widgets/recording_transcriber_widget.py:144
msgid "Click Record to begin..."
msgstr "Klikšķiniet Ierakstīt, lai sāktu..."
#: buzz/widgets/recording_transcriber_widget.py:138
#: buzz/widgets/recording_transcriber_widget.py:147
msgid "Waiting for AI translation..."
msgstr "Gaida MI tulkojumu..."
#: buzz/widgets/recording_transcriber_widget.py:150
#: buzz/widgets/recording_transcriber_widget.py:159
msgid "Microphone:"
msgstr "Mikrofons:"
#: buzz/widgets/recording_transcriber_widget.py:414
#: buzz/widgets/recording_transcriber_widget.py:523
msgid "An error occurred while starting a new recording:"
msgstr "Sākot jaunu ierakstu notikusi kļūda:"
#: buzz/widgets/recording_transcriber_widget.py:418
#: buzz/widgets/recording_transcriber_widget.py:527
msgid ""
"Please check your audio devices or check the application logs for more "
"information."
@ -410,14 +419,14 @@ msgstr "Beigas"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:95
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:34
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:39
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:30
msgid "Text"
msgstr "Teksts"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:96
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:62
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:31
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:64
msgid "Translation"
msgstr "Tulkojums"
@ -458,11 +467,11 @@ msgstr "Vēlamais teksta garums"
msgid "Enter target characters per subtitle:"
msgstr "Ievadiet vēlamo simbolu skaitu tekstā:"
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:76
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
msgid "Save File"
msgstr "Saglabāt failu"
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:80
msgid "Text files"
msgstr "Teksta faili"
@ -566,3 +575,15 @@ msgstr "Aplūkot tulkojumu"
#: buzz/settings/shortcut.py:24
msgid "View Transcript Timestamps"
msgstr "Aplūkot atpazīšanas laikus"
#: buzz/settings/recording_transcriber_mode.py:5
msgid "Append below"
msgstr "Jaunie teikumi apakšā"
#: buzz/settings/recording_transcriber_mode.py:6
msgid "Append above"
msgstr "Jaunie teikumi augšā"
#: buzz/settings/recording_transcriber_mode.py:7
msgid "Append and correct"
msgstr "Papildināt un labot esošo"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-27 11:58+0300\n"
"POT-Creation-Date: 2024-10-06 13:55+0300\n"
"PO-Revision-Date: 2024-03-17 20:50+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -27,6 +27,7 @@ msgstr "https://przyklad.pl/audio.mp3"
#: buzz/widgets/import_url_dialog.py:28
#: buzz/widgets/preferences_dialog/preferences_dialog.py:69
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:244
#: buzz/widgets/transcriber/advanced_settings_dialog.py:97
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:295
#: buzz/widgets/main_window.py:234
@ -35,7 +36,9 @@ msgstr ""
#: buzz/widgets/import_url_dialog.py:29
#: buzz/widgets/preferences_dialog/preferences_dialog.py:70
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:245
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:296
#: buzz/widgets/model_download_progress_dialog.py:29
#: buzz/widgets/main_window.py:235
msgid "Cancel"
msgstr "Anuluj"
@ -56,56 +59,61 @@ msgstr "Wprowadzony URL nie jest prawidłowy"
msgid "Reset to Defaults"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:49
msgid "Font Size"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:54
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:56
msgid "Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:60
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:62
msgid "OpenAI API key"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:73
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:75
msgid "OpenAI base url"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:82
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
msgid "Default export file name"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:90
msgid "Enable live recording transcription export"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:94
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
msgid "Browse"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:113
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:115
msgid "Export folder"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:138
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:144
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:126
#, fuzzy
msgid "Live recording mode"
msgstr "Nagrywanie na żywo"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:151
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:157
msgid "OpenAI API Key Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:152
msgid ""
"Your API key is valid. Buzz will use this key to perform Whisper API "
"transcriptions and AI translations."
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:166
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:179
msgid "Select Export Folder"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:216
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:231
msgid ""
"OpenAI API returned invalid response. Please check the API url or your key. "
"Transcription and translation may still work if the API does not support key "
@ -156,55 +164,55 @@ msgstr "Skróty"
msgid "Folder Watch"
msgstr "Przeglądanie folderu"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:68
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:70
msgid "Group"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:80
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:82
msgid "Huggingface ID of a Faster whisper model"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:91
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:93
#, fuzzy
msgid "Download"
msgstr "Pobierz"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:98
msgid "Show file location"
msgstr "Pokaż lokalizacje pliku"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:104
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:106
msgid "Delete"
msgstr "Usuń"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:135
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:137
#, fuzzy
msgid "Downloaded"
msgstr "Pobrany"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:140
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:142
msgid "Available for Download"
msgstr "Dostępne do pobrania"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:161
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:163
msgid "Download link to Whisper.cpp ggml model file"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:237
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
msgid "Delete Model"
msgstr "Usuń model"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:239
#, fuzzy
msgid "Are you sure you want to delete the selected model?"
msgstr "Czy na pewno chcesz usunąć zaznaczoną transkrypcję?"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:258
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:267
#, fuzzy
msgid "Download failed"
msgstr "Pobrany"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:259
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:268
#: buzz/widgets/main_window.py:291 buzz/model_loader.py:473
msgid "Error"
msgstr "Błąd"
@ -218,7 +226,7 @@ msgstr "Nagraj"
msgid "Stop"
msgstr "Zatrzymaj"
#: buzz/widgets/transcriber/languages_combo_box.py:25
#: buzz/widgets/transcriber/languages_combo_box.py:35
#: buzz/transcriber/transcriber.py:159
msgid "Detect Language"
msgstr "Wykryj język"
@ -296,7 +304,7 @@ msgstr "Znaczniki dla słów"
msgid "Export:"
msgstr ""
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:36
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:37
msgid "Huggingface ID of a model"
msgstr ""
@ -321,75 +329,75 @@ msgstr "Anuluj transkrypcję"
msgid "Clear History"
msgstr "Wyczyść historię"
#: buzz/widgets/transcription_tasks_table_widget.py:62
#: buzz/widgets/transcription_tasks_table_widget.py:64
msgid "In Progress"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:65
#: buzz/widgets/transcription_tasks_table_widget.py:67
msgid "Completed"
msgstr "Ukończono"
#: buzz/widgets/transcription_tasks_table_widget.py:72
#: buzz/widgets/transcription_tasks_table_widget.py:74
msgid "Failed"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:75
#: buzz/widgets/transcription_tasks_table_widget.py:77
msgid "Canceled"
msgstr "Anulowano"
#: buzz/widgets/transcription_tasks_table_widget.py:77
#: buzz/widgets/transcription_tasks_table_widget.py:79
msgid "Queued"
msgstr "Kolejka"
#: buzz/widgets/transcription_tasks_table_widget.py:84
#: buzz/widgets/transcription_tasks_table_widget.py:86
#, fuzzy
msgid "File Name / URL"
msgstr "Nazwa pliku"
#: buzz/widgets/transcription_tasks_table_widget.py:96
#: buzz/widgets/transcription_tasks_table_widget.py:98
#, fuzzy
msgid "Model"
msgstr "Model:"
#: buzz/widgets/transcription_tasks_table_widget.py:105
#: buzz/widgets/transcription_tasks_table_widget.py:107
#, fuzzy
msgid "Task"
msgstr "Zadanie:"
#: buzz/widgets/transcription_tasks_table_widget.py:114
#: buzz/widgets/transcription_tasks_table_widget.py:116
msgid "Status"
msgstr "Status"
#: buzz/widgets/transcription_tasks_table_widget.py:122
#: buzz/widgets/transcription_tasks_table_widget.py:124
msgid "Date Added"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:133
#: buzz/widgets/transcription_tasks_table_widget.py:135
#, fuzzy
msgid "Date Completed"
msgstr "Ukończono"
#: buzz/widgets/recording_transcriber_widget.py:73
#: buzz/widgets/recording_transcriber_widget.py:79
msgid "Live Recording"
msgstr "Nagrywanie na żywo"
#: buzz/widgets/recording_transcriber_widget.py:135
#: buzz/widgets/recording_transcriber_widget.py:144
msgid "Click Record to begin..."
msgstr "Naciśnij Nagraj, aby zacząć..."
#: buzz/widgets/recording_transcriber_widget.py:138
#: buzz/widgets/recording_transcriber_widget.py:147
msgid "Waiting for AI translation..."
msgstr ""
#: buzz/widgets/recording_transcriber_widget.py:150
#: buzz/widgets/recording_transcriber_widget.py:159
msgid "Microphone:"
msgstr "Mikrofon:"
#: buzz/widgets/recording_transcriber_widget.py:414
#: buzz/widgets/recording_transcriber_widget.py:523
msgid "An error occurred while starting a new recording:"
msgstr "Wystąpił błąd podczas rozpoczęcia nowego nagrania:"
#: buzz/widgets/recording_transcriber_widget.py:418
#: buzz/widgets/recording_transcriber_widget.py:527
msgid ""
"Please check your audio devices or check the application logs for more "
"information."
@ -415,14 +423,14 @@ msgstr "Zakończ"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:95
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:34
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:39
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:30
msgid "Text"
msgstr "Tekst"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:96
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:62
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:31
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:64
#, fuzzy
msgid "Translation"
msgstr "Nowa transkrypcja"
@ -464,12 +472,12 @@ msgstr ""
msgid "Enter target characters per subtitle:"
msgstr ""
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:76
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#, fuzzy
msgid "Save File"
msgstr "Zapisz plik"
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:80
msgid "Text files"
msgstr "Pliki tekstowe"
@ -581,6 +589,18 @@ msgstr "Nowa transkrypcja"
msgid "View Transcript Timestamps"
msgstr "Nowa transkrypcja"
#: buzz/settings/recording_transcriber_mode.py:5
msgid "Append below"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:6
msgid "Append above"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:7
msgid "Append and correct"
msgstr ""
#~ msgid "ID"
#~ msgstr "ID"

View file

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-27 11:58+0300\n"
"POT-Creation-Date: 2024-10-06 13:55+0300\n"
"PO-Revision-Date: \n"
"Last-Translator: Yevhen Popok <xalt7x.service@gmail.com>\n"
"Language-Team: \n"
@ -24,6 +24,7 @@ msgstr "https://example.com/audio.mp3"
#: buzz/widgets/import_url_dialog.py:28
#: buzz/widgets/preferences_dialog/preferences_dialog.py:69
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:244
#: buzz/widgets/transcriber/advanced_settings_dialog.py:97
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:295
#: buzz/widgets/main_window.py:234
@ -32,7 +33,9 @@ msgstr "Гаразд"
#: buzz/widgets/import_url_dialog.py:29
#: buzz/widgets/preferences_dialog/preferences_dialog.py:70
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:245
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:296
#: buzz/widgets/model_download_progress_dialog.py:29
#: buzz/widgets/main_window.py:235
msgid "Cancel"
msgstr "Скасувати"
@ -53,46 +56,51 @@ msgstr "Адреса, яку ви ввели, є недійсною"
msgid "Reset to Defaults"
msgstr "Типові значення"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:49
msgid "Font Size"
msgstr "Розмір шрифту"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:54
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:56
msgid "Test"
msgstr "Тест"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:60
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:62
msgid "OpenAI API key"
msgstr "API-ключ OpenAI"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:73
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:75
msgid "OpenAI base url"
msgstr "Базова адреса OpenAI"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:82
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
msgid "Default export file name"
msgstr "Типова назва файлу експорту"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:90
msgid "Enable live recording transcription export"
msgstr "Увімкнути експорт транскрипції з живого запису"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:94
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
msgid "Browse"
msgstr "Огляд"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:113
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:115
msgid "Export folder"
msgstr "Тека для експорту"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:138
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:144
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:126
#, fuzzy
msgid "Live recording mode"
msgstr "Живий запис"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:151
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:157
msgid "OpenAI API Key Test"
msgstr "Тест API-ключа OpenAI"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:152
msgid ""
"Your API key is valid. Buzz will use this key to perform Whisper API "
"transcriptions and AI translations."
@ -100,11 +108,11 @@ msgstr ""
"Ваш API-ключ дійсний. Buzz використає цей ключ для транскрипції з Whisper "
"API та перекладу ШІ."
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:166
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:179
msgid "Select Export Folder"
msgstr "Виберіть теку для експорту"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:216
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:231
msgid ""
"OpenAI API returned invalid response. Please check the API url or your key. "
"Transcription and translation may still work if the API does not support key "
@ -154,51 +162,51 @@ msgstr "Клавіатурні скорочення"
msgid "Folder Watch"
msgstr "Нагляд за текою"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:68
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:70
msgid "Group"
msgstr "Група"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:80
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:82
msgid "Huggingface ID of a Faster whisper model"
msgstr "Huggingface ID для моделі Faster Whisper"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:91
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:93
msgid "Download"
msgstr "Завантажити"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:98
msgid "Show file location"
msgstr "Показати розташування файлу"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:104
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:106
msgid "Delete"
msgstr "Видалити"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:135
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:137
msgid "Downloaded"
msgstr "Завантажене"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:140
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:142
msgid "Available for Download"
msgstr "Доступно для завантаження"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:161
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:163
msgid "Download link to Whisper.cpp ggml model file"
msgstr "Посилання на завантаження файлу ggml моделі Whisper.cpp"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:237
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
msgid "Delete Model"
msgstr "Видалити модель"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:239
msgid "Are you sure you want to delete the selected model?"
msgstr "Ви впевнені, що хочете видалити вибрану модель?"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:258
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:267
msgid "Download failed"
msgstr "Невдале завантаження"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:259
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:268
#: buzz/widgets/main_window.py:291 buzz/model_loader.py:473
msgid "Error"
msgstr "Помилка"
@ -212,7 +220,7 @@ msgstr "Записати"
msgid "Stop"
msgstr "Зупинити"
#: buzz/widgets/transcriber/languages_combo_box.py:25
#: buzz/widgets/transcriber/languages_combo_box.py:35
#: buzz/transcriber/transcriber.py:159
msgid "Detect Language"
msgstr "Визначити мову"
@ -289,7 +297,7 @@ msgstr "Хронометраж на рівні слів"
msgid "Export:"
msgstr "Експорт:"
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:36
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:37
msgid "Huggingface ID of a model"
msgstr "ID чи модель Huggingface"
@ -314,71 +322,71 @@ msgstr "Скасувати транскрипцію"
msgid "Clear History"
msgstr "Очистити історію"
#: buzz/widgets/transcription_tasks_table_widget.py:62
#: buzz/widgets/transcription_tasks_table_widget.py:64
msgid "In Progress"
msgstr "В процесі"
#: buzz/widgets/transcription_tasks_table_widget.py:65
#: buzz/widgets/transcription_tasks_table_widget.py:67
msgid "Completed"
msgstr "Завершено"
#: buzz/widgets/transcription_tasks_table_widget.py:72
#: buzz/widgets/transcription_tasks_table_widget.py:74
msgid "Failed"
msgstr "Невдача"
#: buzz/widgets/transcription_tasks_table_widget.py:75
#: buzz/widgets/transcription_tasks_table_widget.py:77
msgid "Canceled"
msgstr "Скасовано"
#: buzz/widgets/transcription_tasks_table_widget.py:77
#: buzz/widgets/transcription_tasks_table_widget.py:79
msgid "Queued"
msgstr "У черзі"
#: buzz/widgets/transcription_tasks_table_widget.py:84
#: buzz/widgets/transcription_tasks_table_widget.py:86
msgid "File Name / URL"
msgstr "Назва файлу / посилання"
#: buzz/widgets/transcription_tasks_table_widget.py:96
#: buzz/widgets/transcription_tasks_table_widget.py:98
msgid "Model"
msgstr "Модель"
#: buzz/widgets/transcription_tasks_table_widget.py:105
#: buzz/widgets/transcription_tasks_table_widget.py:107
msgid "Task"
msgstr "Завдання"
#: buzz/widgets/transcription_tasks_table_widget.py:114
#: buzz/widgets/transcription_tasks_table_widget.py:116
msgid "Status"
msgstr "Стан"
#: buzz/widgets/transcription_tasks_table_widget.py:122
#: buzz/widgets/transcription_tasks_table_widget.py:124
msgid "Date Added"
msgstr "Дата додавання"
#: buzz/widgets/transcription_tasks_table_widget.py:133
#: buzz/widgets/transcription_tasks_table_widget.py:135
msgid "Date Completed"
msgstr "Дата завершення"
#: buzz/widgets/recording_transcriber_widget.py:73
#: buzz/widgets/recording_transcriber_widget.py:79
msgid "Live Recording"
msgstr "Живий запис"
#: buzz/widgets/recording_transcriber_widget.py:135
#: buzz/widgets/recording_transcriber_widget.py:144
msgid "Click Record to begin..."
msgstr "Натисніть на Запис, щоб розпочати..."
#: buzz/widgets/recording_transcriber_widget.py:138
#: buzz/widgets/recording_transcriber_widget.py:147
msgid "Waiting for AI translation..."
msgstr "Очікування перекладу від ШІ..."
#: buzz/widgets/recording_transcriber_widget.py:150
#: buzz/widgets/recording_transcriber_widget.py:159
msgid "Microphone:"
msgstr "Мікрофон:"
#: buzz/widgets/recording_transcriber_widget.py:414
#: buzz/widgets/recording_transcriber_widget.py:523
msgid "An error occurred while starting a new recording:"
msgstr "При старті нового запису виникла помилка:"
#: buzz/widgets/recording_transcriber_widget.py:418
#: buzz/widgets/recording_transcriber_widget.py:527
msgid ""
"Please check your audio devices or check the application logs for more "
"information."
@ -404,14 +412,14 @@ msgstr "Кінець"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:95
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:34
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:39
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:30
msgid "Text"
msgstr "Текст"
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:96
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:62
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:31
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:64
msgid "Translation"
msgstr "Переклад"
@ -452,11 +460,11 @@ msgstr ""
msgid "Enter target characters per subtitle:"
msgstr ""
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:76
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
msgid "Save File"
msgstr "Зберегти файл"
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:80
msgid "Text files"
msgstr "Текстові файли"
@ -560,3 +568,15 @@ msgstr "Переглянути переклад транскрипції"
#: buzz/settings/shortcut.py:24
msgid "View Transcript Timestamps"
msgstr "Переглянути позначки часу в транскрипції"
#: buzz/settings/recording_transcriber_mode.py:5
msgid "Append below"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:6
msgid "Append above"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:7
msgid "Append and correct"
msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-27 11:58+0300\n"
"POT-Creation-Date: 2024-10-06 13:55+0300\n"
"PO-Revision-Date: 2023-05-01 15:45+0800\n"
"Last-Translator: \n"
"Language-Team: lamb \n"
@ -27,6 +27,7 @@ msgstr ""
#: buzz/widgets/import_url_dialog.py:28
#: buzz/widgets/preferences_dialog/preferences_dialog.py:69
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:244
#: buzz/widgets/transcriber/advanced_settings_dialog.py:97
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:295
#: buzz/widgets/main_window.py:234
@ -35,7 +36,9 @@ msgstr ""
#: buzz/widgets/import_url_dialog.py:29
#: buzz/widgets/preferences_dialog/preferences_dialog.py:70
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:245
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:296
#: buzz/widgets/model_download_progress_dialog.py:29
#: buzz/widgets/main_window.py:235
msgid "Cancel"
msgstr "取消"
@ -56,56 +59,61 @@ msgstr ""
msgid "Reset to Defaults"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:49
msgid "Font Size"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:54
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:56
msgid "Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:60
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:62
msgid "OpenAI API key"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:73
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:75
msgid "OpenAI base url"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:82
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
msgid "Default export file name"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:90
msgid "Enable live recording transcription export"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:94
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
msgid "Browse"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:113
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:115
msgid "Export folder"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:138
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:144
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:126
#, fuzzy
msgid "Live recording mode"
msgstr "现场录制"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:151
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:157
msgid "OpenAI API Key Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:152
msgid ""
"Your API key is valid. Buzz will use this key to perform Whisper API "
"transcriptions and AI translations."
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:166
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:179
msgid "Select Export Folder"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:216
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:231
msgid ""
"OpenAI API returned invalid response. Please check the API url or your key. "
"Transcription and translation may still work if the API does not support key "
@ -155,55 +163,55 @@ msgstr ""
msgid "Folder Watch"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:68
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:70
msgid "Group"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:80
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:82
msgid "Huggingface ID of a Faster whisper model"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:91
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:93
#, fuzzy
msgid "Download"
msgstr "下载模型"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:98
msgid "Show file location"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:104
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:106
msgid "Delete"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:135
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:137
#, fuzzy
msgid "Downloaded"
msgstr "下载模型"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:140
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:142
msgid "Available for Download"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:161
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:163
msgid "Download link to Whisper.cpp ggml model file"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:237
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
msgid "Delete Model"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:239
#, fuzzy
msgid "Are you sure you want to delete the selected model?"
msgstr "您确定要删除所选录制吗?此操作无法撤消。"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:258
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:267
#, fuzzy
msgid "Download failed"
msgstr "下载模型"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:259
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:268
#: buzz/widgets/main_window.py:291 buzz/model_loader.py:473
msgid "Error"
msgstr ""
@ -217,7 +225,7 @@ msgstr "录制"
msgid "Stop"
msgstr "停止"
#: buzz/widgets/transcriber/languages_combo_box.py:25
#: buzz/widgets/transcriber/languages_combo_box.py:35
#: buzz/transcriber/transcriber.py:159
msgid "Detect Language"
msgstr "检测语言"
@ -295,7 +303,7 @@ msgstr "单字级别的时间表达"
msgid "Export:"
msgstr ""
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:36
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:37
msgid "Huggingface ID of a model"
msgstr ""
@ -320,75 +328,75 @@ msgstr "取消录制"
msgid "Clear History"
msgstr "清除历史纪录"
#: buzz/widgets/transcription_tasks_table_widget.py:62
#: buzz/widgets/transcription_tasks_table_widget.py:64
msgid "In Progress"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:65
#: buzz/widgets/transcription_tasks_table_widget.py:67
msgid "Completed"
msgstr "完成"
#: buzz/widgets/transcription_tasks_table_widget.py:72
#: buzz/widgets/transcription_tasks_table_widget.py:74
msgid "Failed"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:75
#: buzz/widgets/transcription_tasks_table_widget.py:77
msgid "Canceled"
msgstr "取消"
#: buzz/widgets/transcription_tasks_table_widget.py:77
#: buzz/widgets/transcription_tasks_table_widget.py:79
msgid "Queued"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:84
#: buzz/widgets/transcription_tasks_table_widget.py:86
#, fuzzy
msgid "File Name / URL"
msgstr "文件名称"
#: buzz/widgets/transcription_tasks_table_widget.py:96
#: buzz/widgets/transcription_tasks_table_widget.py:98
#, fuzzy
msgid "Model"
msgstr "模型:"
#: buzz/widgets/transcription_tasks_table_widget.py:105
#: buzz/widgets/transcription_tasks_table_widget.py:107
#, fuzzy
msgid "Task"
msgstr "任务:"
#: buzz/widgets/transcription_tasks_table_widget.py:114
#: buzz/widgets/transcription_tasks_table_widget.py:116
msgid "Status"
msgstr "状态"
#: buzz/widgets/transcription_tasks_table_widget.py:122
#: buzz/widgets/transcription_tasks_table_widget.py:124
msgid "Date Added"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:133
#: buzz/widgets/transcription_tasks_table_widget.py:135
#, fuzzy
msgid "Date Completed"
msgstr "完成"
#: buzz/widgets/recording_transcriber_widget.py:73
#: buzz/widgets/recording_transcriber_widget.py:79
msgid "Live Recording"
msgstr "现场录制"
#: buzz/widgets/recording_transcriber_widget.py:135
#: buzz/widgets/recording_transcriber_widget.py:144
msgid "Click Record to begin..."
msgstr "点击开始录制"
#: buzz/widgets/recording_transcriber_widget.py:138
#: buzz/widgets/recording_transcriber_widget.py:147
msgid "Waiting for AI translation..."
msgstr ""
#: buzz/widgets/recording_transcriber_widget.py:150
#: buzz/widgets/recording_transcriber_widget.py:159
msgid "Microphone:"
msgstr "麦克风:"
#: buzz/widgets/recording_transcriber_widget.py:414
#: buzz/widgets/recording_transcriber_widget.py:523
msgid "An error occurred while starting a new recording:"
msgstr "开始新录制出错"
#: buzz/widgets/recording_transcriber_widget.py:418
#: buzz/widgets/recording_transcriber_widget.py:527
msgid ""
"Please check your audio devices or check the application logs for more "
"information."
@ -412,14 +420,14 @@ msgstr ""
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:95
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:34
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:39
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:30
msgid "Text"
msgstr ""
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:96
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:62
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:31
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:64
#, fuzzy
msgid "Translation"
msgstr "新录制"
@ -461,12 +469,12 @@ msgstr ""
msgid "Enter target characters per subtitle:"
msgstr ""
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:76
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#, fuzzy
msgid "Save File"
msgstr "文件"
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:80
msgid "Text files"
msgstr ""
@ -576,6 +584,18 @@ msgstr "新录制"
msgid "View Transcript Timestamps"
msgstr "新录制"
#: buzz/settings/recording_transcriber_mode.py:5
msgid "Append below"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:6
msgid "Append above"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:7
msgid "Append and correct"
msgstr ""
#~ msgid "ID"
#~ msgstr "ID"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-27 11:58+0300\n"
"POT-Creation-Date: 2024-10-06 13:55+0300\n"
"PO-Revision-Date: 2023-05-01 15:45+0800\n"
"Last-Translator: \n"
"Language-Team: Lamb\n"
@ -27,6 +27,7 @@ msgstr ""
#: buzz/widgets/import_url_dialog.py:28
#: buzz/widgets/preferences_dialog/preferences_dialog.py:69
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:244
#: buzz/widgets/transcriber/advanced_settings_dialog.py:97
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:295
#: buzz/widgets/main_window.py:234
@ -35,7 +36,9 @@ msgstr ""
#: buzz/widgets/import_url_dialog.py:29
#: buzz/widgets/preferences_dialog/preferences_dialog.py:70
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:245
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:296
#: buzz/widgets/model_download_progress_dialog.py:29
#: buzz/widgets/main_window.py:235
msgid "Cancel"
msgstr "取消"
@ -56,56 +59,61 @@ msgstr ""
msgid "Reset to Defaults"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:49
msgid "Font Size"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:54
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:56
msgid "Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:60
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:62
msgid "OpenAI API key"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:73
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:75
msgid "OpenAI base url"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:82
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
msgid "Default export file name"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:90
msgid "Enable live recording transcription export"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:94
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
msgid "Browse"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:113
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:115
msgid "Export folder"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:138
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:144
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:126
#, fuzzy
msgid "Live recording mode"
msgstr "現場錄製"
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:151
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:157
msgid "OpenAI API Key Test"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:152
msgid ""
"Your API key is valid. Buzz will use this key to perform Whisper API "
"transcriptions and AI translations."
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:166
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:179
msgid "Select Export Folder"
msgstr ""
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:216
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:231
msgid ""
"OpenAI API returned invalid response. Please check the API url or your key. "
"Transcription and translation may still work if the API does not support key "
@ -155,55 +163,55 @@ msgstr ""
msgid "Folder Watch"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:68
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:70
msgid "Group"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:80
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:82
msgid "Huggingface ID of a Faster whisper model"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:91
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:93
#, fuzzy
msgid "Download"
msgstr "下載模型"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:96
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:98
msgid "Show file location"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:104
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:106
msgid "Delete"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:135
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:137
#, fuzzy
msgid "Downloaded"
msgstr "下載模型"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:140
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:142
msgid "Available for Download"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:161
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:163
msgid "Download link to Whisper.cpp ggml model file"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:237
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
msgid "Delete Model"
msgstr ""
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:238
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:239
#, fuzzy
msgid "Are you sure you want to delete the selected model?"
msgstr "您確定要刪除所選錄製嗎?此操作無法撤消。"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:258
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:267
#, fuzzy
msgid "Download failed"
msgstr "下載模型"
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:259
#: buzz/widgets/preferences_dialog/models_preferences_widget.py:268
#: buzz/widgets/main_window.py:291 buzz/model_loader.py:473
msgid "Error"
msgstr ""
@ -217,7 +225,7 @@ msgstr "錄製"
msgid "Stop"
msgstr "停止"
#: buzz/widgets/transcriber/languages_combo_box.py:25
#: buzz/widgets/transcriber/languages_combo_box.py:35
#: buzz/transcriber/transcriber.py:159
msgid "Detect Language"
msgstr "檢測語言"
@ -295,7 +303,7 @@ msgstr "單字級別的時間表達"
msgid "Export:"
msgstr ""
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:36
#: buzz/widgets/transcriber/hugging_face_search_line_edit.py:37
msgid "Huggingface ID of a model"
msgstr ""
@ -320,75 +328,75 @@ msgstr "取消錄製"
msgid "Clear History"
msgstr "清除歷史紀錄"
#: buzz/widgets/transcription_tasks_table_widget.py:62
#: buzz/widgets/transcription_tasks_table_widget.py:64
msgid "In Progress"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:65
#: buzz/widgets/transcription_tasks_table_widget.py:67
msgid "Completed"
msgstr "完成"
#: buzz/widgets/transcription_tasks_table_widget.py:72
#: buzz/widgets/transcription_tasks_table_widget.py:74
msgid "Failed"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:75
#: buzz/widgets/transcription_tasks_table_widget.py:77
msgid "Canceled"
msgstr "取消"
#: buzz/widgets/transcription_tasks_table_widget.py:77
#: buzz/widgets/transcription_tasks_table_widget.py:79
msgid "Queued"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:84
#: buzz/widgets/transcription_tasks_table_widget.py:86
#, fuzzy
msgid "File Name / URL"
msgstr "檔案名稱"
#: buzz/widgets/transcription_tasks_table_widget.py:96
#: buzz/widgets/transcription_tasks_table_widget.py:98
#, fuzzy
msgid "Model"
msgstr "模型:"
#: buzz/widgets/transcription_tasks_table_widget.py:105
#: buzz/widgets/transcription_tasks_table_widget.py:107
#, fuzzy
msgid "Task"
msgstr "任務:"
#: buzz/widgets/transcription_tasks_table_widget.py:114
#: buzz/widgets/transcription_tasks_table_widget.py:116
msgid "Status"
msgstr "狀態"
#: buzz/widgets/transcription_tasks_table_widget.py:122
#: buzz/widgets/transcription_tasks_table_widget.py:124
msgid "Date Added"
msgstr ""
#: buzz/widgets/transcription_tasks_table_widget.py:133
#: buzz/widgets/transcription_tasks_table_widget.py:135
#, fuzzy
msgid "Date Completed"
msgstr "完成"
#: buzz/widgets/recording_transcriber_widget.py:73
#: buzz/widgets/recording_transcriber_widget.py:79
msgid "Live Recording"
msgstr "現場錄製"
#: buzz/widgets/recording_transcriber_widget.py:135
#: buzz/widgets/recording_transcriber_widget.py:144
msgid "Click Record to begin..."
msgstr "點擊開始錄製"
#: buzz/widgets/recording_transcriber_widget.py:138
#: buzz/widgets/recording_transcriber_widget.py:147
msgid "Waiting for AI translation..."
msgstr ""
#: buzz/widgets/recording_transcriber_widget.py:150
#: buzz/widgets/recording_transcriber_widget.py:159
msgid "Microphone:"
msgstr "麥克風:"
#: buzz/widgets/recording_transcriber_widget.py:414
#: buzz/widgets/recording_transcriber_widget.py:523
msgid "An error occurred while starting a new recording:"
msgstr "開始新錄製出錯"
#: buzz/widgets/recording_transcriber_widget.py:418
#: buzz/widgets/recording_transcriber_widget.py:527
msgid ""
"Please check your audio devices or check the application logs for more "
"information."
@ -412,14 +420,14 @@ msgstr ""
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:95
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:34
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:39
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:30
msgid "Text"
msgstr ""
#: buzz/widgets/transcription_viewer/transcription_segments_editor_widget.py:96
#: buzz/widgets/transcription_viewer/transcription_view_mode_tool_button.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:40
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:62
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:31
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:64
#, fuzzy
msgid "Translation"
msgstr "新錄製"
@ -461,12 +469,12 @@ msgstr ""
msgid "Enter target characters per subtitle:"
msgstr ""
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:76
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#, fuzzy
msgid "Save File"
msgstr "檔案"
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:80
msgid "Text files"
msgstr ""
@ -576,6 +584,18 @@ msgstr "新錄製"
msgid "View Transcript Timestamps"
msgstr "新錄製"
#: buzz/settings/recording_transcriber_mode.py:5
msgid "Append below"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:6
msgid "Append above"
msgstr ""
#: buzz/settings/recording_transcriber_mode.py:7
msgid "Append and correct"
msgstr ""
#~ msgid "ID"
#~ msgstr "ID"

View file

@ -0,0 +1,7 @@
from enum import Enum
from buzz.locale import _
class RecordingTranscriberMode(Enum):
APPEND_BELOW = _("Append below")
APPEND_ABOVE = _("Append above")
APPEND_AND_CORRECT = _("Append and correct")

View file

@ -24,6 +24,7 @@ class Settings:
RECORDING_TRANSCRIBER_LLM_PROMPT = "recording-transcriber/llm-prompt"
RECORDING_TRANSCRIBER_EXPORT_ENABLED = "recording-transcriber/export-enabled"
RECORDING_TRANSCRIBER_EXPORT_FOLDER = "recording-transcriber/export-folder"
RECORDING_TRANSCRIBER_MODE = "recording-transcriber/mode"
FILE_TRANSCRIBER_TASK = "file-transcriber/task"
FILE_TRANSCRIBER_MODEL = "file-transcriber/model"

View file

@ -21,6 +21,7 @@ from buzz.settings.settings import Settings
from buzz.transcriber.transcriber import TranscriptionOptions, Task
from buzz.transcriber.whisper_cpp import WhisperCpp, whisper_cpp_params
from buzz.transformers_whisper import TransformersWhisper
from buzz.settings.recording_transcriber_mode import RecordingTranscriberMode
import whisper
import faster_whisper
@ -32,7 +33,6 @@ class RecordingTranscriber(QObject):
error = pyqtSignal(str)
is_running = False
SAMPLE_RATE = whisper_audio.SAMPLE_RATE
MAX_QUEUE_SIZE = 10
def __init__(
self,
@ -44,14 +44,21 @@ class RecordingTranscriber(QObject):
parent: Optional[QObject] = None,
) -> None:
super().__init__(parent)
self.settings = Settings()
self.transcriber_mode = list(RecordingTranscriberMode)[
self.settings.value(key=Settings.Key.RECORDING_TRANSCRIBER_MODE, default_value=0)]
self.transcription_options = transcription_options
self.current_stream = None
self.input_device_index = input_device_index
self.sample_rate = sample_rate if sample_rate is not None else whisper_audio.SAMPLE_RATE
self.model_path = model_path
self.n_batch_samples = 5 * self.sample_rate # every 5 seconds
# pause queueing if more than 3 batches behind
self.max_queue_size = 3 * self.n_batch_samples
self.keep_sample_seconds = 0.15
if self.transcriber_mode == RecordingTranscriberMode.APPEND_AND_CORRECT:
self.n_batch_samples = 3 * self.sample_rate # every 3 seconds
self.keep_sample_seconds = 1.5
# pause queueing if more than 5 batches behind
self.max_queue_size = 5 * self.n_batch_samples
self.queue = np.ndarray([], dtype=np.float32)
self.mutex = threading.Lock()
self.sounddevice = sounddevice
@ -60,7 +67,7 @@ class RecordingTranscriber(QObject):
def start(self):
model_path = self.model_path
keep_samples = int(0.15 * self.sample_rate)
keep_samples = int(self.keep_sample_seconds * self.sample_rate)
if torch.cuda.is_available():
logging.debug(f"CUDA version detected: {torch.version.cuda}")
@ -96,8 +103,7 @@ class RecordingTranscriber(QObject):
model.feature_extractor.sampling_rate, model.feature_extractor.n_fft, n_mels=128
)
elif self.transcription_options.model.model_type == ModelType.OPEN_AI_WHISPER_API:
settings = Settings()
custom_openai_base_url = settings.value(
custom_openai_base_url = self.settings.value(
key=Settings.Key.CUSTOM_OPENAI_BASE_URL, default_value=""
)
self.whisper_api_model = get_custom_api_whisper_model(custom_openai_base_url)
@ -144,6 +150,8 @@ class RecordingTranscriber(QObject):
)
time_started = datetime.datetime.now()
# TODO Filter out silent audio
if (
self.transcription_options.model.model_type
== ModelType.WHISPER

View file

@ -26,11 +26,11 @@ class ModelDownloadProgressDialog(QProgressDialog):
self.setMinimumDuration(0)
self.setWindowModality(modality)
self.update_label_text(0)
cancel_button = QPushButton(_("Cancel"), self)
self.setCancelButton(cancel_button)
if not self.cancelable:
cancel_button = QPushButton("Cancel", self)
cancel_button.setEnabled(False)
self.setCancelButton(cancel_button)
def update_label_text(self, fraction_completed: float):
downloading_text = _("Downloading model")

View file

@ -13,6 +13,7 @@ from PyQt6.QtWidgets import (
QHBoxLayout,
QFileDialog,
QSpinBox,
QComboBox,
)
from openai import AuthenticationError, OpenAI
@ -21,6 +22,7 @@ from buzz.store.keyring_store import get_password, Key
from buzz.widgets.line_edit import LineEdit
from buzz.widgets.openai_api_key_line_edit import OpenAIAPIKeyLineEdit
from buzz.locale import _
from buzz.settings.recording_transcriber_mode import RecordingTranscriberMode
class GeneralPreferencesWidget(QWidget):
@ -112,6 +114,17 @@ class GeneralPreferencesWidget(QWidget):
layout.addRow(_("Export folder"), recording_export_folder_row)
self.recording_transcriber_mode = QComboBox(self)
for mode in RecordingTranscriberMode:
self.recording_transcriber_mode.addItem(mode.value)
self.recording_transcriber_mode.setCurrentIndex(
self.settings.value(Settings.Key.RECORDING_TRANSCRIBER_MODE, 0)
)
self.recording_transcriber_mode.currentIndexChanged.connect(self.on_recording_transcriber_mode_changed)
layout.addRow(_("Live recording mode"), self.recording_transcriber_mode)
self.setLayout(layout)
def on_default_export_file_name_changed(self, text: str):
@ -182,6 +195,8 @@ class GeneralPreferencesWidget(QWidget):
self.settings.set_value(Settings.Key.FONT_SIZE, value)
def on_recording_transcriber_mode_changed(self, value):
self.settings.set_value(Settings.Key.RECORDING_TRANSCRIBER_MODE, value)
class TestOpenAIApiKeyJob(QRunnable):
class Signals(QObject):

View file

@ -77,4 +77,4 @@ class PreferencesDialog(QDialog):
self.setLayout(layout)
self.setMinimumHeight(500)
self.setMinimumWidth(550)
self.setMinimumWidth(650)

View file

@ -21,6 +21,7 @@ from buzz.model_loader import (
from buzz.store.keyring_store import get_password, Key
from buzz.recording import RecordingAmplitudeListener
from buzz.settings.settings import Settings
from buzz.settings.recording_transcriber_mode import RecordingTranscriberMode
from buzz.transcriber.recording_transcriber import RecordingTranscriber
from buzz.transcriber.transcriber import (
TranscriptionOptions,
@ -37,6 +38,9 @@ from buzz.widgets.transcriber.transcription_options_group_box import (
TranscriptionOptionsGroupBox,
)
REAL_CHARS_REGEX = re.compile(r'\w')
NO_SPACE_BETWEEN_SENTENCES = re.compile(r'([.!?])([A-Z])')
class RecordingTranscriberWidget(QWidget):
current_status: "RecordingStatus"
@ -69,10 +73,15 @@ class RecordingTranscriberWidget(QWidget):
self.translation_thread = None
self.translator = None
self.transcripts = []
self.translations = []
self.current_status = self.RecordingStatus.STOPPED
self.setWindowTitle(_("Live Recording"))
self.settings = Settings()
self.transcriber_mode = list(RecordingTranscriberMode)[
self.settings.value(key=Settings.Key.RECORDING_TRANSCRIBER_MODE, default_value=0)]
default_language = self.settings.value(
key=Settings.Key.RECORDING_TRANSCRIBER_LANGUAGE, default_value=""
)
@ -251,6 +260,8 @@ class RecordingTranscriberWidget(QWidget):
def start_recording(self):
self.record_button.setDisabled(True)
self.transcripts = []
self.translations = []
if self.export_enabled:
self.setup_for_export()
@ -357,19 +368,78 @@ class RecordingTranscriberWidget(QWidget):
def filter_text(text: str):
text = text.strip()
# no real characters
if not re.search(r'\w', text):
if not REAL_CHARS_REGEX.search(text):
return ""
return text
# Copilot magic implementation of a sliding window approach to find the longest common substring between two texts,
# ignoring the initial differences.
@staticmethod
def find_common_part(text1: str, text2: str) -> str:
len1, len2 = len(text1), len(text2)
max_len = 0
end_index = 0
lcsuff = [[0] * (len2 + 1) for _ in range(len1 + 1)]
for i in range(1, len1 + 1):
for j in range(1, len2 + 1):
if text1[i - 1] == text2[j - 1]:
lcsuff[i][j] = lcsuff[i - 1][j - 1] + 1
if lcsuff[i][j] > max_len:
max_len = lcsuff[i][j]
end_index = i
else:
lcsuff[i][j] = 0
common_part = text1[end_index - max_len:end_index]
return common_part if len(common_part) >= 5 else ""
@staticmethod
def merge_text_no_overlap(text1: str, text2: str) -> str:
overlap_start = 0
for i in range(1, min(len(text1), len(text2)) + 1):
if text1[-i:] == text2[:i]:
overlap_start = i
return text1 + text2[overlap_start:]
def process_transcription_merge(self, text: str, texts, text_box, export_file):
texts.append(text)
# Remove possibly errorous parts from overlapping audio chunks
for i in range(len(texts) - 1):
common_part = self.find_common_part(texts[i], texts[i + 1])
if common_part:
common_length = len(common_part)
texts[i] = texts[i][:texts[i].rfind(common_part) + common_length]
texts[i + 1] = texts[i + 1][texts[i + 1].find(common_part):]
merged_texts = ""
for text in texts:
merged_texts = self.merge_text_no_overlap(merged_texts, text)
merged_texts = NO_SPACE_BETWEEN_SENTENCES.sub(r'\1 \2', merged_texts)
text_box.setPlainText(merged_texts)
text_box.moveCursor(QTextCursor.MoveOperation.End)
if self.export_enabled:
with open(export_file, "w") as f:
f.write(merged_texts)
def on_next_transcription(self, text: str):
text = self.filter_text(text)
if len(text) > 0:
if self.translator is not None:
self.translator.enqueue(text)
if len(text) == 0:
return
if self.translator is not None:
self.translator.enqueue(text)
if self.transcriber_mode == RecordingTranscriberMode.APPEND_BELOW:
self.transcription_text_box.moveCursor(QTextCursor.MoveOperation.End)
if len(self.transcription_text_box.toPlainText()) > 0:
self.transcription_text_box.insertPlainText("\n\n")
@ -380,8 +450,29 @@ class RecordingTranscriberWidget(QWidget):
with open(self.transcript_export_file, "a") as f:
f.write(text + "\n\n")
elif self.transcriber_mode == RecordingTranscriberMode.APPEND_ABOVE:
self.transcription_text_box.moveCursor(QTextCursor.MoveOperation.Start)
self.transcription_text_box.insertPlainText(text)
self.transcription_text_box.insertPlainText("\n\n")
self.transcription_text_box.moveCursor(QTextCursor.MoveOperation.Start)
if self.export_enabled:
with open(self.transcript_export_file, "r") as f:
existing_content = f.read()
new_content = text + "\n\n" + existing_content
with open(self.transcript_export_file, "w") as f:
f.write(new_content)
elif self.transcriber_mode == RecordingTranscriberMode.APPEND_AND_CORRECT:
self.process_transcription_merge(text, self.transcripts, self.transcription_text_box, self.transcript_export_file)
def on_next_translation(self, text: str, _: Optional[int] = None):
if len(text) > 0:
if len(text) == 0:
return
if self.transcriber_mode == RecordingTranscriberMode.APPEND_BELOW:
self.translation_text_box.moveCursor(QTextCursor.MoveOperation.End)
if len(self.translation_text_box.toPlainText()) > 0:
self.translation_text_box.insertPlainText("\n\n")
@ -392,6 +483,24 @@ class RecordingTranscriberWidget(QWidget):
with open(self.translation_export_file, "a") as f:
f.write(text + "\n\n")
elif self.transcriber_mode == RecordingTranscriberMode.APPEND_ABOVE:
self.translation_text_box.moveCursor(QTextCursor.MoveOperation.Start)
self.translation_text_box.insertPlainText(self.strip_newlines(text))
self.translation_text_box.insertPlainText("\n\n")
self.translation_text_box.moveCursor(QTextCursor.MoveOperation.Start)
if self.export_enabled:
with open(self.translation_export_file, "r") as f:
existing_content = f.read()
new_content = text + "\n\n" + existing_content
with open(self.translation_export_file, "w") as f:
f.write(new_content)
elif self.transcriber_mode == RecordingTranscriberMode.APPEND_AND_CORRECT:
self.process_transcription_merge(text, self.translations, self.translation_text_box, self.translation_export_file)
def stop_recording(self):
if self.transcriber is not None:
self.transcriber.stop_recording()

View file

@ -32,9 +32,25 @@ Available variables:
### Live transcript exports
Live transcription export can be used to integrate Buzz with other applications like OBS Studio. When enabled, live text transcripts will be exported to a text file as they get generated and translated.
Live transcription export can be used to integrate Buzz with other applications like OBS Studio.
When enabled, live text transcripts will be exported to a text file as they get generated and translated.
If AI translation is enabled for live recordings, the translated text will also be exported to the text file. Filename for the translated text will end with `.translated.txt`.
If AI translation is enabled for live recordings, the translated text will also be exported to the text file.
Filename for the translated text will end with `.translated.txt`.
### Live transcription mode
Three transcription modes are available:
**Append below** - New sentences will be added below existing with an empty space between them.
Last sentence will be at the bottom.
**Append above** - New sentences will be added above existing with an empty space between them.
Last sentence will be at the top.
**Append and correct** - New sentences will be added at the end of existing transcript without extra spaces between.
This mode will also try to correct errors at the end of previously transcribed sentences. This mode requires more
processing power and more powerful hardware to work.
## Advanced Preferences

View file

@ -1,6 +1,6 @@
[tool.poetry]
name = "buzz-captions"
version = "1.1.1"
version = "1.2.0"
description = ""
authors = ["Chidi Williams <williamschidi1@gmail.com>"]
license = "MIT"

View file

@ -109,3 +109,32 @@ class TestRecordingTranscriberWidget:
assert len(contents) > 0
widget.close()
def test_find_common_part_exact_match(self):
assert RecordingTranscriberWidget.find_common_part("hello world", "hello world") == "hello world"
def test_find_common_part_partial_match(self):
assert (RecordingTranscriberWidget.find_common_part(
"hello great and beautiful world",
"hello great and beautiful butterfly")
== "hello great and beautiful ")
assert (RecordingTranscriberWidget.find_common_part(
"Alice said hello world",
"salad said hello world")
== " said hello world")
assert (RecordingTranscriberWidget.find_common_part(
"To kauls nav paņemts no mājām. Ja varēsim rīt iet, es ļoti priecāšos. Mani uztrauc laikapstākļi.",
"Kauls nav paņemts no mājām. Ja varēsim rīt iet, es ļoti priecāšos. Mani uztrauc laikapstākļi, tāpēc...")
== "auls nav paņemts no mājām. Ja varēsim rīt iet, es ļoti priecāšos. Mani uztrauc laikapstākļi")
def test_find_common_part_no_match(self):
assert RecordingTranscriberWidget.find_common_part("hello world", "goodbye evil") == ""
def test_find_common_part_different_start(self):
assert RecordingTranscriberWidget.find_common_part("abc hello world", "xyz hello world") == " hello world"
def test_find_common_part_empty_strings(self):
assert RecordingTranscriberWidget.find_common_part("", "hello world") == ""
assert RecordingTranscriberWidget.find_common_part("hello world", "") == ""
assert RecordingTranscriberWidget.find_common_part("", "") == ""