Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,18 @@ export class AppComponent implements OnInit {
version = env.versions.app;
year = new Date().getFullYear();
logo = 'assets/logo.png';
languages = ['en', 'de', 'sk', 'fr', 'es', 'pt-br', 'zh-cn', 'he', 'ar'];
languages = [
'en',
'de',
'sk',
'fr',
'es',
'pt-br',
'zh-cn',
'he',
'ar',
'ru'
];
navigation = [
{ link: 'about', label: 'anms.menu.about' },
{ link: 'feature-list', label: 'anms.menu.features' },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ export class SettingsContainerComponent implements OnInit {
{ value: 'pt-br', label: 'Português' },
{ value: 'zh-cn', label: '简体中文' },
{ value: 'he', label: 'עברית' },
{ value: 'ar', label: 'اللغة العربية' }
{ value: 'ar', label: 'اللغة العربية' },
{ value: 'ru', label: 'Russian' }
];

constructor(private store: Store<State>) {}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
{
"anms.examples.auth.description1": "Этот компонент доступен только для авторизованных пользователей",
"anms.examples.auth.description2": "После выхода пользователь будет перенаправлен на главную страницу, если он находился на маршруте только для авторизованных пользователей",
"anms.examples.auth.title": "Компонент с авторизацией",
"anms.examples.crud.add": "Добавить новую книгу",
"anms.examples.crud.cancel": "Отмена",
"anms.examples.crud.empty": "Похоже, у вас нет книг. Давайте добавим несколько!",
"anms.examples.crud.error": "обязательно для заполнения",
"anms.examples.crud.new": "Новая",
"anms.examples.crud.placeholder0": "Id",
"anms.examples.crud.placeholder1": "Название",
"anms.examples.crud.placeholder2": "Автор",
"anms.examples.crud.placeholder3": "Описание",
"anms.examples.crud.save": "Сохранить",
"anms.examples.crud.subtitle1": "Ваши книги",
"anms.examples.crud.subtitle2": "Редактор книг",
"anms.examples.crud.text": "Книги можно управлять в этом редакторе: добавлять, обновлять, удалять и выбирать через ",
"anms.examples.crud.title": "CRUD для книг с использованием @ngrx/entity и @ngrx/router-store",
"anms.examples.crud.tooltip.delete": "Удалить книгу",
"anms.examples.crud.tooltip.deselect": "Снять выбор",
"anms.examples.crud.tooltip.edit": "Редактировать книгу",
"anms.examples.form.autosave": "Автосохранение",
"anms.examples.form.error1": "обязательно для заполнения",
"anms.examples.form.error2": "должно быть корректным",
"anms.examples.form.error3": "должно быть длиннее чем",
"anms.examples.form.error4": "должно быть короче чем",
"anms.examples.form.placeholder1": "Имя пользователя",
"anms.examples.form.placeholder2": "Пароль",
"anms.examples.form.placeholder3": "E-mail",
"anms.examples.form.placeholder4": "Описание",
"anms.examples.form.placeholder5": "Дата рождения",
"anms.examples.form.reset": "Сбросить",
"anms.examples.form.save": "Сохранить",
"anms.examples.form.send": "Отправить",
"anms.examples.form.subtitle1": "Форма",
"anms.examples.form.subtitle2": "Маркетинговая информация",
"anms.examples.form.text1": "Запросите подарок.",
"anms.examples.form.text2": "Оцените эту форму:",
"anms.examples.form.text3": "Нужно запросить подарок, чтобы увидеть больше информации.",
"anms.examples.form.text4": "Подарок отправлен!",
"anms.examples.form.text5": "Подарок не отправлен.",
"anms.examples.form.text6": "Аплодировать",
"anms.examples.form.title": "Реактивная форма с FormBuilder",
"anms.examples.menu.auth": "Авторизация",
"anms.examples.menu.crud": "CRUD",
"anms.examples.menu.form": "Форма",
"anms.examples.menu.notifications": "Уведомления",
"anms.examples.menu.stocks": "Акции",
"anms.examples.menu.theming": "Темизация",
"anms.examples.menu.todos": "Список дел",
"anms.examples.menu.elements": "Элементы",
"anms.examples.menu.simple-state-management": "Простое управление состоянием",
"anms.examples.notifications.default.description": "Обычные уведомления для событий низкой важности",
"anms.examples.notifications.default.title": "Обычные",
"anms.examples.notifications.error.description": "Ошибки — когда всё пошло совсем не так...",
"anms.examples.notifications.error.title": "Ошибка",
"anms.examples.notifications.info.description": "Информационные уведомления для событий средней важности",
"anms.examples.notifications.info.title": "Информация",
"anms.examples.notifications.success.description": "Уведомления об успешном завершении операции или действия",
"anms.examples.notifications.success.title": "Успех",
"anms.examples.notifications.title": "Уведомления",
"anms.examples.notifications.warning.description": "Предупреждения для событий, требующих внимания пользователя",
"anms.examples.notifications.warning.title": "Предупреждение",
"anms.examples.stocks.description": "Введите корректный биржевой символ, например:",
"anms.examples.stocks.error1": "Акция",
"anms.examples.stocks.error2": "не найдена",
"anms.examples.stocks.symbol": "Биржевой символ",
"anms.examples.stocks.text1": "Пример с биржей показывает, как реализовать",
"anms.examples.stocks.text2": "запросы с использованием",
"anms.examples.stocks.text3": "модуля.",
"anms.examples.stocks.text4": "Изменение символа обновляет состояние с флагом загрузки (reducer) и запускает эффект для получения информации об акции.",
"anms.examples.stocks.text5": "Действия дебаунсятся, и каждый новый запрос отменяет предыдущий с помощью",
"anms.examples.stocks.text6": "По завершении запроса генерируется успех или ошибка, спиннер убирается, и отображается информация об акции или сообщение об ошибке.",
"anms.examples.stocks.title": "Биржевой рынок",
"anms.examples.elements.title": "Angular Elements (и другие web-компоненты)",
"anms.examples.elements.counter": "Счётчик",
"anms.examples.elements.text1": "Кнопка слева — это web-компонент из библиотеки mwc (material web components). Компонент загружается лениво только при первом отображении.",
"anms.examples.elements.text2": "Загрузился с url только при первом появлении в шаблоне родительского Angular-компонента.",
"anms.examples.elements.text3": "Такое ленивое подключение и использование было достигнуто через простую",
"anms.examples.elements.text4": "директиву из",
"anms.examples.elements.text5": "библиотеки",
"anms.examples.elements.text6": "Узнайте больше о",
"anms.examples.elements.text7": "сценариях использования",
"anms.examples.elements.text8": "где это принесёт наибольшую пользу",
"anms.examples.elements.text9": "и изучите",
"anms.examples.elements.text10": "примеры",
"anms.examples.elements.text11": "в официальной документации",
"anms.examples.elements.text12": "по этой библиотеке",
"anms.examples.simple-state-management.title": "Простое управление состоянием",
"anms.examples.simple-state-management.text1": "NgRx — отличная библиотека для управления состоянием, но иногда это избыточно для простых приложений с ограниченной маршрутизацией.",
"anms.examples.simple-state-management.text2": "В таких случаях обычно используем RxJS BehaviorSubject, чтобы шарить состояние как Observable-поток и при этом иметь возможность получать и изменять данные в сервисе.",
"anms.examples.simple-state-management.text3": "Этот паттерн был обёрнут и упрощён библиотекой",
"anms.examples.simple-state-management.text4": "которая предлагает минималистичный API, однонаправленный поток данных, поддержку нескольких моделей и иммутабельные данные как RxJS Observable",
"anms.examples.simple-state-management.text5": "Узнайте больше в",
"anms.examples.simple-state-management.text6": "Официальной документации",
"anms.examples.simple-state-management.text7": "Можно также подключить её в проект с помощью",
"anms.examples.simple-state-management.form.add.title": "Добавить нового пользователя",
"anms.examples.simple-state-management.form.add.submit": "Добавить пользователя",
"anms.examples.simple-state-management.form.edit.title": "Редактировать пользователя",
"anms.examples.simple-state-management.form.edit.submit": "Сохранить изменения",
"anms.examples.simple-state-management.form.reset": "Сбросить",
"anms.examples.simple-state-management.username": "Имя пользователя",
"anms.examples.simple-state-management.name": "Имя",
"anms.examples.simple-state-management.surname": "Фамилия",
"anms.examples.simple-state-management.validator.required": "Введите значение",
"anms.examples.simple-state-management.validator.minlength": "Введите хотя бы {{minlength}} символов",
"anms.examples.theming.child.description": "дочерний компонент работает!",
"anms.examples.theming.child.subtitle": "должно быть без стилей",
"anms.examples.theming.child.title": "заголовок h1 дочернего",
"anms.examples.theming.parent.description": "родительский компонент работает!",
"anms.examples.theming.parent.text1": "Стили темы не импортируются в",
"anms.examples.theming.parent.text10": "в CSS-правила для повышения специфичности. Например, см. файл темы этого компонента:",
"anms.examples.theming.parent.text2": "свойство декоратора",
"anms.examples.theming.parent.text3": "а в основном",
"anms.examples.theming.parent.text4": "файле. Поэтому стили темы",
"anms.examples.theming.parent.text5": "НЕ",
"anms.examples.theming.parent.text6": "привязываются автоматически к компоненту.",
"anms.examples.theming.parent.text7": "Нужно использовать",
"anms.examples.theming.parent.text8": "специфичные",
"anms.examples.theming.parent.text9": "селекторы, чтобы стили не утекали в дочерние компоненты. Это достигается с помощью",
"anms.examples.theming.parent.title": "Стилизация с вложенными компонентами",
"anms.examples.title": "Примеры",
"anms.examples.todos.added.notification": "{{name}} добавлен",
"anms.examples.todos.example": "Пример ToDo",
"anms.examples.todos.filter.active": "Активные",
"anms.examples.todos.filter.all": "Все",
"anms.examples.todos.filter.description": "Отображается",
"anms.examples.todos.filter.done": "Выполненные",
"anms.examples.todos.filter.item": "задача",
"anms.examples.todos.filter.items": "задачи",
"anms.examples.todos.filter.none": "нет",
"anms.examples.todos.filter.notification": "Отфильтровано:",
"anms.examples.todos.filter.one": "одна",
"anms.examples.todos.input": "Я собираюсь...",
"anms.examples.todos.list": "Список задач",
"anms.examples.todos.remove.notification": "Выполненные задачи удалены",
"anms.examples.todos.text1": "Это классический",
"anms.examples.todos.text2": "todo",
"anms.examples.todos.text3": "пример с поддержкой добавления, переключения, удаления и фильтрации задач.",
"anms.examples.todos.text4": "Управление состоянием реализовано через",
"anms.examples.todos.text5": "модуль и поддерживает ленивую загрузку редьюсеров.",
"anms.examples.todos.text6": "Todos сохраняются в localStorage, так что они останутся и при повторных визитах в браузере.",
"anms.examples.todos.toggle.notification": "{{name}} переключен в",
"anms.examples.todos.tooltip.add": "Добавить новую задачу",
"anms.examples.todos.tooltip.remove": "Удалить выполненные задачи",
"anms.examples.todos.undo": "Отменить"
}
67 changes: 67 additions & 0 deletions projects/angular-ngrx-material-starter/src/assets/i18n/ru.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{
"anms.about.change-theme": "Сменить тему",
"anms.about.check-blogs": "или почитайте блоги о",
"anms.about.contributors.description1": "Хотите начать контрибьютить в open source с Angular?",
"anms.about.contributors.description2": "Оставьте свой след и присоединяйтесь к команде контрибьюторов!",
"anms.about.contributors.description3": "Начните с просмотра ",
"anms.about.contributors.description4": " и ",
"anms.about.contributors.guide": "Руководство контрибьютора",
"anms.about.contributors.issues": "открытые задачи",
"anms.about.contributors.title": "Контрибьюторы",
"anms.about.get-notified.description": "Twitter-бот, который помогает быть в курсе релизов популярных frontend-фреймворков и библиотек!",
"anms.about.get-notified.follow": "Подписаться",
"anms.about.get-notified.title": "Получайте уведомления о новых релизах",
"anms.about.get-started": "Начать",
"anms.features.angular": "Современный мощный фреймворк",
"anms.features.angular-cli": "Интерфейс командной строки для Angular",
"anms.features.angular-material": "Библиотека компонентов в стиле Material Design",
"anms.features.bootstrap": "Адаптивная сетка из самой известной UI-библиотеки",
"anms.features.cypress": "Cypress — современный инструмент для end-to-end тестирования фронтенда",
"anms.features.documentation": "Документация",
"anms.features.fontawesome": "Простые в использовании векторные иконки и логотипы соцсетей",
"anms.features.guide": "Гайд",
"anms.features.lazyloading.description": "Быстрый старт приложения с ленивой загрузкой модулей",
"anms.features.lazyloading.title": "Ленивая загрузка",
"anms.features.ngrx": "Однонаправленный поток данных на основе RxJS Observable",
"anms.features.ngxtranslate": "Библиотека интернационализации для Angular",
"anms.features.rxjs": "Реактивное программирование с коллекциями на Observables",
"anms.features.themes.description": "Гибкая поддержка тем для встроенных и кастомных компонентов",
"anms.features.themes.title": "Темы",
"anms.features.title": "Возможности",
"anms.features.typescript": "Удобная разработка, автодополнение кода, рефакторинг и меньше багов",
"anms.features.eslint": "ESLint помогает находить проблемные паттерны в JS и TS коде",
"anms.footer.changelog": "Показать список изменений",
"anms.header.github": "GitHub репозиторий проекта",
"anms.menu.about": "О проекте",
"anms.menu.examples": "Примеры",
"anms.menu.features": "Возможности",
"anms.menu.login": "Войти",
"anms.menu.logout": "Выйти",
"anms.menu.settings": "Настройки",
"anms.settings.animations.elements": "Анимация элементов навигации",
"anms.settings.animations.page": "Анимация переходов между страницами",
"anms.settings.animations.title": "Анимации",
"anms.settings.general.language.de": "Немецкий",
"anms.settings.general.language.en": "Английский",
"anms.settings.general.language.es": "Испанский",
"anms.settings.general.language.fr": "Французский",
"anms.settings.general.language.he": "Иврит",
"anms.settings.general.language.pt-br": "Португальский (Бразилия)",
"anms.settings.general.language.sk": "Словацкий",
"anms.settings.general.language.zh-cn": "Китайский (упрощённый)",
"anms.settings.general.language.ru": "Русский",
"anms.settings.general.placeholder": "Язык",
"anms.settings.general.title": "Общие",
"anms.settings.themes.blue": "Синяя",
"anms.settings.themes.dark": "Тёмная",
"anms.settings.themes.light": "Светлая",
"anms.settings.themes.nature": "Природа",
"anms.settings.themes.night-mode": "Автоматическая тёмная тема (с 21:00 до 7:00)",
"anms.settings.themes.placeholder": "Цветовая тема",
"anms.settings.themes.saneago": "",
"anms.settings.themes.sticky-header": "Закреплённый хедер",
"anms.settings.themes.title": "Темы",
"anms.settings.title": "Настройки",
"anms.title.long": "Angular NgRx Material Starter",
"anms.title.short": "Angular Starter"
}