Michael Hu commited on
Commit
2418415
·
1 Parent(s): a5e7aac

feat: restrict supported languages to English and Chinese only

Browse files
src/application/services/configuration_service.py CHANGED
@@ -295,7 +295,7 @@ class ConfigurationApplicationService:
295
  ConfigurationException: If validation fails
296
  """
297
  valid_providers = ['chatterbox']
298
- valid_languages = ['en', 'es', 'fr', 'de', 'it', 'pt', 'ru', 'ja', 'ko', 'zh']
299
 
300
  for key, value in updates.items():
301
  if key == 'preferred_providers':
@@ -558,10 +558,7 @@ class ConfigurationApplicationService:
558
  'temp_directory': self._config.processing.temp_dir,
559
  'log_level': self._config.logging.level,
560
  'provider_availability': self.get_provider_availability(),
561
- 'supported_languages': [
562
- 'en', 'es', 'fr', 'de', 'it', 'pt', 'ru', 'ja', 'ko', 'zh',
563
- 'ar', 'hi', 'tr', 'pl', 'nl', 'sv', 'da', 'no', 'fi'
564
- ],
565
  'supported_audio_formats': self._config.processing.supported_audio_formats,
566
  'max_file_size_mb': self._config.processing.max_file_size_mb,
567
  'processing_timeout_seconds': self._config.processing.processing_timeout_seconds
 
295
  ConfigurationException: If validation fails
296
  """
297
  valid_providers = ['chatterbox']
298
+ valid_languages = ['en', 'zh']
299
 
300
  for key, value in updates.items():
301
  if key == 'preferred_providers':
 
558
  'temp_directory': self._config.processing.temp_dir,
559
  'log_level': self._config.logging.level,
560
  'provider_availability': self.get_provider_availability(),
561
+ 'supported_languages': ['en', 'zh'],
 
 
 
562
  'supported_audio_formats': self._config.processing.supported_audio_formats,
563
  'max_file_size_mb': self._config.processing.max_file_size_mb,
564
  'processing_timeout_seconds': self._config.processing.processing_timeout_seconds
src/infrastructure/stt/whisper_provider.py CHANGED
@@ -21,7 +21,7 @@ class WhisperSTTProvider(STTProviderBase):
21
  """Initialize the Whisper STT provider."""
22
  super().__init__(
23
  provider_name="Whisper",
24
- supported_languages=["en", "es", "fr", "de", "it", "pt", "ru", "ja", "ko", "zh"]
25
  )
26
  self.model = None
27
  self._device = None
 
21
  """Initialize the Whisper STT provider."""
22
  super().__init__(
23
  provider_name="Whisper",
24
+ supported_languages=["en", "zh"]
25
  )
26
  self.model = None
27
  self._device = None
src/infrastructure/translation/nllb_provider.py CHANGED
@@ -18,402 +18,7 @@ class NLLBTranslationProvider(TranslationProviderBase):
18
  'en': 'eng_Latn',
19
  'zh': 'zho_Hans',
20
  'zh-cn': 'zho_Hans',
21
- 'zh-tw': 'zho_Hant',
22
- 'es': 'spa_Latn',
23
- 'fr': 'fra_Latn',
24
- 'de': 'deu_Latn',
25
- 'ja': 'jpn_Jpan',
26
- 'ko': 'kor_Hang',
27
- 'ar': 'arb_Arab',
28
- 'hi': 'hin_Deva',
29
- 'pt': 'por_Latn',
30
- 'ru': 'rus_Cyrl',
31
- 'it': 'ita_Latn',
32
- 'nl': 'nld_Latn',
33
- 'pl': 'pol_Latn',
34
- 'tr': 'tur_Latn',
35
- 'sv': 'swe_Latn',
36
- 'da': 'dan_Latn',
37
- 'no': 'nor_Latn',
38
- 'fi': 'fin_Latn',
39
- 'el': 'ell_Grek',
40
- 'he': 'heb_Hebr',
41
- 'th': 'tha_Thai',
42
- 'vi': 'vie_Latn',
43
- 'id': 'ind_Latn',
44
- 'ms': 'zsm_Latn',
45
- 'tl': 'tgl_Latn',
46
- 'uk': 'ukr_Cyrl',
47
- 'cs': 'ces_Latn',
48
- 'sk': 'slk_Latn',
49
- 'hu': 'hun_Latn',
50
- 'ro': 'ron_Latn',
51
- 'bg': 'bul_Cyrl',
52
- 'hr': 'hrv_Latn',
53
- 'sr': 'srp_Cyrl',
54
- 'sl': 'slv_Latn',
55
- 'et': 'est_Latn',
56
- 'lv': 'lvs_Latn',
57
- 'lt': 'lit_Latn',
58
- 'mt': 'mlt_Latn',
59
- 'ga': 'gle_Latn',
60
- 'cy': 'cym_Latn',
61
- 'is': 'isl_Latn',
62
- 'mk': 'mkd_Cyrl',
63
- 'sq': 'sqi_Latn',
64
- 'eu': 'eus_Latn',
65
- 'ca': 'cat_Latn',
66
- 'gl': 'glg_Latn',
67
- 'ast': 'ast_Latn',
68
- 'oc': 'oci_Latn',
69
- 'br': 'bre_Latn',
70
- 'co': 'cos_Latn',
71
- 'sc': 'srd_Latn',
72
- 'rm': 'roh_Latn',
73
- 'fur': 'fur_Latn',
74
- 'lij': 'lij_Latn',
75
- 'vec': 'vec_Latn',
76
- 'pms': 'pms_Latn',
77
- 'lmo': 'lmo_Latn',
78
- 'nap': 'nap_Latn',
79
- 'scn': 'scn_Latn',
80
- 'wa': 'wln_Latn',
81
- 'frp': 'frp_Latn',
82
- 'gsw': 'gsw_Latn',
83
- 'bar': 'bar_Latn',
84
- 'ksh': 'ksh_Latn',
85
- 'lb': 'ltz_Latn',
86
- 'li': 'lim_Latn',
87
- 'nds': 'nds_Latn',
88
- 'pdc': 'pdc_Latn',
89
- 'sli': 'sli_Latn',
90
- 'vmf': 'vmf_Latn',
91
- 'yi': 'yid_Hebr',
92
- 'af': 'afr_Latn',
93
- 'zu': 'zul_Latn',
94
- 'xh': 'xho_Latn',
95
- 'st': 'sot_Latn',
96
- 'tn': 'tsn_Latn',
97
- 'ss': 'ssw_Latn',
98
- 'nr': 'nbl_Latn',
99
- 've': 'ven_Latn',
100
- 'ts': 'tso_Latn',
101
- 'sw': 'swh_Latn',
102
- 'rw': 'kin_Latn',
103
- 'rn': 'run_Latn',
104
- 'ny': 'nya_Latn',
105
- 'sn': 'sna_Latn',
106
- 'yo': 'yor_Latn',
107
- 'ig': 'ibo_Latn',
108
- 'ha': 'hau_Latn',
109
- 'ff': 'fuv_Latn',
110
- 'wo': 'wol_Latn',
111
- 'bm': 'bam_Latn',
112
- 'dyu': 'dyu_Latn',
113
- 'ee': 'ewe_Latn',
114
- 'tw': 'twi_Latn',
115
- 'ak': 'aka_Latn',
116
- 'gaa': 'gaa_Latn',
117
- 'lg': 'lug_Latn',
118
- 'luo': 'luo_Latn',
119
- 'ki': 'kik_Latn',
120
- 'kam': 'kam_Latn',
121
- 'luy': 'luy_Latn',
122
- 'mer': 'mer_Latn',
123
- 'kln': 'kln_Latn',
124
- 'kab': 'kab_Latn',
125
- 'ber': 'ber_Latn',
126
- 'am': 'amh_Ethi',
127
- 'ti': 'tir_Ethi',
128
- 'om': 'orm_Latn',
129
- 'so': 'som_Latn',
130
- 'mg': 'plt_Latn',
131
- 'ny': 'nya_Latn',
132
- 'bem': 'bem_Latn',
133
- 'tum': 'tum_Latn',
134
- 'loz': 'loz_Latn',
135
- 'lua': 'lua_Latn',
136
- 'umb': 'umb_Latn',
137
- 'kmb': 'kmb_Latn',
138
- 'kg': 'kon_Latn',
139
- 'ln': 'lin_Latn',
140
- 'sg': 'sag_Latn',
141
- 'fon': 'fon_Latn',
142
- 'mos': 'mos_Latn',
143
- 'dga': 'dga_Latn',
144
- 'kbp': 'kbp_Latn',
145
- 'nus': 'nus_Latn',
146
- 'din': 'din_Latn',
147
- 'luo': 'luo_Latn',
148
- 'ach': 'ach_Latn',
149
- 'teo': 'teo_Latn',
150
- 'mdt': 'mdt_Latn',
151
- 'knc': 'knc_Latn',
152
- 'fuv': 'fuv_Latn',
153
- 'kr': 'kau_Latn',
154
- 'dje': 'dje_Latn',
155
- 'son': 'son_Latn',
156
- 'tmh': 'tmh_Latn',
157
- 'taq': 'taq_Latn',
158
- 'ttq': 'ttq_Latn',
159
- 'thv': 'thv_Latn',
160
- 'taq': 'taq_Tfng',
161
- 'shi': 'shi_Tfng',
162
- 'tzm': 'tzm_Tfng',
163
- 'rif': 'rif_Latn',
164
- 'kab': 'kab_Latn',
165
- 'shy': 'shy_Latn',
166
- 'ber': 'ber_Latn',
167
- 'acm': 'acm_Arab',
168
- 'aeb': 'aeb_Arab',
169
- 'ajp': 'ajp_Arab',
170
- 'apc': 'apc_Arab',
171
- 'ars': 'ars_Arab',
172
- 'ary': 'ary_Arab',
173
- 'arz': 'arz_Arab',
174
- 'auz': 'auz_Arab',
175
- 'avl': 'avl_Arab',
176
- 'ayh': 'ayh_Arab',
177
- 'ayn': 'ayn_Arab',
178
- 'ayp': 'ayp_Arab',
179
- 'bbz': 'bbz_Arab',
180
- 'pga': 'pga_Arab',
181
- 'shu': 'shu_Arab',
182
- 'ssh': 'ssh_Arab',
183
- 'fa': 'pes_Arab',
184
- 'tg': 'tgk_Cyrl',
185
- 'ps': 'pbt_Arab',
186
- 'ur': 'urd_Arab',
187
- 'sd': 'snd_Arab',
188
- 'ks': 'kas_Arab',
189
- 'dv': 'div_Thaa',
190
- 'ne': 'npi_Deva',
191
- 'si': 'sin_Sinh',
192
- 'my': 'mya_Mymr',
193
- 'km': 'khm_Khmr',
194
- 'lo': 'lao_Laoo',
195
- 'ka': 'kat_Geor',
196
- 'hy': 'hye_Armn',
197
- 'az': 'azj_Latn',
198
- 'kk': 'kaz_Cyrl',
199
- 'ky': 'kir_Cyrl',
200
- 'uz': 'uzn_Latn',
201
- 'tk': 'tuk_Latn',
202
- 'mn': 'khk_Cyrl',
203
- 'bo': 'bod_Tibt',
204
- 'dz': 'dzo_Tibt',
205
- 'ug': 'uig_Arab',
206
- 'tt': 'tat_Cyrl',
207
- 'ba': 'bak_Cyrl',
208
- 'cv': 'chv_Cyrl',
209
- 'sah': 'sah_Cyrl',
210
- 'tyv': 'tyv_Cyrl',
211
- 'kjh': 'kjh_Cyrl',
212
- 'alt': 'alt_Cyrl',
213
- 'krc': 'krc_Cyrl',
214
- 'kum': 'kum_Cyrl',
215
- 'nog': 'nog_Cyrl',
216
- 'kaa': 'kaa_Cyrl',
217
- 'crh': 'crh_Latn',
218
- 'gag': 'gag_Latn',
219
- 'tr': 'tur_Latn',
220
- 'az': 'azb_Arab',
221
- 'ku': 'ckb_Arab',
222
- 'lrc': 'lrc_Arab',
223
- 'mzn': 'mzn_Arab',
224
- 'glk': 'glk_Arab',
225
- 'fa': 'pes_Arab',
226
- 'tg': 'tgk_Cyrl',
227
- 'prs': 'prs_Arab',
228
- 'haz': 'haz_Arab',
229
- 'bal': 'bal_Arab',
230
- 'bcc': 'bcc_Arab',
231
- 'bgp': 'bgp_Arab',
232
- 'bqi': 'bqi_Arab',
233
- 'ckb': 'ckb_Arab',
234
- 'diq': 'diq_Latn',
235
- 'hac': 'hac_Arab',
236
- 'kur': 'kmr_Latn',
237
- 'lki': 'lki_Arab',
238
- 'pnb': 'pnb_Arab',
239
- 'ps': 'pbt_Arab',
240
- 'sd': 'snd_Arab',
241
- 'skr': 'skr_Arab',
242
- 'ur': 'urd_Arab',
243
- 'wne': 'wne_Arab',
244
- 'xmf': 'xmf_Geor',
245
- 'ka': 'kat_Geor',
246
- 'hy': 'hye_Armn',
247
- 'xcl': 'xcl_Armn',
248
- 'he': 'heb_Hebr',
249
- 'yi': 'yid_Hebr',
250
- 'lad': 'lad_Hebr',
251
- 'ar': 'arb_Arab',
252
- 'mt': 'mlt_Latn',
253
- 'ml': 'mal_Mlym',
254
- 'kn': 'kan_Knda',
255
- 'te': 'tel_Telu',
256
- 'ta': 'tam_Taml',
257
- 'or': 'ory_Orya',
258
- 'as': 'asm_Beng',
259
- 'bn': 'ben_Beng',
260
- 'gu': 'guj_Gujr',
261
- 'pa': 'pan_Guru',
262
- 'hi': 'hin_Deva',
263
- 'mr': 'mar_Deva',
264
- 'ne': 'npi_Deva',
265
- 'sa': 'san_Deva',
266
- 'mai': 'mai_Deva',
267
- 'bho': 'bho_Deva',
268
- 'mag': 'mag_Deva',
269
- 'sck': 'sck_Deva',
270
- 'new': 'new_Deva',
271
- 'bpy': 'bpy_Beng',
272
- 'ctg': 'ctg_Beng',
273
- 'rkt': 'rkt_Beng',
274
- 'syl': 'syl_Beng',
275
- 'sat': 'sat_Olck',
276
- 'kha': 'kha_Latn',
277
- 'grt': 'grt_Beng',
278
- 'lus': 'lus_Latn',
279
- 'mni': 'mni_Beng',
280
- 'kok': 'kok_Deva',
281
- 'gom': 'gom_Deva',
282
- 'sd': 'snd_Deva',
283
- 'doi': 'doi_Deva',
284
- 'ks': 'kas_Deva',
285
- 'ur': 'urd_Arab',
286
- 'ps': 'pbt_Arab',
287
- 'bal': 'bal_Arab',
288
- 'bcc': 'bcc_Arab',
289
- 'bgp': 'bgp_Arab',
290
- 'brh': 'brh_Arab',
291
- 'hnd': 'hnd_Arab',
292
- 'lah': 'lah_Arab',
293
- 'pnb': 'pnb_Arab',
294
- 'pst': 'pst_Arab',
295
- 'skr': 'skr_Arab',
296
- 'wne': 'wne_Arab',
297
- 'si': 'sin_Sinh',
298
- 'dv': 'div_Thaa',
299
- 'my': 'mya_Mymr',
300
- 'shn': 'shn_Mymr',
301
- 'mnw': 'mnw_Mymr',
302
- 'kac': 'kac_Latn',
303
- 'shn': 'shn_Mymr',
304
- 'km': 'khm_Khmr',
305
- 'lo': 'lao_Laoo',
306
- 'th': 'tha_Thai',
307
- 'vi': 'vie_Latn',
308
- 'cjm': 'cjm_Arab',
309
- 'bjn': 'bjn_Latn',
310
- 'bug': 'bug_Latn',
311
- 'jv': 'jav_Latn',
312
- 'mad': 'mad_Latn',
313
- 'ms': 'zsm_Latn',
314
- 'min': 'min_Latn',
315
- 'su': 'sun_Latn',
316
- 'ban': 'ban_Latn',
317
- 'bbc': 'bbc_Latn',
318
- 'btk': 'btk_Latn',
319
- 'gor': 'gor_Latn',
320
- 'ilo': 'ilo_Latn',
321
- 'pag': 'pag_Latn',
322
- 'war': 'war_Latn',
323
- 'hil': 'hil_Latn',
324
- 'bcl': 'bcl_Latn',
325
- 'pam': 'pam_Latn',
326
- 'tl': 'tgl_Latn',
327
- 'ceb': 'ceb_Latn',
328
- 'akl': 'akl_Latn',
329
- 'bik': 'bik_Latn',
330
- 'cbk': 'cbk_Latn',
331
- 'krj': 'krj_Latn',
332
- 'tsg': 'tsg_Latn',
333
- 'zh': 'zho_Hans',
334
- 'yue': 'yue_Hant',
335
- 'wuu': 'wuu_Hans',
336
- 'hsn': 'hsn_Hans',
337
- 'nan': 'nan_Hant',
338
- 'hak': 'hak_Hant',
339
- 'gan': 'gan_Hans',
340
- 'cdo': 'cdo_Hant',
341
- 'lzh': 'lzh_Hans',
342
- 'ja': 'jpn_Jpan',
343
- 'ko': 'kor_Hang',
344
- 'ain': 'ain_Kana',
345
- 'ryu': 'ryu_Kana',
346
- 'eo': 'epo_Latn',
347
- 'ia': 'ina_Latn',
348
- 'ie': 'ile_Latn',
349
- 'io': 'ido_Latn',
350
- 'vo': 'vol_Latn',
351
- 'nov': 'nov_Latn',
352
- 'lfn': 'lfn_Latn',
353
- 'jbo': 'jbo_Latn',
354
- 'tlh': 'tlh_Latn',
355
- 'na': 'nau_Latn',
356
- 'ch': 'cha_Latn',
357
- 'mh': 'mah_Latn',
358
- 'gil': 'gil_Latn',
359
- 'kos': 'kos_Latn',
360
- 'pon': 'pon_Latn',
361
- 'yap': 'yap_Latn',
362
- 'chk': 'chk_Latn',
363
- 'uli': 'uli_Latn',
364
- 'wol': 'wol_Latn',
365
- 'pau': 'pau_Latn',
366
- 'sm': 'smo_Latn',
367
- 'to': 'ton_Latn',
368
- 'fj': 'fij_Latn',
369
- 'ty': 'tah_Latn',
370
- 'mi': 'mri_Latn',
371
- 'haw': 'haw_Latn',
372
- 'rap': 'rap_Latn',
373
- 'tvl': 'tvl_Latn',
374
- 'niu': 'niu_Latn',
375
- 'tkl': 'tkl_Latn',
376
- 'bi': 'bis_Latn',
377
- 'ho': 'hmo_Latn',
378
- 'kg': 'kon_Latn',
379
- 'kj': 'kua_Latn',
380
- 'rw': 'kin_Latn',
381
- 'rn': 'run_Latn',
382
- 'sg': 'sag_Latn',
383
- 'sn': 'sna_Latn',
384
- 'ss': 'ssw_Latn',
385
- 'st': 'sot_Latn',
386
- 'sw': 'swh_Latn',
387
- 'tn': 'tsn_Latn',
388
- 'ts': 'tso_Latn',
389
- 've': 'ven_Latn',
390
- 'xh': 'xho_Latn',
391
- 'zu': 'zul_Latn',
392
- 'nd': 'nde_Latn',
393
- 'nr': 'nbl_Latn',
394
- 'ny': 'nya_Latn',
395
- 'bm': 'bam_Latn',
396
- 'ee': 'ewe_Latn',
397
- 'ff': 'fuv_Latn',
398
- 'ha': 'hau_Latn',
399
- 'ig': 'ibo_Latn',
400
- 'ki': 'kik_Latn',
401
- 'lg': 'lug_Latn',
402
- 'ln': 'lin_Latn',
403
- 'mg': 'plt_Latn',
404
- 'om': 'orm_Latn',
405
- 'rw': 'kin_Latn',
406
- 'rn': 'run_Latn',
407
- 'sg': 'sag_Latn',
408
- 'sn': 'sna_Latn',
409
- 'so': 'som_Latn',
410
- 'sw': 'swh_Latn',
411
- 'ti': 'tir_Ethi',
412
- 'tw': 'twi_Latn',
413
- 'wo': 'wol_Latn',
414
- 'xh': 'xho_Latn',
415
- 'yo': 'yor_Latn',
416
- 'zu': 'zul_Latn'
417
  }
418
 
419
  def __init__(self, model_name: str = "facebook/nllb-200-3.3B", max_chunk_length: int = 1000):
 
18
  'en': 'eng_Latn',
19
  'zh': 'zho_Hans',
20
  'zh-cn': 'zho_Hans',
21
+ 'zh-tw': 'zho_Hant'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  }
23
 
24
  def __init__(self, model_name: str = "facebook/nllb-200-3.3B", max_chunk_length: int = 1000):
src/infrastructure/tts/chatterbox_provider.py CHANGED
@@ -38,7 +38,7 @@ class ChatterboxTTSProvider(TTSProviderBase):
38
  """Initialize the Chatterbox TTS provider."""
39
  super().__init__(
40
  provider_name="Chatterbox",
41
- supported_languages=['en'] # Chatterbox primarily supports English
42
  )
43
  self.lang_code = lang_code
44
  self.model = None
 
38
  """Initialize the Chatterbox TTS provider."""
39
  super().__init__(
40
  provider_name="Chatterbox",
41
+ supported_languages=['en', 'zh'] # Chatterbox supports English and Chinese
42
  )
43
  self.lang_code = lang_code
44
  self.model = None