mirror of
https://github.com/StepanovPlaton/AboutMe.git
synced 2026-04-03 20:30:49 +04:00
Init
This commit is contained in:
274
src/i18n/languages/ru.ts
Normal file
274
src/i18n/languages/ru.ts
Normal file
@@ -0,0 +1,274 @@
|
||||
import Key from "@i18n/i18nKey";
|
||||
import type { Translation } from "@i18n/translation";
|
||||
|
||||
|
||||
export const ru: Translation = {
|
||||
// Загрузка
|
||||
[Key.loading]: "ЗАГРУЗКА",
|
||||
|
||||
// Навигация
|
||||
[Key.home]: "Главная",
|
||||
[Key.archive]: "Архив",
|
||||
[Key.about]: "О сайте",
|
||||
[Key.search]: "Поиск",
|
||||
|
||||
// Посты
|
||||
[Key.tags]: "Теги",
|
||||
[Key.categories]: "Категории",
|
||||
[Key.series]: "Серии",
|
||||
[Key.posts]: "Посты",
|
||||
[Key.recentPosts]: "Недавние посты",
|
||||
[Key.postList]: "Список постов",
|
||||
[Key.statistics]: "Статистика",
|
||||
[Key.tableOfContents]: "Содержание",
|
||||
|
||||
// Статистика страницы
|
||||
[Key.pageViews]: "Просмотры",
|
||||
[Key.visitors]: "Посетители",
|
||||
[Key.statsLoading]: "Загрузка статистики...",
|
||||
[Key.statsError]: "Статистика недоступна",
|
||||
|
||||
// Объявление
|
||||
[Key.announcement]: "Объявление",
|
||||
[Key.announcementClose]: "Закрыть",
|
||||
|
||||
[Key.comments]: "Комментарии",
|
||||
[Key.untitled]: "Без названия",
|
||||
[Key.uncategorized]: "Без категории",
|
||||
[Key.noTags]: "Нет тегов",
|
||||
|
||||
[Key.wordCount]: "слово",
|
||||
[Key.wordsCount]: "слов",
|
||||
[Key.minuteCount]: "минута",
|
||||
[Key.minutesCount]: "минут",
|
||||
[Key.postCount]: "пост",
|
||||
[Key.postsCount]: "постов",
|
||||
|
||||
[Key.themeColor]: "Цвет темы",
|
||||
|
||||
[Key.lightMode]: "Светлая",
|
||||
[Key.darkMode]: "Тёмная",
|
||||
[Key.systemMode]: "Системная",
|
||||
|
||||
[Key.wallpaperMode]: "Режим обоев",
|
||||
[Key.wallpaperFullscreen]: "Полноэкранный",
|
||||
[Key.wallpaperBanner]: "Баннер",
|
||||
[Key.wallpaperNone]: "Нет",
|
||||
|
||||
[Key.more]: "Ещё",
|
||||
|
||||
[Key.backTo]: "Назад к",
|
||||
|
||||
[Key.author]: "Автор",
|
||||
[Key.publishedAt]: "Опубликовано",
|
||||
[Key.license]: "Лицензия",
|
||||
|
||||
// Страница 404
|
||||
[Key.notFound]: "404",
|
||||
[Key.notFoundTitle]: "Страница не найдена",
|
||||
[Key.notFoundDescription]: "Извините, запрашиваемая страница не существует или была перемещена.",
|
||||
[Key.backToHome]: "Вернуться на главную",
|
||||
|
||||
// Страница проектов
|
||||
[Key.projects]: "Проекты",
|
||||
[Key.projectsSubtitle]: "Мое портфолио проектов",
|
||||
[Key.projectsAll]: "Все",
|
||||
[Key.projectsWeb]: "Веб-приложения",
|
||||
[Key.projectsMobile]: "Мобильные приложения",
|
||||
[Key.projectsDesktop]: "Десктопные приложения",
|
||||
[Key.projectsOther]: "Другое",
|
||||
[Key.projectTechStack]: "Технологический стек",
|
||||
[Key.projectLiveDemo]: "Живая демонстрация",
|
||||
[Key.projectSourceCode]: "Исходный код",
|
||||
[Key.projectDescription]: "Описание проекта",
|
||||
[Key.projectStatus]: "Статус",
|
||||
[Key.projectStatusCompleted]: "Завершён",
|
||||
[Key.projectStatusInProgress]: "В разработке",
|
||||
[Key.projectStatusPlanned]: "Запланирован",
|
||||
[Key.projectsTotal]: "Всего проектов",
|
||||
[Key.projectsCompleted]: "Завершённых",
|
||||
[Key.projectsInProgress]: "В разработке",
|
||||
[Key.projectsTechStack]: "Статистика технологий",
|
||||
[Key.projectsFeatured]: "Рекомендуемые проекты",
|
||||
[Key.projectsPlanned]: "Запланированных",
|
||||
[Key.projectsDemo]: "Живая демонстрация",
|
||||
[Key.projectsSource]: "Исходный код",
|
||||
|
||||
// Страница навыков
|
||||
[Key.skills]: "Навыки",
|
||||
[Key.skillsSubtitle]: "Мои технические навыки и экспертиза",
|
||||
[Key.skillsAI]: "AI разработка",
|
||||
[Key.skillsBackend]: "Backend разработка",
|
||||
[Key.skillsClient]: "Client разработка",
|
||||
[Key.skillsFrontend]: "Frontend разработка",
|
||||
[Key.skillsDatabase]: "База данных",
|
||||
[Key.skillsEngines]: "Движки",
|
||||
[Key.skillsTools]: "Инструменты разработки",
|
||||
[Key.skillsOthers]: "Другие навыки",
|
||||
[Key.skillLevel]: "Уровень владения",
|
||||
[Key.skillLevelBeginner]: "Начинающий",
|
||||
[Key.skillLevelIntermediate]: "Средний",
|
||||
[Key.skillLevelAdvanced]: "Продвинутый",
|
||||
[Key.skillLevelExpert]: "Эксперт",
|
||||
[Key.skillExperience]: "Опыт",
|
||||
[Key.skillYears]: "лет",
|
||||
[Key.skillMonths]: "месяцев",
|
||||
[Key.skillsTotal]: "Всего навыков",
|
||||
[Key.skillsExpert]: "Экспертный уровень",
|
||||
[Key.skillsAdvanced]: "Продвинутый",
|
||||
[Key.skillsIntermediate]: "Средний",
|
||||
[Key.skillsBeginner]: "Начинающий",
|
||||
[Key.skillsAdvancedTitle]: "Профессиональные навыки",
|
||||
[Key.skillsProjects]: "Связанные проекты",
|
||||
[Key.skillsDistribution]: "Распределение навыков",
|
||||
[Key.skillsByLevel]: "Распределение по уровню",
|
||||
[Key.skillsByCategory]: "Распределение по категориям",
|
||||
|
||||
// Страница временной шкалы
|
||||
[Key.timeline]: "История",//"Временная шкала",
|
||||
[Key.timelineSubtitle]: "Мой путь развития и важные вехи",
|
||||
[Key.timelineEducation]: "Образование",
|
||||
[Key.timelineWork]: "Опыт работы",
|
||||
[Key.timelineProject]: "Опыт проектов",
|
||||
[Key.timelineAchievement]: "Достижения",
|
||||
[Key.timelinePresent]: "Настоящее время",
|
||||
[Key.timelineLocation]: "Местоположение",
|
||||
[Key.timelineDescription]: "Подробное описание",
|
||||
[Key.timelineMonths]: "месяцев",
|
||||
[Key.timelineYears]: "лет",
|
||||
[Key.timelineTotal]: "Всего",
|
||||
[Key.timelineProjects]: "Проектов",
|
||||
[Key.timelineExperience]: "Опыт работы",
|
||||
[Key.timelineCurrent]: "Текущий статус",
|
||||
[Key.timelineHistory]: "История",
|
||||
[Key.timelineAchievements]: "Достижения",
|
||||
[Key.timelineStatistics]: "Статистика",
|
||||
[Key.timelineByType]: "Группировка по типу",
|
||||
[Key.timelineWorkExperience]: "Опыт работы",
|
||||
[Key.timelineTotalExperience]: "Общий опыт работы",
|
||||
[Key.timelineWorkPositions]: "Рабочих позиций",
|
||||
[Key.timelineCurrentRole]: "Текущий статус",
|
||||
[Key.timelineEmployed]: "Трудоустроен",
|
||||
[Key.timelineAvailable]: "Доступен",
|
||||
|
||||
// Страница дневника
|
||||
[Key.diary]: "Дневник",
|
||||
[Key.diarySubtitle]: "Делитесь жизнью в любое время, в любом месте",
|
||||
[Key.diaryCount]: "записей в дневнике",
|
||||
[Key.diaryImage]: "Изображение",
|
||||
[Key.diaryReply]: "Ответить",
|
||||
[Key.diaryTips]: "Показаны только последние 30 записей дневника",
|
||||
[Key.diaryMinutesAgo]: "минут назад",
|
||||
[Key.diaryHoursAgo]: "часов назад",
|
||||
[Key.diaryDaysAgo]: "дней назад",
|
||||
|
||||
// Страница альбомов
|
||||
[Key.albums]: "Портфолио", //"Альбомы",
|
||||
[Key.albumsSubtitle]: "Записывайте прекрасные моменты жизни",
|
||||
[Key.albumsEmpty]: "Нет содержимого",
|
||||
[Key.albumsEmptyDesc]: "Альбомы ещё не созданы. Добавьте прекрасные воспоминания!",
|
||||
[Key.albumsBackToList]: "Вернуться к альбомам",
|
||||
[Key.albumsPhotoCount]: "фото",
|
||||
[Key.albumsPhotosCount]: "фото",
|
||||
|
||||
// Страница аниме
|
||||
[Key.anime]: "Аниме",
|
||||
[Key.animeTitle]: "Мой список аниме",
|
||||
[Key.animeSubtitle]: "Записываю свой путь в аниме",
|
||||
[Key.animeList]: "Список аниме",
|
||||
[Key.animeTotal]: "Всего",
|
||||
[Key.animeWatching]: "Смотрю",
|
||||
[Key.animeCompleted]: "Завершено",
|
||||
[Key.animeAvgRating]: "Средний рейтинг",
|
||||
[Key.animeStatusWatching]: "Смотрю",
|
||||
[Key.animeStatusCompleted]: "Завершено",
|
||||
[Key.animeStatusPlanned]: "Запланировано",
|
||||
[Key.animeYear]: "Год",
|
||||
[Key.animeStudio]: "Студия",
|
||||
[Key.animeEmpty]: "Нет данных об аниме",
|
||||
[Key.animeEmptyBangumi]: "Пожалуйста, проверьте настройки Bangumi или сетевое подключение",
|
||||
|
||||
// Страница друзей
|
||||
[Key.friends]: "Друзья",
|
||||
|
||||
// Страница RSS
|
||||
[Key.rss]: "RSS лента",
|
||||
[Key.rssDescription]: "Подпишитесь, чтобы получать последние обновления",
|
||||
[Key.rssSubtitle]: "Подпишитесь через RSS, чтобы сразу получать последние статьи и обновления",
|
||||
[Key.rssLink]: "RSS ссылка",
|
||||
[Key.rssCopyToReader]: "Скопировать ссылку в ваш RSS-ридер",
|
||||
[Key.rssCopyLink]: "Скопировать ссылку",
|
||||
[Key.rssLatestPosts]: "Последние посты",
|
||||
[Key.rssWhatIsRSS]: "Что такое RSS?",
|
||||
[Key.rssWhatIsRSSDescription]: "RSS (Really Simple Syndication) — это стандартный формат для публикации часто обновляемого контента. С RSS вы можете:",
|
||||
[Key.rssBenefit1]: "Своевременно получать последний контент сайта без ручного посещения",
|
||||
[Key.rssBenefit2]: "Управлять подписками на несколько сайтов в одном месте",
|
||||
[Key.rssBenefit3]: "Избегать пропуска важных обновлений и статей",
|
||||
[Key.rssBenefit4]: "Наслаждаться чистым чтением без рекламы",
|
||||
[Key.rssHowToUse]: "Рекомендуется использовать Feedly, Inoreader или другие RSS-ридеры для подписки на этот сайт.",
|
||||
[Key.rssCopied]: "RSS ссылка скопирована в буфер обмена!",
|
||||
[Key.rssCopyFailed]: "Копирование не удалось, пожалуйста, скопируйте ссылку вручную",
|
||||
|
||||
// Страница Atom
|
||||
[Key.atom]: "Atom лента",
|
||||
[Key.atomDescription]: "Подпишитесь, чтобы получать последние обновления",
|
||||
[Key.atomSubtitle]: "Подпишитесь через Atom, чтобы сразу получать последние статьи и обновления",
|
||||
[Key.atomLink]: "Atom ссылка",
|
||||
[Key.atomCopyToReader]: "Скопировать ссылку в ваш Atom-ридер",
|
||||
[Key.atomCopyLink]: "Скопировать ссылку",
|
||||
[Key.atomLatestPosts]: "Последние посты",
|
||||
[Key.atomWhatIsAtom]: "Что такое Atom?",
|
||||
[Key.atomWhatIsAtomDescription]: "Atom (Atom Syndication Format) — это XML-стандарт для описания лент и их элементов. С Atom вы можете:",
|
||||
[Key.atomBenefit1]: "Своевременно получать последний контент сайта без ручного посещения",
|
||||
[Key.atomBenefit2]: "Управлять подписками на несколько сайтов в одном месте",
|
||||
[Key.atomBenefit3]: "Избегать пропуска важных обновлений и статей",
|
||||
[Key.atomBenefit4]: "Наслаждаться чистым чтением без рекламы",
|
||||
[Key.atomHowToUse]: "Рекомендуется использовать Feedly, Inoreader или другие Atom-ридеры для подписки на этот сайт.",
|
||||
[Key.atomCopied]: "Atom ссылка скопирована в буфер обмена!",
|
||||
[Key.atomCopyFailed]: "Копирование не удалось, пожалуйста, скопируйте ссылку вручную",
|
||||
|
||||
// Защита паролем
|
||||
[Key.passwordProtected]: "Защищено паролем",
|
||||
[Key.passwordProtectedTitle]: "Этот контент защищён паролем",
|
||||
[Key.passwordProtectedDescription]: "Пожалуйста, введите пароль для просмотра защищённого контента",
|
||||
[Key.passwordPlaceholder]: "Введите пароль",
|
||||
[Key.passwordUnlock]: "Разблокировать",
|
||||
[Key.passwordUnlocking]: "Разблокировка...",
|
||||
[Key.passwordIncorrect]: "Неверный пароль, попробуйте снова",
|
||||
[Key.passwordDecryptError]: "Расшифровка не удалась, пожалуйста, проверьте правильность пароля",
|
||||
[Key.passwordRequired]: "Пожалуйста, введите пароль",
|
||||
[Key.passwordVerifying]: "Проверка...",
|
||||
[Key.passwordDecryptFailed]: "Расшифровка не удалась, пожалуйста, проверьте пароль",
|
||||
[Key.passwordDecryptRetry]: "Расшифровка не удалась, попробуйте снова",
|
||||
[Key.passwordUnlockButton]: "Разблокировать",
|
||||
[Key.copyFailed]: "Копирование не удалось:",
|
||||
[Key.syntaxHighlightFailed]: "Подсветка синтаксиса не удалась:",
|
||||
[Key.autoSyntaxHighlightFailed]: "Автоматическая подсветка синтаксиса также не удалась:",
|
||||
[Key.decryptionError]: "Произошла ошибка при расшифровке:",
|
||||
|
||||
// Карточка времени последнего изменения
|
||||
[Key.lastModifiedPrefix]: "Время с последнего редактирования: ",
|
||||
[Key.lastModifiedOutdated]: "Некоторый контент может быть устаревшим",
|
||||
[Key.year]: "год",
|
||||
[Key.month]: "месяц",
|
||||
[Key.day]: "день",
|
||||
[Key.hour]: "час",
|
||||
[Key.minute]: "минута",
|
||||
[Key.second]: "секунда",
|
||||
|
||||
// Музыкальный проигрыватель
|
||||
[Key.playlist]: "Плейлист",
|
||||
[Key.musicEmptyPlaylist]: "Локальный плейлист пуст",
|
||||
[Key.musicNoSongsAvailable]: "В плейлисте нет доступных песен",
|
||||
[Key.musicPlayFailed]: "Не удалось воспроизвести \"{0}\", пробую следующую...",
|
||||
[Key.musicAutoplayBlocked]: "Автовоспроизведение заблокировано",
|
||||
[Key.musicMetingFailed]: "Не удалось получить плейлист Meting",
|
||||
[Key.musicUnknownArtist]: "Неизвестный исполнитель",
|
||||
[Key.musicUnknownTrack]: "Неизвестный трек",
|
||||
[Key.musicSwitchToLocal]: "Переключиться на локальный режим",
|
||||
[Key.musicSwitchToMeting]: "Переключиться на режим Meting",
|
||||
[Key.musicProgress]: "Прогресс",
|
||||
[Key.musicCollapse]: "Свернуть проигрыватель",
|
||||
[Key.musicVolume]: "Громкость",
|
||||
[Key.musicExpand]: "Развернуть музыкальный проигрыватель",
|
||||
};
|
||||
@@ -2,6 +2,7 @@ import { getResolvedSiteLang } from "@utils/language";
|
||||
import { en } from "./languages/en";
|
||||
import { ja } from "./languages/ja";
|
||||
import { zh } from "./languages/zh";
|
||||
import { ru } from "./languages/ru";
|
||||
import type I18nKey from "./i18nKey";
|
||||
|
||||
|
||||
@@ -20,6 +21,8 @@ const map: { [key: string]: Translation } = {
|
||||
zh_cn: zh,
|
||||
ja: ja,
|
||||
ja_jp: ja,
|
||||
ru: ru,
|
||||
ru_ru: ru,
|
||||
};
|
||||
|
||||
export function getTranslation(lang: string): Translation {
|
||||
|
||||
Reference in New Issue
Block a user