diff --git a/responses/sl/HassClimateGetTemperature.yaml b/responses/sl/HassClimateGetTemperature.yaml index db033a6c7f..bdce6b526a 100644 --- a/responses/sl/HassClimateGetTemperature.yaml +++ b/responses/sl/HassClimateGetTemperature.yaml @@ -4,20 +4,16 @@ responses: HassClimateGetTemperature: default: | {% set temperature = state_attr(state.entity_id, 'current_temperature') %} - {% set temperature_abs = temperature | float | abs %} + {% set temperature_sl = (temperature|string).replace(".", ",") %} + {% set temperature_num = temperature | float %} + {% set temperature_abs = temperature_num | abs %} {% if temperature_abs == 1 %} - {{ temperature }} stopinja - {% elif temperature == 0 or temperature | float % 1 != 0 or temperature | float % 100 | abs < 20 %} - {{ temperature }} stopinje + {{ temperature_sl }} stopinja + {% elif temperature_abs == 2 %} + {{ temperature_sl }} stopinji + {% elif temperature_num == 0 or temperature_num % 1 != 0 or (temperature_num % 100 | abs) < 20 %} + {{ temperature_sl }} stopinje {% else %} - {{ temperature }} stopinj - {% if temperature | float % 1 != 0 %} - {% set decimal_part = temperature | string | regex_replace('\\d+\\.', '') %} - {% if decimal_part != '1' %} - cela {{ decimal_part }} stopinje - {% else %} - cela {{ decimal_part }} stopinja - {% endif %} - {% endif %} + {{ temperature_sl }} stopinj {% endif %} diff --git a/responses/sl/HassGetWeather.yaml b/responses/sl/HassGetWeather.yaml index c2730a493c..4cea8a7041 100644 --- a/responses/sl/HassGetWeather.yaml +++ b/responses/sl/HassGetWeather.yaml @@ -4,21 +4,32 @@ responses: HassGetWeather: default: > {% set weather_condition = { - 'jasno': 'in jasno', - 'jasno': 'in jasno', - 'oblačno': 'in oblačno', - 'izjemno': 'in izjemno', - 'megla': 'z meglo', - 'toča': 's točo', - 'strela': 'bliskovito', - 'bliskovito deževno': 'bliskovito in deževno', - 'delno oblačno': 'in delno oblačno', - 'nalivi': 'in nalivi', - 'deževno': 'in deževno', - 'sneženje': 'in sneženje', - 'snežno deževno': 's snegom in dežjem', - 'sončno': 'in sončno', - 'vetrovno': 'in vetrovno', - 'vetrovna varianata': 'z vetrom in oblaki' + 'clear': 'in jasno', + 'clear-night': 'in jasno', + 'cloudy': 'in oblačno', + 'exceptional': 'in izjemno', + 'fog': 'z meglo', + 'hail': 's točo', + 'lightning': 'bliskovito', + 'lightning-rainy': 'bliskovito in deževno', + 'partlycloudy': 'in delno oblačno', + 'pouring': 'z nalivi', + 'rainy': 'in deževno', + 'snowy': 'in snežno', + 'snowy-rainy': 's snegom in dežjem', + 'sunny': 'in sončno', + 'windy': 'in vetrovno', + 'windy-variant': 'z vetrom in oblaki' } %} - {{ state.attributes.get('temperature') }} {{ state.attributes.get('temperature_unit') }} {{ weather_condition.get((state.state | string).lower(), "") }} + {% set temperature = state.attributes.get('temperature') %} + {% set temperature_sl = (temperature|string).replace(".", ",") %} + {% set temperature_num = temperature | float %} + {% if temperature_num | abs == 1 %} + {{ temperature_sl }} stopinja + {% elif temperature_num | abs == 2 %} + {{ temperature_sl }} stopinji + {% elif temperature_num == 0 or temperature_num % 1 != 0 or temperature_num % 100 | abs < 20 %} + {{ temperature_sl }} stopinje + {% else %} + {{ temperature_sl }} stopinj + {% endif %} {{ weather_condition.get((state.state | string).lower(), "") }} diff --git a/sentences/sl/weather_HassGetWeather.yaml b/sentences/sl/weather_HassGetWeather.yaml index a928aaf38d..69b36bd11b 100644 --- a/sentences/sl/weather_HassGetWeather.yaml +++ b/sentences/sl/weather_HassGetWeather.yaml @@ -4,5 +4,6 @@ intents: data: - sentences: - " vreme [[ v| na] ]" + - "vreme [[ v| na] ]" requires_context: domain: weather diff --git a/tests/sl/_fixtures.yaml b/tests/sl/_fixtures.yaml index 9d1ba94d3e..c93bceca87 100644 --- a/tests/sl/_fixtures.yaml +++ b/tests/sl/_fixtures.yaml @@ -194,21 +194,21 @@ entities: area: "living_room" state: "heat" attributes: - current_temperature: 21 + current_temperature: 21.2 - name: "Kuhinja temperatura" id: "sensor.kitchen_temperature" state: "21" area: "kitchen" attributes: - current_temperature: 21 + current_temperature: 21.2 - name: "termostat" id: "climate.thermostat" area: "living_room" state: "heat" attributes: - current_temperature: 21 + current_temperature: 2 #locks - name: "vhodna vrata" id: "lock.front_door" @@ -236,10 +236,10 @@ entities: - name: "v Mariboru" id: "weather.maribor" - state: "deževno" + state: "rainy" attributes: - temperature: "21" - temperature_unit: "stopinj" + temperature: "2" + temperature_unit: "°C" - name: "opravila|opravilom" id: "todo.opravila" @@ -247,10 +247,10 @@ entities: - name: "v Benetkah" id: "weather.benetke" - state: "jasno" + state: "clear" attributes: - temperature: "28" - temperature_unit: "stopinj" + temperature: "-1.3" + temperature_unit: "°C" - name: "Lev" id: "person.Lev" diff --git a/tests/sl/climate_HassClimateGetTemperature.yaml b/tests/sl/climate_HassClimateGetTemperature.yaml index 40d488eca1..5dc123ac52 100644 --- a/tests/sl/climate_HassClimateGetTemperature.yaml +++ b/tests/sl/climate_HassClimateGetTemperature.yaml @@ -5,7 +5,7 @@ tests: - povej mi temperaturo? intent: name: HassClimateGetTemperature - response: "21 stopinj" + response: "21,2 stopinje" - sentences: - kakšna je temperatura v dnevni sobi? @@ -16,7 +16,7 @@ tests: slots: area: - dnevni sobi - response: "21 stopinj" + response: "21,2 stopinje" - sentences: - "na kakšno temperaturo je nastavljen termostat?" @@ -25,4 +25,4 @@ tests: name: HassClimateGetTemperature slots: name: termostat - response: "21 stopinj" + response: "2 stopinji" diff --git a/tests/sl/weather_HassGetWeather.yaml b/tests/sl/weather_HassGetWeather.yaml index fd363832bb..f511d40832 100644 --- a/tests/sl/weather_HassGetWeather.yaml +++ b/tests/sl/weather_HassGetWeather.yaml @@ -2,12 +2,13 @@ language: sl tests: - sentences: - "kakšno je vreme v Mariboru?" + - "vreme v Mariboru?" intent: name: HassGetWeather slots: name: v Mariboru - response: 21 stopinj in deževno + response: 2 stopinji in deževno - sentences: - "kakšno je vreme v Benetkah" @@ -15,4 +16,4 @@ tests: name: HassGetWeather slots: name: v Benetkah - response: 28 stopinj in jasno + response: -1,3 stopinje in jasno