Skip to content

Commit

Permalink
refactor: Рефакторинг архитектуры
Browse files Browse the repository at this point in the history
  • Loading branch information
Stivo182 authored Feb 28, 2025
1 parent 2323944 commit 3db2599
Show file tree
Hide file tree
Showing 18 changed files with 769 additions and 315 deletions.
33 changes: 27 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ src/

## Глобальные локали

Глобальные локали необходимы для автоматического определения пакета ресурсов. Взаимодействие с ними происходит через статичный класс библиотеки `РегиональныеНастройки`.
Глобальные локали необходимы для автоматического определения пакета ресурсов. Взаимодействие с ними происходит через статичный класс библиотеки [Мультиязычность](docs/Мультиязычность.md).

### Текущая локаль

Expand All @@ -151,10 +151,10 @@ src/

``` bsl
// Получение
ТекущаяЛокаль = РегиональныеНастройки.ТекущаяЛокаль();
ТекущаяЛокаль = Мультиязычность.ТекущаяЛокаль();
// Установка
РегиональныеНастройки.УстановитьЛокаль("es_ES");
Мультиязычность.УстановитьЛокаль("es_ES");
```

### Локаль по умолчанию
Expand All @@ -164,10 +164,10 @@ src/

``` bsl
// Получение
ЛокальПоУмолчанию = РегиональныеНастройки.ЛокальПоУмолчанию();
ЛокальПоУмолчанию = Мультиязычность.ЛокальПоУмолчанию();
// Установка
РегиональныеНастройки.УстановитьЛокальПоУмолчанию("es_ES");
Мультиязычность.УстановитьЛокальПоУмолчанию("es_ES");
```

## Встраивание в код приложения
Expand All @@ -193,10 +193,28 @@ src/
ГруппаПакетов = МенеджерРесурсовЛокализации.ПолучитьПакеты("РесурсыКонсольногоПриложения, ОбщиеРесурсы");
```

### Использование пакета по умолчанию

Если в вашем проекте только один пакет для каждой локали, то можно установить использование этого пакета по умолчанию.
Это позволит не обращаться за ресурсами напрямую к пакету, а получать их через статичный класс [Мультиязычность](docs/Мультиязычность.md).
Также при [изменении](docs/Мультиязычность.md#установитьлокаль) локали, пакет по умолчанию будет переключаться на соответствющий язык.

``` bsl
// Использование пакета по умолчанию
Пакет = МенеджерРесурсовЛокализации.ПолучитьПакет("РесурсыКонсольногоПриложения");
Пакет.ИспользоватьПоУмолчанию();
```

### Получение конкретного ресурса

``` bsl
ОписаниеПриложения = Пакет.Получить("ОписаниеПриложения");
// Из пакета или группы пакетов
ОписаниеПриложения = Пакет.ПолучитьРесурс("ОписаниеПриложения");
Сообщение = Пакет.ПолучитьСтроку("Приветствие", "Подставляемый текст");
// Из пакета по умолчанию
ОписаниеПриложения = Мультиязычность.ПолучитьРесурс("ОписаниеПриложения");
Сообщение = Мультиязычность.ПолучитьСтроку("Приветствие", "Подставляемый текст");
```

### Заполнение шаблона
Expand All @@ -219,6 +237,9 @@ src/
|}";
Пакет.ЗаполнитьШаблон(Шаблон);
// Для пакета по умолчанию
Мультиязычность.ЗаполнитьШаблон(Шаблон);
```

Более подробно написано в описании [публичного интерфейса](docs/README.md)
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## Статичные классы (Модули)

- [МенеджерРесурсовЛокализации](МенеджерРесурсовЛокализации.md)
- [РегиональныеНастройки](РегиональныеНастройки.md)
- [Мультиязычность](Мультиязычность.md)

## Классы

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@
## Методы

[ДобавитьПакет](#добавитьпакет) </br>
[Получить](#получить) </br>
[СодержитКлюч](#содержитключ) </br>
[ПолучитьРесурс](#получитьресурс) </br>
[ПолучитьСтроку](#получитьстроку) </br>
[ЗаполнитьШаблон](#заполнитьшаблон) </br>
[УстановитьРодителя](#установитьродителя)
[ИспользоватьПоУмолчанию](#использоватьпоумолчанию)


## ДобавитьПакет
Expand Down Expand Up @@ -56,12 +58,12 @@
Проверяет наличие ресурса по ключу.


## Получить
## ПолучитьРесурс

**Синтаксис:**

```bsl
Получить(<Ключ>)
ПолучитьРесурс(<Ключ>)
```

**Параметры:**
Expand All @@ -79,6 +81,30 @@
Получает значение ресурса по ключу. Возвращает `Неопределено` в случае, если ресурс не найден.


## ПолучитьСтроку

**Синтаксис:**

```bsl
ПолучитьСтроку(<ИмяРесурса>), <ЗначениеПараметра1-ЗначениеПараметра9>)
```

**Параметры:**

| Имя | Тип | Значение по умолчанию | Описание |
| -- | -- | -- | -- |
| **ИмяРесурса** | Строка | | Имя ресурса |
| ЗначениеПараметра1-ЗначениеПараметра9 | Строка | `Неопределено` | Параметры, содержащие произвольные значения, строковые представления которых должны быть подставлены в шаблон |

**Возвращаемое значение:**

Тип: Строка, Неопределено.

**Описание:**

Получает строковое значение ресурса с подставлением параметров по принципу функции `СтрШаблон`. Возвращает `Неопределено` в случае, если ресурс не найден.


## ЗаполнитьШаблон

**Синтаксис:**
Expand All @@ -96,3 +122,16 @@
**Описание:**

Заполняет шаблон ресурсами из пакета заменяя конструкцию `{t(ИмяРесурса)}` на значение ресурса.


## ИспользоватьПоУмолчанию

**Синтаксис:**

```bsl
ИспользоватьПоУмолчанию()
```

**Описание:**

Устанавливает группу пакетов ресурсов по умолчанию.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
| Имя | Тип | Значение по умолчанию | Описание |
| -- | -- | -- | -- |
| **БазовоеИмя** | Строка | | Базовое имя пакета |
| КодЛокализации | Строка | `Неопределено` | Код локализации (ru_RU, en_US, de, nl). Если значение не указано, то используется [текущая локаль](РегиональныеНастройки.md#текущаялокаль). |
| КодЛокализации | Строка | `Неопределено` | Код локализации (ru_RU, en_US, de, nl). Если значение не указано, то используется [текущая локаль](Мультиязычность.md#текущаялокаль). |

**Возвращаемое значение:**

Expand All @@ -47,7 +47,7 @@
| Имя | Тип | Значение по умолчанию | Описание |
| -- | -- | -- | -- |
| **БазовыеИмена** | Строка | | Перечень имен пакетов через запятую |
| КодЛокализации | Строка | `Неопределено` | Код локализации (ru_RU, en_US, de, nl). Если значение не указано, то используется [текущая локаль](РегиональныеНастройки.md#текущаялокаль). |
| КодЛокализации | Строка | `Неопределено` | Код локализации (ru_RU, en_US, de, nl). Если значение не указано, то используется [текущая локаль](Мультиязычность.md#текущаялокаль). |

**Возвращаемое значение:**

Expand Down
Loading

0 comments on commit 3db2599

Please sign in to comment.