mirror of
https://github.com/chidiwilliams/buzz.git
synced 2026-03-15 07:05:48 +01:00
Adding speaker identification
This commit is contained in:
parent
840fca9d4f
commit
4e63fbaa3e
22 changed files with 2744 additions and 1554 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
|
@ -1,3 +1,6 @@
|
|||
[submodule "whisper.cpp"]
|
||||
path = whisper.cpp
|
||||
url = https://github.com/ggerganov/whisper.cpp
|
||||
[submodule "whisper_diarization"]
|
||||
path = whisper_diarization
|
||||
url = https://github.com/MahmoudAshraf97/whisper-diarization
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: buzz\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:12+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+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"
|
||||
|
|
@ -73,122 +73,127 @@ msgid "Danish"
|
|||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
#, fuzzy
|
||||
msgid "Ui Language"
|
||||
msgstr "Idioma:"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: 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:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
#, fuzzy
|
||||
msgid "Live recording mode"
|
||||
msgstr "Enregistrament en viu"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
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:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
msgid "Invalid API key"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
"API key may cause errors."
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -527,56 +532,131 @@ msgstr ""
|
|||
msgid "Timestamps"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
msgid "Resize Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
#, fuzzy
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr "Obre una transcripció"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
#, fuzzy
|
||||
msgid "Save"
|
||||
msgstr "Desa el fitxer"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
msgid "Save File"
|
||||
msgstr "Desa el fitxer"
|
||||
|
|
@ -684,10 +764,6 @@ msgstr ""
|
|||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:12+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+0300\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Ole Guldberg2 <xalt7x.service@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
|
|
@ -70,103 +70,108 @@ msgid "Danish"
|
|||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
#, fuzzy
|
||||
msgid "Ukrainian"
|
||||
msgstr "tilbageværende"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
#, fuzzy
|
||||
msgid "Ui Language"
|
||||
msgstr "Sprog:"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr "Skriftypestørrelse"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr "OpenAI API-nøgle"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr "OpenAI base-URL"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr "Standard eksport filnavn"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr "Slå transkription af live optagelse eksport til"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
|
||||
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
|
||||
msgid "Browse"
|
||||
msgstr "Gennemse"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr "Eksportmappe"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
#, fuzzy
|
||||
msgid "Live recording mode"
|
||||
msgstr "Live optagelsesmode"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr "OpenAI API Nøgle test"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
msgid ""
|
||||
"Your API key is valid. Buzz will use this key to perform Whisper API "
|
||||
"transcriptions and AI translations."
|
||||
|
|
@ -174,12 +179,12 @@ msgstr ""
|
|||
"Din API nøgle er gyldig. Buzz vil benytte nøglen til at anvende Whisper API "
|
||||
"transkription og AI oversættelser."
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#, fuzzy
|
||||
msgid "Invalid API key"
|
||||
msgstr "Ugyldig API-nøgle"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
"API key may cause errors."
|
||||
|
|
@ -187,11 +192,11 @@ msgstr ""
|
|||
"API supporterer kun base64 tegn (A-Za-z0-9+/=_-). Andre tegn i API-nøglen "
|
||||
"kan guve fejl. "
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr "Vælg eksport-mappe"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -524,56 +529,131 @@ msgstr "Vis"
|
|||
msgid "Timestamps"
|
||||
msgstr "Tidsstempler"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr "Eksporter"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr "Oversæt"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr "Behandel størrelse"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr "API-nøgle påkrævet"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr "Indtast venligst OpenAI API-nøgle i indstillinger"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
msgid "Resize Options"
|
||||
msgstr "Størrelsesindstillinger"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr "Ønskede undertekst længde"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr "Sammenfletningsindstillinger"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr "Sammenflet ved hul"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr "Split ved punktum"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr "Split ved max længde"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr "Sammenflet"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
#, fuzzy
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr "Åben transkription"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
#, fuzzy
|
||||
msgid "Save"
|
||||
msgstr "Gem fil"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
msgid "Save File"
|
||||
msgstr "Gem fil"
|
||||
|
|
@ -681,10 +761,6 @@ msgstr ""
|
|||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:13+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+0300\n"
|
||||
"PO-Revision-Date: 2025-03-05 14:41+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
|
|
@ -72,100 +72,105 @@ msgid "Danish"
|
|||
msgstr "Dänisch"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr "Niederländisch"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr "Deutsch"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr "Spanisch"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr "Italienisch"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr "Japanisch"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr "Lettisch"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr "Polnisch"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukrainisch"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Chinesisch (vereinfacht)"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr "Chinesisch (traditionell)"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr "Neustart erforderlich!"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
msgid "Ui Language"
|
||||
msgstr "Sprache der Benutzeroberfläche"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr "Schriftgröße"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr "OpenAI-API-Schlüssel"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr "OpenAI-Basis-URL"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr "Standardname der Exportdatei"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr "Export von Live-Aufnahmetranskriptionen aktivieren"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
|
||||
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
|
||||
msgid "Browse"
|
||||
msgstr "Durchsuchen"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr "Exportordner"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
msgid "Live recording mode"
|
||||
msgstr "Live-Aufnahmemodus"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr "OpenAI-API-Schlüssel Test"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
msgid ""
|
||||
"Your API key is valid. Buzz will use this key to perform Whisper API "
|
||||
"transcriptions and AI translations."
|
||||
|
|
@ -173,11 +178,11 @@ msgstr ""
|
|||
"Ihr API-Schlüssel ist gültig. Buzz verwendet diesen Schlüssel, um Whisper-"
|
||||
"API-Transkriptionen und KI-Übersetzungen durchzuführen."
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
msgid "Invalid API key"
|
||||
msgstr "Ungültiger API-Schlüssel"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
"API key may cause errors."
|
||||
|
|
@ -185,11 +190,11 @@ msgstr ""
|
|||
"Die API unterstützt nur Base64-Zeichen (A-Za-z0-9+/=_-). Andere Zeichen im "
|
||||
"API-Schlüssel können Fehler verursachen."
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr "Exportordner auswählen"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -523,56 +528,131 @@ msgstr "Anzeigen"
|
|||
msgid "Timestamps"
|
||||
msgstr "Zeitstempel"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr "Export"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr "Übersetzen"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr "Größe ändern"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr "API-Schlüssel erforderlich"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr "Bitte geben Sie den OpenAI-API-Schlüssel in den Einstellungen ein"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
msgid "Resize Options"
|
||||
msgstr "Größenänderungsoptionen"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr "Gewünschte Untertitellänge"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr "Zusammenführungsoptionen"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr "Nach Abstand zusammenführen"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr "Durch Satzzeichen getrennt"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr "Aufgeteilt nach maximaler Länge"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr "Vereinigen"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
#, fuzzy
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr "Transkript öffnen"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
#, fuzzy
|
||||
msgid "Save"
|
||||
msgstr "Datei speichern"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
msgid "Save File"
|
||||
msgstr "Datei speichern"
|
||||
|
|
@ -681,10 +761,6 @@ msgstr "Portugiesisch"
|
|||
msgid "Turkish"
|
||||
msgstr "Türkisch"
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr "Niederländisch"
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr "Arabisch"
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:12+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -73,120 +73,125 @@ msgid "Danish"
|
|||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
msgid "Ui Language"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: 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:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
msgid "Live recording mode"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
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:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
msgid "Invalid API key"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
"API key may cause errors."
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -512,56 +517,129 @@ msgstr ""
|
|||
msgid "Timestamps"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
msgid "Resize Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
msgid "Save File"
|
||||
msgstr ""
|
||||
|
|
@ -663,10 +741,6 @@ msgstr ""
|
|||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:12+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+0300\n"
|
||||
"PO-Revision-Date: 2023-11-09 04:35-0600\n"
|
||||
"Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n"
|
||||
"Language-Team: \n"
|
||||
|
|
@ -74,124 +74,129 @@ msgid "Danish"
|
|||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr ""
|
||||
|
||||
# automatic translation
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
#, fuzzy
|
||||
msgid "Ui Language"
|
||||
msgstr "Idioma:"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: 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:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr ""
|
||||
|
||||
# automatic translation
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
#, fuzzy
|
||||
msgid "Live recording mode"
|
||||
msgstr "Grabación en vivo"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
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:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
msgid "Invalid API key"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
"API key may cause errors."
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -563,56 +568,133 @@ msgstr ""
|
|||
msgid "Timestamps"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
msgid "Resize Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr ""
|
||||
|
||||
# automatic translation
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
#, fuzzy
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr "Abrir transcripción"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr ""
|
||||
|
||||
# automatic translation
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
#, fuzzy
|
||||
msgid "Save"
|
||||
msgstr "Guardar archivo"
|
||||
|
||||
# automatic translation
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
msgid "Save File"
|
||||
|
|
@ -729,10 +811,6 @@ msgstr ""
|
|||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: buzz\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:12+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+0300\n"
|
||||
"PO-Revision-Date: 2024-11-24 13:22+0100\n"
|
||||
"Language-Team: (Italiano) Albano Battistella <albanobattistella@gmail.com>\n"
|
||||
"Language: it_IT\n"
|
||||
|
|
@ -72,102 +72,107 @@ msgid "Danish"
|
|||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
#, fuzzy
|
||||
msgid "Ukrainian"
|
||||
msgstr "rimanente"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
#, fuzzy
|
||||
msgid "Ui Language"
|
||||
msgstr "Lingua:"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr "Dimensione del carattere"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr "Test"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr "Chiave API OpenAI"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr "URL di base di OpenAI"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr "Nome file di esportazione predefinito"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr "Abilita l'esportazione della trascrizione della registrazione live"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:47
|
||||
#: buzz/widgets/preferences_dialog/folder_watch_preferences_widget.py:50
|
||||
msgid "Browse"
|
||||
msgstr "Sfoglia"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr "Esporta cartella"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
msgid "Live recording mode"
|
||||
msgstr "Modalità di registrazione in diretta"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr "Test della chiave API OpenAI"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
msgid ""
|
||||
"Your API key is valid. Buzz will use this key to perform Whisper API "
|
||||
"transcriptions and AI translations."
|
||||
|
|
@ -175,11 +180,11 @@ msgstr ""
|
|||
"La tua chiave API è valida. Buzz utilizzerà questa chiave per eseguire le "
|
||||
"trascrizioni API Whisper e le traduzioni AI."
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
msgid "Invalid API key"
|
||||
msgstr "Chiave API non valida"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
|
|
@ -188,11 +193,11 @@ msgstr ""
|
|||
"L'API supporta solo caratteri base64 (A-Za-z0-9+/=). Altri caratteri nella "
|
||||
"chiave API potrebbero causare errori."
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr "Seleziona la cartella di esportazione"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -525,57 +530,132 @@ msgstr "Visualizza"
|
|||
msgid "Timestamps"
|
||||
msgstr "Timestamp"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr "Esporta"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr "Tradurre"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr "Ridimensionare"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr "Chiave API richiesta"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr "Inserisci la chiave API OpenAI nelle preferenze"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
#, fuzzy
|
||||
msgid "Resize Options"
|
||||
msgstr "Ridimensionare"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr "Lunghezza desiderata dei sottotitoli"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
#, fuzzy
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr "Apri trascrizione"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
#, fuzzy
|
||||
msgid "Save"
|
||||
msgstr "Salva file"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
msgid "Save File"
|
||||
msgstr "Salva file"
|
||||
|
|
@ -683,10 +763,6 @@ msgstr ""
|
|||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:12+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+0300\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: nunawa <71294849+nunawa@users.noreply.github.com>\n"
|
||||
"Language-Team: \n"
|
||||
|
|
@ -68,103 +68,108 @@ msgid "Danish"
|
|||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
#, fuzzy
|
||||
msgid "Ukrainian"
|
||||
msgstr "残り"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
#, fuzzy
|
||||
msgid "Ui Language"
|
||||
msgstr "言語:"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr "フォントサイズ"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr "テスト"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr "OpenAI APIキー"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr "OpenAI ベースURL"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr "デフォルトの出力ファイル名"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr "ライブ録音書き起こしの出力を有効にする"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: 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:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr "出力フォルダ"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
#, fuzzy
|
||||
msgid "Live recording mode"
|
||||
msgstr "ライブ録音"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr "OpenAI APIキー テスト"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
msgid ""
|
||||
"Your API key is valid. Buzz will use this key to perform Whisper API "
|
||||
"transcriptions and AI translations."
|
||||
|
|
@ -172,22 +177,22 @@ msgstr ""
|
|||
"あなたのAPIキーは有効です。Buzzはこのキーを使ってWhisper APIの書き起こしとAI"
|
||||
"翻訳を行います。"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#, fuzzy
|
||||
msgid "Invalid API key"
|
||||
msgstr "OpenAI APIキー"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
"API key may cause errors."
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr "出力フォルダを選択"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -520,57 +525,132 @@ msgstr "表示"
|
|||
msgid "Timestamps"
|
||||
msgstr "タイムスタンプ"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr "出力"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr "翻訳"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr "リサイズ"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr "APIキーが必要"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr "設定画面でOpenAI APIキーを入力してください"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
#, fuzzy
|
||||
msgid "Resize Options"
|
||||
msgstr "リサイズ"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr "希望する字幕の長さ"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
#, fuzzy
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr "文字起こしを開く"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
#, fuzzy
|
||||
msgid "Save"
|
||||
msgstr "ファイルを保存"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
msgid "Save File"
|
||||
msgstr "ファイルを保存"
|
||||
|
|
@ -676,10 +756,6 @@ msgstr ""
|
|||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:12+0200\n"
|
||||
"PO-Revision-Date: 2025-02-22 23:44+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+0300\n"
|
||||
"PO-Revision-Date: 2025-04-06 21:04+0300\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: lv_LV\n"
|
||||
|
|
@ -74,102 +74,107 @@ msgid "Danish"
|
|||
msgstr "Dāņu"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr "Holandiešu"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr "Vācu"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr "Spāņu"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr "Itāļu"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr "Japāņu"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr "Latviešu"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr "Poļu"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukraiņu"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr "Ķīniešu (vienkāršotā)"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr "Ķīniešu (tradicionālā)"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr "Jāpārstartē!"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
msgid "Ui Language"
|
||||
msgstr "Programmas valoda"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr "Fonta izmērs"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr "Pārbaudīt"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr "OpenAI API atslēga"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr "OpenAI adrese"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr "Eksporta fails"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr "Eksportēt dzīvā ieraksta transkriptus"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: 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:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr "Eksportēt mapē"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
msgid "Live recording mode"
|
||||
msgstr ""
|
||||
"Dzīvā ieraksta\n"
|
||||
"režīms"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr "OpenAI API atslēgas pārbaude"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
msgid ""
|
||||
"Your API key is valid. Buzz will use this key to perform Whisper API "
|
||||
"transcriptions and AI translations."
|
||||
|
|
@ -177,11 +182,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:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
msgid "Invalid API key"
|
||||
msgstr "Nederīga API atslēga"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
"API key may cause errors."
|
||||
|
|
@ -189,11 +194,11 @@ msgstr ""
|
|||
"API atbalsta tikai base64 simbolus (A-Za-z0-9+/=_-). Citi simboli API "
|
||||
"atslēgā var radīt kļūdas."
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr "Izvēlieties mapi kurā eksportēt"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -526,56 +531,129 @@ msgstr "Skats"
|
|||
msgid "Timestamps"
|
||||
msgstr "Laiks"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr "Eksportēt"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr "Tulkot"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr "Mainīt garumu"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr "Noteikt runātājus"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr "API atslēgas kļūda"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr "Lūdzu ievadiet OpenAI API atslēgu iestatījumos"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
msgid "Resize Options"
|
||||
msgstr "Garuma maiņas iestatījumi"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr "Vēlamais teksta garums"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr "Apvienošanas iestatījumi"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr "Apvienot pēc attāluma"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr "Dalīt pie pieturzīmēm"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr "Dalīt pie maksimālā garuma"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr "Apvienot"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr "1/9 Apkopo transkripcijas"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr "2/9 Ielādē audio"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr "3/9 Ielādē identifikācijas modeli"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr "4/9 Sagatavo audio"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr "5/9 Sagatavo transkripcijas"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr "6/9 Apstrādā audio"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr "7/9 Nosaka runātājus"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr "8/9 Marķē runātāju teikumus"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr "9/9 Runātāju noteikšana pabeigta"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr "1. solis: Runātāju noteikšana"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr "Noteikt"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr "Gatavs noteikt runātājus"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr "Audio datne nav atrasta"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr "2. solis: Identificēt runātājus"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr "Atskaņot paraugu"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr "Apvienot runātāja teikumus"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
msgid "Save"
|
||||
msgstr "Saglabāt"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
msgid "Save File"
|
||||
msgstr "Saglabāt failu"
|
||||
|
|
@ -681,10 +759,6 @@ msgstr "Portugāļu"
|
|||
msgid "Turkish"
|
||||
msgstr "Turku"
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr "Holandiešu"
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr "Arābu"
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:12+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+0300\n"
|
||||
"PO-Revision-Date: 2024-03-17 20:50+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
|
|
@ -73,123 +73,128 @@ msgid "Danish"
|
|||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
#, fuzzy
|
||||
msgid "Ui Language"
|
||||
msgstr "Język:"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: 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:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
#, fuzzy
|
||||
msgid "Live recording mode"
|
||||
msgstr "Nagrywanie na żywo"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
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:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#, fuzzy
|
||||
msgid "Invalid API key"
|
||||
msgstr "Nieprawidłowy URL"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
"API key may cause errors."
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -533,56 +538,131 @@ msgstr ""
|
|||
msgid "Timestamps"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
msgid "Resize Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
#, fuzzy
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr "Otwórz transkrypt"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
#, fuzzy
|
||||
msgid "Save"
|
||||
msgstr "Zapisz plik"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
#, fuzzy
|
||||
msgid "Save File"
|
||||
|
|
@ -691,10 +771,6 @@ msgstr ""
|
|||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:12+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+0300\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Yevhen Popok <xalt7x.service@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
|
|
@ -70,103 +70,108 @@ msgid "Danish"
|
|||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
#, fuzzy
|
||||
msgid "Ukrainian"
|
||||
msgstr "залишилось"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
#, fuzzy
|
||||
msgid "Ui Language"
|
||||
msgstr "Мова:"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr "Розмір шрифту"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr "Тест"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr "API-ключ OpenAI"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr "Базова адреса OpenAI"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr "Типова назва файлу експорту"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr "Увімкнути експорт транскрипції з живого запису"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: 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:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr "Тека для експорту"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
#, fuzzy
|
||||
msgid "Live recording mode"
|
||||
msgstr "Живий запис"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr "Тест API-ключа OpenAI"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
msgid ""
|
||||
"Your API key is valid. Buzz will use this key to perform Whisper API "
|
||||
"transcriptions and AI translations."
|
||||
|
|
@ -174,22 +179,22 @@ msgstr ""
|
|||
"Ваш API-ключ дійсний. Buzz використає цей ключ для транскрипції з Whisper "
|
||||
"API та перекладу ШІ."
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#, fuzzy
|
||||
msgid "Invalid API key"
|
||||
msgstr "API-ключ OpenAI"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
"API key may cause errors."
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr "Виберіть теку для експорту"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -522,56 +527,131 @@ msgstr "Вигляд"
|
|||
msgid "Timestamps"
|
||||
msgstr "Позначки часу"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr "Експорт"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr "Перекласти"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr "Потрібен API-ключ"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr "Будь ласка, введіть API-ключ OpenAI в налаштуваннях"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
msgid "Resize Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
#, fuzzy
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr "Відкрити транскрипцію"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
#, fuzzy
|
||||
msgid "Save"
|
||||
msgstr "Зберегти файл"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
msgid "Save File"
|
||||
msgstr "Зберегти файл"
|
||||
|
|
@ -677,10 +757,6 @@ msgstr ""
|
|||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:12+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+0300\n"
|
||||
"PO-Revision-Date: 2023-05-01 15:45+0800\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: lamb \n"
|
||||
|
|
@ -73,113 +73,118 @@ msgid "Danish"
|
|||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
#, fuzzy
|
||||
msgid "Ukrainian"
|
||||
msgstr "剩余"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
#, fuzzy
|
||||
msgid "Ui Language"
|
||||
msgstr "语言:"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr "字体大小"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr "测试"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr "OpenAI API key"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr "OpenAI 基于 url"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr "默认输出文件名"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr "启用实时录制转录导出"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: 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:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr "导出文件夹"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
#, fuzzy
|
||||
msgid "Live recording mode"
|
||||
msgstr "现场录制模式"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr "测试OpenAI API Key"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
msgid ""
|
||||
"Your API key is valid. Buzz will use this key to perform Whisper API "
|
||||
"transcriptions and AI translations."
|
||||
msgstr "您的API密钥有效。Buzz将使用此密钥执行 Whisper API 识别和 AI 翻译。"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
msgid "Invalid API key"
|
||||
msgstr "无效的API key"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
|
|
@ -187,11 +192,11 @@ msgid ""
|
|||
msgstr ""
|
||||
"API只支持 base64字符(A-Za-z0-9+/=)。其他字符在API密钥中可能导致错误。"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr "选择输出文件夹"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -534,57 +539,132 @@ msgstr "查看"
|
|||
msgid "Timestamps"
|
||||
msgstr "时间戳"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr "导出"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr "翻译"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr "调整大小"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr "需要API Key"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr "请在偏好设置中输入OpenAI API Key"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
#, fuzzy
|
||||
msgid "Resize Options"
|
||||
msgstr "调整大小"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr "所需字幕长度"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr "合并选项"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr "按间隔合并"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr "按标点符号拆分"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr "按最大长度拆分"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr "合并"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
#, fuzzy
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr "打开识别结果"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
#, fuzzy
|
||||
msgid "Save"
|
||||
msgstr "保存文件"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
#, fuzzy
|
||||
msgid "Save File"
|
||||
|
|
@ -691,10 +771,6 @@ msgstr ""
|
|||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-03-06 19:12+0200\n"
|
||||
"POT-Creation-Date: 2025-04-06 20:58+0300\n"
|
||||
"PO-Revision-Date: 2023-05-01 15:45+0800\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Lamb\n"
|
||||
|
|
@ -73,122 +73,127 @@ msgid "Danish"
|
|||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:38
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/transcriber/transcriber.py:40
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:39
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/transcriber/transcriber.py:41
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:40
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/transcriber/transcriber.py:53
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:41
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/transcriber/transcriber.py:45
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:42
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/transcriber/transcriber.py:80
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:43
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/transcriber/transcriber.py:48
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:44
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/transcriber/transcriber.py:59
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:45
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
msgid "Chinese (Simplified)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:46
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:47
|
||||
msgid "Chinese (Traditional)"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:84
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:85
|
||||
msgid "Restart required!"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:88
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:89
|
||||
#, fuzzy
|
||||
msgid "Ui Language"
|
||||
msgstr "語言:"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:96
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:97
|
||||
msgid "Font Size"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:105
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:106
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:111
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:112
|
||||
msgid "OpenAI API key"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:124
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:125
|
||||
msgid "OpenAI base url"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:133
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:134
|
||||
msgid "Default export file name"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:139
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:140
|
||||
msgid "Enable live recording transcription export"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:145
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:146
|
||||
#: 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:164
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:165
|
||||
msgid "Export folder"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:175
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:176
|
||||
#, fuzzy
|
||||
msgid "Live recording mode"
|
||||
msgstr "現場錄製"
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:200
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:206
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:207
|
||||
msgid "OpenAI API Key Test"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:201
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:202
|
||||
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:217
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
msgid "Invalid API key"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:218
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:219
|
||||
msgid ""
|
||||
"API supports only base64 characters (A-Za-z0-9+/=_-). Other characters in "
|
||||
"API key may cause errors."
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:236
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:237
|
||||
msgid "Select Export Folder"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:296
|
||||
#: buzz/widgets/preferences_dialog/general_preferences_widget.py:297
|
||||
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 "
|
||||
|
|
@ -529,56 +534,131 @@ msgstr ""
|
|||
msgid "Timestamps"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:146
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:150
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:160
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:164
|
||||
#: buzz/transcriber/transcriber.py:24
|
||||
msgid "Translate"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:170
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:168
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:174
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:166
|
||||
msgid "Resize"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:269
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:187
|
||||
msgid "Identify Speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:286
|
||||
msgid "API Key Required"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:270
|
||||
#: buzz/widgets/transcription_viewer/transcription_viewer_widget.py:287
|
||||
msgid "Please enter OpenAI API Key in preferences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:150
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:148
|
||||
msgid "Resize Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:161
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:159
|
||||
msgid "Desired subtitle length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:186
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:184
|
||||
msgid "Merge Options"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:197
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:195
|
||||
msgid "Merge by gap"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:205
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:203
|
||||
msgid "Split by punctuation"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:213
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:211
|
||||
msgid "Split by max length"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:225
|
||||
#: buzz/widgets/transcription_viewer/transcription_resizer_widget.py:223
|
||||
msgid "Merge"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:101
|
||||
msgid "1/9 Collecting transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:115
|
||||
msgid "2/9 Loading audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:124
|
||||
msgid "3/9 Loading alignment model"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:130
|
||||
msgid "4/9 Preparing audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:142
|
||||
#, fuzzy
|
||||
msgid "5/9 Preparing transcripts"
|
||||
msgstr "打開轉換結果"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:160
|
||||
msgid "6/9 Converting audio"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:174
|
||||
msgid "7/9 Identifying speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:184
|
||||
msgid "8/9 Mapping speakers to transcripts"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:233
|
||||
msgid "9/9 Identification done"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:278
|
||||
msgid "Step 1: Identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:290
|
||||
msgid "Identify"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:300
|
||||
msgid "Ready to identify speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:302
|
||||
msgid "Audio file not found"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:318
|
||||
msgid "Step 2: Name speakers"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:333
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:431
|
||||
msgid "Play sample"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:348
|
||||
msgid "Merge speaker sentences"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/widgets/transcription_viewer/speaker_identification_widget.py:353
|
||||
#, fuzzy
|
||||
msgid "Save"
|
||||
msgstr "檔案"
|
||||
|
||||
#: buzz/widgets/transcription_viewer/export_transcription_menu.py:78
|
||||
#, fuzzy
|
||||
msgid "Save File"
|
||||
|
|
@ -685,10 +765,6 @@ msgstr ""
|
|||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:50
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: buzz/transcriber/transcriber.py:51
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
import re
|
||||
import os
|
||||
import logging
|
||||
import stable_whisper
|
||||
import srt
|
||||
from pathlib import Path
|
||||
import faster_whisper
|
||||
import torch
|
||||
import torchaudio
|
||||
import random
|
||||
from typing import Optional
|
||||
from PyQt6.QtCore import Qt, QThread, QObject, pyqtSignal
|
||||
from platformdirs import user_cache_dir
|
||||
from PyQt6.QtMultimedia import QMediaPlayer, QAudioOutput
|
||||
from PyQt6.QtCore import Qt, QThread, QObject, pyqtSignal, QUrl, QTimer
|
||||
from PyQt6.QtGui import QFont
|
||||
from PyQt6.QtWidgets import (
|
||||
QWidget,
|
||||
|
|
@ -13,14 +16,15 @@ from PyQt6.QtWidgets import (
|
|||
QVBoxLayout,
|
||||
QHBoxLayout,
|
||||
QLabel,
|
||||
QSpinBox,
|
||||
QProgressBar,
|
||||
QPushButton,
|
||||
QCheckBox,
|
||||
QGroupBox,
|
||||
QSpacerItem,
|
||||
QSizePolicy,
|
||||
QLayout,
|
||||
)
|
||||
from buzz.locale import _, languages
|
||||
from buzz.locale import _
|
||||
from buzz.db.entity.transcription import Transcription
|
||||
from buzz.db.service.transcription_service import TranscriptionService
|
||||
from buzz.paths import file_path_as_title
|
||||
|
|
@ -31,19 +35,38 @@ from buzz.widgets.preferences_dialog.models.file_transcription_preferences impor
|
|||
FileTranscriptionPreferences,
|
||||
)
|
||||
|
||||
from ctc_forced_aligner import (
|
||||
generate_emissions,
|
||||
get_alignments,
|
||||
get_spans,
|
||||
load_alignment_model,
|
||||
postprocess_results,
|
||||
preprocess_text,
|
||||
)
|
||||
from whisper_diarization.helpers import (
|
||||
cleanup,
|
||||
create_config,
|
||||
get_realigned_ws_mapping_with_punctuation,
|
||||
get_sentences_speaker_mapping,
|
||||
get_words_speaker_mapping,
|
||||
langs_to_iso,
|
||||
punct_model_langs,
|
||||
)
|
||||
from deepmultilingualpunctuation import PunctuationModel
|
||||
from nemo.collections.asr.models.msdd_models import NeuralDiarizer
|
||||
|
||||
|
||||
SENTENCE_END = re.compile(r'.*[.!?。!?]')
|
||||
|
||||
class TranscriptionWorker(QObject):
|
||||
finished = pyqtSignal()
|
||||
result_ready = pyqtSignal(list)
|
||||
class IdentificationWorker(QObject):
|
||||
finished = pyqtSignal(list)
|
||||
progress_update = pyqtSignal(str)
|
||||
|
||||
def __init__(self, transcription, transcription_options, transcription_service, regroup_string: str):
|
||||
def __init__(self, transcription, transcription_options, transcription_service):
|
||||
super().__init__()
|
||||
self.transcription = transcription
|
||||
self.transcription_options = transcription_options
|
||||
self.transcription_service = transcription_service
|
||||
self.regroup_string = regroup_string
|
||||
|
||||
def get_transcript(self, audio, **kwargs) -> dict:
|
||||
buzz_segments = self.transcription_service.get_transcription_segments(
|
||||
|
|
@ -75,36 +98,139 @@ class TranscriptionWorker(QObject):
|
|||
}
|
||||
|
||||
def run(self):
|
||||
transcription_file = self.transcription.file
|
||||
transcription_file_exists = os.path.exists(transcription_file)
|
||||
self.progress_update.emit(_("1/9 Collecting transcripts"))
|
||||
|
||||
transcription_file_path = Path(transcription_file)
|
||||
speech_path = transcription_file_path.with_name(f"{transcription_file_path.stem}_speech.mp3")
|
||||
if self.transcription_options.extract_speech and os.path.exists(speech_path):
|
||||
transcription_file = str(speech_path)
|
||||
transcription_file_exists = True
|
||||
# Step 1 - Get transcript
|
||||
# TODO - Add detected language to the transcript, detect and store separately in metadata
|
||||
# Will also be relevant for template parsing of transcript file names
|
||||
# - See diarize.py for example on how to get this info from whisper transcript, maybe other whisper models also have it
|
||||
language = self.transcription.language if self.transcription.language else "en"
|
||||
|
||||
result = stable_whisper.transcribe_any(
|
||||
self.get_transcript,
|
||||
transcription_file,
|
||||
vad=transcription_file_exists,
|
||||
suppress_silence=transcription_file_exists,
|
||||
regroup=self.regroup_string,
|
||||
check_sorted=False,
|
||||
segments = self.transcription_service.get_transcription_segments(
|
||||
transcription_id=self.transcription.id_as_uuid
|
||||
)
|
||||
|
||||
segments = []
|
||||
for segment in result.segments:
|
||||
segments.append(
|
||||
Segment(
|
||||
start=int(segment.start * 100),
|
||||
end=int(segment.end * 100),
|
||||
text=segment.text
|
||||
)
|
||||
full_transcript = "".join(segment.text for segment in segments)
|
||||
|
||||
self.progress_update.emit(_("2/9 Loading audio"))
|
||||
audio_waveform = faster_whisper.decode_audio(self.transcription.file)
|
||||
|
||||
# Step 2 - Forced alignment
|
||||
force_cpu = os.getenv("BUZZ_FORCE_CPU", "false")
|
||||
use_cuda = torch.cuda.is_available() and force_cpu == "false"
|
||||
device = "cuda" if use_cuda else "cpu"
|
||||
torch_dtype = torch.float16 if use_cuda else torch.float32
|
||||
|
||||
self.progress_update.emit(_("3/9 Loading alignment model"))
|
||||
alignment_model, alignment_tokenizer = load_alignment_model(
|
||||
device,
|
||||
dtype=torch_dtype,
|
||||
)
|
||||
|
||||
self.progress_update.emit(_("4/9 Preparing audio"))
|
||||
emissions, stride = generate_emissions(
|
||||
alignment_model,
|
||||
torch.from_numpy(audio_waveform)
|
||||
.to(alignment_model.dtype)
|
||||
.to(alignment_model.device),
|
||||
batch_size=8,
|
||||
)
|
||||
|
||||
del alignment_model
|
||||
torch.cuda.empty_cache()
|
||||
|
||||
self.progress_update.emit(_("5/9 Preparing transcripts"))
|
||||
tokens_starred, text_starred = preprocess_text(
|
||||
full_transcript,
|
||||
romanize=True,
|
||||
language=langs_to_iso[language],
|
||||
)
|
||||
|
||||
segments, scores, blank_token = get_alignments(
|
||||
emissions,
|
||||
tokens_starred,
|
||||
alignment_tokenizer,
|
||||
)
|
||||
|
||||
spans = get_spans(tokens_starred, segments, blank_token)
|
||||
|
||||
word_timestamps = postprocess_results(text_starred, spans, stride, scores)
|
||||
|
||||
# convert audio to mono for NeMo compatibility
|
||||
self.progress_update.emit(_("6/9 Converting audio"))
|
||||
model_root_dir = user_cache_dir("Buzz")
|
||||
model_root_dir = os.getenv("BUZZ_MODEL_ROOT", model_root_dir)
|
||||
temp_path = os.path.join(model_root_dir, "speaker_identification_temp")
|
||||
os.makedirs(temp_path, exist_ok=True)
|
||||
torchaudio.save(
|
||||
os.path.join(temp_path, "mono_file.wav"),
|
||||
torch.from_numpy(audio_waveform).unsqueeze(0).float(),
|
||||
16000,
|
||||
channels_first=True,
|
||||
)
|
||||
|
||||
# Step 3 - Diarization
|
||||
self.progress_update.emit(_("7/9 Identifying speakers"))
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
logging.getLogger("nemo_logger").setLevel(logging.ERROR)
|
||||
msdd_model = NeuralDiarizer(cfg=create_config(temp_path)).to(device)
|
||||
msdd_model.diarize()
|
||||
|
||||
del msdd_model
|
||||
torch.cuda.empty_cache()
|
||||
|
||||
# Step 4 - Reading timestamps <> Speaker Labels mapping
|
||||
self.progress_update.emit(_("8/9 Mapping speakers to transcripts"))
|
||||
speaker_ts = []
|
||||
with open(os.path.join(temp_path, "pred_rttms", "mono_file.rttm"), "r") as f:
|
||||
lines = f.readlines()
|
||||
for line in lines:
|
||||
line_list = line.split(" ")
|
||||
s = int(float(line_list[5]) * 1000)
|
||||
e = s + int(float(line_list[8]) * 1000)
|
||||
speaker_ts.append([s, e, int(line_list[11].split("_")[-1])])
|
||||
|
||||
wsm = get_words_speaker_mapping(word_timestamps, speaker_ts, "start")
|
||||
|
||||
if language in punct_model_langs:
|
||||
# restoring punctuation in the transcript to help realign the sentences
|
||||
punct_model = PunctuationModel(model="kredor/punctuate-all")
|
||||
|
||||
words_list = list(map(lambda x: x["word"], wsm))
|
||||
|
||||
labled_words = punct_model.predict(words_list, chunk_size=230)
|
||||
|
||||
ending_puncts = ".?!。!?"
|
||||
model_puncts = ".,;:!?。!?"
|
||||
|
||||
# We don't want to punctuate U.S.A. with a period. Right?
|
||||
is_acronym = lambda x: re.fullmatch(r"\b(?:[a-zA-Z]\.){2,}", x)
|
||||
|
||||
for word_dict, labeled_tuple in zip(wsm, labled_words):
|
||||
word = word_dict["word"]
|
||||
if (
|
||||
word
|
||||
and labeled_tuple[1] in ending_puncts
|
||||
and (word[-1] not in model_puncts or is_acronym(word))
|
||||
):
|
||||
word += labeled_tuple[1]
|
||||
if word.endswith(".."):
|
||||
word = word.rstrip(".")
|
||||
word_dict["word"] = word
|
||||
|
||||
else:
|
||||
logging.warning(
|
||||
f"Punctuation restoration is not available for {language} language."
|
||||
" Using the original punctuation."
|
||||
)
|
||||
|
||||
self.result_ready.emit(segments)
|
||||
self.finished.emit()
|
||||
wsm = get_realigned_ws_mapping_with_punctuation(wsm)
|
||||
ssm = get_sentences_speaker_mapping(wsm, speaker_ts)
|
||||
|
||||
cleanup(temp_path)
|
||||
|
||||
self.progress_update.emit(_("9/9 Identification done"))
|
||||
self.finished.emit(ssm)
|
||||
|
||||
|
||||
class SpeakerIdentificationWidget(QWidget):
|
||||
|
|
@ -125,12 +251,13 @@ class SpeakerIdentificationWidget(QWidget):
|
|||
self.transcription_service = transcription_service
|
||||
self.transcriptions_updated_signal = transcriptions_updated_signal
|
||||
|
||||
self.new_transcript_id = None
|
||||
self.identification_result = None
|
||||
|
||||
self.thread = None
|
||||
self.worker = None
|
||||
|
||||
self.setMinimumWidth(600)
|
||||
self.setMinimumHeight(300)
|
||||
self.setMinimumWidth(650)
|
||||
self.setMinimumHeight(400)
|
||||
|
||||
self.setWindowTitle(file_path_as_title(transcription.file))
|
||||
|
||||
|
|
@ -144,182 +271,262 @@ class SpeakerIdentificationWidget(QWidget):
|
|||
)
|
||||
|
||||
layout = QFormLayout(self)
|
||||
layout.setSizeConstraint(QLayout.SizeConstraint.SetMinAndMaxSize)
|
||||
|
||||
# Resize longer subtitles
|
||||
resize_label = QLabel(_("Resize Options"), self)
|
||||
font = resize_label.font()
|
||||
# Step 1: Identify speakers
|
||||
step_1_label = QLabel(_("Step 1: Identify speakers"), self)
|
||||
font = step_1_label.font()
|
||||
font.setWeight(QFont.Weight.Bold)
|
||||
resize_label.setFont(font)
|
||||
layout.addRow(resize_label)
|
||||
step_1_label.setFont(font)
|
||||
layout.addRow(step_1_label)
|
||||
|
||||
resize_group_box = QGroupBox(self)
|
||||
resize_layout = QVBoxLayout(resize_group_box)
|
||||
step_1_group_box = QGroupBox(self)
|
||||
step_1_group_box.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
|
||||
step_1_layout = QVBoxLayout(step_1_group_box)
|
||||
|
||||
self.resize_row = QHBoxLayout()
|
||||
self.step_1_row = QHBoxLayout()
|
||||
|
||||
self.desired_subtitle_length_label = QLabel(_("Desired subtitle length"), self)
|
||||
self.step_1_button = QPushButton(_("Identify"))
|
||||
self.step_1_button.setMinimumWidth(200)
|
||||
self.step_1_button.clicked.connect(self.on_identify_button_clicked)
|
||||
|
||||
self.target_chars_spin_box = QSpinBox(self)
|
||||
self.target_chars_spin_box.setMinimum(1)
|
||||
self.target_chars_spin_box.setMaximum(100)
|
||||
self.target_chars_spin_box.setValue(42)
|
||||
self.progress_bar = QProgressBar(self)
|
||||
self.progress_bar.setMinimumWidth(400)
|
||||
self.progress_bar.setRange(0, 9)
|
||||
self.progress_bar.setValue(0)
|
||||
|
||||
self.resize_button = QPushButton(_("Resize"))
|
||||
self.resize_button.clicked.connect(self.on_resize_button_clicked)
|
||||
if os.path.isfile(self.transcription.file):
|
||||
self.progress_bar.setFormat(_("Ready to identify speakers"))
|
||||
else:
|
||||
self.progress_bar.setFormat(_("Audio file not found"))
|
||||
self.step_1_button.setEnabled(False)
|
||||
|
||||
self.resize_row.addWidget(self.desired_subtitle_length_label)
|
||||
self.resize_row.addWidget(self.target_chars_spin_box)
|
||||
self.resize_row.addWidget(self.resize_button)
|
||||
self.step_1_row.addWidget(self.progress_bar)
|
||||
|
||||
resize_layout.addLayout(self.resize_row)
|
||||
self.step_1_row.addWidget(self.step_1_button)
|
||||
|
||||
resize_group_box.setEnabled(self.transcription.word_level_timings != 1)
|
||||
step_1_layout.addLayout(self.step_1_row)
|
||||
|
||||
layout.addRow(resize_group_box)
|
||||
layout.addRow(step_1_group_box)
|
||||
|
||||
# Spacer
|
||||
spacer = QSpacerItem(0, 10, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
|
||||
layout.addItem(spacer)
|
||||
|
||||
# Merge words into subtitles
|
||||
merge_options_label = QLabel(_("Merge Options"), self)
|
||||
font = merge_options_label.font()
|
||||
# Step 2: Name speakers
|
||||
step_2_label = QLabel(_("Step 2: Name speakers"), self)
|
||||
font = step_2_label.font()
|
||||
font.setWeight(QFont.Weight.Bold)
|
||||
merge_options_label.setFont(font)
|
||||
layout.addRow(merge_options_label)
|
||||
step_2_label.setFont(font)
|
||||
layout.addRow(step_2_label)
|
||||
|
||||
merge_options_group_box = QGroupBox(self)
|
||||
merge_options_layout = QVBoxLayout(merge_options_group_box)
|
||||
self.step_2_group_box = QGroupBox(self)
|
||||
self.step_2_group_box.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
|
||||
self.step_2_group_box.setEnabled(False)
|
||||
step_2_layout = QVBoxLayout(self.step_2_group_box)
|
||||
|
||||
self.merge_options_row = QVBoxLayout()
|
||||
self.speaker_preview_row = QVBoxLayout()
|
||||
|
||||
self.merge_by_gap = QCheckBox(_("Merge by gap"))
|
||||
self.merge_by_gap.setChecked(True)
|
||||
self.merge_by_gap.setMinimumWidth(250)
|
||||
self.merge_by_gap_input = LineEdit("0.2", self)
|
||||
merge_by_gap_layout = QHBoxLayout()
|
||||
merge_by_gap_layout.addWidget(self.merge_by_gap)
|
||||
merge_by_gap_layout.addWidget(self.merge_by_gap_input)
|
||||
self.speaker_0_input = LineEdit("Speaker 0", self)
|
||||
|
||||
self.split_by_punctuation = QCheckBox(_("Split by punctuation"))
|
||||
self.split_by_punctuation.setChecked(True)
|
||||
self.split_by_punctuation.setMinimumWidth(250)
|
||||
self.split_by_punctuation_input = LineEdit(".* /./. /。/?/? /?/!/! /!/,/, ", self)
|
||||
split_by_punctuation_layout = QHBoxLayout()
|
||||
split_by_punctuation_layout.addWidget(self.split_by_punctuation)
|
||||
split_by_punctuation_layout.addWidget(self.split_by_punctuation_input)
|
||||
self.speaker_0_preview_button = QPushButton(_("Play sample"))
|
||||
self.speaker_0_preview_button.setMinimumWidth(200)
|
||||
self.speaker_0_preview_button.clicked.connect(lambda: self.on_speaker_preview("Speaker 0"))
|
||||
|
||||
self.split_by_max_length = QCheckBox(_("Split by max length"))
|
||||
self.split_by_max_length.setChecked(True)
|
||||
self.split_by_max_length.setMinimumWidth(250)
|
||||
self.split_by_max_length_input = LineEdit("42", self)
|
||||
split_by_max_length_layout = QHBoxLayout()
|
||||
split_by_max_length_layout.addWidget(self.split_by_max_length)
|
||||
split_by_max_length_layout.addWidget(self.split_by_max_length_input)
|
||||
speaker_0_layout = QHBoxLayout()
|
||||
speaker_0_layout.addWidget(self.speaker_0_input)
|
||||
speaker_0_layout.addWidget(self.speaker_0_preview_button)
|
||||
|
||||
self.merge_options_row.addLayout(merge_by_gap_layout)
|
||||
self.merge_options_row.addLayout(split_by_punctuation_layout)
|
||||
self.merge_options_row.addLayout(split_by_max_length_layout)
|
||||
self.speaker_preview_row.addLayout(speaker_0_layout)
|
||||
|
||||
self.merge_button = QPushButton(_("Merge"))
|
||||
self.merge_button.clicked.connect(self.on_merge_button_clicked)
|
||||
step_2_layout.addLayout(self.speaker_preview_row)
|
||||
|
||||
self.merge_options_row.addWidget(self.merge_button)
|
||||
layout.addRow(self.step_2_group_box)
|
||||
|
||||
merge_options_layout.addLayout(self.merge_options_row)
|
||||
# Save button
|
||||
self.merge_speaker_sentences = QCheckBox(_("Merge speaker sentences"))
|
||||
self.merge_speaker_sentences.setChecked(True)
|
||||
self.merge_speaker_sentences.setEnabled(False)
|
||||
self.merge_speaker_sentences.setMinimumWidth(250)
|
||||
|
||||
merge_options_group_box.setEnabled(self.transcription.word_level_timings == 1)
|
||||
self.save_button = QPushButton(_("Save"))
|
||||
self.save_button.setEnabled(False)
|
||||
self.save_button.clicked.connect(self.on_save_button_clicked)
|
||||
|
||||
layout.addRow(merge_options_group_box)
|
||||
layout.addRow(self.merge_speaker_sentences)
|
||||
layout.addRow(self.save_button)
|
||||
|
||||
self.setLayout(layout)
|
||||
|
||||
# Invisible preview player
|
||||
url = QUrl.fromLocalFile(self.transcription.file)
|
||||
self.player = QMediaPlayer()
|
||||
self.audio_output = QAudioOutput()
|
||||
self.player.setAudioOutput(self.audio_output)
|
||||
self.player.setSource(url)
|
||||
self.player_timer = None
|
||||
|
||||
def load_preferences(self):
|
||||
self.settings.settings.beginGroup("file_transcriber")
|
||||
preferences = FileTranscriptionPreferences.load(settings=self.settings.settings)
|
||||
self.settings.settings.endGroup()
|
||||
return preferences
|
||||
|
||||
# TODO rename function
|
||||
def on_resize_button_clicked(self):
|
||||
# Step 1 - Get the segments
|
||||
segments = self.transcription_service.get_transcription_segments(
|
||||
transcription_id=self.transcription.id_as_uuid
|
||||
)
|
||||
|
||||
subs = []
|
||||
for segment in segments:
|
||||
subtitle = srt.Subtitle(
|
||||
index=segment.id,
|
||||
start=segment.start_time,
|
||||
end=segment.end_time,
|
||||
content=segment.text
|
||||
)
|
||||
subs.append(subtitle)
|
||||
|
||||
# Step 2 - ...
|
||||
logging.debug(f"=== Will identify speakers ===")
|
||||
|
||||
def on_merge_button_clicked(self):
|
||||
self.new_transcript_id = self.transcription_service.copy_transcription(
|
||||
self.transcription.id_as_uuid
|
||||
)
|
||||
self.transcription_service.update_transcription_progress(self.new_transcript_id, 0.0)
|
||||
|
||||
if self.transcriptions_updated_signal:
|
||||
self.transcriptions_updated_signal.emit(self.new_transcript_id)
|
||||
|
||||
regroup_string = ''
|
||||
if self.merge_by_gap.isChecked():
|
||||
regroup_string += f'mg={self.merge_by_gap_input.text()}'
|
||||
|
||||
if self.split_by_max_length.isChecked():
|
||||
regroup_string += f'++{self.split_by_max_length_input.text()}+1'
|
||||
|
||||
if self.split_by_punctuation.isChecked():
|
||||
if regroup_string:
|
||||
regroup_string += '_'
|
||||
regroup_string += f'sp={self.split_by_punctuation_input.text()}'
|
||||
|
||||
if self.split_by_max_length.isChecked():
|
||||
if regroup_string:
|
||||
regroup_string += '_'
|
||||
regroup_string += f'sl={self.split_by_max_length_input.text()}'
|
||||
|
||||
if self.merge_by_gap.isChecked():
|
||||
if regroup_string:
|
||||
regroup_string += '_'
|
||||
regroup_string += f'mg={self.merge_by_gap_input.text()}'
|
||||
|
||||
if self.split_by_max_length.isChecked():
|
||||
regroup_string += f'++{self.split_by_max_length_input.text()}+1'
|
||||
|
||||
regroup_string = os.getenv("BUZZ_MERGE_REGROUP_RULE", regroup_string)
|
||||
|
||||
self.hide()
|
||||
|
||||
def on_identify_button_clicked(self):
|
||||
self.thread = QThread()
|
||||
self.worker = TranscriptionWorker(
|
||||
self.worker = IdentificationWorker(
|
||||
self.transcription,
|
||||
self.transcription_options,
|
||||
self.transcription_service,
|
||||
regroup_string
|
||||
self.transcription_service
|
||||
)
|
||||
self.worker.moveToThread(self.thread)
|
||||
self.thread.started.connect(self.worker.run)
|
||||
self.worker.finished.connect(self.thread.quit)
|
||||
self.worker.finished.connect(self.worker.deleteLater)
|
||||
self.thread.finished.connect(self.thread.deleteLater)
|
||||
self.worker.result_ready.connect(self.on_transcription_completed)
|
||||
self.worker.finished.connect(self.on_identification_finished)
|
||||
self.worker.progress_update.connect(self.on_progress_update)
|
||||
|
||||
self.thread.start()
|
||||
|
||||
def on_transcription_completed(self, segments):
|
||||
if self.new_transcript_id is not None:
|
||||
self.transcription_service.update_transcription_as_completed(self.new_transcript_id, segments)
|
||||
def on_progress_update(self, progress):
|
||||
self.progress_bar.setFormat(progress)
|
||||
|
||||
if self.transcriptions_updated_signal:
|
||||
self.transcriptions_updated_signal.emit(self.new_transcript_id)
|
||||
progress_value = 0
|
||||
if progress and progress[0].isdigit():
|
||||
progress_value = int(progress[0])
|
||||
self.progress_bar.setValue(progress_value)
|
||||
else:
|
||||
logging.error(f"Invalid progress format: {progress}")
|
||||
|
||||
if progress_value == 9:
|
||||
self.step_2_group_box.setEnabled(True)
|
||||
self.merge_speaker_sentences.setEnabled(True)
|
||||
self.save_button.setEnabled(True)
|
||||
|
||||
def on_identification_finished(self, result):
|
||||
self.identification_result = result
|
||||
|
||||
unique_speakers = {entry['speaker'] for entry in result}
|
||||
|
||||
while self.speaker_preview_row.count():
|
||||
item = self.speaker_preview_row.takeAt(0)
|
||||
widget = item.widget()
|
||||
if widget:
|
||||
widget.deleteLater()
|
||||
else:
|
||||
layout = item.layout()
|
||||
if layout:
|
||||
while layout.count():
|
||||
sub_item = layout.takeAt(0)
|
||||
sub_widget = sub_item.widget()
|
||||
if sub_widget:
|
||||
sub_widget.deleteLater()
|
||||
|
||||
for speaker in sorted(unique_speakers):
|
||||
speaker_input = LineEdit(speaker, self)
|
||||
speaker_input.setMinimumWidth(200)
|
||||
|
||||
speaker_preview_button = QPushButton(_("Play sample"))
|
||||
speaker_preview_button.setMinimumWidth(200)
|
||||
speaker_preview_button.clicked.connect(lambda checked, s=speaker: self.on_speaker_preview(s))
|
||||
|
||||
speaker_layout = QHBoxLayout()
|
||||
speaker_layout.addWidget(speaker_input)
|
||||
speaker_layout.addWidget(speaker_preview_button)
|
||||
|
||||
self.speaker_preview_row.addLayout(speaker_layout)
|
||||
|
||||
def on_speaker_preview(self, speaker_id):
|
||||
if self.player_timer:
|
||||
self.player_timer.stop()
|
||||
|
||||
speaker_records = [record for record in self.identification_result if record['speaker'] == speaker_id]
|
||||
|
||||
if speaker_records:
|
||||
random_record = random.choice(speaker_records)
|
||||
|
||||
start_time = random_record['start_time']
|
||||
end_time = random_record['end_time']
|
||||
|
||||
self.player.setPosition(int(start_time))
|
||||
self.player.play()
|
||||
|
||||
self.player_timer = QTimer(self)
|
||||
self.player_timer.setSingleShot(True)
|
||||
self.player_timer.timeout.connect(self.player.stop)
|
||||
self.player_timer.start(min(end_time, 10 * 1000)) # 10 seconds
|
||||
|
||||
def on_save_button_clicked(self):
|
||||
speaker_names = []
|
||||
for i in range(self.speaker_preview_row.count()):
|
||||
item = self.speaker_preview_row.itemAt(i)
|
||||
if item.layout():
|
||||
for j in range(item.layout().count()):
|
||||
sub_item = item.layout().itemAt(j)
|
||||
widget = sub_item.widget()
|
||||
if isinstance(widget, LineEdit):
|
||||
speaker_names.append(widget.text())
|
||||
|
||||
unique_speakers = {entry['speaker'] for entry in self.identification_result}
|
||||
original_speakers = sorted(unique_speakers)
|
||||
speaker_mapping = dict(zip(original_speakers, speaker_names))
|
||||
|
||||
segments = []
|
||||
if self.merge_speaker_sentences.isChecked():
|
||||
previous_segment = None
|
||||
|
||||
for entry in self.identification_result:
|
||||
speaker_name = speaker_mapping.get(entry['speaker'], entry['speaker'])
|
||||
|
||||
if previous_segment and previous_segment['speaker'] == speaker_name:
|
||||
previous_segment['end_time'] = entry['end_time']
|
||||
previous_segment['text'] += " " + entry['text']
|
||||
else:
|
||||
if previous_segment:
|
||||
segment = Segment(
|
||||
start=previous_segment['start_time'],
|
||||
end=previous_segment['end_time'],
|
||||
text=f"{previous_segment['speaker']}: {previous_segment['text']}"
|
||||
)
|
||||
segments.append(segment)
|
||||
previous_segment = {
|
||||
'start_time': entry['start_time'],
|
||||
'end_time': entry['end_time'],
|
||||
'speaker': speaker_name,
|
||||
'text': entry['text']
|
||||
}
|
||||
|
||||
if previous_segment:
|
||||
segment = Segment(
|
||||
start=previous_segment['start_time'],
|
||||
end=previous_segment['end_time'],
|
||||
text=f"{previous_segment['speaker']}: {previous_segment['text']}"
|
||||
)
|
||||
segments.append(segment)
|
||||
else:
|
||||
for entry in self.identification_result:
|
||||
speaker_name = speaker_mapping.get(entry['speaker'], entry['speaker'])
|
||||
segment = Segment(
|
||||
start=entry['start_time'],
|
||||
end=entry['end_time'],
|
||||
text=f"{speaker_name}: {entry['text']}"
|
||||
)
|
||||
segments.append(segment)
|
||||
|
||||
new_transcript_id = self.transcription_service.copy_transcription(
|
||||
self.transcription.id_as_uuid
|
||||
)
|
||||
|
||||
self.transcription_service.update_transcription_as_completed(new_transcript_id, segments)
|
||||
|
||||
if self.transcriptions_updated_signal:
|
||||
self.transcriptions_updated_signal.emit(new_transcript_id)
|
||||
|
||||
self.player.stop()
|
||||
|
||||
if self.player_timer:
|
||||
self.player_timer.stop()
|
||||
|
||||
self.close()
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,7 @@ from buzz.widgets.preferences_dialog.models.file_transcription_preferences impor
|
|||
SENTENCE_END = re.compile(r'.*[.!?。!?]')
|
||||
|
||||
class TranscriptionWorker(QObject):
|
||||
finished = pyqtSignal()
|
||||
result_ready = pyqtSignal(list)
|
||||
finished = pyqtSignal(list)
|
||||
|
||||
def __init__(self, transcription, transcription_options, transcription_service, regroup_string: str):
|
||||
super().__init__()
|
||||
|
|
@ -104,8 +103,7 @@ class TranscriptionWorker(QObject):
|
|||
)
|
||||
)
|
||||
|
||||
self.result_ready.emit(segments)
|
||||
self.finished.emit()
|
||||
self.finished.emit(segments)
|
||||
|
||||
|
||||
class TranscriptionResizerWidget(QWidget):
|
||||
|
|
@ -335,7 +333,7 @@ class TranscriptionResizerWidget(QWidget):
|
|||
self.worker.finished.connect(self.thread.quit)
|
||||
self.worker.finished.connect(self.worker.deleteLater)
|
||||
self.thread.finished.connect(self.thread.deleteLater)
|
||||
self.worker.result_ready.connect(self.on_transcription_completed)
|
||||
self.worker.finished.connect(self.on_transcription_completed)
|
||||
|
||||
self.thread.start()
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import logging
|
||||
import platform
|
||||
from typing import Optional
|
||||
from uuid import UUID
|
||||
|
||||
|
|
@ -194,16 +195,18 @@ class TranscriptionViewerWidget(QWidget):
|
|||
|
||||
toolbar.addWidget(resize_button)
|
||||
|
||||
speaker_identification_button = QToolButton()
|
||||
speaker_identification_button.setText(_("Identify Speakers"))
|
||||
speaker_identification_button.setObjectName("speaker_identification_button")
|
||||
speaker_identification_button.setIcon(SpeakerIdentificationIcon(self))
|
||||
speaker_identification_button.setToolButtonStyle(
|
||||
Qt.ToolButtonStyle.ToolButtonTextBesideIcon
|
||||
)
|
||||
speaker_identification_button.clicked.connect(self.on_speaker_identification_button_clicked)
|
||||
# Underlying libs do not support intel Macs
|
||||
if not (platform.system() == "Darwin" and platform.machine() == "x86_64"):
|
||||
speaker_identification_button = QToolButton()
|
||||
speaker_identification_button.setText(_("Identify Speakers"))
|
||||
speaker_identification_button.setObjectName("speaker_identification_button")
|
||||
speaker_identification_button.setIcon(SpeakerIdentificationIcon(self))
|
||||
speaker_identification_button.setToolButtonStyle(
|
||||
Qt.ToolButtonStyle.ToolButtonTextBesideIcon
|
||||
)
|
||||
speaker_identification_button.clicked.connect(self.on_speaker_identification_button_clicked)
|
||||
|
||||
toolbar.addWidget(speaker_identification_button)
|
||||
toolbar.addWidget(speaker_identification_button)
|
||||
|
||||
layout.setMenuBar(toolbar)
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ combined to produce the final answer.
|
|||
|
||||
**BUZZ_TRANSLATION_API_KEY** - Api key of OpenAI compatible API to use for translation.
|
||||
|
||||
**BUZZ_MODEL_ROOT** - Root directory to store model files.
|
||||
**BUZZ_MODEL_ROOT** - Root directory to store model files. You may also want to set `HF_HOME` to the same folder as some libraries used in Buzz download their models independently.
|
||||
Defaults to [user_cache_dir](https://pypi.org/project/platformdirs/).
|
||||
|
||||
**BUZZ_FAVORITE_LANGUAGES** - Coma separated list of supported language codes to show on top of language list.
|
||||
|
|
|
|||
|
|
@ -20,3 +20,5 @@ To import a file:
|
|||
(See the [Live Recording section](https://chidiwilliams.github.io/buzz/docs/usage/live_recording) for more information about the task, language, and quality settings.)
|
||||
|
||||
[](https://www.loom.com/share/cf263b099ac3481082bb56d19b7c87fe "Media File Import on Buzz")
|
||||
|
||||
**💡 Tip:** It is recommended to always select language to transcribe to as automatic language detection may result in unexpected results.
|
||||
|
|
|
|||
9
docs/docs/usage/5_speaker_identification.md
Normal file
9
docs/docs/usage/5_speaker_identification.md
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
title: Speaker identification
|
||||
---
|
||||
|
||||
When transcript of some audio or video file is generated you can identify speakers in the transcript. Double-click the transcript in the list of transcripts to see additional options for editing and exporting.
|
||||
|
||||
Transcription view screen has option to identify speakers. Click on the "Identify speakers" button so see available options.
|
||||
|
||||
If audio file is still present on the system speaker identification will mark each speakers sentences with appropriate label. You can preview 10 seconds of some random sentence of the identified speaker and rename the automatically identified label to speakers real name. If "Merge speaker sentences" checkbox is selected when you save the speaker labels, all consecutive sentences of the same speaker wil lbe merged into one segment. Speaker identification is available since version 1.3.0.
|
||||
116
poetry.lock
generated
116
poetry.lock
generated
|
|
@ -1275,44 +1275,47 @@ typing-inspect = ">=0.4.0,<1"
|
|||
|
||||
[[package]]
|
||||
name = "datasets"
|
||||
version = "2.2.1"
|
||||
version = "3.5.0"
|
||||
description = "HuggingFace community-driven open-source library of datasets"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
python-versions = ">=3.9.0"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "datasets-2.2.1-py3-none-any.whl", hash = "sha256:1938f3e99599422de50b9b54fe802aca854ed130382dab0b3820c821f7ae6d5e"},
|
||||
{file = "datasets-2.2.1.tar.gz", hash = "sha256:d362717c4394589b516c8f397ff20a6fe720454aed877ab61d06f3bc05df9544"},
|
||||
{file = "datasets-3.5.0-py3-none-any.whl", hash = "sha256:b3b7f163acc6ac4e01a1b00eef26d48bd4039288ceea3601d169272bd5581006"},
|
||||
{file = "datasets-3.5.0.tar.gz", hash = "sha256:9e39560e34f83a64e48ceca7adeb645ede3c3055c5cf48ed2b454f8ed2b89754"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
aiohttp = "*"
|
||||
dill = "*"
|
||||
fsspec = {version = ">=2021.05.0", extras = ["http"]}
|
||||
huggingface-hub = ">=0.1.0,<1.0.0"
|
||||
multiprocess = "*"
|
||||
dill = ">=0.3.0,<0.3.9"
|
||||
filelock = "*"
|
||||
fsspec = {version = ">=2023.1.0,<=2024.12.0", extras = ["http"]}
|
||||
huggingface-hub = ">=0.24.0"
|
||||
multiprocess = "<0.70.17"
|
||||
numpy = ">=1.17"
|
||||
packaging = "*"
|
||||
pandas = "*"
|
||||
pyarrow = ">=6.0.0"
|
||||
requests = ">=2.19.0"
|
||||
responses = "<0.19"
|
||||
tqdm = ">=4.62.1"
|
||||
pyarrow = ">=15.0.0"
|
||||
pyyaml = ">=5.1"
|
||||
requests = ">=2.32.2"
|
||||
tqdm = ">=4.66.3"
|
||||
xxhash = "*"
|
||||
|
||||
[package.extras]
|
||||
apache-beam = ["apache-beam (>=2.26.0)"]
|
||||
audio = ["librosa"]
|
||||
benchmarks = ["numpy (==1.18.5)", "tensorflow (==2.3.0)", "torch (==1.6.0)", "transformers (==3.0.2)"]
|
||||
dev = ["Pillow (>=6.2.1)", "Werkzeug (>=1.0.1)", "absl-py", "aiobotocore", "apache-beam (>=2.26.0)", "bert-score (>=0.3.6)", "black (>=22.0,<23.0)", "boto3", "botocore", "bs4", "conllu", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.6.4)", "flake8 (>=3.8.3)", "fsspec[s3]", "h5py", "importlib-resources ; python_version < \"3.7\"", "isort (>=5.0.0)", "jiwer", "langdetect", "librosa", "lxml", "lz4", "mauve-text", "moto[s3,server] (==2.0.4)", "mwparserfromhell", "nltk", "openpyxl", "py7zr", "pytest", "pytest-datadir", "pytest-xdist", "pyyaml (>=5.3.1)", "rarfile (>=4.0)", "requests-file (>=1.5.1)", "rouge-score", "s3fs (==2021.08.1)", "sacrebleu", "scikit-learn", "scipy", "sentencepiece", "seqeval", "six (>=1.15.0,<1.16.0)", "soundfile", "tensorflow (>=2.3,!=2.6.0,!=2.6.1)", "texttable (>=1.6.3)", "tldextract", "tldextract (>=3.1.0)", "toml (>=0.10.1)", "torch", "torchaudio", "transformers", "zstandard"]
|
||||
docs = ["s3fs"]
|
||||
quality = ["black (>=22.0,<23.0)", "flake8 (>=3.8.3)", "isort (>=5.0.0)", "pyyaml (>=5.3.1)"]
|
||||
s3 = ["boto3", "botocore", "fsspec", "s3fs"]
|
||||
tensorflow = ["tensorflow (>=2.2.0,!=2.6.0,!=2.6.1)"]
|
||||
tensorflow-gpu = ["tensorflow-gpu (>=2.2.0,!=2.6.0,!=2.6.1)"]
|
||||
tests = ["Pillow (>=6.2.1)", "Werkzeug (>=1.0.1)", "absl-py", "aiobotocore", "apache-beam (>=2.26.0)", "bert-score (>=0.3.6)", "boto3", "botocore", "bs4", "conllu", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.6.4)", "fsspec[s3]", "h5py", "importlib-resources ; python_version < \"3.7\"", "jiwer", "langdetect", "librosa", "lxml", "lz4", "mauve-text", "moto[s3,server] (==2.0.4)", "mwparserfromhell", "nltk", "openpyxl", "py7zr", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "requests-file (>=1.5.1)", "rouge-score", "s3fs (==2021.08.1)", "sacrebleu", "scikit-learn", "scipy", "sentencepiece", "seqeval", "six (>=1.15.0,<1.16.0)", "soundfile", "tensorflow (>=2.3,!=2.6.0,!=2.6.1)", "texttable (>=1.6.3)", "tldextract", "tldextract (>=3.1.0)", "toml (>=0.10.1)", "torch", "torchaudio", "transformers", "zstandard"]
|
||||
audio = ["librosa", "soundfile (>=0.12.1)", "soxr (>=0.4.0) ; python_version >= \"3.9\""]
|
||||
benchmarks = ["tensorflow (==2.12.0)", "torch (==2.0.1)", "transformers (==4.30.1)"]
|
||||
dev = ["Pillow (>=9.4.0)", "absl-py", "decorator", "elasticsearch (>=7.17.12,<8.0.0)", "faiss-cpu (>=1.8.0.post1)", "jax (>=0.3.14) ; sys_platform != \"win32\"", "jaxlib (>=0.3.14) ; sys_platform != \"win32\"", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyav", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "ruff (>=0.3.0)", "s3fs", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0) ; python_version >= \"3.9\"", "sqlalchemy", "tensorflow (>=2.16.0) ; python_version >= \"3.10\"", "tensorflow (>=2.6.0)", "tensorflow (>=2.6.0) ; python_version < \"3.10\"", "tiktoken", "torch", "torch (>=2.0.0)", "torchdata", "torchvision", "transformers", "transformers (>=4.42.0)", "zstandard"]
|
||||
docs = ["s3fs", "tensorflow (>=2.6.0)", "torch", "transformers"]
|
||||
jax = ["jax (>=0.3.14)", "jaxlib (>=0.3.14)"]
|
||||
pdfs = ["pdfplumber (>=0.11.4)"]
|
||||
quality = ["ruff (>=0.3.0)"]
|
||||
s3 = ["s3fs"]
|
||||
tensorflow = ["tensorflow (>=2.6.0)"]
|
||||
tensorflow-gpu = ["tensorflow (>=2.6.0)"]
|
||||
tests = ["Pillow (>=9.4.0)", "absl-py", "decorator", "elasticsearch (>=7.17.12,<8.0.0)", "faiss-cpu (>=1.8.0.post1)", "jax (>=0.3.14) ; sys_platform != \"win32\"", "jaxlib (>=0.3.14) ; sys_platform != \"win32\"", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyav", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0) ; python_version >= \"3.9\"", "sqlalchemy", "tensorflow (>=2.16.0) ; python_version >= \"3.10\"", "tensorflow (>=2.6.0) ; python_version < \"3.10\"", "tiktoken", "torch (>=2.0.0)", "torchdata", "torchvision", "transformers (>=4.42.0)", "zstandard"]
|
||||
tests-numpy2 = ["Pillow (>=9.4.0)", "absl-py", "decorator", "elasticsearch (>=7.17.12,<8.0.0)", "jax (>=0.3.14) ; sys_platform != \"win32\"", "jaxlib (>=0.3.14) ; sys_platform != \"win32\"", "joblib (<1.3.0)", "joblibspark", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyav", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0) ; python_version >= \"3.9\"", "sqlalchemy", "tiktoken", "torch (>=2.0.0)", "torchdata", "torchvision", "transformers (>=4.42.0)", "zstandard"]
|
||||
torch = ["torch"]
|
||||
vision = ["Pillow (>=6.2.1)"]
|
||||
vision = ["Pillow (>=9.4.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "decorator"
|
||||
|
|
@ -1422,14 +1425,14 @@ dev = ["coverage", "flake8", "pdoc3", "torchvision"]
|
|||
|
||||
[[package]]
|
||||
name = "dill"
|
||||
version = "0.3.9"
|
||||
version = "0.3.8"
|
||||
description = "serialize all of Python"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main", "dev"]
|
||||
files = [
|
||||
{file = "dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a"},
|
||||
{file = "dill-0.3.9.tar.gz", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c"},
|
||||
{file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"},
|
||||
{file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
|
|
@ -1930,14 +1933,14 @@ files = [
|
|||
|
||||
[[package]]
|
||||
name = "fsspec"
|
||||
version = "2025.3.0"
|
||||
version = "2024.12.0"
|
||||
description = "File-system specification"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "fsspec-2025.3.0-py3-none-any.whl", hash = "sha256:efb87af3efa9103f94ca91a7f8cb7a4df91af9f74fc106c9c7ea0efd7277c1b3"},
|
||||
{file = "fsspec-2025.3.0.tar.gz", hash = "sha256:a935fd1ea872591f2b5148907d103488fc523295e6c64b835cfad8c3eca44972"},
|
||||
{file = "fsspec-2024.12.0-py3-none-any.whl", hash = "sha256:b520aed47ad9804237ff878b504267a3b0b441e97508bd6d2d8774e3db85cee2"},
|
||||
{file = "fsspec-2024.12.0.tar.gz", hash = "sha256:670700c977ed2fb51e0d9f9253177ed20cbde4a3e5c0283cc5385b5870c8533f"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
|
@ -1967,7 +1970,7 @@ sftp = ["paramiko"]
|
|||
smb = ["smbprotocol"]
|
||||
ssh = ["paramiko"]
|
||||
test = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "numpy", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "requests"]
|
||||
test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask[dataframe,test]", "moto[server] (>4,<5)", "pytest-timeout", "xarray"]
|
||||
test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask-expr", "dask[dataframe,test]", "moto[server] (>4,<5)", "pytest-timeout", "xarray"]
|
||||
test-full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "cloudpickle", "dask", "distributed", "dropbox", "dropboxdrivefs", "fastparquet", "fusepy", "gcsfs", "jinja2", "kerchunk", "libarchive-c", "lz4", "notebook", "numpy", "ocifs", "pandas", "panel", "paramiko", "pyarrow", "pyarrow (>=1)", "pyftpdlib", "pygit2", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "python-snappy", "requests", "smbprotocol", "tqdm", "urllib3", "zarr", "zstandard"]
|
||||
tqdm = ["tqdm"]
|
||||
|
||||
|
|
@ -4046,32 +4049,28 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""}
|
|||
|
||||
[[package]]
|
||||
name = "multiprocess"
|
||||
version = "0.70.17"
|
||||
version = "0.70.16"
|
||||
description = "better multiprocessing and multithreading in Python"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "multiprocess-0.70.17-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ddb24e5bcdb64e90ec5543a1f05a39463068b6d3b804aa3f2a4e16ec28562d6"},
|
||||
{file = "multiprocess-0.70.17-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d729f55198a3579f6879766a6d9b72b42d4b320c0dcb7844afb774d75b573c62"},
|
||||
{file = "multiprocess-0.70.17-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2c82d0375baed8d8dd0d8c38eb87c5ae9c471f8e384ad203a36f095ee860f67"},
|
||||
{file = "multiprocess-0.70.17-pp38-pypy38_pp73-macosx_10_9_arm64.whl", hash = "sha256:a22a6b1a482b80eab53078418bb0f7025e4f7d93cc8e1f36481477a023884861"},
|
||||
{file = "multiprocess-0.70.17-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:349525099a0c9ac5936f0488b5ee73199098dac3ac899d81d326d238f9fd3ccd"},
|
||||
{file = "multiprocess-0.70.17-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:27b8409c02b5dd89d336107c101dfbd1530a2cd4fd425fc27dcb7adb6e0b47bf"},
|
||||
{file = "multiprocess-0.70.17-pp39-pypy39_pp73-macosx_10_13_arm64.whl", hash = "sha256:2ea0939b0f4760a16a548942c65c76ff5afd81fbf1083c56ae75e21faf92e426"},
|
||||
{file = "multiprocess-0.70.17-pp39-pypy39_pp73-macosx_10_13_x86_64.whl", hash = "sha256:2b12e081df87ab755190e227341b2c3b17ee6587e9c82fecddcbe6aa812cd7f7"},
|
||||
{file = "multiprocess-0.70.17-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:a0f01cd9d079af7a8296f521dc03859d1a414d14c1e2b6e676ef789333421c95"},
|
||||
{file = "multiprocess-0.70.17-py310-none-any.whl", hash = "sha256:38357ca266b51a2e22841b755d9a91e4bb7b937979a54d411677111716c32744"},
|
||||
{file = "multiprocess-0.70.17-py311-none-any.whl", hash = "sha256:2884701445d0177aec5bd5f6ee0df296773e4fb65b11903b94c613fb46cfb7d1"},
|
||||
{file = "multiprocess-0.70.17-py312-none-any.whl", hash = "sha256:2818af14c52446b9617d1b0755fa70ca2f77c28b25ed97bdaa2c69a22c47b46c"},
|
||||
{file = "multiprocess-0.70.17-py313-none-any.whl", hash = "sha256:20c28ca19079a6c879258103a6d60b94d4ffe2d9da07dda93fb1c8bc6243f522"},
|
||||
{file = "multiprocess-0.70.17-py38-none-any.whl", hash = "sha256:1d52f068357acd1e5bbc670b273ef8f81d57863235d9fbf9314751886e141968"},
|
||||
{file = "multiprocess-0.70.17-py39-none-any.whl", hash = "sha256:c3feb874ba574fbccfb335980020c1ac631fbf2a3f7bee4e2042ede62558a021"},
|
||||
{file = "multiprocess-0.70.17.tar.gz", hash = "sha256:4ae2f11a3416809ebc9a48abfc8b14ecce0652a0944731a1493a3c1ba44ff57a"},
|
||||
{file = "multiprocess-0.70.16-pp310-pypy310_pp73-macosx_10_13_x86_64.whl", hash = "sha256:476887be10e2f59ff183c006af746cb6f1fd0eadcfd4ef49e605cbe2659920ee"},
|
||||
{file = "multiprocess-0.70.16-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d951bed82c8f73929ac82c61f01a7b5ce8f3e5ef40f5b52553b4f547ce2b08ec"},
|
||||
{file = "multiprocess-0.70.16-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:37b55f71c07e2d741374998c043b9520b626a8dddc8b3129222ca4f1a06ef67a"},
|
||||
{file = "multiprocess-0.70.16-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba8c31889abf4511c7308a8c52bb4a30b9d590e7f58523302ba00237702ca054"},
|
||||
{file = "multiprocess-0.70.16-pp39-pypy39_pp73-macosx_10_13_x86_64.whl", hash = "sha256:0dfd078c306e08d46d7a8d06fb120313d87aa43af60d66da43ffff40b44d2f41"},
|
||||
{file = "multiprocess-0.70.16-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e7b9d0f307cd9bd50851afaac0dba2cb6c44449efff697df7c7645f7d3f2be3a"},
|
||||
{file = "multiprocess-0.70.16-py310-none-any.whl", hash = "sha256:c4a9944c67bd49f823687463660a2d6daae94c289adff97e0f9d696ba6371d02"},
|
||||
{file = "multiprocess-0.70.16-py311-none-any.whl", hash = "sha256:af4cabb0dac72abfb1e794fa7855c325fd2b55a10a44628a3c1ad3311c04127a"},
|
||||
{file = "multiprocess-0.70.16-py312-none-any.whl", hash = "sha256:fc0544c531920dde3b00c29863377f87e1632601092ea2daca74e4beb40faa2e"},
|
||||
{file = "multiprocess-0.70.16-py38-none-any.whl", hash = "sha256:a71d82033454891091a226dfc319d0cfa8019a4e888ef9ca910372a446de4435"},
|
||||
{file = "multiprocess-0.70.16-py39-none-any.whl", hash = "sha256:a0bafd3ae1b732eac64be2e72038231c1ba97724b60b09400d68f229fcc2fbf3"},
|
||||
{file = "multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
dill = ">=0.3.9"
|
||||
dill = ">=0.3.8"
|
||||
|
||||
[[package]]
|
||||
name = "musdb"
|
||||
|
|
@ -6492,25 +6491,6 @@ design = ["optuna (>=2.10.0)"]
|
|||
docs = ["numpydoc", "sphinx (!=1.3.1)"]
|
||||
tests = ["pytest (<8)", "pytest-cov", "scipy (>=1.1)"]
|
||||
|
||||
[[package]]
|
||||
name = "responses"
|
||||
version = "0.18.0"
|
||||
description = "A utility library for mocking out the `requests` Python library."
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "responses-0.18.0-py3-none-any.whl", hash = "sha256:15c63ad16de13ee8e7182d99c9334f64fd81f1ee79f90748d527c28f7ca9dd51"},
|
||||
{file = "responses-0.18.0.tar.gz", hash = "sha256:380cad4c1c1dc942e5e8a8eaae0b4d4edf708f4f010db8b7bcfafad1fcd254ff"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
requests = ">=2.0,<3.0"
|
||||
urllib3 = ">=1.25.10"
|
||||
|
||||
[package.extras]
|
||||
tests = ["coverage (>=6.0.0)", "flake8", "mypy", "pytest (>=4.6)", "pytest-cov", "pytest-localserver", "types-mock", "types-requests"]
|
||||
|
||||
[[package]]
|
||||
name = "retrying"
|
||||
version = "1.3.4"
|
||||
|
|
@ -8843,4 +8823,4 @@ type = ["pytest-mypy"]
|
|||
[metadata]
|
||||
lock-version = "2.1"
|
||||
python-versions = ">=3.10,<3.13"
|
||||
content-hash = "ffcf49c01fd9b29be1db0ee0a684e71c3ecb005f832d58dcc283089843421d16"
|
||||
content-hash = "80185c3d6c54b658a79b574f19061da7aec5bd0aeb473b9c1880c205521ec825"
|
||||
|
|
|
|||
1
whisper_diarization
Submodule
1
whisper_diarization
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 6c9047dd7334c48acde62042890fd357117a9f55
|
||||
Loading…
Add table
Add a link
Reference in a new issue