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

Add new language - Serbian Latin #2796

Merged
merged 45 commits into from
Jan 20, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
5b81399
Please, can you add new language variant - Serbian (latin) - sr-Latn.
darkobg79 Dec 28, 2024
daefe31
Dopuna prevoda...
darkobg79 Dec 28, 2024
ee2c6d2
HassCancelAllTimers
darkobg79 Dec 28, 2024
d8fea90
HassClimateGetTemperature
darkobg79 Dec 28, 2024
c39678b
HassGetCurrentTime
darkobg79 Dec 28, 2024
2e15694
Merge branch 'main' into serbian-latn
darkobg79 Dec 28, 2024
8fba5cb
Completed resonse for Serbian Latin
darkobg79 Dec 28, 2024
1035974
Add sentences 1/2
darkobg79 Dec 28, 2024
276a054
Add complete sentences 2/2
darkobg79 Dec 28, 2024
05fb4f1
Add tests 1/5
darkobg79 Dec 28, 2024
cd62bc4
Add tests 2/5
darkobg79 Dec 29, 2024
721fcc3
Added complete tests 3/5 4/5 and 5/5
darkobg79 Dec 29, 2024
3f50487
Final cleanup... All tests PASSED.
darkobg79 Dec 29, 2024
76cca0f
Merge branch 'main' into serbian-latn
darkobg79 Dec 29, 2024
bb93d49
Add Serbian Latin and Serbian language leader
darkobg79 Dec 29, 2024
12395f4
Cleanup
darkobg79 Dec 29, 2024
67c5ed1
Cleanup
darkobg79 Dec 29, 2024
566ed59
Cleanup
darkobg79 Dec 29, 2024
2e23619
...
darkobg79 Dec 29, 2024
7bdbfe2
..
darkobg79 Dec 29, 2024
3575a3e
Merge branch 'main' into serbian-latn
darkobg79 Dec 29, 2024
6f98579
..
darkobg79 Dec 29, 2024
56041dc
Merge branch 'main' into serbian-latn
darkobg79 Dec 29, 2024
0f6cd76
Merge branch 'main' into serbian-latn
darkobg79 Dec 30, 2024
3a7fa07
Merge branch 'main' into serbian-latn
darkobg79 Dec 31, 2024
f5bca6e
...
darkobg79 Jan 1, 2025
fea55e1
Merge branch 'main' into serbian-latn
darkobg79 Jan 1, 2025
2b09c9a
Merge branch 'main' into serbian-latn
darkobg79 Jan 2, 2025
924f221
Merge branch 'main' into serbian-latn
darkobg79 Jan 2, 2025
6ee5399
Merge branch 'main' into serbian-latn
darkobg79 Jan 3, 2025
913e6b7
Merge branch 'main' into serbian-latn
darkobg79 Jan 3, 2025
55a43f6
Merge branch 'main' into serbian-latn
darkobg79 Jan 4, 2025
7d961e3
Merge branch 'main' into serbian-latn
darkobg79 Jan 4, 2025
3781920
Merge branch 'main' into serbian-latn
darkobg79 Jan 4, 2025
9f91fff
Merge branch 'main' into serbian-latn
darkobg79 Jan 4, 2025
263844d
Merge branch 'main' into serbian-latn
darkobg79 Jan 4, 2025
3921dca
Merge branch 'main' into serbian-latn
darkobg79 Jan 4, 2025
0d84bff
Merge branch 'main' into serbian-latn
darkobg79 Jan 6, 2025
79adf58
Merge branch 'main' into serbian-latn
darkobg79 Jan 6, 2025
f2cd1e0
Merge branch 'main' into serbian-latn
darkobg79 Jan 6, 2025
7ffa91a
Merge branch 'main' into serbian-latn
darkobg79 Jan 7, 2025
c188b7c
Merge branch 'main' into serbian-latn
darkobg79 Jan 8, 2025
b0f4ea5
Merge branch 'main' into serbian-latn
darkobg79 Jan 15, 2025
9a5f56c
Merge branch 'main' into serbian-latn
darkobg79 Jan 16, 2025
d4b021a
Merge branch 'main' into serbian-latn
darkobg79 Jan 17, 2025
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
2 changes: 2 additions & 0 deletions languages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,8 @@ sr:
nativeName: Српски
leaders:
- cvladan
sr-Latn:
nativeName: Srpski
sv:
nativeName: Svenska
leaders:
Expand Down
17 changes: 17 additions & 0 deletions responses/sr-Latn/HassCancelAllTimers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
language: sr-Latn
responses:
intents:
HassCancelAllTimers:
default:
"TODO: {% if slots.canceled < 1: %} No timers were canceled. {% elif
slots.canceled == 1: %} Canceled 1 timer. {% else: %} Canceled {{ slots.canceled
}} timers. {% endif %}

"
area:
"TODO: {% if slots.canceled < 1: %} No timers were canceled in {{ slots.area
}}. {% elif slots.canceled == 1: %} Canceled 1 timer in {{ slots.area }}.
{% else: %} Canceled {{ slots.canceled }} timers in {{ slots.area }}. {% endif
%}

"
5 changes: 5 additions & 0 deletions responses/sr-Latn/HassCancelTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: sr-Latn
responses:
intents:
HassCancelTimer:
default: "TODO: Timer cancelled"
10 changes: 10 additions & 0 deletions responses/sr-Latn/HassClimateGetTemperature.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
language: sr-Latn
responses:
intents:
HassClimateGetTemperature:
default:
"TODO: {% set temperature = state_attr(state.entity_id, 'current_temperature')
%} {% if temperature == 1: %} {{ temperature }} degree {% else: %} {{ temperature
}} degrees {% endif %}

"
5 changes: 5 additions & 0 deletions responses/sr-Latn/HassClimateSetTemperature.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: sr-Latn
responses:
intents:
HassClimateSetTemperature:
default: "TODO: Temperature set"
19 changes: 19 additions & 0 deletions responses/sr-Latn/HassDecreaseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
language: sr-Latn
responses:
intents:
HassDecreaseTimer:
default:
'TODO: {% set h = slots.hours if slots.hours is defined else none %}
{% set m = slots.minutes if slots.minutes is defined else none %} {% set s
= slots.seconds if slots.seconds is defined else none %} {% set h_text = h
~ ('' hour'' if h in [ "1", ''one''] else '' hours'') if h else '''' %} {%
set m_text = (30 if m in [''half'', ''1/2''] else m) ~ ('' minute'' if m in
[ "1", ''one''] else '' minutes'') if m else '''' %} {% set s_text = (30 if
s in [''half'', ''1/2''] else s) ~ ('' second'' if s in [ "1", ''one''] else
'' seconds'') if s else '''' %} {% set text_list = [ h_text, m_text, s_text]
| select() | list %} {% set text = text_list[:-1] | join('', '') ~ '' and
'' ~ text_list[-1] if text_list | count > 2 else text_list | join('' and '')
%} {% set name = ('' named '' ~ slots.name | trim) if slots.name is defined
else '''' %} {{ text }} removed from timer{{ name }}

'
17 changes: 17 additions & 0 deletions responses/sr-Latn/HassGetCurrentDate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
language: sr-Latn
responses:
intents:
HassGetCurrentDate:
default:
"TODO: {% set months = {\n 1: 'January',\n 2: 'February',\n 3:\
\ 'March',\n 4: 'April',\n 5: 'May',\n 6: 'June',\n 7: 'July',\n \
\ 8: 'August',\n 9: 'September',\n 10: 'October',\n 11: 'November',\n\
\ 12: 'December',\n} %} {% set ordinal = {\n 1: '1st',\n 2: '2nd',\n\
\ 3: '3rd',\n 4: '4th',\n 5: '5th',\n 6: '6th',\n 7: '7th',\n \
\ 8: '8th',\n 9: '9th',\n 10: '10th',\n 11: '11th',\n 12: '12th',\n\
\ 13: '13th',\n 14: '14th',\n 15: '15th',\n 16: '16th',\n 17: '17th',\n\
\ 18: '18th',\n 19: '19th',\n 20: '20th',\n 21: '21st',\n 22: '22nd',\n\
\ 23: '23rd',\n 24: '24th',\n 25: '25th',\n 26: '26th',\n 27: '27th',\n\
\ 28: '28th',\n 29: '29th',\n 30: '30th',\n 31: '31st',\n } %}\n{{\
\ months[slots.date.month] }} {{ ordinal[slots.date.day] }}, {{ slots.date.year\
\ }}\n"
10 changes: 10 additions & 0 deletions responses/sr-Latn/HassGetCurrentTime.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
language: sr-Latn
responses:
intents:
HassGetCurrentTime:
default: "TODO: {% set minute_str = '{0:02d}'.format(slots.time.minute) %}

{% if slots.time.hour <= 12: %} {{ slots.time.hour }}:{{ minute_str }} AM
{% else: %} {{ slots.time.hour - 12 }}:{{ minute_str }} PM {% endif %}

"
43 changes: 43 additions & 0 deletions responses/sr-Latn/HassGetState.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
language: sr-Latn
responses:
intents:
HassGetState:
default: "TODO: {{ state.state_with_unit }}"
one: "TODO: {{ slots.name | capitalize }} is {{ state.state_with_unit }}

"
one_yesno:
"TODO: {% if query.matched %}\n Yes\n{% else %}\n No, {{ state.state_with_unit\
\ }}\n{% endif %}\n"
any:
"TODO: {% if query.matched %}\n {% set match = query.matched | map(attribute=\"\
name\") | sort | list %}\n {% if match | length > 4 %}\n Yes, {{ match[:3]\
\ | join(\", \") }} and {{ (match | length - 3) }} more\n {%- else -%}\n\
\ Yes,\n {% for name in match -%}\n {% if not loop.first and not\
\ loop.last %}, {% elif loop.last and not loop.first %} and {% endif -%}\n\
\ {{ name }}\n {%- endfor -%}\n {% endif %}\n{% else %}\n No\n{%\
\ endif %}\n"
all:
"TODO: {% if not query.unmatched: %}\n Yes\n{% else %}\n {% set no_match\
\ = query.unmatched | map(attribute=\"name\") | sort | list %}\n {% if no_match\
\ | length > 4 %}\n No, {{ no_match[:3] | join(\", \") }} and {{ (no_match\
\ | length - 3) }} more are not {{ slots.state }}\n {%- else -%}\n No,\n\
\ {% for name in no_match -%}\n {% if not loop.first and not loop.last\
\ %}, {% elif loop.last and not loop.first %} and {% endif -%}\n {{ name\
\ }}\n {%- endfor %} {% if no_match | length > 1 %}are{% else %}is{% endif\
\ %} not {{ slots.state }}\n {% endif %}\n{% endif %}\n"
which:
"TODO: {% if not query.matched %}\n Not any\n{% else: %}\n {% set match\
\ = query.matched | map(attribute=\"name\") | sort | list %}\n {% if match\
\ | length > 4 %}\n {{ match[:3] | join(\", \") }} and {{ (match | length\
\ - 3) }} more\n {% else %}\n {%- for name in match -%}\n {% if not\
\ loop.first and not loop.last %}, {% elif loop.last and not loop.first %}\
\ and {% endif -%}\n {{ name }}\n {%- endfor -%}\n {% endif %}\n\
{% endif %}\n"
how_many: "TODO: {{ query.matched | length }}

"
where:
"TODO: {% if state == \"not_home\" %}\n {{ slots.name | capitalize }}\
\ is away\n{% else %}\n {{ slots.name | capitalize }} is at {{ state.state\
\ }}\n{% endif %}\n"
14 changes: 14 additions & 0 deletions responses/sr-Latn/HassGetWeather.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
language: sr-Latn
responses:
intents:
HassGetWeather:
default:
"TODO: {% set weather_condition = {\n 'clear': 'and clear',\n 'clear-night':\
\ 'and clear',\n 'cloudy': 'and cloudy',\n 'exceptional': 'and exceptional',\n\
\ 'fog': 'with fog',\n 'hail': 'with hail',\n 'lightning': 'with lightning',\n\
\ 'lightning-rainy': 'with lightning and rain',\n 'partlycloudy': 'and partly\
\ cloudy',\n 'pouring': 'and pouring rain',\n 'rainy': 'and raining',\n\
\ 'snowy': 'and snowing',\n 'snowy-rainy': 'with snow and rain',\n 'sunny':\
\ 'and sunny',\n 'windy': 'and windy',\n 'windy-variant': 'with wind and\
\ clouds'\n} %} {{ state.attributes.get('temperature') }} {{ state.attributes.get('temperature_unit')\
\ }} {{ weather_condition.get((state.state | string).lower(), \"\") }}\n"
19 changes: 19 additions & 0 deletions responses/sr-Latn/HassIncreaseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
language: sr-Latn
responses:
intents:
HassIncreaseTimer:
default:
'TODO: {% set h = slots.hours if slots.hours is defined else none %}
{% set m = slots.minutes if slots.minutes is defined else none %} {% set s
= slots.seconds if slots.seconds is defined else none %} {% set h_text = h
~ ('' hour'' if h in [ "1", ''one''] else '' hours'') if h else '''' %} {%
set m_text = (30 if m in [''half'', ''1/2''] else m) ~ ('' minute'' if m in
[ "1", ''one''] else '' minutes'') if m else '''' %} {% set s_text = (30 if
s in [''half'', ''1/2''] else s) ~ ('' second'' if s in [ "1", ''one''] else
'' seconds'') if s else '''' %} {% set text_list = [ h_text, m_text, s_text]
| select() | list %} {% set text = text_list[:-1] | join('', '') ~ '' and
'' ~ text_list[-1] if text_list | count > 2 else text_list | join('' and '')
%} {% set name = ('' named '' ~ slots.name | trim) if slots.name is defined
else '''' %} {{ text }} added to timer{{ name }}

'
6 changes: 6 additions & 0 deletions responses/sr-Latn/HassLightSet.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
language: sr-Latn
responses:
intents:
HassLightSet:
brightness: "TODO: Brightness set"
color: "TODO: Color set"
5 changes: 5 additions & 0 deletions responses/sr-Latn/HassListAddItem.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: sr-Latn
responses:
intents:
HassListAddItem:
item_added: "TODO: Added {{ slots.item }}"
5 changes: 5 additions & 0 deletions responses/sr-Latn/HassMediaNext.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: sr-Latn
responses:
intents:
HassMediaNext:
default: "TODO: Playing next"
5 changes: 5 additions & 0 deletions responses/sr-Latn/HassMediaPause.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: sr-Latn
responses:
intents:
HassMediaPause:
default: "TODO: Paused"
5 changes: 5 additions & 0 deletions responses/sr-Latn/HassMediaPrevious.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: sr-Latn
responses:
intents:
HassMediaPrevious:
default: "TODO: Playing previous"
5 changes: 5 additions & 0 deletions responses/sr-Latn/HassMediaUnpause.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: sr-Latn
responses:
intents:
HassMediaUnpause:
default: "TODO: Resumed"
5 changes: 5 additions & 0 deletions responses/sr-Latn/HassPauseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: sr-Latn
responses:
intents:
HassPauseTimer:
default: "TODO: Timer paused"
12 changes: 12 additions & 0 deletions responses/sr-Latn/HassRespond.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
language: sr-Latn
responses:
intents:
HassRespond:
default: "TODO: "
hello: "TODO: Hello from Home Assistant."
listening: "TODO: No, I only record when you speak the wake word."
data: "TODO: Your data is sent to your Home Assistant server."
commands: "TODO: To learn what you can ask, visit H.A. dot I.O. slash voice."
creator:
"TODO: I was created by the wonderful Home Assistant community, made
up of tinkerers world wide."
5 changes: 5 additions & 0 deletions responses/sr-Latn/HassSetPosition.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: sr-Latn
responses:
intents:
HassSetPosition:
default: "TODO: Position set"
5 changes: 5 additions & 0 deletions responses/sr-Latn/HassSetVolume.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: sr-Latn
responses:
intents:
HassSetVolume:
default: "TODO: Volume set"
5 changes: 5 additions & 0 deletions responses/sr-Latn/HassShoppingListAddItem.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: sr-Latn
responses:
intents:
HassShoppingListAddItem:
item_added: "TODO: Added {{ slots.item }}"
33 changes: 33 additions & 0 deletions responses/sr-Latn/HassStartTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
language: sr-Latn
responses:
intents:
HassStartTimer:
default:
'TODO: {% set h = slots.hours if slots.hours is defined else none %}
{% set m = slots.minutes if slots.minutes is defined else none %} {% set s
= slots.seconds if slots.seconds is defined else none %} {% set h_text = h
~ ('' hour'' if h in [ "1", ''one''] else '' hours'') if h else '''' %} {%
set m_text = (30 if m in [''half'', ''1/2''] else m) ~ ('' minute'' if m in
[ "1", ''one''] else '' minutes'') if m else '''' %} {% set s_text = (30 if
s in [''half'', ''1/2''] else s) ~ ('' second'' if s in [ "1", ''one''] else
'' seconds'') if s else '''' %} {% set text_list = [ h_text, m_text, s_text]
| select() | list %} {% set text = text_list[:-1] | join('', '') ~ '' and
'' ~ text_list[-1] if text_list | count > 2 else text_list | join('' and '')
%} {% set name = ('' named '' ~ slots.name | trim) if slots.name is defined
else '''' %} Timer set for {{ text }}{{ name }}

'
command:
'TODO: {% set h = slots.hours if slots.hours is defined else none %}
{% set m = slots.minutes if slots.minutes is defined else none %} {% set s
= slots.seconds if slots.seconds is defined else none %} {% set h_text = h
~ ('' hour'' if h in [ "1", ''one''] else '' hours'') if h else '''' %} {%
set m_text = (30 if m in [''half'', ''1/2''] else m) ~ ('' minute'' if m in
[ "1", ''one''] else '' minutes'') if m else '''' %} {% set s_text = (30 if
s in [''half'', ''1/2''] else s) ~ ('' second'' if s in [ "1", ''one''] else
'' seconds'') if s else '''' %} {% set text_list = [ h_text, m_text, s_text]
| select() | list %} {% set text = text_list[:-1] | join('', '') ~ '' and
'' ~ text_list[-1] if text_list | count > 2 else text_list | join('' and '')
%} Command will be executed in {{ text }}

'
48 changes: 48 additions & 0 deletions responses/sr-Latn/HassTimerStatus.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
language: sr-Latn
responses:
intents:
HassTimerStatus:
default:
"TODO: {% set num_timers = slots.timers | length %}\n{% set active_timers\
\ = slots.timers | selectattr('is_active') | list %}\n{% set num_active_timers\
\ = active_timers | length %}\n{% set paused_timers = slots.timers | rejectattr('is_active')\
\ | list %}\n{% set num_paused_timers = paused_timers | length %}\n{% set\
\ next_timer = None %}\n\n{% if num_timers == 0: %}\n No timers.\n{% elif\
\ num_active_timers == 0: %}\n {# No active timers #}\n {% if num_paused_timers\
\ == 1: %}\n {% set next_timer = paused_timers[0] %}\n Timer is paused.\n\
\ {% else: %}\n {{ num_paused_timers }} paused timers.\n {% endif %}\n\
{% else: %}\n {# At least one active timer #}\n {% if num_active_timers\
\ == 1: %}\n {% set next_timer = active_timers[0] %}\n {% else: %}\n \
\ {# Get active timer that will finish soonest #}\n {% set sorted_timers\
\ = active_timers | sort(attribute='total_seconds_left') %}\n {% set next_timer\
\ = sorted_timers[0] %}\n {{ num_active_timers }} running timers.\n {%\
\ endif %}\n\n {% if num_paused_timers == 1: %}\n 1 paused timer.\n {%\
\ elif num_paused_timers > 0: %}\n {{ num_paused_timers }} paused timers.\n\
\ {% endif %}\n{% endif %}\n\n{% if next_timer: %}\n {# At least one active\
\ timer #}\n {% if (next_timer.rounded_hours_left == 1) and (next_timer.rounded_minutes_left\
\ > 0): %}\n 1 hour and {{ next_timer.rounded_minutes_left }} minutes\n\
\ {% elif (next_timer.rounded_hours_left == 1): %}\n 1 hour\n {% elif\
\ (next_timer.rounded_hours_left > 1) and (next_timer.rounded_minutes_left\
\ > 0): %}\n {{ next_timer.rounded_hours_left }} hours and {{ next_timer.rounded_minutes_left\
\ }} minutes\n {% elif (next_timer.rounded_hours_left > 1): %}\n {{ next_timer.rounded_hours_left\
\ }} hours\n {% elif (next_timer.rounded_minutes_left == 1) and (next_timer.rounded_seconds_left\
\ > 0): %}\n 1 minute and {{ next_timer.rounded_seconds_left }} seconds\n\
\ {% elif (next_timer.rounded_minutes_left == 1): %}\n 1 minute\n {%\
\ elif (next_timer.rounded_minutes_left > 1) and (next_timer.rounded_seconds_left\
\ > 0): %}\n {{ next_timer.rounded_minutes_left }} minutes and {{ next_timer.rounded_seconds_left\
\ }} seconds\n {% elif (next_timer.rounded_minutes_left > 1): %}\n {{\
\ next_timer.rounded_minutes_left }} minutes\n {% elif (next_timer.rounded_seconds_left\
\ == 1): %}\n 1 second\n {% elif (next_timer.rounded_seconds_left > 1):\
\ %}\n {{ next_timer.rounded_seconds_left }} seconds\n {% endif %}\n\n\
\ {% if num_timers > 1: %}\n {# Give some extra information to disambiguate\
\ #}\n left on\n {% if (next_timer.start_hours > 0) and (next_timer.start_minutes\
\ > 0): %}\n {{ next_timer.start_hours }} hour and {{ next_timer.start_minutes\
\ }} minute\n {% elif (next_timer.start_hours > 0): %}\n {{ next_timer.start_hours\
\ }} hour\n {% elif (next_timer.start_minutes > 0) and (next_timer.start_seconds\
\ > 0): %}\n {{ next_timer.start_minutes }} minute and {{ next_timer.start_seconds\
\ }} second\n {% elif (next_timer.start_minutes > 0): %}\n {{ next_timer.start_minutes\
\ }} minute\n {% elif (next_timer.start_seconds > 0): %}\n {{ next_timer.start_seconds\
\ }} second\n {% endif %}\n\n {% if next_timer.name: %}\n {{ next_timer.name\
\ }}\n {% elif next_timer.area: %}\n {{ next_timer.area }}\n {%\
\ endif %}\n\n timer.\n {% else: %}\n left.\n {% endif %}\n{% endif\
\ %}\n"
38 changes: 38 additions & 0 deletions responses/sr-Latn/HassTurnOff.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
language: sr-Latn
responses:
intents:
HassTurnOff:
default: >-
{% set translations = {
"button": "sklopku",
"camera": "kameru",
"input_button": "sklopku",
"alarm_control_panel": "alarm",
"automation": "automatizaciju",
"fan": "ventilator",
"climate": "termostat",
"humidifier": "ovlaživač",
"input_boolean": "prekidač",
"siren": "sirenu",
"water_heater": "grijalo vode",
"light": "svetlo",
"switch": "prekidač",
"remote": "daljinski",
"vacuum": "usisavač",
"media_player": "media player",
"lawn_mower": "kosilicu",
"input_boolean": "prekidač",
"cleaner": "čistač"
} %}
Isključujem {{ translations.get(state.domain) }}
default_name: "Isključujem {{ slots.name }}"
lights_area: "Svetla su ugašena"
lights_floor: "Svetla su ugašena"
light_all: "Sva svetla su ugašena"
fans_area: "Ventilatori su uključeni"
cover: "Zatvaram"
cover_device_class: "Zatvaram {{ slots.device_class }}"
scene: "Deaktivirana"
script: "Zaustavljena"
lock: "Otključana"
valve: "Zatvoren"
Loading