@cyberphox
You have to do the translation to your prefered language manually by your own.
Imo this is not that much work to do.
Below there is a german and english translated card if this helps for you. Or are you talking about something different?
German
type: custom:button-card
entity: weather.openweathermap
view_layout:
grid-area: weather
entity_picture: /local/images/weather/clear-night.svg
show_entity_picture: true
tap_action:
action: fire-dom-event
browser_mod:
command: popup
title: Wetter
hide_header: true
card:
type: custom:button-card
name: Wetter
tap_action:
action: navigate
navigation_path: '#empty'
entity_picture: /local/images/weather/cloudy.png
entity: weather.openweathermap
show_entity_picture: true
styles:
card:
- box-shadow: '-5px 4px 10px rgba(0, 0, 0, 0.2)'
- border-radius: 10px
- height: 500px
- background-color: transparent
img_cell:
- z-index: 2
icon:
- width: 70%
name:
- z-index: 2
- position: absolute
- font-size: 45px
- font-weight: lighter
- justify-self: start
- left: 25px
- top: 20px
- color: var(--secondary-text-color)
custom_fields:
blur:
- z-index: 1
- top: 0%
- border-radius: 10px
- left: 0%
- width: 100%
- height: 100%
- position: absolute
- background-color: rgba(0, 0, 0, 0.1)
- backdrop-filter: blur(20px)
- '-webkit-backdrop-filter': blur(20px)
templates:
- z-index: 2
- position: absolute
- left: 10px
- top: 60px
- width: 100%
forecast:
- z-index: 2
- position: absolute
- bottom: 0%
- width: 100%
state:
- value: hail
entity_picture: /local/images/weather/snow.png
- value: windy
entity_picture: /local/images/weather/wind.png
- value: windy-variant
entity_picture: /local/images/weather/wind.png
- value: lightning-rainy
entity_picture: /local/images/weather/lightning.png
- value: lightning
entity_picture: /local/images/weather/lightning.png
- value: pouring
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/rainevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/rain.png';
]]]
- value: rainy
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/rainevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/rain.png';
]]]
- value: sunny
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/clear-night.svg';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/sunny.svg';
]]]
- value: cloudy
entity_picture: /local/images/weather/cloudy.png
- value: partlycloudy
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/cloudyevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/partlycloudy.svg';
]]]
- value: snowy
entity_picture: /local/images/weather/snow.png
- value: snowy-rainy
entity_picture: /local/images/weather/snow.png
custom_fields:
blur: |
<div></div>
templates:
card:
type: markdown
card_mod:
style: |
ha-card {
--ha-card-background: transparent;
text-align: left; }
content: >
<font size="2px"> {% if states('weather.openweathermap') ==
"partlycloudy" %} Es ist teilweise bewölkt. {% elif
states('weather.openweathermap') == "cloudy" %} Es ist bewölkt. {%
elif states('weather.openweathermap') == "sunny" %} Sonnig. {%
elif states('weather.openweathermap') == "rainy" %} Regenjacke
anziehen, es regnet. {% elif states('weather.openweathermap') ==
"pouring" %} Regenjacke anziehen, es regnet in Strömen. {% elif
states('weather.openweathermap') == "snowy" %} Heute schneit es.
{% elif states('weather.openweathermap') == "snowy-rainy" %}
Schneeregen. {% elif states('weather.openweathermap') == "hail" %}
Achten Sie auf Hagel. {% elif states('weather.openweathermap') ==
"windy" %} Hut ab, es ist windig. {% elif
states('weather.openweathermap') == "lightning" %} Achten Sie auf
den Blitz, es donnert. {% elif states('weather.openweathermap') ==
"lightning-rainy" %} Es donnert und regnet. {% elif
states('weather.openweathermap') == "windy-variant" %} Halte
deinen Hut, es ist windig. {% elif
states('weather.openweathermap') == "fog" %} Es ist neblig. {%
endif %} Die AuĂentemperatur ist {{
states.weather.openweathermap.attributes.temperature }}°C. Die
Luftfeuchtigkeit ist {{
states.weather.openweathermap.attributes.humidity }}% und der Wind
blÀst mit {{ states.weather.openweathermap.attributes.wind_speed
}}km/h.
forecast:
card:
type: markdown
card_mod:
style: |
ha-card {
--ha-card-background: transparent;
text-align: left; }
content: >
<font size="2px"> <b>Morgen:</b> <br> Max., {{
states.weather.openweathermap.attributes.forecast[1]['temperature']
}} C°. Min., {{
states.weather.openweathermap.attributes.forecast[1]['templow'] }}
C°. <br> Es wird {{
states.weather.openweathermap.attributes.forecast[1]['condition']
}}. <br> <b>Ăbermorgen:</b><br> Max., {{
states.weather.openweathermap.attributes.forecast[2]['temperature']
}} C°. Min, {{
states.weather.openweathermap.attributes.forecast[2]['templow'] }}
C°. <br> Es wird {{
states.weather.openweathermap.attributes.forecast[2]['condition']
}}.
haptic: heavy
animation_card: |
[[[
const animation_speed_ms = 900;
const animation = `card_bounce ${animation_speed_ms}ms cubic-bezier(0.22, 1, 0.36, 1)`;
this.shadowRoot.getElementById("card").style.animation = animation;
window.setTimeout(() => {
this.shadowRoot.getElementById("card").style.animation = "none";
}, animation_speed_ms)
]]]
extra_styles: |
@keyframes card_bounce {
0% {
transform: scale(1);
}
15% {
transform: scale(0.9);
}
25% {
transform: scale(1);
}
30% {
transform: scale(0.98);
}
100% {
transform: scale(1);
}
}
show_state: false
show_name: false
show_label: true
styles:
grid:
- grid-template-areas: '"n i" "s i" "l i"'
- grid-template-columns: 1fr 45%
card:
- background: transparent
- border-radius: 0px 0px 10px 10px
- margin-top: '-20px'
- '--mdc-ripple-press-opacity': 0
- height: 140px
icon:
- width: 80%
state:
- value: hail
entity_picture: /local/images/weather/snow.png
- value: windy
entity_picture: /local/images/weather/wind.png
- value: windy-variant
entity_picture: /local/images/weather/wind.png
- value: lightning-rainy
entity_picture: /local/images/weather/lightning.png
- value: lightning
entity_picture: /local/images/weather/lightning.png
- value: pouring
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/rainevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/rain.png';
]]]
- value: fog
entity_picture: /local/fog.svg
- value: rainy
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/rainevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/rain.png';
]]]
- value: sunny
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/clear-night.svg';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/sunny.svg';
]]]
- value: cloudy
entity_picture: /local/images/weather/cloudy.png
- value: partlycloudy
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/cloudyevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/partlycloudy.svg';
]]]
- value: snowy
entity_picture: /local/images/weather/snow.png
- value: snowy-rainy
entity_picture: /local/weather/snow.png
English
type: custom:button-card
entity: weather.openweathermap
view_layout:
grid-area: weather
entity_picture: /local/images/weather/clear-night.svg
show_entity_picture: true
tap_action:
action: fire-dom-event
browser_mod:
command: popup
title: Wetter
hide_header: true
card:
type: custom:button-card
name: Wetter
tap_action:
action: navigate
navigation_path: '#empty'
entity_picture: /local/images/weather/cloudy.png
entity: weather.openweathermap
show_entity_picture: true
styles:
card:
- box-shadow: '-5px 4px 10px rgba(0, 0, 0, 0.2)'
- border-radius: 10px
- height: 500px
- background-color: transparent
img_cell:
- z-index: 2
icon:
- width: 70%
name:
- z-index: 2
- position: absolute
- font-size: 45px
- font-weight: lighter
- justify-self: start
- left: 25px
- top: 20px
- color: var(--secondary-text-color)
custom_fields:
blur:
- z-index: 1
- top: 0%
- border-radius: 10px
- left: 0%
- width: 100%
- height: 100%
- position: absolute
- background-color: rgba(0, 0, 0, 0.1)
- backdrop-filter: blur(20px)
- '-webkit-backdrop-filter': blur(20px)
templates:
- z-index: 2
- position: absolute
- left: 10px
- top: 60px
- width: 100%
forecast:
- z-index: 2
- position: absolute
- bottom: 0%
- width: 100%
state:
- value: hail
entity_picture: /local/images/weather/snow.png
- value: windy
entity_picture: /local/images/weather/wind.png
- value: windy-variant
entity_picture: /local/images/weather/wind.png
- value: lightning-rainy
entity_picture: /local/images/weather/lightning.png
- value: lightning
entity_picture: /local/images/weather/lightning.png
- value: pouring
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/rainevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/rain.png';
]]]
- value: rainy
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/rainevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/rain.png';
]]]
- value: sunny
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/clear-night.svg';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/sunny.svg';
]]]
- value: cloudy
entity_picture: /local/images/weather/cloudy.png
- value: partlycloudy
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/cloudyevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/partlycloudy.svg';
]]]
- value: snowy
entity_picture: /local/images/weather/snow.png
- value: snowy-rainy
entity_picture: /local/images/weather/snow.png
custom_fields:
blur: |
<div></div>
templates:
card:
type: markdown
card_mod:
style: |
ha-card {
--ha-card-background: transparent;
text-align: left; }
content: >
<font size="2px"> {% if states('weather.openweathermap') ==
"partlycloudy" %} It is partly cloudy. {% elif
states('weather.openweathermap') == "cloudy" %} It's cloudy. {%
elif states('weather.openweathermap') == "sunny" %} Sunny. {%
elif states('weather.openweathermap') == "rainy" %} Wear a rain jacket, it's raining.
{% elif states('weather.openweathermap') ==
"pouring" %} Wear a rain jacket, it's pouring rain. {% elif
states('weather.openweathermap') == "snowy" %} It's snowing today.
{% elif states('weather.openweathermap') == "snowy-rainy" %}
Sleet. {% elif states('weather.openweathermap') == "hail" %}
Watch out for hail. {% elif states('weather.openweathermap') ==
"windy" %} Hats off, it's windy. {% elif
states('weather.openweathermap') == "lightning" %} Watch out for the lightning,
there's thunder. {% elif states('weather.openweathermap') ==
"lightning-rainy" %} It's thundering and raining. {% elif
states('weather.openweathermap') == "windy-variant" %} Hold your hat, it's windy. {% elif
states('weather.openweathermap') == "fog" %} It is foggy. {%
endif %} The outside temperature is {{
states.weather.openweathermap.attributes.temperature }}°C. The humidity is {{
states.weather.openweathermap.attributes.humidity }}% and the wind blows at {{ states.weather.openweathermap.attributes.wind_speed
}}km/h.
forecast:
card:
type: markdown
card_mod:
style: |
ha-card {
--ha-card-background: transparent;
text-align: left; }
content: >
<font size="2px"> <b>Tomorrow:</b> <br> Max., {{
states.weather.openweathermap.attributes.forecast[1]['temperature']
}} C°. Min., {{
states.weather.openweathermap.attributes.forecast[1]['templow'] }}
C°. <br> It will be {{
states.weather.openweathermap.attributes.forecast[1]['condition']
}}. <br> <b>The day after tomorrow:</b><br> Max., {{
states.weather.openweathermap.attributes.forecast[2]['temperature']
}} C°. Min, {{
states.weather.openweathermap.attributes.forecast[2]['templow'] }}
C°. <br> It will be {{
states.weather.openweathermap.attributes.forecast[2]['condition']
}}.
haptic: heavy
animation_card: |
[[[
const animation_speed_ms = 900;
const animation = `card_bounce ${animation_speed_ms}ms cubic-bezier(0.22, 1, 0.36, 1)`;
this.shadowRoot.getElementById("card").style.animation = animation;
window.setTimeout(() => {
this.shadowRoot.getElementById("card").style.animation = "none";
}, animation_speed_ms)
]]]
extra_styles: |
@keyframes card_bounce {
0% {
transform: scale(1);
}
15% {
transform: scale(0.9);
}
25% {
transform: scale(1);
}
30% {
transform: scale(0.98);
}
100% {
transform: scale(1);
}
}
show_state: false
show_name: false
show_label: true
styles:
grid:
- grid-template-areas: '"n i" "s i" "l i"'
- grid-template-columns: 1fr 45%
card:
- background: transparent
- border-radius: 0px 0px 10px 10px
- margin-top: '-20px'
- '--mdc-ripple-press-opacity': 0
- height: 140px
icon:
- width: 80%
state:
- value: hail
entity_picture: /local/images/weather/snow.png
- value: windy
entity_picture: /local/images/weather/wind.png
- value: windy-variant
entity_picture: /local/images/weather/wind.png
- value: lightning-rainy
entity_picture: /local/images/weather/lightning.png
- value: lightning
entity_picture: /local/images/weather/lightning.png
- value: pouring
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/rainevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/rain.png';
]]]
- value: fog
entity_picture: /local/fog.svg
- value: rainy
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/rainevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/rain.png';
]]]
- value: sunny
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/clear-night.svg';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/sunny.svg';
]]]
- value: cloudy
entity_picture: /local/images/weather/cloudy.png
- value: partlycloudy
entity_picture: |
[[[
if (states['sun.sun'].state == "below_horizon")
return '/local/images/weather/cloudyevening.png';
else if (states['sun.sun'].state == "above_horizon")
return '/local/images/weather/partlycloudy.svg';
]]]
- value: snowy
entity_picture: /local/images/weather/snow.png
- value: snowy-rainy
entity_picture: /local/weather/snow.png