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',