Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/frontend/src/App.vue
diff options
context:
space:
mode:
authorLeitwolf112026-10-03 01:43:43 +0300
committerLeitwolf112026-10-03 01:43:43 +0300
commitf25c01f1d173b9e206565207472b58ca51f90803 (patch)
treec4244396690eb895815b89802a8c5cb7261f47a9 /frontend/src/App.vue
parent1045265e9ae018cb3d2d94a47d780888c26d04a2 (diff)
downloadwebsite-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.vue12
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">