diff options
| author | Leitwolf11 | 2026-10-03 01:43:43 +0300 |
|---|---|---|
| committer | Leitwolf11 | 2026-10-03 01:43:43 +0300 |
| commit | f25c01f1d173b9e206565207472b58ca51f90803 (patch) | |
| tree | c4244396690eb895815b89802a8c5cb7261f47a9 /frontend/src/App.vue | |
| parent | 1045265e9ae018cb3d2d94a47d780888c26d04a2 (diff) | |
| download | website-feature/russian-locale.tar.gz | |
Add Russian to the language site and the forum placeholderfeature/russian-locale
Russian (ru-RU) is the third locale of the language site: the shell, the
home, overview and getting-started pages, and the page metadata are fully
translated, and the language menu offers it. The documentation sidebar reads
its labels from the page messages instead of a two-way locale test, and the
stored preference is accepted only when it names a supported locale.
The forum placeholder gets the same three languages. Its language control
is now a menu instead of a two-state button, and an unknown stored or
selected value keeps the current language.
The site API lists the new locale. Verified locally: prettier, the frontend
tests, vue-tsc and the Vite build, the backend tests, and a browser run of
the home and overview pages in Russian.
Diffstat (limited to 'frontend/src/App.vue')
| -rw-r--r-- | frontend/src/App.vue | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/frontend/src/App.vue b/frontend/src/App.vue index d13addf..1aaa109 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -29,6 +29,17 @@ const labels = { status: "In aktiver Entwicklung", footer: "Ein Progmasoft-Projekt. Visual X# hat eine eigenständige Sprachidentität.", }, + "ru-RU": { + home: "Главная", + overview: "Обзор", + start: "Начало работы", + forum: "Форум", + source: "Исходный код", + theme: "Сменить цветовую тему", + language: "Язык", + status: "В активной разработке", + footer: "Проект Progmasoft. Visual X# — самостоятельный язык со своей идентичностью.", + }, } as const; const copy = computed(() => labels[locale.value]); @@ -57,6 +68,7 @@ function toggleTheme() { <select v-model="locale" :aria-label="copy.language"> <option value="en-US">EN</option> <option value="de-DE">DE</option> + <option value="ru-RU">RU</option> </select> </label> <button class="icon-button" type="button" :aria-label="copy.theme" @click="toggleTheme"> |