1dc2eab0cf
- vue-i18n 11 with the Composition API: English comes with the page, any other language loads the first time it is needed from screen_manager/translations, and a text a language lacks shows in English. The build keeps only _meta and editor of each file (vite.config.ts), never the screens' or the add-on's texts. - The editor follows the language of the user's Home Assistant profile (<html lang> of Home Assistant's page), else the browser's; plural forms follow the file's _meta.plural, with the screens' rules. - Every request tells the add-on the editor's language (X-ESP-Screens-Language), so its own words can follow it. - The mockup draws the screens' words (Unavailable, Page 2 ›, the date, "5 min ago") in the screens' language, with their clock and number format. - Settings → Language & region: the screen language, time format and number format for every screen, with the user's own profile offered when it differs. The per-screen clock choice goes; the top bar points there. A screen that still needs the new language says so in its update badge. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
14 lines
456 B
TypeScript
14 lines
456 B
TypeScript
import { createApp } from "vue";
|
|
import App from "./App.vue";
|
|
import "./styles/tokens.css";
|
|
import "./styles/app.css";
|
|
import { i18n, setEditorLanguage } from "./i18n";
|
|
import { boot } from "./store";
|
|
|
|
// The page draws once its language is there, so it never flashes English first, and the first request already asks the
|
|
// add-on for that language (app 0.2.90).
|
|
setEditorLanguage().finally(() => {
|
|
createApp(App).use(i18n).mount("#app");
|
|
boot();
|
|
});
|