diff --git a/chipper/intent-data/vi-VN.json b/chipper/intent-data/vi-VN.json new file mode 100755 index 00000000..622afc30 --- /dev/null +++ b/chipper/intent-data/vi-VN.json @@ -0,0 +1,218 @@ +[ + { + "name": "intent_names_username_extend", + "keyphrases": ["Tên"] + }, + { + "name": "intent_weather_extend", + "keyphrases": ["Thời tiết", "Dự báo thời tiết", "Thời tiết ngày mai", "Thời tiết hôm nay"] + }, + { + "name": "intent_names_ask", + "keyphrases": ["Tên của tôi", "Tôi là", "Tôi là ai"] + }, + { + "name": "intent_imperative_eyecolor", + "keyphrases": ["Màu mắt", "Màu sắc"] + }, + { + "name": "intent_character_age", + "keyphrases": ["Bao nhiêu tuổi", "Bạn bao nhiêu tuổi"] + }, + { + "name": "intent_explore_start", + "keyphrases": ["Đi dạo", "Tự do"] + }, + { + "name": "intent_system_charger", + "keyphrases": ["Về nhà", "Sạc điện","Võ Duy Linh"] + }, + { + "name": "intent_system_sleep", + "keyphrases": ["Ngủ", "Đi ngủ", "Ngủ đi"] + }, + { + "name": "intent_greeting_goodmorning", + "keyphrases": ["Chào buổi sáng", "Chào buổi trưa", "Chào buổi chiều", "Xin chào"] + }, + { + "name": "intent_greeting_goodnight", + "keyphrases": ["Chúc ngủ ngon"] + }, + { + "name": "intent_greeting_goodbye", + "keyphrases": ["Tạm biệt", "Gặp lại sau"] + }, + { + "name": "intent_seasonal_happynewyear", + "keyphrases": ["Chúc mừng năm mới", "Pháo hoa", "Ăn mừng", "Võ Duy Linh"] + }, + { + "name": "intent_seasonal_happyholidays", + "keyphrases": ["Vui vẻ", "Ngày lễ", "Kỳ nghỉ lễ"] + }, + { + "name": "intent_amazon_signin", + "keyphrases": ["đăng nhập trợ lý ảo", "đăng ký trợ lý ảo"] + }, + { + "name": "intent_amazon_signout", + "keyphrases": ["đăng xuất trợ lý ảo", "đăng xuất trợ lý ảo"] + }, + { + "name": "intent_imperative_forward", + "keyphrases": ["Tiến lên", "Đi tới"] + }, + { + "name": "intent_imperative_turnaround", + "keyphrases": ["Quay lại", "Quay đầu", "Quay người"] + }, + { + "name": "intent_imperative_turnleft", + "keyphrases": ["Rẽ trái", "Quay trái"] + }, + { + "name": "intent_imperative_turnright", + "keyphrases": ["Rẽ phải", "Quay phải"] + }, + { + "name": "intent_play_rollcube", + "keyphrases": ["Chơi khối vuông"] + }, + { + "name": "intent_play_popawheelie", + "keyphrases": ["Giơ tay"] + }, + { + "name": "intent_play_fistbump", + "keyphrases": ["Cụng tay", "Đập tay"] + }, + { + "name": "intent_play_blackjack", + "keyphrases": ["Chơi bài", "Đánh bài"] + }, + { + "name": "intent_imperative_affirmative", + "keyphrases": ["Đúng", "Tất nhiên", "Chính xác", "Phải"] + }, + { + "name": "intent_imperative_negative", + "keyphrases": ["Không", "Sai"] + }, + { + "name": "intent_photo_take_extend", + "keyphrases": ["Chụp ảnh"] + }, + { + "name": "intent_imperative_praise", + "keyphrases": ["Tuyệt vời", "Thông minh"] + }, + { + "name": "intent_imperative_abuse", + "keyphrases": ["Ngốc", "Ngu ngốc"] + }, + { + "name": "intent_imperative_apologize", + "keyphrases": ["Xin lỗi", "Lỗi của tôi"] + }, + { + "name": "intent_imperative_backup", + "keyphrases": ["Lại đây", "Quay lại", "võ duy linh"] + }, + { + "name": "intent_imperative_volumedown", + "keyphrases": ["Giảm âm lượng", "Nhỏ tiếng"] + }, + { + "name": "intent_imperative_volumeup", + "keyphrases": ["Tăng âm lượng", "To tiếng"] + }, + { + "name": "intent_imperative_lookatme", + "keyphrases": ["Nhìn tôi", "Nhìn vào tôi"] + }, + { + "name": "intent_imperative_volumelevel_extend", + "keyphrases": ["Âm lượng"] + }, + { + "name": "intent_imperative_shutup", + "keyphrases": ["Im miệng"] + }, + { + "name": "intent_greeting_hello", + "keyphrases": ["Xin chào", "Chào bạn"] + }, + { + "name": "intent_imperative_come", + "keyphrases": ["Lại đây"] + }, + { + "name": "intent_imperative_love", + "keyphrases": ["Yêu thích", "Yêu"] + }, + { + "name": "intent_knowledge_promptquestion", + "keyphrases": ["Câu hỏi", "Trả lời"] + }, + { + "name": "intent_clock_checktimer", + "keyphrases": ["Kiểm tra báo thức", "Xem báo thức"] + }, + { + "name": "intent_global_stop_extend", + "keyphrases": ["Hủy báo thức", "Tắt báo thức"] + }, + { + "name": "intent_clock_settimer_extend", + "keyphrases": ["Đặt báo thức", "Cài báo thức"] + }, + { + "name": "intent_clock_time", + "keyphrases": ["Thời gian", "Mấy giờ rồi"] + }, + { + "name": "intent_imperative_quiet", + "keyphrases": ["Yên lặng", "Nghỉ ngơi"] + }, + { + "name": "intent_imperative_dance", + "keyphrases": ["Nhảy múa", "Nhảy đi"] + }, + { + "name": "intent_play_pickupcube", + "keyphrases": ["Nhặt khối vuông", "Đưa khối vuông cho tôi"] + }, + { + "name": "intent_imperative_fetchcube", + "keyphrases": ["Lấy khối vuông"] + }, + { + "name": "intent_imperative_findcube", + "keyphrases": ["Tìm khối vuông"] + }, + { + "name": "intent_play_anytrick", + "keyphrases": ["Kỹ năng"] + }, + { + "name": "intent_message_recordmessage_extend", + "keyphrases": ["Ghi lại"] + }, + { + "name": "intent_message_playmessage_extend", + "keyphrases": ["Phát tin nhắn"] + }, + { + "name": "intent_blackjack_hit", + "keyphrases": ["Đánh"] + }, + { + "name": "intent_blackjack_stand", + "keyphrases": ["Đứng"] + }, + { + "name": "intent_play_keepaway", + "keyphrases": ["Đi chỗ khác", "Xa ra"] + } +] diff --git a/chipper/pkg/wirepod/localization/download.go b/chipper/pkg/wirepod/localization/download.go index 15218a09..afcc3ba9 100644 --- a/chipper/pkg/wirepod/localization/download.go +++ b/chipper/pkg/wirepod/localization/download.go @@ -57,6 +57,8 @@ func DownloadVoskModel(language string) { filename = filename + "nl-0.22.zip" } else if language == "uk-UA" { filename = filename + "uk-v3-small.zip" + } else if language == "vi-VN" { + filename = filename + "vn-0.4.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 12543407..da504bba 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", "uk-UA"} +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", "vi-VN"} 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 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 ", " для "}, + // key en-US it-IT es-ES fr-FR de-DE pl-PL tr-TR ru-RU nt-NL uk-UA vi-VN + 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", "прогноз", "dự báo"}, + STR_WEATHER_TOMORROW: {"tomorrow", "domani", "mañana", "demain", "morgen", "jutro", "明天", "yarın", "завтра", "morgen", "завтра", "ngày mai"}, + 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", "післязавтра", "ngày mốt"}, + STR_WEATHER_TONIGHT: {"tonight", "stasera", "esta noche", "ce soir", "heute abend", "dziś wieczorem", "今晚", "bu gece", "сегодня вечером", "vanavond", "сьогодні ввечері", "tối nay"}, + STR_WEATHER_THIS_AFTERNOON: {"afternoon", "pomeriggio", "esta tarde", "après-midi", "heute nachmittag", "popołudniu", "下午", "bu öğleden sonra", "после полудня", "middag", "після полудня", "chiều nay"}, + STR_EYE_COLOR_PURPLE: {"purple", "lilla", "violeta", "violet", "violett", "fioletowy", "紫色", "mor", "фиолетовый", "paars", "фіолетовий", "màu tím"}, + STR_EYE_COLOR_BLUE: {"blue", "blu", "azul", "bleu", "blau", "niebieski", "蓝色", "mavi", "голубой", "blauw", "голубий", "màu xanh"}, + STR_EYE_COLOR_SAPPHIRE: {"sapphire", "zaffiro", "zafiro", "saphir", "saphir", "szafir", "天蓝", "safir", "синий", "saffier", "синій", "màu ngọc bích"}, + STR_EYE_COLOR_YELLOW: {"yellow", "giallo", "amarillo", "jaune", "gelb", "żółty", "黄色", "sarı", "жёлтый", "geel", "жовтий", "màu vàng"}, + STR_EYE_COLOR_TEAL: {"teal", "verde acqua", "verde azulado", "sarcelle", "blaugrün", "morski", "浅绿", "teal", "бирюзовый", "wintertaling", "бірюзовий", "xanh lá cây"}, + STR_EYE_COLOR_TEAL2: {"tell", "acquamarina", "aguamarina", "acquamarina", "acquamarina", "akwamaryn", "蓝绿", "turkuaz", "аквамарин", "vertellen", "аквамариновий", "màu xanh ngọc"}, + STR_EYE_COLOR_GREEN: {"green", "verde", "verde", "vert", "grün", "zielony", "绿色", "yeşil", "зелёный", "groente", "зелений", "màu xanh lá"}, + STR_EYE_COLOR_ORANGE: {"orange", "arancio", "naranja", "orange", "orange", "pomarańczowy", "橙色", "turuncu", "оранжевый", "oranje", "оранжевий", "màu cam"}, + STR_ME: {"me", "me", "me", "moi", "mir", "mnie", "我", "ben", "меня", "mij", "мене", "tôi"}, + STR_SELF: {"self", "mi", "mía", "moi", "mein", "ja", "自己", "kendim", "себя", "zelf", "себе", "bản thân"}, + STR_VOLUME_LOW: {"low", "basso", "bajo", "bas", "niedrig", "niski", "低", "düşük", "низкий", "laag", "на мінімум", "thấp"}, + STR_VOLUME_QUIET: {"quiet", "poco rumoroso", "tranquilo", "silencieux", "ruhig", "cichy", "安静", "sessiz", "тихо", "rustig", "тихо", "yên tĩnh"}, + STR_VOLUME_MEDIUM_LOW: {"medium low", "medio basso", "medio-bajo", "moyen-doux", "mittelschwer", "średnio niski", "中低", "orta düşük", "ниже среднего", "middel laag", "нижче середнього", "vừa thấp"}, + STR_VOLUME_MEDIUM: {"medium", "medio", "medio", "moyen", "mittel", "średni", "中档", "orta", "средний", "medium", "середню", "vừa"}, + STR_VOLUME_NORMAL: {"normal", "normale", "normal", "normal", "normal", "normalny", "正常", "normal", "нормальный", "normaal", "нормальна", "bình thường"}, + STR_VOLUME_REGULAR: {"regular", "regolare", "regular", "régulier", "regulär", "zwyczajny", "标准", "düzenli", "обычный", "normaal", "звичайна", "thông thường"}, + STR_VOLUME_MEDIUM_HIGH: {"medium high", "medio alto", "medio-alto", "moyen-élevé", "mittelhoch", "średno wysoki", "中高", "orta yüksek", "выше среднего", "gemiddeld hoog", "вище середнього", "vừa cao"}, + STR_VOLUME_HIGH: {"high", "alto", "alto", "élevé", "hoch", "wysoki", "高档", "yüksek", "высокий", "hoog", "висока", "cao"}, + STR_VOLUME_LOUD: {"loud", "rumoroso", "fuerte", "fort", "laut", "głośny", "高", "gürültülü", "громкий", "luidruchtig", "гучний", "to"}, + STR_VOLUME_MUTE: {"mute", "muto", "mudo", "", "stumm", "wyciszony", "静音", "sessiz", "немой", "stom", "німий", "im lặng"}, + STR_VOLUME_NOTHING: {"nothing", "nessuno", "nada", "rien", "nichts", "nic", "无声", "hiçbir şey", "", "Niets", "нічого", "không có gì"}, + STR_VOLUME_SILENT: {"silent", "silenzioso", "silencio", "silencieux", "still", "cichy", "悄声", "sessiz", "тихий", "stil", "тихий", "yên lặng"}, + STR_VOLUME_OFF: {"off", "spento", "apagado", "éteindre", "aus", "wyłączony", "关闭", "kapalı", "выключить", "uit", "вимкнути", "tắt"}, + STR_VOLUME_ZERO: {"zero", "zero", "cero", "zéro", "null", "zero", "零", "sıfır", "ноль", "nul", "нуль", "không"}, + STR_NAME_IS: {" is ", " è ", " es ", " est ", " ist ", " to ", "到", " olan ", "", " is ", "", " là "}, + STR_NAME_IS2: {"'s", "sono ", "soy ", "suis ", "bin ", " się ", "的", "'nin", "", "", "", "của"}, + STR_NAME_IS3: {"names", " chiamo ", " llamo ", "appelle ", "werde", "imię", "名字", "adlar", "имена", "namen", "імена", "tên"}, + STR_FOR: {" for ", " per ", " para ", " pour ", " für ", " dla ", "给", " için ", "для", " voor ", " для ", " cho "}, } func GetText(key string) string { @@ -140,6 +140,8 @@ func GetText(key string) string { return data[9] } else if vars.APIConfig.STT.Language == "uk-UA" { return data[10] + } else if vars.APIConfig.STT.Language == "vi-VN" { + return data[11] } } return data[0] diff --git a/chipper/webroot/initial.html b/chipper/webroot/initial.html index 8640e225..cafb482b 100644 --- a/chipper/webroot/initial.html +++ b/chipper/webroot/initial.html @@ -61,6 +61,7 @@