diff --git a/app/components/PronunciationInput.vue b/app/components/PronunciationInput.vue index 4cc930c47..09758d2f0 100644 --- a/app/components/PronunciationInput.vue +++ b/app/components/PronunciationInput.vue @@ -45,8 +45,8 @@ watch(pronounciationModelValue, (value, oldValue) => { const sortedVoices = computed(() => { const voicesOfLocale = config.pronunciation?.enabled ? config.pronunciation.voices : []; - return (Object.keys(voices) as VoiceKey[]).toSorted((a, b) => { - return (voicesOfLocale.includes(b) ? 1 : 0) - (voicesOfLocale.includes(a) ? 1 : 0); + return entriesWithKeys(voices).toSorted((a, b) => { + return (voicesOfLocale.includes(b.key as VoiceKey) ? 1 : 0) - (voicesOfLocale.includes(a.key as VoiceKey) ? 1 : 0); }); }); @@ -70,8 +70,8 @@ const sortedVoices = computed(() => { - >(voices: T) => voices as R export const voices = defineVoices({ ar: { + name: 'العربية', language: 'arb', voice: 'Zeina', engine: 'standard', }, ae: { + name: '(الخليجية) العربية', language: 'ar-AE', voice: 'Hala', engine: 'neural', }, de: { + name: 'Deutsch', language: 'de-DE', voice: 'Vicki', engine: 'standard', }, gb: { + name: 'English (British)', language: 'en-GB', voice: 'Emma', engine: 'neural', }, + us: { + name: 'English (American)', + language: 'es-US', + voice: 'Lupe', + engine: 'standard', + }, es: { + name: 'Español (España)', language: 'es-ES', voice: 'Lucia', engine: 'standard', }, mx: { + name: 'Español (México)', language: 'es-MX', voice: 'Mia', engine: 'standard', }, fi: { + name: 'Suomi', language: 'fi-FI', voice: 'Suvi', engine: 'neural', }, fr: { + name: 'Français (France)', language: 'fr-FR', voice: 'Lea', engine: 'standard', }, ca: { + name: 'Français (Canada)', language: 'fr-CA', voice: 'Gabrielle', engine: 'neural', }, bos: { + name: 'Босански', language: 'bos', voice: 'suada', provider: 'narakeet', }, hrv: { + name: 'Hrvatski', language: 'hrv', voice: 'jasna', provider: 'narakeet', }, srp: { + name: 'Српски', language: 'srp', voice: 'milica-latin', provider: 'narakeet', }, it: { + name: 'Italiano', language: 'it-IT', voice: 'Bianca', engine: 'neural', }, ja: { + name: '日本語', language: 'ja-JP', voice: 'Mizuki', engine: 'standard', }, ko: { + name: '한국어', language: 'ko-KR', voice: 'Seoyeon', engine: 'neural', }, nb: { + name: 'Norsk', language: 'nb-NO', voice: 'Liv', engine: 'standard', }, nl: { + name: 'Nederlands', language: 'nl-NL', voice: 'Ruben', engine: 'standard', }, pl: { + name: 'Polski', language: 'pl-PL', voice: 'Ewa', engine: 'standard', }, pt: { + name: 'Português (europeu)', language: 'pt-PT', voice: 'Cristiano', engine: 'standard', }, br: { + name: 'Português (brasileiro)', language: 'pt-BR', voice: 'Vitoria', engine: 'standard', }, ro: { + name: 'Română', language: 'ro-RO', voice: 'Carmen', engine: 'standard', }, ru: { + name: 'Русский', language: 'ru-RU', voice: 'Tatyana', engine: 'standard', }, se: { + name: 'Svenska', language: 'sv-SE', voice: 'Astrid', engine: 'standard', }, - tok: { - language: 'es-US', - voice: 'Lupe', - engine: 'standard', - }, tr: { + name: 'Türkçe', language: 'tr-TR', voice: 'Filiz', engine: 'standard', }, cn: { + name: '中文(普通话)', language: 'cmn-CN', voice: 'Zhiyu', engine: 'standard',