mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-01-24 05:25:19 +00:00
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:
@@ -0,0 +1,45 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Иерархические подскоупы
|
||||
|
||||
CherryPick поддерживает иерархическую структуру скоупов, что позволяет строить сложные и модульные графы зависимостей для профессиональных архитектур приложений. Каждый подскоуп наследует зависимости родителя и позволяет переопределять их локально.
|
||||
|
||||
## Основные моменты
|
||||
|
||||
- **Подскоупы** — дочерние скоупы, открываемые от любого существующего (в том числе root).
|
||||
- Зависимости подскоупа перекрывают родительские при разрешении.
|
||||
- Если зависимость не найдена в подскоупе, CherryPick ищет её выше по иерархии.
|
||||
- Подскоупы могут иметь собственные модули, "жизненный цикл", Disposable-объекты.
|
||||
- Можно делать вложенность любой глубины для фич, компонентов и т.д.
|
||||
|
||||
## Пример
|
||||
|
||||
```dart
|
||||
final rootScope = CherryPick.openRootScope();
|
||||
rootScope.installModules([AppModule()]);
|
||||
|
||||
// Открыть подскоуп для функции/страницы
|
||||
final userFeatureScope = rootScope.openSubScope('userFeature');
|
||||
userFeatureScope.installModules([UserFeatureModule()]);
|
||||
|
||||
// В userFeatureScope сперва ищет в своей области
|
||||
final userService = userFeatureScope.resolve<UserService>();
|
||||
|
||||
// Если не нашлось — идёт в rootScope
|
||||
final sharedService = userFeatureScope.resolve<SharedService>();
|
||||
|
||||
// Подскоупы можно вкладывать друг в друга сколь угодно глубоко
|
||||
final dialogScope = userFeatureScope.openSubScope('dialog');
|
||||
dialogScope.installModules([DialogModule()]);
|
||||
final dialogManager = dialogScope.resolve<DialogManager>();
|
||||
```
|
||||
|
||||
## Применение
|
||||
|
||||
- Модульная изоляция частей/экранов с собственными зависимостями
|
||||
- Переопределение сервисов для конкретных сценариев/навигации
|
||||
- Управление жизнью и освобождением ресурсов по группам
|
||||
|
||||
**Совет:** Всегда закрывайте подскоупы, когда они больше не нужны, чтобы освободить ресурсы.
|
||||
Reference in New Issue
Block a user