Skip to content

Commit

Permalink
fix(#231): use the transliterated name everywhere in the voices confi…
Browse files Browse the repository at this point in the history
…g screen

Also style tweaks and code reorg
  • Loading branch information
marisademeglio committed Jun 10, 2024
1 parent a67600e commit fbcde48
Show file tree
Hide file tree
Showing 3 changed files with 200 additions and 185 deletions.
195 changes: 11 additions & 184 deletions src/renderer/components/TtsVoicesConfig/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,188 +5,7 @@ import { useState, useEffect } from 'react'
import { useWindowStore } from 'renderer/store'
import { TtsConfig, TtsVoice } from 'shared/types/ttsConfig'
import { Down, Up } from '../SvgIcons'

/**
* Voices transliterations test for issue #231
*/
const voicesTransliterations = {
云登: '云登 (Yunden)',
晓北: '晓北 (Xiaobei)',
晓妮: '晓妮 (Xiaoni)',
云翔: '云翔 (Yunxiang)',
'云希 四川': '云希 四川 (Yunxi Sichuan)',
መቅደስ: 'መቅደስ (Mekdes)',
አምሀ: 'አምሀ (Amha)',
فاطمة: 'فاطمة (Fatima)',
حمدان: 'حمدان (Hamdan)',
ليلى: 'ليلى (Leila)',
علي: 'علي (Ali)',
أمينة: 'أمينة (Amina)',
إسماعيل: 'إسماعيل (Ismail)',
سلمى: 'سلمى (Salma)',
شاكر: 'شاكر (Shaker)',
رنا: 'رنا (Rana)',
باسل: 'باسل (Basel)',
سناء: 'سناء (Sanaa)',
تيم: 'تيم (Tim)',
نورا: 'نورا (Nora)',
فهد: 'فهد (Fahd)',
رامي: 'رامي (Rami)',
إيمان: 'إيمان (Iman)',
أحمد: 'أحمد (Ahmed)',
منى: 'منى (Mona)',
جمال: 'جمال (Jamal)',
عائشة: 'عائشة (Aisha)',
عبدالله: 'عبدالله (Abdullah)',
أمل: 'أمل (Amal)',
معاذ: 'معاذ (Muadh)',
زارية: 'زارية (Zaria)',
حامد: 'حامد (Hamed)',
أماني: 'أماني (Amani)',
ليث: 'ليث (Laith)',
ريم: 'ريم (Reem)',
هادي: 'هادي (Hadi)',
مريم: 'مريم (Maryam)',
صالح: 'صالح (Saleh)',
Babək: 'Babək (Babek)',
Калина: 'Калина (Kalina)',
Борислав: 'Борислав (Borislav)',
নবনীতা: 'নবনীতা (Nabonita)',
প্রদ্বীপ: 'প্রদ্বীপ (Pradip)',
তানিশা: 'তানিশা (Tanisha)',
ভাস্কর: 'ভাস্কর (Bhaskar)',
Antonín: 'Antonín (Antonin)',
Αθηνά: 'Αθηνά (Athina)',
Νέστορας: 'Νέστορας (Nestoras)',
//María: 'María (Maria)',
//Álvaro: 'Álvaro (Alvaro)',
//Andrés: 'Andrés (Andres)',
//Víctor: 'Víctor (Victor)',
//Sebastián: 'Sebastián (Sebastian)',
دلارا: 'دلارا (Delara)',
فرید: 'فرید (Farid)',
//'Rémy Multilingue': 'Rémy Multilingue (Remy Multilingual)',
ધ્વની: 'ધ્વની (Dhvani)',
નિરંજન: 'નિરંજન (Niranjan)',
הילה: 'הילה (Hila)',
אברי: 'אברי (Avri)',
स्वरा: 'स्वरा (Swara)',
मधुर: 'मधुर (Madhur)',
Srećko: 'Srećko (Srecko)',
Noémi: 'Noémi (Noemi)',
Tamás: 'Tamás (Tamas)',
Անահիտ: 'Անահիտ (Anahit)',
Հայկ: 'Հայկ (Hayk)',
Guðrún: 'Guðrún (Gudrun)',
七海: '七海 (Nanami)',
圭太: '圭太 (Keita)',
碧衣: '碧衣 (Aoi)',
大智: '大智 (Daichi)',
真夕: '真夕 (Mayu)',
直紀: '直紀 (Naoki)',
志織: '志織 (Shiori)',
ეკა: 'ეკა (Eka)',
გიორგი: 'გიორგი (Giorgi)',
Айгүл: 'Айгүл (Aigul)',
Дәулет: 'Дәулет (Daulet)',
ស្រីមុំ: 'ស្រីមុំ (Srey Mom)',
ពិសិដ្ឋ: 'ពិសិដ្ឋ (Piseth)',
ಸಪ್ನಾ: 'ಸಪ್ನಾ (Sapna)',
ಗಗನ್: 'ಗಗನ್ (Gagan)',
선히: '선히 (Seonhee)',
인준: '인준 (Injun)',
봉진: '봉진 (Bongjin)',
국민: '국민 (Gukmin)',
현수: '현수 (Hyunsoo)',
지민: '지민 (Jimin)',
서현: '서현 (Seohyun)',
순복: '순복 (Sunbok)',
유진: '유진 (Yujin)',
ແກ້ວມະນີ: 'ແກ້ວມະນີ (Kaewmanee)',
ຈັນທະວົງ: 'ຈັນທະວົງ (Chanthavong)',
Марија: 'Марија (Marija)',
Александар: 'Александар (Aleksandar)',
ശോഭന: 'ശോഭന (Shobhana)',
മിഥുൻ: 'മിഥുൻ (Mithun)',
Есүй: 'Есүй (Yesui)',
Батаа: 'Батаа (Bataa)',
आरोही: 'आरोही (Aarohi)',
मनोहर: 'मनोहर (Manohar)',
နီလာ: 'နီလာ (Nila)',
သီဟ: 'သီဟ (Thiha)',
हेमकला: 'हेमकला (Hemkala)',
सागर: 'सागर (Sagar)',
لطيفه: 'لطيفه (Latifa)',
' ګل نواز': 'ګل نواز (Gul Nawaz)',
//Antônio: 'Antônio (Antonio)',
Светлана: 'Светлана (Svetlana)',
Дмитрий: 'Дмитрий (Dmitry)',
Дария: 'Дария (Daria)',
තිළිණි: 'තිළිණි (Thilini)',
සමීර: 'සමීර (Sameera)',
//Viktória: 'Viktória (Viktoria)',
//Lukáš: 'Lukáš (Lukas)',
Софија: 'Софија (Sofija)',
Никола: 'Никола (Nikola)',
பல்லவி: 'பல்லவி (Pallavi)',
வள்ளுவர்: 'வள்ளுவர் (Valluvar)',
சரண்யா: 'சரண்யா (Saranya)',
குமார்: 'குமார் (Kumar)',
கனி: 'கனி (Kani)',
சூர்யா: 'சூர்யா (Surya)',
வெண்பா: 'வெண்பா (Venba)',
அன்பு: 'அன்பு (Anbu)',
శ్రుతి: 'శ్రుతి (Shruti)',
మోహన్: 'మోహన్ (Mohan)',
เปรมวดี: 'เปรมวดี (Premwadee)',
นิวัฒน์: 'นิวัฒน์ (Niwat)',
อัจฉรา: 'อัจฉรา (Atchara)',
Поліна: 'Поліна (Polina)',
Остап: 'Остап (Ostap)',
گل: 'گل (Gul)',
سلمان: 'سلمان (Salman)',
عظمیٰ: 'عظمیٰ (Uzma)',
اسد: 'اسد (Asad)',
//'Hoài My': 'Hoài My (Hoai My)',
晓彤: '晓彤 (Xiaotong)',
云哲: '云哲 (Yunzhe)',
晓敏: '晓敏 (Xiaomin)',
云松: '云松 (Yunsong)',
晓晓: '晓晓 (Xiaoxiao)',
云希: '云希 (Yunxi)',
云健: '云健 (Yunjian)',
晓伊: '晓伊 (Xiaoyi)',
云扬: '云扬 (Yunyang)',
晓辰: '晓辰 (Xiaochen)',
'晓辰 多语言': '晓辰 多语言 (Xiaochen Multilingual)',
晓涵: '晓涵 (Xiaohan)',
晓梦: '晓梦 (Xiaomeng)',
晓墨: '晓墨 (Xiaomo)',
晓秋: '晓秋 (Xiaoqiu)',
晓柔: '晓柔 (Xiaorou)',
晓睿: '晓睿 (Xiaorui)',
晓双: '晓双 (Xiaoshuang)',
'晓晓 方言': '晓晓 方言 (Xiaoxiao Dialect)',
'晓晓 多语言': '晓晓 多语言 (Xiaoxiao Multilingual)',
晓颜: '晓颜 (Xiaoyan)',
晓悠: '晓悠 (Xiaoyou)',
'晓宇 多语言': '晓宇 多语言 (Xiaoyu Multilingual)',
晓甄: '晓甄 (Xiaozhen)',
云枫: '云枫 (Yunfeng)',
云皓: '云皓 (Yunhao)',
云杰: '云杰 (Yunjie)',
云夏: '云夏 (Yunxia)',
云野: '云野 (Yunye)',
'云逸 多语言': '云逸 多语言 (Yuni Multilingual)',
云泽: '云泽 (Yunze)',
晓萱: '晓萱 (Xiaoxuan)',
曉曼: '曉曼 (Xiaoman)',
雲龍: '雲龍 (Yunlong)',
曉佳: '曉佳 (Xiaoji)',
曉臻: '曉臻 (Xiaozhen)',
雲哲: '雲哲 (Yunzhe)',
曉雨: '曉雨 (Xiaoy)',
}
import { voicesTransliterations } from './voiceTransliterations'

export function TtsVoicesConfigPane({
availableVoices,
Expand Down Expand Up @@ -494,7 +313,12 @@ export function TtsVoicesConfigPane({
<>
<p>
<b>Selected</b>: "
{availableVoices.find((v) => v.id == voiceId).name}
{voicesTransliterations[
availableVoices.find((v) => v.id == voiceId)
.name
] ??
availableVoices.find((v) => v.id == voiceId)
.name}
",{' '}
{languageNames.of(
availableVoices.find((v) => v.id == voiceId)
Expand Down Expand Up @@ -590,7 +414,10 @@ export function TtsVoicesConfigPane({
.sort((a, b) => (a.name > b.name ? 1 : -1))
.map((v, idx) => (
<tr key={v.id}>
<td>{v.name}</td>
<td className="voiceName">
{voicesTransliterations[v.name] ??
v.name}
</td>
<td>{v.engine}</td>
<td>{languageNames.of(v.lang)}</td>
<td>{v.gender}</td>
Expand Down
181 changes: 181 additions & 0 deletions src/renderer/components/TtsVoicesConfig/voiceTransliterations.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
/**
* Voices transliterations test for issue #231
*/
export const voicesTransliterations = {
云登: '云登 (Yunden)',
晓北: '晓北 (Xiaobei)',
晓妮: '晓妮 (Xiaoni)',
云翔: '云翔 (Yunxiang)',
'云希 四川': '云希 四川 (Yunxi Sichuan)',
መቅደስ: 'መቅደስ (Mekdes)',
አምሀ: 'አምሀ (Amha)',
فاطمة: 'فاطمة (Fatima)',
حمدان: 'حمدان (Hamdan)',
ليلى: 'ليلى (Leila)',
علي: 'علي (Ali)',
أمينة: 'أمينة (Amina)',
إسماعيل: 'إسماعيل (Ismail)',
سلمى: 'سلمى (Salma)',
شاكر: 'شاكر (Shaker)',
رنا: 'رنا (Rana)',
باسل: 'باسل (Basel)',
سناء: 'سناء (Sanaa)',
تيم: 'تيم (Tim)',
نورا: 'نورا (Nora)',
فهد: 'فهد (Fahd)',
رامي: 'رامي (Rami)',
إيمان: 'إيمان (Iman)',
أحمد: 'أحمد (Ahmed)',
منى: 'منى (Mona)',
جمال: 'جمال (Jamal)',
عائشة: 'عائشة (Aisha)',
عبدالله: 'عبدالله (Abdullah)',
أمل: 'أمل (Amal)',
معاذ: 'معاذ (Muadh)',
زارية: 'زارية (Zaria)',
حامد: 'حامد (Hamed)',
أماني: 'أماني (Amani)',
ليث: 'ليث (Laith)',
ريم: 'ريم (Reem)',
هادي: 'هادي (Hadi)',
مريم: 'مريم (Maryam)',
صالح: 'صالح (Saleh)',
Babək: 'Babək (Babek)',
Калина: 'Калина (Kalina)',
Борислав: 'Борислав (Borislav)',
নবনীতা: 'নবনীতা (Nabonita)',
প্রদ্বীপ: 'প্রদ্বীপ (Pradip)',
তানিশা: 'তানিশা (Tanisha)',
ভাস্কর: 'ভাস্কর (Bhaskar)',
Antonín: 'Antonín (Antonin)',
Αθηνά: 'Αθηνά (Athina)',
Νέστορας: 'Νέστορας (Nestoras)',
//María: 'María (Maria)',
//Álvaro: 'Álvaro (Alvaro)',
//Andrés: 'Andrés (Andres)',
//Víctor: 'Víctor (Victor)',
//Sebastián: 'Sebastián (Sebastian)',
دلارا: 'دلارا (Delara)',
فرید: 'فرید (Farid)',
//'Rémy Multilingue': 'Rémy Multilingue (Remy Multilingual)',
ધ્વની: 'ધ્વની (Dhvani)',
નિરંજન: 'નિરંજન (Niranjan)',
הילה: 'הילה (Hila)',
אברי: 'אברי (Avri)',
स्वरा: 'स्वरा (Swara)',
मधुर: 'मधुर (Madhur)',
Srećko: 'Srećko (Srecko)',
Noémi: 'Noémi (Noemi)',
Tamás: 'Tamás (Tamas)',
Անահիտ: 'Անահիտ (Anahit)',
Հայկ: 'Հայկ (Hayk)',
Guðrún: 'Guðrún (Gudrun)',
七海: '七海 (Nanami)',
圭太: '圭太 (Keita)',
碧衣: '碧衣 (Aoi)',
大智: '大智 (Daichi)',
真夕: '真夕 (Mayu)',
直紀: '直紀 (Naoki)',
志織: '志織 (Shiori)',
ეკა: 'ეკა (Eka)',
გიორგი: 'გიორგი (Giorgi)',
Айгүл: 'Айгүл (Aigul)',
Дәулет: 'Дәулет (Daulet)',
ស្រីមុំ: 'ស្រីមុំ (Srey Mom)',
ពិសិដ្ឋ: 'ពិសិដ្ឋ (Piseth)',
ಸಪ್ನಾ: 'ಸಪ್ನಾ (Sapna)',
ಗಗನ್: 'ಗಗನ್ (Gagan)',
선히: '선히 (Seonhee)',
인준: '인준 (Injun)',
봉진: '봉진 (Bongjin)',
국민: '국민 (Gukmin)',
현수: '현수 (Hyunsoo)',
지민: '지민 (Jimin)',
서현: '서현 (Seohyun)',
순복: '순복 (Sunbok)',
유진: '유진 (Yujin)',
ແກ້ວມະນີ: 'ແກ້ວມະນີ (Kaewmanee)',
ຈັນທະວົງ: 'ຈັນທະວົງ (Chanthavong)',
Марија: 'Марија (Marija)',
Александар: 'Александар (Aleksandar)',
ശോഭന: 'ശോഭന (Shobhana)',
മിഥുൻ: 'മിഥുൻ (Mithun)',
Есүй: 'Есүй (Yesui)',
Батаа: 'Батаа (Bataa)',
आरोही: 'आरोही (Aarohi)',
मनोहर: 'मनोहर (Manohar)',
နီလာ: 'နီလာ (Nila)',
သီဟ: 'သီဟ (Thiha)',
हेमकला: 'हेमकला (Hemkala)',
सागर: 'सागर (Sagar)',
لطيفه: 'لطيفه (Latifa)',
' ګل نواز': 'ګل نواز (Gul Nawaz)',
//Antônio: 'Antônio (Antonio)',
Светлана: 'Светлана (Svetlana)',
Дмитрий: 'Дмитрий (Dmitry)',
Дария: 'Дария (Daria)',
තිළිණි: 'තිළිණි (Thilini)',
සමීර: 'සමීර (Sameera)',
//Viktória: 'Viktória (Viktoria)',
//Lukáš: 'Lukáš (Lukas)',
Софија: 'Софија (Sofija)',
Никола: 'Никола (Nikola)',
பல்லவி: 'பல்லவி (Pallavi)',
வள்ளுவர்: 'வள்ளுவர் (Valluvar)',
சரண்யா: 'சரண்யா (Saranya)',
குமார்: 'குமார் (Kumar)',
கனி: 'கனி (Kani)',
சூர்யா: 'சூர்யா (Surya)',
வெண்பா: 'வெண்பா (Venba)',
அன்பு: 'அன்பு (Anbu)',
శ్రుతి: 'శ్రుతి (Shruti)',
మోహన్: 'మోహన్ (Mohan)',
เปรมวดี: 'เปรมวดี (Premwadee)',
นิวัฒน์: 'นิวัฒน์ (Niwat)',
อัจฉรา: 'อัจฉรา (Atchara)',
Поліна: 'Поліна (Polina)',
Остап: 'Остап (Ostap)',
گل: 'گل (Gul)',
سلمان: 'سلمان (Salman)',
عظمیٰ: 'عظمیٰ (Uzma)',
اسد: 'اسد (Asad)',
//'Hoài My': 'Hoài My (Hoai My)',
晓彤: '晓彤 (Xiaotong)',
云哲: '云哲 (Yunzhe)',
晓敏: '晓敏 (Xiaomin)',
云松: '云松 (Yunsong)',
晓晓: '晓晓 (Xiaoxiao)',
云希: '云希 (Yunxi)',
云健: '云健 (Yunjian)',
晓伊: '晓伊 (Xiaoyi)',
云扬: '云扬 (Yunyang)',
晓辰: '晓辰 (Xiaochen)',
'晓辰 多语言': '晓辰 多语言 (Xiaochen Multilingual)',
晓涵: '晓涵 (Xiaohan)',
晓梦: '晓梦 (Xiaomeng)',
晓墨: '晓墨 (Xiaomo)',
晓秋: '晓秋 (Xiaoqiu)',
晓柔: '晓柔 (Xiaorou)',
晓睿: '晓睿 (Xiaorui)',
晓双: '晓双 (Xiaoshuang)',
'晓晓 方言': '晓晓 方言 (Xiaoxiao Dialect)',
'晓晓 多语言': '晓晓 多语言 (Xiaoxiao Multilingual)',
晓颜: '晓颜 (Xiaoyan)',
晓悠: '晓悠 (Xiaoyou)',
'晓宇 多语言': '晓宇 多语言 (Xiaoyu Multilingual)',
晓甄: '晓甄 (Xiaozhen)',
云枫: '云枫 (Yunfeng)',
云皓: '云皓 (Yunhao)',
云杰: '云杰 (Yunjie)',
云夏: '云夏 (Yunxia)',
云野: '云野 (Yunye)',
'云逸 多语言': '云逸 多语言 (Yuni Multilingual)',
云泽: '云泽 (Yunze)',
晓萱: '晓萱 (Xiaoxuan)',
曉曼: '曉曼 (Xiaoman)',
雲龍: '雲龍 (Yunlong)',
曉佳: '曉佳 (Xiaoji)',
曉臻: '曉臻 (Xiaozhen)',
雲哲: '雲哲 (Yunzhe)',
曉雨: '曉雨 (Xiaoy)',
}
Loading

0 comments on commit fbcde48

Please sign in to comment.