From d5bdf384de8c01059447d99a2582f374fea8ca56 Mon Sep 17 00:00:00 2001 From: ozcan-durak Date: Sat, 9 Mar 2024 03:08:00 +0300 Subject: [PATCH] Added Turkish language [tr-TR] for STT configuration --- chipper/intent-data/tr-TR.json | 218 ++++++++++++++++++ chipper/pkg/wirepod/localization/download.go | 2 + .../pkg/wirepod/localization/localization.go | 74 +++--- chipper/webroot/index.html | 5 +- chipper/webroot/initial.html | 3 +- chipper/webroot/setup.html | 6 +- 6 files changed, 267 insertions(+), 41 deletions(-) create mode 100644 chipper/intent-data/tr-TR.json diff --git a/chipper/intent-data/tr-TR.json b/chipper/intent-data/tr-TR.json new file mode 100644 index 00000000..1cf0af7d --- /dev/null +++ b/chipper/intent-data/tr-TR.json @@ -0,0 +1,218 @@ +[ + { + "name": "intent_names_username_extend", + "keyphrases": ["adım", "yerliyim", "isimler", "adımın", "benim adım"] + }, + { + "name": "intent_weather_extend", + "keyphrases": ["hava durumu", "ister", "öteki", "su", "başka", "hava tahmini", "yarın hava", "hava nasıl"] + }, + { + "name": "intent_names_ask", + "keyphrases": ["benim adım", "kimim", "ben kimim"] + }, + { + "name": "intent_imperative_eyecolor", + "keyphrases": ["göz rengi", "renk", "onu çağırıyorum", "onu takip ediyorum", "irenk", "ekse", "eriye", "ikan", "agrikola", "değiştir", "oraküler", "oracle", "göz rengini şuna ayarla"] + }, + { + "name": "intent_character_age", + "keyphrases": ["daha yaşlı", "kaç yaşında", "sen kaç yaşındasın", "yaşlı mısın", "senin yaşın kaç"] + }, + { + "name": "intent_explore_start", + "keyphrases": ["başla", "keşfet", "akıyor", "terzilik", "kodlama", "keşif", "örnek almak", "keşfetmeye başla"] + }, + { + "name": "intent_system_charger", + "keyphrases": ["şarj", "ev", "eve git", "kilise", "şarj cihazını bul", "şarj aleti"] + }, + { + "name": "intent_system_sleep", + "keyphrases": ["kaç", "uyu", "koyun", "uyumaya git"] + }, + { + "name": "intent_greeting_goodmorning", + "keyphrases": ["sabah", "yas", "ayışığı", "sıkıldım", "öğleden sonra", "öğle sonrası", "kimi takip ettiğim", "günaydın"] + }, + { + "name": "intent_greeting_goodnight", + "keyphrases": ["gece", "güç", "iyi geceler"] + }, + { + "name": "intent_greeting_goodbye", + "keyphrases": ["güle güle", "iyi yolculuklar", "iyi alışverişler", "hoşça kal"] + }, + { + "name": "intent_seasonal_happynewyear", + "keyphrases": ["havai fişek", "yeni yıl", "mutlu yıllar", "mutlu ol", "olmuş", "şimdi seni tanıyorum", "yıl yok", "ani", "asla tanımadım", "hobhouse", "bennie"] + }, + { + "name": "intent_seasonal_happyholidays", + "keyphrases": ["o tutar", "noel", "işte bu", "tatil"] + }, + { + "name": "intent_amazon_signin", + "keyphrases": ["zekada", "elekta'da güzel", "aleks'te", "aleksi anlama", "elekt'te", "alekse", "angelica'da", "alexa'ya kaydol", "alexa'ya giriş yap"] + }, + { + "name": "intent_amazon_signin", + "keyphrases": ["çıkışta", "elea'yı şimdi biliyorum", "alexa'dan çık", "aleden çık"] + }, + { + "name": "intent_imperative_forward", + "keyphrases": ["ileri", "koru", "kelime", "ileri hareket et", "ileriye"] + }, + { + "name": "intent_imperative_turnaround", + "keyphrases": ["etrafında", "yüz seksen", "bir yediği", "etrafını dön"] + }, + { + "name": "intent_imperative_turnleft", + "keyphrases": ["sol dön", "sol taraf", "soldan git", "sol", "ernest"] + }, + { + "name": "intent_imperative_turnright", + "keyphrases": ["sağ dön", "sağa git", "sağ taraf", "ernie", "kredi", "sağdan"] + }, + { + "name": "intent_play_rollcube", + "keyphrases": ["küpü yuvarla", "küpünü yuvarla", "hepsini yuvarla", "insanı yuvarla", "yorke", "başını tut", "küpünü yuvarla"] + }, + { + "name": "intent_play_popawheelie", + "keyphrases": ["tekerlek üstünde dur", "polwhele", "olwen", "i wieland", "tekerlek yap", "kapı taşı", "tibetli", "powell", "welst", "bir tekerlek", "willie", "gerçekten", "o' billy", "tekerlek üstünde durma", "tekerlek standı yap"] + }, + { + "name": "intent_play_fistbump", + "keyphrases": ["bu pompası", "bu pompa", "yumruk", "yumrukla", "yumruksa", "bu kitap", "pisto", "pompayla", "fison", "ilk", "beşinci", "on beşte", "bump var", "bilgelik", "bu bu", "yumruk bombası", "yumruk topu", "bu top", "sistem", "yumruklama"] + }, + { + "name": "intent_play_blackjack", + "keyphrases": ["siyah", "kartlar", "oyun", "blackjack oyna"] + }, + { + "name": "intent_imperative_affirmative", + "keyphrases": ["evet", "doğru", "tabii"] + }, + { + "name": "intent_imperative_negative", + "keyphrases": ["hayır", "yapma"] + }, + { + "name": "intent_photo_take_extend", + "keyphrases": ["fotoğraf", "foto", "selby", "yakala", "resim", "bana bir fotoğraf çek"] + }, + { + "name": "intent_imperative_praise", + "keyphrases": ["iyi", "harika", "ayrıca", "bazıları", "onlardan", "savaş", "t rob", "ro", "şaşırtıcı", "woodcourt", "iyi robot"] + }, + { + "name": "intent_imperative_abuse", + "keyphrases": ["kötü", "o ro", "ad ro", "kök", "nefret", "berbat", "kötü robot"] + }, + { + "name": "intent_imperative_apologize", + "keyphrases": ["üzgünüm", "özür dilerim", "özür dile", "tory", "boşver", "aklımdan çıkmış", "ben özür dilerim"] + }, + { + "name": "intent_imperative_backup", + "keyphrases": ["geri", "geri çekil", "geriye"] + }, + { + "name": "intent_imperative_volumedown", + "keyphrases": ["sesini kıs", "ses kıs", "sesi kıs", "sesi kısın", "daha sessiz", "sesi kıs"] + }, + { + "name": "intent_imperative_volumeup", + "keyphrases": ["sesini aç", "ses aç", "sesi aç", "sesi yükselt", "daha yüksek"] + }, + { + "name": "intent_imperative_lookatme", + "keyphrases": ["bak", "bana bak"] + }, + { + "name": "intent_imperative_volumelevel_extend", + "keyphrases": ["sesini", "ses", "ses seviyesi"] + }, + { + "name": "intent_imperative_shutup", + "keyphrases": ["sus"] + }, + { + "name": "intent_greeting_hello", + "keyphrases": ["merhaba", "varsın", "bizim", "yüksek", "aşağı", "küçük", "takip", "senin için", "uzak sen", "sen hakkında nasıl", "nasılsın", "düşük", "tuvalet"] + }, + { + "name": "intent_imperative_come", + "keyphrases": ["gel", "bana", "buraya gel"] + }, + { + "name": "intent_imperative_love", + "keyphrases": ["sevgi", "güvercin", "seni seviyorum"] + }, + { + "name": "intent_knowledge_promptquestion", + "keyphrases": ["soru", "weston", "bir sorum var"] + }, + { + "name": "intent_clock_checktimer", + "keyphrases": ["zamanlayıcıyı kontrol et", "zamanlayıcıyı kontrol et", "zamanlayıcıyı kontrol et", "zamanı kontrol et", "zamanı kontrol et", "zamanı ondan kontrol et", "zamanlayıcıyı kontrol ettim", "zamanı ondan kontrol ettim", "zamanı ondan kontrol ettim"] + }, + { + "name": "intent_global_stop_extend", + "keyphrases": ["zamanlayıcıyı durdur", "zamanlayıcı durdur", "iptal et", "zamanlayıcıyı iptal et", "saati durdur", "dur be", "durdu t", "durdu be", "durdu", "durdur"] + }, + { + "name": "intent_clock_settimer_extend", + "keyphrases": ["zamanlayıcı", "için zaman", "için zamanı", "ya da zaman", "zamanın", "bir zamanlayıcı ayarla"] + }, + { + "name": "intent_clock_time", + "keyphrases": ["saat kaç", "zaman", "hangi saat", "saat", "saat kaç"] + }, + { + "name": "intent_imperative_quiet", + "keyphrases": ["sessiz", "dur", "sessiz ol"] + }, + { + "name": "intent_imperative_dance", + "keyphrases": ["dans", "dans et", "dans et", "ritme dans et", "ritim", "müziğe dans et"] + }, + { + "name": "intent_play_pickupcube", + "keyphrases": ["kaldır", "küpü kaldır"] + }, + { + "name": "intent_imperative_fetchcube", + "keyphrases": ["küpünü getir", "küpü getir", "küpü getir", "bana getir", "bana küpünü getir"] + }, + { + "name": "intent_imperative_findcube", + "keyphrases": ["küpün", "küp", "küpünü bul"] + }, + { + "name": "intent_play_anytrick", + "keyphrases": ["numara", "havalı bir şey", "havalı bir şey", "bir numara yap"] + }, + { + "name": "intent_message_recordmessage_extend", + "keyphrases": ["kaydet"] + }, + { + "name": "intent_message_playmessage_extend", + "keyphrases": ["mesajı oynat", "yöntemi oynat", "bir mesaj oynat", "bir yöntem oynat"] + }, + { + "name": "intent_blackjack_hit", + "keyphrases": ["vur"] + }, + { + "name": "intent_blackjack_stand", + "keyphrases": ["dur", "stan"] + }, + { + "name": "intent_play_keepaway", + "keyphrases": ["uzak tut", "uzak dur", "uzak tutma oyunu oyna"] + } +] \ No newline at end of file diff --git a/chipper/pkg/wirepod/localization/download.go b/chipper/pkg/wirepod/localization/download.go index 6966e7dd..1aaff8b4 100644 --- a/chipper/pkg/wirepod/localization/download.go +++ b/chipper/pkg/wirepod/localization/download.go @@ -48,6 +48,8 @@ func DownloadVoskModel(language string) { filename = filename + "pl-0.22.zip" } else if language == "zh-CN" { filename = filename + "cn-0.22.zip" + } else if language == "tr-TR" { + filename = filename + "tr-0.3.zip" } else { logger.Println("Language not valid? " + language) return diff --git a/chipper/pkg/wirepod/localization/localization.go b/chipper/pkg/wirepod/localization/localization.go index e5f130ed..29de231e 100755 --- a/chipper/pkg/wirepod/localization/localization.go +++ b/chipper/pkg/wirepod/localization/localization.go @@ -2,7 +2,7 @@ package localization import "github.com/kercre123/wire-pod/chipper/pkg/vars" -var ValidVoskModels []string = []string{"en-US", "it-IT", "es-ES", "fr-FR", "de-DE", "pt-BR", "pl-PL", "zh-CN"} +var ValidVoskModels []string = []string{"en-US", "it-IT", "es-ES", "fr-FR", "de-DE", "pt-BR", "pl-PL", "zh-CN", "tr-TR"} const STR_WEATHER_IN = "str_weather_in" const STR_WEATHER_FORECAST = "str_weather_forecast" @@ -80,41 +80,41 @@ var ALL_STR []string = []string{ // All text must be lowercase! var texts = map[string][]string{ - // key en-US it-IT es-ES fr-FR de-DE pl-PL - STR_WEATHER_IN: {" in ", " a ", " en ", " en ", " in ", " w ", " 的 "}, - STR_WEATHER_FORECAST: {"forecast", "previsioni", "pronóstico", "prévisions", "wettervorhersage", "prognoza", "预报"}, - STR_WEATHER_TOMORROW: {"tomorrow", "domani", "mañana", "demain", "morgen", "jutro", "明天"}, - STR_WEATHER_THE_DAY_AFTER_TOMORROW: {"day after tomorrow", "dopodomani", "el día después de mañana", "lendemain de demain", "am tag nach morgen", "pojutrze", "后天"}, - STR_WEATHER_TONIGHT: {"tonight", "stasera", "esta noche", "ce soir", "heute abend", "dziś wieczorem", "今晚"}, - STR_WEATHER_THIS_AFTERNOON: {"afternoon", "pomeriggio", "esta tarde", "après-midi", "heute nachmittag", "popołudniu", "下午"}, - STR_EYE_COLOR_PURPLE: {"purple", "lilla", "violeta", "violet", "violett", "fioletowy", "紫色"}, - STR_EYE_COLOR_BLUE: {"blue", "blu", "azul", "bleu", "blau", "niebieski", "蓝色"}, - STR_EYE_COLOR_SAPPHIRE: {"sapphire", "zaffiro", "zafiro", "saphir", "saphir", "szafir", "天蓝"}, - STR_EYE_COLOR_YELLOW: {"yellow", "giallo", "amarillo", "jaune", "gelb", "żółty", "黄色"}, - STR_EYE_COLOR_TEAL: {"teal", "verde acqua", "verde azulado", "sarcelle", "blaugrün", "morski", "浅绿"}, - STR_EYE_COLOR_TEAL2: {"tell", "acquamarina", "aguamarina", "acquamarina", "acquamarina", "akwamaryn", "蓝绿"}, - STR_EYE_COLOR_GREEN: {"green", "verde", "verde", "vert", "grün", "zielony", "绿色"}, - STR_EYE_COLOR_ORANGE: {"orange", "arancio", "naranja", "orange", "orange", "pomarańczowy", "橙色"}, - STR_ME: {"me", "me", "me", "moi", "mir", "mnie", "我"}, - STR_SELF: {"self", "mi", "mía", "moi", "mein", "ja", "自己"}, - STR_VOLUME_LOW: {"low", "basso", "bajo", "bas", "niedrig", "niski", "低"}, - STR_VOLUME_QUIET: {"quiet", "poco rumoroso", "tranquilo", "silencieux", "ruhig", "cichy", "安静"}, - STR_VOLUME_MEDIUM_LOW: {"medium low", "medio basso", "medio-bajo", "moyen-doux", "mittelschwer", "średnio niski", "中低"}, - STR_VOLUME_MEDIUM: {"medium", "medio", "medio", "moyen", "mittel", "średni", "中档"}, - STR_VOLUME_NORMAL: {"normal", "normale", "normal", "normal", "normal", "normalny", "正常"}, - STR_VOLUME_REGULAR: {"regular", "regolare", "regular", "régulier", "regulär", "zwyczajny", "标准"}, - STR_VOLUME_MEDIUM_HIGH: {"medium high", "medio alto", "medio-alto", "moyen-élevé", "mittelhoch", "średno wysoki", "中高"}, - STR_VOLUME_HIGH: {"high", "alto", "alto", "élevé", "hoch", "wysoki", "高档"}, - STR_VOLUME_LOUD: {"loud", "rumoroso", "fuerte", "fort", "laut", "głośny", "高"}, - STR_VOLUME_MUTE: {"mute", "muto", "mudo", "", "stumm", "wyciszony", "静音"}, - STR_VOLUME_NOTHING: {"nothing", "nessuno", "nada", "rien", "nichts", "nic", "无声"}, - STR_VOLUME_SILENT: {"silent", "silenzioso", "silencio", "silencieux", "still", "cichy", "悄声"}, - STR_VOLUME_OFF: {"off", "spento", "apagado", "éteindre", "aus", "wyłączony", "关闭"}, - STR_VOLUME_ZERO: {"zero", "zero", "cero", "zéro", "null", "zero", "零"}, - STR_NAME_IS: {" is ", " è ", " es ", " est ", " ist ", " to ", "到"}, - STR_NAME_IS2: {"'s", "sono ", "soy ", "suis ", "bin ", " się ", "的"}, - STR_NAME_IS3: {"names", " chiamo ", " llamo ", "appelle ", "werde", "imię", "名字"}, - STR_FOR: {" for ", " per ", " para ", " pour ", " für ", " dla ", "给"}, + // key en-US it-IT es-ES fr-FR de-DE pl-PL tr-TR + STR_WEATHER_IN: {" in ", " a ", " en ", " en ", " in ", " w ", " 的 ", " içinde "}, + STR_WEATHER_FORECAST: {"forecast", "previsioni", "pronóstico", "prévisions", "wettervorhersage", "prognoza", "预报", "tahmin"}, + STR_WEATHER_TOMORROW: {"tomorrow", "domani", "mañana", "demain", "morgen", "jutro", "明天", "yarın"}, + STR_WEATHER_THE_DAY_AFTER_TOMORROW: {"day after tomorrow", "dopodomani", "el día después de mañana", "lendemain de demain", "am tag nach morgen", "pojutrze", "后天", "yarından sonra"}, + STR_WEATHER_TONIGHT: {"tonight", "stasera", "esta noche", "ce soir", "heute abend", "dziś wieczorem", "今晚", "bu gece"}, + STR_WEATHER_THIS_AFTERNOON: {"afternoon", "pomeriggio", "esta tarde", "après-midi", "heute nachmittag", "popołudniu", "下午", "bu öğleden sonra"}, + STR_EYE_COLOR_PURPLE: {"purple", "lilla", "violeta", "violet", "violett", "fioletowy", "紫色", "mor"}, + STR_EYE_COLOR_BLUE: {"blue", "blu", "azul", "bleu", "blau", "niebieski", "蓝色", "mavi"}, + STR_EYE_COLOR_SAPPHIRE: {"sapphire", "zaffiro", "zafiro", "saphir", "saphir", "szafir", "天蓝", "safir"}, + STR_EYE_COLOR_YELLOW: {"yellow", "giallo", "amarillo", "jaune", "gelb", "żółty", "黄色", "sarı"}, + STR_EYE_COLOR_TEAL: {"teal", "verde acqua", "verde azulado", "sarcelle", "blaugrün", "morski", "浅绿", "teal"}, + STR_EYE_COLOR_TEAL2: {"tell", "acquamarina", "aguamarina", "acquamarina", "acquamarina", "akwamaryn", "蓝绿", "turkuaz"}, + STR_EYE_COLOR_GREEN: {"green", "verde", "verde", "vert", "grün", "zielony", "绿色", "yeşil"}, + STR_EYE_COLOR_ORANGE: {"orange", "arancio", "naranja", "orange", "orange", "pomarańczowy", "橙色", "turuncu"}, + STR_ME: {"me", "me", "me", "moi", "mir", "mnie", "我", "ben"}, + STR_SELF: {"self", "mi", "mía", "moi", "mein", "ja", "自己", "kendim"}, + STR_VOLUME_LOW: {"low", "basso", "bajo", "bas", "niedrig", "niski", "低", "düşük"}, + STR_VOLUME_QUIET: {"quiet", "poco rumoroso", "tranquilo", "silencieux", "ruhig", "cichy", "安静", "sessiz"}, + STR_VOLUME_MEDIUM_LOW: {"medium low", "medio basso", "medio-bajo", "moyen-doux", "mittelschwer", "średnio niski", "中低", "orta düşük"}, + STR_VOLUME_MEDIUM: {"medium", "medio", "medio", "moyen", "mittel", "średni", "中档", "orta"}, + STR_VOLUME_NORMAL: {"normal", "normale", "normal", "normal", "normal", "normalny", "正常", "normal"}, + STR_VOLUME_REGULAR: {"regular", "regolare", "regular", "régulier", "regulär", "zwyczajny", "标准", "düzenli"}, + STR_VOLUME_MEDIUM_HIGH: {"medium high", "medio alto", "medio-alto", "moyen-élevé", "mittelhoch", "średno wysoki", "中高", "orta yüksek"}, + STR_VOLUME_HIGH: {"high", "alto", "alto", "élevé", "hoch", "wysoki", "高档", "yüksek"}, + STR_VOLUME_LOUD: {"loud", "rumoroso", "fuerte", "fort", "laut", "głośny", "高", "gürültülü"}, + STR_VOLUME_MUTE: {"mute", "muto", "mudo", "", "stumm", "wyciszony", "静音", "sessiz"}, + STR_VOLUME_NOTHING: {"nothing", "nessuno", "nada", "rien", "nichts", "nic", "无声", "hiçbir şey"}, + STR_VOLUME_SILENT: {"silent", "silenzioso", "silencio", "silencieux", "still", "cichy", "悄声", "sessiz"}, + STR_VOLUME_OFF: {"off", "spento", "apagado", "éteindre", "aus", "wyłączony", "关闭", "kapalı"}, + STR_VOLUME_ZERO: {"zero", "zero", "cero", "zéro", "null", "zero", "零", "sıfır"}, + STR_NAME_IS: {" is ", " è ", " es ", " est ", " ist ", " to ", "到", " olan "}, + STR_NAME_IS2: {"'s", "sono ", "soy ", "suis ", "bin ", " się ", "的", "'nin"}, + STR_NAME_IS3: {"names", " chiamo ", " llamo ", "appelle ", "werde", "imię", "名字", "adlar"}, + STR_FOR: {" for ", " per ", " para ", " pour ", " für ", " dla ", "给", " için "}, } func GetText(key string) string { @@ -132,6 +132,8 @@ func GetText(key string) string { return data[5] } else if vars.APIConfig.STT.Language == "zh-CN" { return data[6] + } else if vars.APIConfig.STT.Language == "tr-TR" { + return data[7] } } return data[0] diff --git a/chipper/webroot/index.html b/chipper/webroot/index.html index 67dab63d..340e663b 100755 --- a/chipper/webroot/index.html +++ b/chipper/webroot/index.html @@ -118,7 +118,8 @@

STT Language

- + +
@@ -127,7 +128,7 @@

STT Language


- + diff --git a/chipper/webroot/initial.html b/chipper/webroot/initial.html index 17a39154..eecfa3e4 100644 --- a/chipper/webroot/initial.html +++ b/chipper/webroot/initial.html @@ -42,7 +42,8 @@

STT Language

- + +
diff --git a/chipper/webroot/setup.html b/chipper/webroot/setup.html index b2fda441..e1ae4017 100644 --- a/chipper/webroot/setup.html +++ b/chipper/webroot/setup.html @@ -115,7 +115,8 @@

Speech-To-Text Language

- + +
@@ -155,7 +156,8 @@

STT Language

- + +