Draw the mockup with the screens' own words, compile every text while building, and send the language with the live updates
- The page takes the screens' words its mockup draws from their own texts: screen.ha (Home Assistant's words, filled from Home Assistant), screen.time, screen.date, screen.number and screen.tile.page, per language next to _meta and editor. The copies under editor.mockup go; the rest of `screen` and all of `addon` stay out of the build. - Numbers in the mockup follow the screens' language (screen.number, with its minimum grouping) or the chosen style, as the firmware writes them. - @intlify/unplugin-vue-i18n compiles every text at build time, so the page runs vue-i18n's runtime-only build without the message compiler; every language's _meta comes with the page. Empty texts stay out while building. - The live updates carry the editor's language (api/events?language=), as an EventSource sends no headers. - web/ needs Node 22.13 or newer: vue-i18n 11.4, Vite 7 and the unplugin ask for it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
const e={name:"Deutsch",english:"German",script:"latin",plural:"one_other",clock:"24",checked:!1},t={},c={_meta:e,editor:t};export{e as _meta,c as default,t as editor};
|
||||
@@ -1 +0,0 @@
|
||||
const e={name:"English (UK)",english:"English (UK)",script:"latin",plural:"one_other",clock:"24",checked:!0},n={_meta:e};export{e as _meta,n as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
const e={name:"Español",english:"Spanish",script:"latin",plural:"one_other",clock:"24",checked:!1},s={},t={_meta:e,editor:s};export{e as _meta,t as default,s as editor};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
const e={name:"Français",english:"French",script:"latin",plural:"one_upto_1",clock:"24",checked:!1},t={},a={_meta:e,editor:t};export{e as _meta,a as default,t as editor};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
const t={name:"Italiano",english:"Italian",script:"latin",plural:"one_other",clock:"24",checked:!1},a={},e={_meta:t,editor:a};export{t as _meta,e as default,a as editor};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
const e={name:"Nederlands",english:"Dutch",script:"latin",plural:"one_other",clock:"24",checked:!1},t={},c={_meta:e,editor:t};export{e as _meta,c as default,t as editor};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
const l={name:"Polski",english:"Polish",script:"latin",plural:"slavic_pl",clock:"24",checked:!1},s={},c={_meta:l,editor:s};export{l as _meta,c as default,s as editor};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
const t={name:"Português",english:"Portuguese",script:"latin",plural:"one_upto_1",clock:"24",checked:!1},e={},o={_meta:t,editor:e};export{t as _meta,o as default,e as editor};
|
||||
File diff suppressed because one or more lines are too long
@@ -5,7 +5,7 @@
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<meta name="color-scheme" content="light dark" />
|
||||
<title>ESP Screens</title>
|
||||
<script type="module" crossorigin src="./assets/index-CUv9rdNM.js"></script>
|
||||
<script type="module" crossorigin src="./assets/index-Ci37AxLI.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="./assets/index-C6Sfd-UM.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -1236,72 +1236,8 @@
|
||||
"cleared": "The override will be empty after you save."
|
||||
},
|
||||
"mockup": {
|
||||
"date": {
|
||||
"weekdays_min": [
|
||||
"Su",
|
||||
"Mo",
|
||||
"Tu",
|
||||
"We",
|
||||
"Th",
|
||||
"Fr",
|
||||
"Sa"
|
||||
],
|
||||
"months_short": [
|
||||
"Jan",
|
||||
"Feb",
|
||||
"Mar",
|
||||
"Apr",
|
||||
"May",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Aug",
|
||||
"Sep",
|
||||
"Oct",
|
||||
"Nov",
|
||||
"Dec"
|
||||
],
|
||||
"top_bar": "{weekday} {day} {month}"
|
||||
},
|
||||
"time": {
|
||||
"just_now": "Just now",
|
||||
"minutes_ago": "{n} min ago",
|
||||
"hours_ago": "1 hour ago | {n} hours ago",
|
||||
"yesterday": "Yesterday",
|
||||
"days_ago": "1 day ago | {n} days ago",
|
||||
"weeks_ago": "1 week ago | {n} weeks ago",
|
||||
"months_ago": "1 month ago | {n} months ago",
|
||||
"years_ago": "1 year ago | {n} years ago",
|
||||
"in_minutes": "In {n} min",
|
||||
"in_hours": "In 1 hour | In {n} hours",
|
||||
"tomorrow": "Tomorrow",
|
||||
"in_days": "In 1 day | In {n} days"
|
||||
},
|
||||
"home": "Home",
|
||||
"page_link": "Page {page} ›",
|
||||
"unknown": "Unknown",
|
||||
"unavailable": "Unavailable",
|
||||
"run": {
|
||||
"scene": "Activate",
|
||||
"script": "Run",
|
||||
"press": "Press"
|
||||
},
|
||||
"weather": {
|
||||
"clear_night": "Clear, night",
|
||||
"cloudy": "Cloudy",
|
||||
"exceptional": "Exceptional",
|
||||
"fog": "Fog",
|
||||
"hail": "Hail",
|
||||
"lightning": "Lightning",
|
||||
"lightning_rainy": "Lightning, rainy",
|
||||
"partlycloudy": "Partly cloudy",
|
||||
"pouring": "Pouring",
|
||||
"rainy": "Rainy",
|
||||
"snowy": "Snowy",
|
||||
"snowy_rainy": "Snowy, rainy",
|
||||
"sunny": "Sunny",
|
||||
"windy": "Windy",
|
||||
"windy_variant": "Windy"
|
||||
}
|
||||
"unknown": "Unknown"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user