diff --git a/chipper/intent-data/uk-UA.json b/chipper/intent-data/uk-UA.json new file mode 100644 index 00000000..5709ee64 --- /dev/null +++ b/chipper/intent-data/uk-UA.json @@ -0,0 +1,214 @@ +[ + { + "name": "intent_names_username_extend", + "keyphrases": ["імена", "назви імена"] + }, + { + "name": "intent_weather_extend", + "keyphrases": ["погода", "погода на завтра", "яка погода"] + }, + { + "name": "intent_names_ask", + "keyphrases": ["як мене звати", "моє ім'я", "хто я"] + }, + { + "name": "intent_imperative_eyecolor", + "keyphrases": ["око", "очі", "зміни колір очей", "поміняй колір очей"] + }, + { + "name": "intent_character_age", + "keyphrases": ["скільки тобі років"] + }, + { + "name": "intent_explore_start", + "keyphrases": ["почни досліджувати", "дивись навколо"] + }, + { + "name": "intent_system_charger", + "keyphrases": ["зарядка", "дім", "база", "знайди зарядку", "знайди базу", "іди на зарядку", "іди на базу", "додому", "іди додому"] + }, + { + "name": "intent_system_sleep", + "keyphrases": ["спати", "іди спати"] + }, + { + "name": "intent_greeting_goodmorning", + "keyphrases": ["добрий ранок", "ранок", "доброго ранку", "раночку"] + }, + { + "name": "intent_greeting_goodnight", + "keyphrases": ["спокійної ночі", "час спати", "добраніч", "на добраніч"] + }, + { + "name": "intent_greeting_goodbye", + "keyphrases": ["бувай", "прощавай", "я пішов", "я пішла", "папа"] + }, + { + "name": "intent_seasonal_happynewyear", + "keyphrases": ["феєрверк", "новий рік", "салют", "з новим роком"] + }, + { + "name": "intent_seasonal_happyholidays", + "keyphrases": ["свято", "зі святом", "сьогодні свято"] + }, + { + "name": "intent_amazon_signin", + "keyphrases": ["алекса"] + }, + { + "name": "intent_imperative_forward", + "keyphrases": ["вперед", "їдь вперед"] + }, + { + "name": "intent_imperative_turnaround", + "keyphrases": ["повернись", "обернись", "оглянься", "розвернись", "покрутись"] + }, + { + "name": "intent_imperative_turnleft", + "keyphrases": ["ліворуч", "ліво", "вліво"] + }, + { + "name": "intent_imperative_turnright", + "keyphrases": ["праворуч", "право", "вправо"] + }, + { + "name": "intent_play_rollcube", + "keyphrases": ["коти куб", "коти кубик", "поверни куб", "поверни кубик"] + }, + { + "name": "intent_play_popawheelie", + "keyphrases": ["стань на куб", "стань на кубик", "трюк", "покажи трюк"] + }, + { + "name": "intent_play_fistbump", + "keyphrases": ["дай п'ять", "п'ятюня", "дай кулачок", "давай п'ять", "давай п'ятюню"] + }, + { + "name": "intent_play_blackjack", + "keyphrases": ["карти", "грати", "граємо в карти", "давай грати", "давай зіграємо"] + }, + { + "name": "intent_imperative_affirmative", + "keyphrases": ["так", "давай", "звичайно"] + }, + { + "name": "intent_imperative_negative", + "keyphrases": ["ні"] + }, + { + "name": "intent_photo_take_extend", + "keyphrases": ["фото", "селфі", "зроби фото", "сфотографуй"] + }, + { + "name": "intent_imperative_praise", + "keyphrases": ["красень", "молодець", "гарний робот", "розумний робот"] + }, + { + "name": "intent_imperative_abuse", + "keyphrases": ["це погано", "поганий робот"] + }, + { + "name": "intent_imperative_apologize", + "keyphrases": ["вибач", "прошу пробачення", "мені шкода"] + }, + { + "name": "intent_imperative_backup", + "keyphrases": ["назад", "рухайся назад", "їдь назад"] + }, + { + "name": "intent_imperative_volumedown", + "keyphrases": ["зменш звук", "зменш гучність", "тише гучність", "тихіше"] + }, + { + "name": "intent_imperative_volumeup", + "keyphrases": ["додай звук", "додай гучність", "гучніше"] + }, + { + "name": "intent_imperative_lookatme", + "keyphrases": ["дивись на мене", "подивись на мене", "глянь на мене"] + }, + { + "name": "intent_imperative_volumelevel_extend", + "keyphrases": ["гучність", "рівень гучності"] + }, + { + "name": "intent_imperative_shutup", + "keyphrases": ["заткнися", "замовкни"] + }, + { + "name": "intent_greeting_hello", + "keyphrases": ["привіт", "радий тебе бачити"] + }, + { + "name": "intent_imperative_come", + "keyphrases": ["до мене", "іди до мене", "іди сюди", "їдь до мене", "їдь сюди"] + }, + { + "name": "intent_imperative_love", + "keyphrases": ["люблю тебе", "я тебе люблю", "ти такий милий", "ти смішний"] + }, + { + "name": "intent_knowledge_promptquestion", + "keyphrases": ["питання", "у мене є питання", "запитання"] + }, + { + "name": "intent_clock_checktimer", + "keyphrases": ["перевір таймер"] + }, + { + "name": "intent_global_stop_extend", + "keyphrases": ["зупини таймер", "скасуй таймер", "вимкни таймер"] + }, + { + "name": "intent_clock_settimer_extend", + "keyphrases": ["таймер", "постав таймер", "встанови таймер"] + }, + { + "name": "intent_clock_time", + "keyphrases": ["час", "котра година", "скільки часу", "котра зараз година", "яка година", "яка зараз година"] + }, + { + "name": "intent_imperative_quiet", + "keyphrases": ["тихо", "припини", "будь тихіше", "будь тихо"] + }, + { + "name": "intent_imperative_dance", + "keyphrases": ["танець", "танцюй", "давай танцювати"] + }, + { + "name": "intent_play_pickupcube", + "keyphrases": ["візьми кубик", "підбери кубик", "підніми кубик"] + }, + { + "name": "intent_imperative_fetchcube", + "keyphrases": ["дай кубик", "принеси мені", "неси мені", "принеси свій кубик"] + }, + { + "name": "intent_imperative_findcube", + "keyphrases": ["знайди кубик", "знайди свій кубик", "шукай кубик", "де твій кубик"] + }, + { + "name": "intent_play_anytrick", + "keyphrases": ["трюк", "зроби трюк"] + }, + { + "name": "intent_message_recordmessage_extend", + "keyphrases": ["запиши"] + }, + { + "name": "intent_message_playmessage_extend", + "keyphrases": ["відтвори повідомлення", "повтори за мною"] + }, + { + "name": "intent_blackjack_hit", + "keyphrases": ["ще", "ще карту"] + }, + { + "name": "intent_blackjack_stand", + "keyphrases": ["досить"] + }, + { + "name": "intent_play_keepaway", + "keyphrases": ["відстань", "відвали", "йди геть", "іди звідси", "котись звідси"] + } +] \ No newline at end of file diff --git a/chipper/pkg/wirepod/localization/download.go b/chipper/pkg/wirepod/localization/download.go index 7199eb2b..15218a09 100644 --- a/chipper/pkg/wirepod/localization/download.go +++ b/chipper/pkg/wirepod/localization/download.go @@ -55,6 +55,8 @@ func DownloadVoskModel(language string) { filename = filename + "ru-0.22.zip" } else if language == "nt-NL" { filename = filename + "nl-0.22.zip" + } else if language == "uk-UA" { + filename = filename + "uk-v3-small.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 006f4602..12543407 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", "tr-TR", "ru-RU", "nt-NL"} +var ValidVoskModels []string = []string{"en-US", "it-IT", "es-ES", "fr-FR", "de-DE", "pt-BR", "pl-PL", "zh-CN", "tr-TR", "ru-RU", "nt-NL", "uk-UA"} 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 tr-TR ru-RU nt-NL - STR_WEATHER_IN: {" in ", " a ", " en ", " en ", " in ", " w ", " 的 ", " içinde ", "в", " in "}, - STR_WEATHER_FORECAST: {"forecast", "previsioni", "pronóstico", "prévisions", "wettervorhersage", "prognoza", "预报", "tahmin", "прогноз","voorspelling"}, - STR_WEATHER_TOMORROW: {"tomorrow", "domani", "mañana", "demain", "morgen", "jutro", "明天", "yarın", "завтра","morgen"}, - 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", "послезавтра","overmorgen"}, - STR_WEATHER_TONIGHT: {"tonight", "stasera", "esta noche", "ce soir", "heute abend", "dziś wieczorem", "今晚", "bu gece", "сегодня вечером","vanavond"}, - STR_WEATHER_THIS_AFTERNOON: {"afternoon", "pomeriggio", "esta tarde", "après-midi", "heute nachmittag", "popołudniu", "下午", "bu öğleden sonra", "после полудня","middag"}, - STR_EYE_COLOR_PURPLE: {"purple", "lilla", "violeta", "violet", "violett", "fioletowy", "紫色", "mor", "фиолетовый","paars"}, - STR_EYE_COLOR_BLUE: {"blue", "blu", "azul", "bleu", "blau", "niebieski", "蓝色", "mavi", "голубой","blauw"}, - STR_EYE_COLOR_SAPPHIRE: {"sapphire", "zaffiro", "zafiro", "saphir", "saphir", "szafir", "天蓝", "safir", "синий","saffier"}, - STR_EYE_COLOR_YELLOW: {"yellow", "giallo", "amarillo", "jaune", "gelb", "żółty", "黄色", "sarı", "жёлтый","geel"}, - STR_EYE_COLOR_TEAL: {"teal", "verde acqua", "verde azulado", "sarcelle", "blaugrün", "morski", "浅绿", "teal", "бирюзовый","wintertaling"}, - STR_EYE_COLOR_TEAL2: {"tell", "acquamarina", "aguamarina", "acquamarina", "acquamarina", "akwamaryn", "蓝绿", "turkuaz", "аквамарин","vertellen"}, - STR_EYE_COLOR_GREEN: {"green", "verde", "verde", "vert", "grün", "zielony", "绿色", "yeşil", "зелёный","groente"}, - STR_EYE_COLOR_ORANGE: {"orange", "arancio", "naranja", "orange", "orange", "pomarańczowy", "橙色", "turuncu", "оранжевый","oranje"}, - STR_ME: {"me", "me", "me", "moi", "mir", "mnie", "我", "ben", "меня","mij"}, - STR_SELF: {"self", "mi", "mía", "moi", "mein", "ja", "自己", "kendim", "себя","zelf"}, - STR_VOLUME_LOW: {"low", "basso", "bajo", "bas", "niedrig", "niski", "低", "düşük", "низкий","laag"}, - STR_VOLUME_QUIET: {"quiet", "poco rumoroso", "tranquilo", "silencieux", "ruhig", "cichy", "安静", "sessiz", "тихо","rustig"}, - STR_VOLUME_MEDIUM_LOW: {"medium low", "medio basso", "medio-bajo", "moyen-doux", "mittelschwer", "średnio niski", "中低", "orta düşük", "ниже среднего","middel laag"}, - STR_VOLUME_MEDIUM: {"medium", "medio", "medio", "moyen", "mittel", "średni", "中档", "orta", "средний","medium"}, - STR_VOLUME_NORMAL: {"normal", "normale", "normal", "normal", "normal", "normalny", "正常", "normal", "нормальный","normaal"}, - STR_VOLUME_REGULAR: {"regular", "regolare", "regular", "régulier", "regulär", "zwyczajny", "标准", "düzenli", "обычный","normaal"}, - STR_VOLUME_MEDIUM_HIGH: {"medium high", "medio alto", "medio-alto", "moyen-élevé", "mittelhoch", "średno wysoki", "中高", "orta yüksek", "выше среднего","gemiddeld hoog"}, - STR_VOLUME_HIGH: {"high", "alto", "alto", "élevé", "hoch", "wysoki", "高档", "yüksek", "высокий","hoog"}, - STR_VOLUME_LOUD: {"loud", "rumoroso", "fuerte", "fort", "laut", "głośny", "高", "gürültülü", "громкий","luidruchtig"}, - STR_VOLUME_MUTE: {"mute", "muto", "mudo", "", "stumm", "wyciszony", "静音", "sessiz", "немой","stom"}, - STR_VOLUME_NOTHING: {"nothing", "nessuno", "nada", "rien", "nichts", "nic", "无声", "hiçbir şey","Niets"}, - STR_VOLUME_SILENT: {"silent", "silenzioso", "silencio", "silencieux", "still", "cichy", "悄声", "sessiz", "тихий","stil"}, - STR_VOLUME_OFF: {"off", "spento", "apagado", "éteindre", "aus", "wyłączony", "关闭", "kapalı", "выключить","uit"}, - STR_VOLUME_ZERO: {"zero", "zero", "cero", "zéro", "null", "zero", "零", "sıfır", "ноль","nul"}, - STR_NAME_IS: {" is ", " è ", " es ", " est ", " ist ", " to ", "到", " olan ", ""," is "}, - STR_NAME_IS2: {"'s", "sono ", "soy ", "suis ", "bin ", " się ", "的", "'nin", "",""}, - STR_NAME_IS3: {"names", " chiamo ", " llamo ", "appelle ", "werde", "imię", "名字", "adlar", "имена","namen"}, - STR_FOR: {" for ", " per ", " para ", " pour ", " für ", " dla ", "给", " için ", "для"," voor "}, + // key en-US it-IT es-ES fr-FR de-DE pl-PL tr-TR ru-RU nt-NL uk-UA + STR_WEATHER_IN: {" in ", " a ", " en ", " en ", " in ", " w ", " 的 ", " içinde ", " в ", " in ", " в "}, + STR_WEATHER_FORECAST: {"forecast", "previsioni", "pronóstico", "prévisions", "wettervorhersage", "prognoza", "预报", "tahmin", "прогноз", "voorspelling", "прогноз"}, + STR_WEATHER_TOMORROW: {"tomorrow", "domani", "mañana", "demain", "morgen", "jutro", "明天", "yarın", "завтра", "morgen", "завтра"}, + 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", "послезавтра", "overmorgen", "післязавтра"}, + STR_WEATHER_TONIGHT: {"tonight", "stasera", "esta noche", "ce soir", "heute abend", "dziś wieczorem", "今晚", "bu gece", "сегодня вечером", "vanavond", "сьогодні ввечері"}, + STR_WEATHER_THIS_AFTERNOON: {"afternoon", "pomeriggio", "esta tarde", "après-midi", "heute nachmittag", "popołudniu", "下午", "bu öğleden sonra", "после полудня", "middag", "після полудня"}, + STR_EYE_COLOR_PURPLE: {"purple", "lilla", "violeta", "violet", "violett", "fioletowy", "紫色", "mor", "фиолетовый", "paars", "фіолетовий"}, + STR_EYE_COLOR_BLUE: {"blue", "blu", "azul", "bleu", "blau", "niebieski", "蓝色", "mavi", "голубой", "blauw", "голубий"}, + STR_EYE_COLOR_SAPPHIRE: {"sapphire", "zaffiro", "zafiro", "saphir", "saphir", "szafir", "天蓝", "safir", "синий", "saffier", "синій"}, + STR_EYE_COLOR_YELLOW: {"yellow", "giallo", "amarillo", "jaune", "gelb", "żółty", "黄色", "sarı", "жёлтый", "geel", "жовтий"}, + STR_EYE_COLOR_TEAL: {"teal", "verde acqua", "verde azulado", "sarcelle", "blaugrün", "morski", "浅绿", "teal", "бирюзовый", "wintertaling", "бірюзовий"}, + STR_EYE_COLOR_TEAL2: {"tell", "acquamarina", "aguamarina", "acquamarina", "acquamarina", "akwamaryn", "蓝绿", "turkuaz", "аквамарин", "vertellen", "аквамариновий"}, + STR_EYE_COLOR_GREEN: {"green", "verde", "verde", "vert", "grün", "zielony", "绿色", "yeşil", "зелёный", "groente", "зелений"}, + STR_EYE_COLOR_ORANGE: {"orange", "arancio", "naranja", "orange", "orange", "pomarańczowy", "橙色", "turuncu", "оранжевый", "oranje", "оранжевий"}, + STR_ME: {"me", "me", "me", "moi", "mir", "mnie", "我", "ben", "меня", "mij", "мене"}, + STR_SELF: {"self", "mi", "mía", "moi", "mein", "ja", "自己", "kendim", "себя", "zelf", "себе"}, + STR_VOLUME_LOW: {"low", "basso", "bajo", "bas", "niedrig", "niski", "低", "düşük", "низкий", "laag", "на мінімум"}, + STR_VOLUME_QUIET: {"quiet", "poco rumoroso", "tranquilo", "silencieux", "ruhig", "cichy", "安静", "sessiz", "тихо", "rustig", "тихо"}, + STR_VOLUME_MEDIUM_LOW: {"medium low", "medio basso", "medio-bajo", "moyen-doux", "mittelschwer", "średnio niski", "中低", "orta düşük", "ниже среднего", "middel laag", "нижче середнього"}, + STR_VOLUME_MEDIUM: {"medium", "medio", "medio", "moyen", "mittel", "średni", "中档", "orta", "средний", "medium", "середню"}, + STR_VOLUME_NORMAL: {"normal", "normale", "normal", "normal", "normal", "normalny", "正常", "normal", "нормальный", "normaal", "нормальна"}, + STR_VOLUME_REGULAR: {"regular", "regolare", "regular", "régulier", "regulär", "zwyczajny", "标准", "düzenli", "обычный", "normaal", "звичайна"}, + STR_VOLUME_MEDIUM_HIGH: {"medium high", "medio alto", "medio-alto", "moyen-élevé", "mittelhoch", "średno wysoki", "中高", "orta yüksek", "выше среднего", "gemiddeld hoog", "вище середнього"}, + STR_VOLUME_HIGH: {"high", "alto", "alto", "élevé", "hoch", "wysoki", "高档", "yüksek", "высокий", "hoog", "висока"}, + STR_VOLUME_LOUD: {"loud", "rumoroso", "fuerte", "fort", "laut", "głośny", "高", "gürültülü", "громкий", "luidruchtig", "гучний"}, + STR_VOLUME_MUTE: {"mute", "muto", "mudo", "", "stumm", "wyciszony", "静音", "sessiz", "немой", "stom", "німий"}, + STR_VOLUME_NOTHING: {"nothing", "nessuno", "nada", "rien", "nichts", "nic", "无声", "hiçbir şey", "", "Niets", "нічого"}, + STR_VOLUME_SILENT: {"silent", "silenzioso", "silencio", "silencieux", "still", "cichy", "悄声", "sessiz", "тихий", "stil", "тихий"}, + STR_VOLUME_OFF: {"off", "spento", "apagado", "éteindre", "aus", "wyłączony", "关闭", "kapalı", "выключить", "uit", "вимкнути"}, + STR_VOLUME_ZERO: {"zero", "zero", "cero", "zéro", "null", "zero", "零", "sıfır", "ноль", "nul", "нуль"}, + STR_NAME_IS: {" is ", " è ", " es ", " est ", " ist ", " to ", "到", " olan ", "", " is ", ""}, + STR_NAME_IS2: {"'s", "sono ", "soy ", "suis ", "bin ", " się ", "的", "'nin", "", "", ""}, + STR_NAME_IS3: {"names", " chiamo ", " llamo ", "appelle ", "werde", "imię", "名字", "adlar", "имена", "namen", "імена"}, + STR_FOR: {" for ", " per ", " para ", " pour ", " für ", " dla ", "给", " için ", "для", " voor ", " для "}, } func GetText(key string) string { @@ -138,6 +138,8 @@ func GetText(key string) string { return data[8] } else if vars.APIConfig.STT.Language == "nt-NL" { return data[9] + } else if vars.APIConfig.STT.Language == "uk-UA" { + return data[10] } } return data[0] diff --git a/chipper/webroot/initial.html b/chipper/webroot/initial.html index 8b8522bc..8640e225 100644 --- a/chipper/webroot/initial.html +++ b/chipper/webroot/initial.html @@ -60,6 +60,7 @@

Speech-to-Text Language

+
@@ -84,4 +85,4 @@

Speech-to-Text Language

checkLanguage(); - \ No newline at end of file + diff --git a/chipper/webroot/setup.html b/chipper/webroot/setup.html index dc20e954..444e3445 100644 --- a/chipper/webroot/setup.html +++ b/chipper/webroot/setup.html @@ -223,6 +223,7 @@

STT Language

+
@@ -245,4 +246,4 @@

STT Language

updateKGAPI(); - \ No newline at end of file +