diff --git a/dict/dict.go b/dict/dict.go new file mode 100644 index 0000000..75a5c43 --- /dev/null +++ b/dict/dict.go @@ -0,0 +1,167 @@ +package dict + +func WeekdayRussian(weekday string) string { + // Карта для перевода дней недели + weekdayRussian := map[string]string{ + "Sunday": "воскресенье", + "Monday": "понедельник", + "Tuesday": "вторник", + "Wednesday": "среда", + "Thursday": "четверг", + "Friday": "пятница", + "Saturday": "суббота", + } + return weekdayRussian[weekday] +} + +func MonthRussian(month string) string { + monthRussian := map[string]string{ + "January": "января", + "February": "февраля", + "March": "марта", + "April": "Апреля", + "May": "мая", + "June": "июня", + "July": "июля", + "August": "августа", + "September": "сентября", + "October": "октября", + "November": "ноября", + "December": "декабря", + } + return monthRussian[month] +} + +func MinuteRussian(minute int) string { + minutes := []string{ + "ноль минут", + "одна минута", + "две минуты", + "три минуты", + "четыре минуты", + "пять минут", + "шесть минут", + "семь минут", + "восемь минут", + "девять минут", + "десять минут", + "одиннадцать минут", + "двенадцать минут", + "тринадцать минут", + "четырнадцать минут", + "пятнадцать минут", + "шестнадцать минут", + "семнадцать минут", + "восемнадцать минут", + "девятнадцать минут", + "двадцать минут", + "двадцать одна минута", + "двадцать две минуты", + "двадцать три минуты", + "двадцать четыре минуты", + "двадцать пять минут", + "двадцать шесть минут", + "двадцать семь минут", + "двадцать восемь минут", + "двадцать девять минут", + "тридцать минут", + "тридцать одна минута", + "тридцать две минуты", + "тридцать три минуты", + "тридцать четыре минуты", + "тридцать пять минут", + "тридцать шесть минут", + "тридцать семь минут", + "тридцать восемь минут", + "тридцать девять минут", + "сорок минут", + "сорок одна минута", + "сорок две минуты", + "сорок три минуты", + "сорок четыре минуты", + "сорок пять минут", + "сорок шесть минут", + "сорок семь минут", + "сорок восемь минут", + "сорок девять минут", + "пятьдесят минут", + "пятьдесят одна минута", + "пятьдесят две минуты", + "пятьдесят три минуты", + "пятьдесят четыре минуты", + "пятьдесят пять минут", + "пятьдесят шесть минут", + "пятьдесят семь минут", + "пятьдесят восемь минут", + "пятьдесят девять минут", + } + return minutes[minute] +} + +func HourRussian(hour int) string { + hours := []string{ + "ноль часов", + "один час", + "два часа", + "три часа", + "четыре часа", + "пять часов", + "шесть часов", + "семь часов", + "восемь часов", + "девять часов", + "десять часов", + "одиннадцать часов", + "двенадцать часов", + "тринадцать часов", + "четы*рнадцать часов", + "пятнадцать часов", + "шестнадцать часов", + "семнадцать часов", + "восемнадцать часов", + "девятнадцать часов", + "двадцать часов", + "двадцать один час", + "двадцать два часа", + "двадцать три часа", + } + return hours[hour] +} + +func DayRussian(day int) string { + days := []string{ + "ноль", + "первое", + "второе", + "третье", + "четвертое", + "пятое", + "шестое", + "седьмое", + "восьмое", + "девятое", + "десятое", + "одиннадцатое", + "двенадцатое", + "тринадцатое", + "четырнадцатое", + "пятнадцатое", + "шестнадцатое", + "семнадцатое", + "восемнадцатое", + "девятнадцатое", + "двадцатое", + "двадцать первое", + "двадцать второе", + "двадцать третье", + "двадцать четвертое", + "двадцать пятое", + "двадцать шестое", + "двадцать седьмое", + "двадцать восьмое", + "двадцать девятое", + "тридцатое", + "тридцать первое", + } + return days[day] +} diff --git a/main.go b/main.go index f54dbd1..1deceba 100644 --- a/main.go +++ b/main.go @@ -2,41 +2,27 @@ package main import ( "fmt" + "goclock/dict" + "log" + "os/exec" "time" ) func main() { - // Карта для перевода дней недели - weekdayRussian := map[time.Weekday]string{ - time.Sunday: "Воскресенье", - time.Monday: "Понедельник", - time.Tuesday: "Вторник", - time.Wednesday: "Среда", - time.Thursday: "Четверг", - time.Friday: "Пятница", - time.Saturday: "Суббота", - } - - monthRussian := map[time.Month]string{ - time.January: "Январь", - time.February: "Февраль", - time.March: "Март", - time.April: "Апрель", - time.May: "Май", - time.June: "Июнь", - time.July: "Июль", - time.August: "Август", - time.September: "Сентябрь", - time.October: "Октябрь", - time.November: "Ноябрь", - time.December: "Декабрь", - } - now := time.Now() - weekday := now.Weekday() - month := now.Month() + day := now.Day() + month := now.Month().String() + weekday := now.Weekday().String() + hour := now.Hour() + minute := now.Minute() - fmt.Println(weekdayRussian[weekday]) - fmt.Println(monthRussian[month]) + timeStr := dict.WeekdayRussian(weekday) + " " + dict.DayRussian(day) + " " + dict.MonthRussian(month) + " " + dict.HourRussian(hour) + " " + dict.MinuteRussian(minute) + + command := exec.Command("sh", "-c", fmt.Sprintf("echo '%s' | RHVoice-test -p Anna", timeStr)) + + err := command.Run() + if err != nil { + log.Fatal(err) + } }