Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RU] Improved responses #2957

Merged
merged 3 commits into from
Feb 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 15 additions & 26 deletions responses/ru/HassTurnOff.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,49 +8,38 @@ responses:
{% set male_ending = "" %}
{% set plural_ending = "ы" %}
{% if slots.name[-1].lower() in "ь" %}
{% if (slots.name.lower() in "выключатель, пользователь, день, дождь, двигатель, путь") or
(slots.name[-2].lower() in "рь") %}
{% if ((slots.name.lower().split() + ["выключатель","пользователь","день","дождь"])
| count != dict.fromkeys(slots.name.lower().split() + ["выключатель","пользователь","день","дождь"]) | count) or
(slots.name[-2].lower() in "рь" and slots.name.lower() != "дверь") %}
{% set ending = male_ending %}
{% else %}
{% set ending = female_ending %}
{% endif %}
{% elif slots.name[-1].lower() in "а, у, я" %}
{% elif slots.name[-1].lower() in "а, у, ю, я" %}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавить комментарий в духе:
"Change the ending of a feminine name in the accusative case so that the response returns the name in the nominative case. Eg:
Выключи лампу -> Лампа выключена"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Просто опять-таки, с наскока трудно понять о чем тут речь

{% set ending = female_ending %}
{% if slots.name[-1].lower() == "у" %}
{% set name_new = slots.name[:-1]~"a" %}
{% elif slots.name[-1].lower() == "ю" %}
{% set name_new = slots.name[:-1]~"я" %}
{% endif %}
{% elif slots.name[-1].lower() in "о, е" %}
{% set ending = neuter_ending %}
{% elif slots.name[-1].lower() in "ы, и"%}
{% set ending = plural_ending %}
{% else %}
{% set ending = male_ending %}
{% endif %}
{{ slots.name ~ " выключен" ~ ending }}
{{ (name_new.split()[-1].title() if slots.name[-1].lower() in "у, ю" else slots.name.split()[-1].title()) ~ " выключен" ~ ending }}
lights_area: "Свет в {{ slots.area }} выключен"
light_all: "Весь свет выключен"
fans_area: "Вентиляторы выключены в {{ slots.area }}"
cover: |
{% set female_ending = "а" %}
{% set neuter_ending = "о" %}
{% set male_ending = "" %}
{% set plural_ending = "ы" %}
{% if slots.name.lower() == "ворота" %}
{% set ender = plural_ending %}
{% elif slots.name[-1].lower() in "ь" %}
{% if (slots.name.lower() in "выключатель, пользователь, день, дождь, двигатель, путь") or
(slots.name[-2].lower() in "рь") %}
{% set ending = male_ending %}
{% else %}
{% set ending = female_ending %}
{% endif %}
{% elif slots.name[-1].lower() in "а, у, я" %}
{% set ending = female_ending %}
{% elif slots.name[-1].lower() in "о, е" %}
{% set ending = neuter_ending %}
{% elif slots.name[-1].lower() in "ы, и"%}
{% set ending = plural_ending %}
{% else %}
{% set ending = male_ending %}
{% if slots.name[-1].lower() == "у" %}
{% set name_new = slots.name[:-1]~"a" %}
{% elif slots.name[-1].lower() == "ю" %}
{% set name_new = slots.name[:-1]~"я" %}
{% endif %}
{{ slots.name ~ " закрыт" ~ ending }}
{{ (name_new.split()[-1].title() if slots.name[-1].lower() in "у, ю" else slots.name.split()[-1].title()) ~ (" закрываются" if slots.name[-1].lower() in "ы, и" or slots.name.lower() in "ворота, окна" else " закрывается") }}
cover_area: "Закрытие в {{ slots.area }} запущено"
cover_device_class: |
{% set cover_class = slots.device_class %}
Expand Down
41 changes: 15 additions & 26 deletions responses/ru/HassTurnOn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,49 +8,38 @@ responses:
{% set male_ending = "" %}
{% set plural_ending = "ы" %}
{% if slots.name[-1].lower() in "ь" %}
{% if (slots.name.lower() in "выключатель, пользователь, день, дождь, двигатель, путь") or
(slots.name[-2].lower() in "рь") %}
{% if ((slots.name.lower().split() + ["выключатель","пользователь","день","дождь"])
| count != dict.fromkeys(slots.lower().name.split() + ["выключатель","пользователь","день","дождь"]) | count) or
(slots.name[-2].lower() in "рь" and slots.name.lower() != "дверь") %}
{% set ending = male_ending %}
{% else %}
{% set ending = female_ending %}
{% endif %}
{% elif slots.name[-1].lower() in "а, у, я" %}
{% elif slots.name[-1].lower() in "а, у, ю, я" %}
{% set ending = female_ending %}
{% if slots.name[-1].lower() == "у" %}
{% set name_new = slots.name[:-1]~"a" %}
{% elif slots.name[-1].lower() == "ю" %}
{% set name_new = slots.name[:-1]~"я" %}
{% endif %}
{% elif slots.name[-1].lower() in "о, е" %}
{% set ending = neuter_ending %}
{% elif slots.name[-1].lower() in "ы, и"%}
{% set ending = plural_ending %}
{% else %}
{% set ending = male_ending %}
{% endif %}
{{ slots.name ~ " включен" ~ ending }}
{{ (name_new.split()[-1].title() if slots.name[-1].lower() in "у, ю" else slots.name.split()[-1].title()) ~ " включен" ~ ending }}
lights_area: "Свет в {{ slots.area }} включен"
light_all: "Весь свет включен"
fans_area: "Включены вентиляторы в {{ slots.area }}"
cover: |
{% set female_ending = "а" %}
{% set neuter_ending = "о" %}
{% set male_ending = "" %}
{% set plural_ending = "ы" %}
{% if slots.name.lower() == "ворота" %}
{% set ender = plural_ending %}
{% elif slots.name[-1].lower() in "ь" %}
{% if (slots.name.lower() in "выключатель, пользователь, день, дождь, двигатель, путь") or
(slots.name[-2].lower() in "рь") %}
{% set ending = male_ending %}
{% else %}
{% set ending = female_ending %}
{% endif %}
{% elif slots.name[-1].lower() in "а, у, я" %}
{% set ending = female_ending %}
{% elif slots.name[-1].lower() in "о, е" %}
{% set ending = neuter_ending %}
{% elif slots.name[-1].lower() in "ы, и"%}
{% set ending = plural_ending %}
{% else %}
{% set ending = male_ending %}
{% if slots.name[-1].lower() == "у" %}
{% set name_new = slots.name[:-1]~"a" %}
{% elif slots.name[-1].lower() == "ю" %}
{% set name_new = slots.name[:-1]~"я" %}
{% endif %}
{{ slots.name ~ " открыт" ~ ending }}
{{ (name_new.split()[-1].title() if slots.name[-1].lower() in "у, ю" else slots.name.split()[-1].title()) ~ (" открываются" if slots.name[-1].lower() in "ы, и" or slots.name.lower() in "ворота, окна" else " открывается") }}
cover_area: "Открытие в {{ slots.area }} запущено"
cover_device_class: |
{% set cover_class = slots.device_class %}
Expand Down
2 changes: 1 addition & 1 deletion tests/ru/_fixtures.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ areas:
- name: "Вход[е|а|у]"
id: "entrance"
entities:
- name: "Ламп(а|у|ы) в спальне"
- name: "Ночн(ая|ую|ой) ламп(а|у|ы)"
id: "light.bedroom_lamp"
area: "bedroom"
state:
Expand Down
2 changes: 1 addition & 1 deletion tests/ru/cover_HassTurnOff.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ tests:
context:
domain: cover
device_class: curtain
response: "левую штору закрыта"
response: "Шторa закрывается"
- sentences:
- "закрой левую штору в гостиной"
intent:
Expand Down
2 changes: 1 addition & 1 deletion tests/ru/cover_HassTurnOn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tests:
context:
domain: cover
device_class: curtain
response: "левую штору открыта"
response: "Шторa открывается"
- sentences:
- "открой левую штору в гостиной"
intent:
Expand Down
6 changes: 3 additions & 3 deletions tests/ru/homeassistant_HassGetState.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ tests:
response: "Лампа в гостиной включена"

- sentences:
- "Лампа в спальне включена?"
- "Включена ли лампа в спальне?"
- "Ночная лампа включена?"
- "Включена ли ночная лампа?"
intent:
name: HassGetState
slots:
name: "Лампа в спальне"
name: "Ночная лампа"
state: "on"
response: "Нет, выключена"

Expand Down
16 changes: 12 additions & 4 deletions tests/ru/homeassistant_HassTurnOff.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
language: ru
tests:
- sentences:
- "выключи лампу в спальне"
- "отключи лампу в спальне"
- "выключи ночную лампу"
- "отключи ночную лампу"
intent:
name: HassTurnOff
slots:
name:
- "Лампу в спальне"
response: "лампу в спальне выключено"
- "Ночную лампу"
response: "Лампa выключена"
- sentences:
- "отключи кухонный выключатель"
intent:
name: HassTurnOff
slots:
name:
- "Кухонный выключатель"
response: "Выключатель выключен"
21 changes: 20 additions & 1 deletion tests/ru/homeassistant_HassTurnOn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,23 @@ tests:
slots:
name:
- "Потолочный вентилятор"
response: "потолочный вентилятор включен"
response: "Вентилятор включен"
# Plural form
- sentences:
- "включи кухонные шкафчики"
intent:
name: HassTurnOn
slots:
name:
- "Кухонные шкафчики"
response: "Шкафчики включены"

# Names with “y” and “ю” ending in the accusative case
- sentences:
- "включи ночную лампу"
intent:
name: HassTurnOn
slots:
name:
- "Ночную лампу"
response: "Лампa включена"
31 changes: 11 additions & 20 deletions tests/ru/light_HassLightSet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,16 @@ language: ru
tests:
# brightness
- sentences:
- установи яркость лампы в спальне до 50%
- сделай яркость лампы в спальне на 50%
- измени яркость лампы в спальне на 50%
- поставь яркость лампы в спальне до 50%
- установи яркость ночной лампы до 50%
- сделай яркость ночной лампы на 50%
- измени яркость ночной лампы на 50%
- поставь яркость ночной лампы до 50%
intent:
name: HassLightSet
slots:
brightness: 50
name:
- Лампы в спальне
- Лампа в спальне
- Лампу в спальне
- Ночной лампы
- sentences:
- установи яркость в спальне до 50 процентов
- сделать яркость в спальне на 50%
Expand All @@ -25,33 +23,27 @@ tests:
slots:
brightness: 50
area:
- Спальня
- Спальне
name: all
# color
- sentences:
- измени цвет лампы в спальне на красный
- сделай лампу в спальне красного цвета
- поставь красный цвет у лампы в спальне
- измени цвет ночной лампы на красный
- поставь красный цвет у ночной лампы
intent:
name: HassLightSet
slots:
color: red
name:
- Лампы в спальне
- Лампа в спальне
- Лампу в спальне
- Ночной лампы
- sentences:
- измени цвет лампы в спальне на зеленый
- поставь зелёный цвет у лампы в спальне
- измени цвет ночной лампы на зеленый
- поставь зелёный цвет у ночной лампы
intent:
name: HassLightSet
slots:
color: green
name:
- Лампы в спальне
- Лампа в спальне
- Лампу в спальне
- Ночной лампы
- sentences:
- установи красный цвет в спальне
- сделай все светильники в спальне красного цвета
Expand All @@ -61,6 +53,5 @@ tests:
slots:
color: red
area:
- Спальня
- Спальне
name: all