feat(i18n): add initial Russian localization for documentation and site config

- Added full Russian translations for all main documentation sections () into .
- Sections translated include: key features, installation, getting started, all core concepts, advanced features, API reference, FAQ, links, additional modules, contributing, and license.
- Updated  to ensure language switching is available and Russian locale is active.
- Each Russian file preserves the structure and formatting of the original Markdown, with machine-aided draft translation for immediate use.
- Lays the groundwork for UI language switching (en/ru) and enables further manual translation refinement and review.
This commit is contained in:
Sergey Penkovsky
2025-08-14 15:46:53 +03:00
parent 248bf4c8c5
commit 9fee26c524
20 changed files with 682 additions and 10 deletions

View File

@@ -0,0 +1,62 @@
---
sidebar_position: 2
---
# Логирование
CherryPick позволяет логировать все события и ошибки DI с помощью расширяемого observer-механизма.
## Кастомные Observer'ы
Вы можете передавать свою реализацию `CherryPickObserver` в root- или любой подскоуп.
Это позволяет централизовать и настраивать логирование, направлять логи в консоль, файл, сторонние сервисы или системы как [Talker](https://pub.dev/packages/talker).
### Пример: вывод всех событий в консоль
```dart
import 'package:cherrypick/cherrypick.dart';
void main() {
// Встроенный PrintCherryPickObserver для консоли
final observer = PrintCherryPickObserver();
final scope = CherryPick.openRootScope(observer: observer);
// Все события и ошибки DI будут выведены!
}
```
### Пример: расширенное логирование через Talker
Для более гибкого логирования или UI-оверлеев можно использовать observer наподобие [talker_cherrypick_logger](../talker_cherrypick_logger):
```dart
import 'package:cherrypick/cherrypick.dart';
import 'package:talker/talker.dart';
import 'package:talker_cherrypick_logger/talker_cherrypick_logger.dart';
void main() {
final talker = Talker();
final observer = TalkerCherryPickObserver(talker);
CherryPick.openRootScope(observer: observer);
// Все события попадают в Talker!
}
```
## Поведение по умолчанию
- По умолчанию логирование "тихое" (SilentCherryPickObserver) для production — нет вывода без observer'а.
- Можно назначить observer для любого скоупа.
## Возможности Observer'а
- Регистрация зависимостей
- Получение/создание/удаление экземпляров
- Установка/удаление модулей
- Открытие/закрытие скоупов
- Кэш-хиты/мимо
- Обнаружение циклов
- Диагностика, предупреждения, ошибки
## Когда применять
- Подробное логирование в dev/test окружениях
- Передача логов в основную систему/аналитику
- Отладка и профилирование DI