@libs-ui/services-translate 0.2.356-42 → 0.2.356-43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,29 +1,70 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @libs-ui/services-translate
|
|
2
2
|
|
|
3
|
-
Dịch vụ
|
|
3
|
+
> Dịch vụ i18n cho Angular — mở rộng `@ngx-translate/core` với MessageFormat, global interpolation và tự động merge chuỗi dịch nội bộ.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
|
|
5
|
+
## Giới thiệu
|
|
6
|
+
|
|
7
|
+
`@libs-ui/services-translate` cung cấp `LibsUiTranslateService` — một lớp kế thừa từ `TranslateService` của `@ngx-translate/core`, tích hợp sẵn `TranslateMessageFormatCompiler` để xử lý cú pháp plural/select phức tạp. Service tự động merge các chuỗi dịch nội bộ của `@libs-ui` vào mọi ngôn ngữ, đồng thời cho phép thiết lập biến nội suy toàn cục áp dụng cho tất cả chuỗi dịch mà không cần truyền thủ công. Ngôn ngữ đang chọn được lưu tự động qua `UtilsCache`.
|
|
8
|
+
|
|
9
|
+
## Tính năng
|
|
10
|
+
|
|
11
|
+
- ✅ Kế thừa toàn bộ API của `TranslateService` — inject và dùng như bình thường
|
|
12
|
+
- ✅ Hỗ trợ cú pháp **MessageFormat** — xử lý `plural`, `select`, `ordinal`
|
|
13
|
+
- ✅ **Global interpolation** — thiết lập biến dùng chung cho toàn bộ chuỗi dịch (tên thương hiệu, hotline, ...)
|
|
14
|
+
- ✅ Tự động merge chuỗi dịch nội bộ `@libs-ui` (hơn 100 key dùng cho các component UI)
|
|
15
|
+
- ✅ Load file JSON qua HTTP với `TranslateHttpLoader` (đường dẫn tùy chỉnh)
|
|
16
|
+
- ✅ Inject translation trực tiếp từ object (không cần file `.json`)
|
|
17
|
+
- ✅ Lưu ngôn ngữ hiện tại vào `UtilsCache` (localStorage) khi gọi `use()`
|
|
18
|
+
- ✅ Hỗ trợ hai ngôn ngữ: `'vi'` (Tiếng Việt) và `'en'` (English)
|
|
19
|
+
- ✅ Safe fallback — `instant()` và `get()` trả về key gốc nếu key rỗng/undefined
|
|
20
|
+
|
|
21
|
+
## Khi nào sử dụng
|
|
22
|
+
|
|
23
|
+
- Ứng dụng cần hỗ trợ đa ngôn ngữ và chuyển đổi ngôn ngữ tại runtime
|
|
24
|
+
- Cần xử lý số ít/số nhiều (plural) hoặc chọn chuỗi theo giá trị (select) với cú pháp MessageFormat
|
|
25
|
+
- Cần thiết lập biến toàn cục (tên thương hiệu, hotline, đơn vị tiền tệ) tự động xuất hiện trong mọi chuỗi dịch
|
|
26
|
+
- Lib hoặc shared module cần inject chuỗi dịch từ code (object) thay vì phụ thuộc file JSON của từng app
|
|
27
|
+
- Muốn các component `@libs-ui` hiển thị đúng ngôn ngữ mà không cần cấu hình thêm
|
|
9
28
|
|
|
10
29
|
## Cài đặt
|
|
11
30
|
|
|
31
|
+
```bash
|
|
32
|
+
npm install @libs-ui/services-translate
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Import
|
|
36
|
+
|
|
12
37
|
```typescript
|
|
13
|
-
//
|
|
38
|
+
// Cấu hình providers (bắt buộc)
|
|
39
|
+
import { getConfigTranslate } from '@libs-ui/services-translate';
|
|
40
|
+
|
|
41
|
+
// Thiết lập biến nội suy toàn cục (tùy chọn)
|
|
42
|
+
import { setInterpolateParamDefault, getInterpolateParamDefault } from '@libs-ui/services-translate';
|
|
43
|
+
|
|
44
|
+
// Sử dụng trong component (inject qua @ngx-translate/core như bình thường)
|
|
45
|
+
import { TranslateService, TranslateModule } from '@ngx-translate/core';
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Ví dụ sử dụng
|
|
49
|
+
|
|
50
|
+
### 1. Cấu hình providers trong `app.config.ts`
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
import { ApplicationConfig } from '@angular/core';
|
|
54
|
+
import { provideRouter } from '@angular/router';
|
|
14
55
|
import { getConfigTranslate } from '@libs-ui/services-translate';
|
|
15
56
|
|
|
16
57
|
export const appConfig: ApplicationConfig = {
|
|
17
58
|
providers: [
|
|
18
|
-
|
|
19
|
-
|
|
59
|
+
provideRouter(appRoutes),
|
|
60
|
+
|
|
61
|
+
// Load từ /i18n/*.json (mặc định)
|
|
62
|
+
getConfigTranslate(),
|
|
20
63
|
],
|
|
21
64
|
};
|
|
22
65
|
```
|
|
23
66
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
Đặt các file JSON tại `public/i18n/` (hoặc đường dẫn tùy chỉnh truyền vào `getConfigTranslate`):
|
|
67
|
+
Cấu trúc thư mục file dịch mặc định (đặt trong `public/`):
|
|
27
68
|
|
|
28
69
|
```
|
|
29
70
|
public/
|
|
@@ -32,107 +73,241 @@ public/
|
|
|
32
73
|
└── en.json
|
|
33
74
|
```
|
|
34
75
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
```json
|
|
38
|
-
{
|
|
39
|
-
"i18n_hello": "Xin chào",
|
|
40
|
-
"i18n_greeting": "Xin chào, {name}!",
|
|
41
|
-
"i18n_item_count": "{value} {value,plural, =0 {mục} =1 {mục} other {mục}}"
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Inject translation từ Object (không cần file .json)
|
|
46
|
-
|
|
47
|
-
Phù hợp khi muốn đặt translation trực tiếp trong code (ví dụ: cho các key của thư viện dùng chung):
|
|
76
|
+
### 2. Cấu hình đường dẫn tùy chỉnh
|
|
48
77
|
|
|
49
78
|
```typescript
|
|
50
|
-
import {
|
|
79
|
+
import { ApplicationConfig } from '@angular/core';
|
|
80
|
+
import { getConfigTranslate } from '@libs-ui/services-translate';
|
|
51
81
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
82
|
+
export const appConfig: ApplicationConfig = {
|
|
83
|
+
providers: [
|
|
84
|
+
// Load từ /assets/translations/*.json
|
|
85
|
+
getConfigTranslate('/assets/translations/'),
|
|
86
|
+
],
|
|
87
|
+
};
|
|
88
|
+
```
|
|
57
89
|
|
|
58
|
-
|
|
59
|
-
i18n_welcome: 'Welcome to the system',
|
|
60
|
-
i18n_role: 'Role: {role}',
|
|
61
|
-
}, true);
|
|
90
|
+
### 3. Khởi tạo ngôn ngữ và inject translation từ object
|
|
62
91
|
|
|
63
|
-
|
|
92
|
+
```typescript
|
|
93
|
+
import { Component, inject, OnInit } from '@angular/core';
|
|
94
|
+
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
95
|
+
|
|
96
|
+
@Component({
|
|
97
|
+
selector: 'app-root',
|
|
98
|
+
standalone: true,
|
|
99
|
+
imports: [TranslateModule],
|
|
100
|
+
template: `
|
|
101
|
+
<span>{{ 'i18n_search' | translate }}</span>
|
|
102
|
+
<span>{{ 'i18n_greeting' | translate: { name: 'Admin' } }}</span>
|
|
103
|
+
`,
|
|
104
|
+
})
|
|
105
|
+
export class AppComponent implements OnInit {
|
|
106
|
+
private readonly translate = inject(TranslateService);
|
|
107
|
+
|
|
108
|
+
ngOnInit(): void {
|
|
109
|
+
// Inject translation từ object (không cần file .json)
|
|
110
|
+
this.translate.setTranslation('vi', {
|
|
111
|
+
i18n_greeting: 'Xin chào, {name}!',
|
|
112
|
+
i18n_welcome: 'Chào mừng đến với hệ thống',
|
|
113
|
+
}, true); // true = merge, không ghi đè key có sẵn
|
|
114
|
+
|
|
115
|
+
this.translate.setTranslation('en', {
|
|
116
|
+
i18n_greeting: 'Hello, {name}!',
|
|
117
|
+
i18n_welcome: 'Welcome to the system',
|
|
118
|
+
}, true);
|
|
119
|
+
|
|
120
|
+
// Đặt ngôn ngữ mặc định
|
|
121
|
+
this.translate.use('vi');
|
|
122
|
+
}
|
|
64
123
|
}
|
|
65
124
|
```
|
|
66
125
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
```html
|
|
70
|
-
<!-- Dùng pipe -->
|
|
71
|
-
<span>{{ 'i18n_search' | translate }}</span>
|
|
72
|
-
|
|
73
|
-
<!-- Có interpolation params -->
|
|
74
|
-
<span>{{ 'i18n_greeting' | translate: { name: 'Admin' } }}</span>
|
|
126
|
+
### 4. Chuyển đổi ngôn ngữ runtime
|
|
75
127
|
|
|
76
|
-
|
|
77
|
-
|
|
128
|
+
```typescript
|
|
129
|
+
import { Component, inject } from '@angular/core';
|
|
130
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
131
|
+
import { TYPE_LANGUAGE_SUPPORT } from '@libs-ui/interfaces-types';
|
|
132
|
+
|
|
133
|
+
@Component({
|
|
134
|
+
selector: 'app-language-switcher',
|
|
135
|
+
standalone: true,
|
|
136
|
+
template: `
|
|
137
|
+
<button (click)="handlerSwitchLang('vi')">Tiếng Việt</button>
|
|
138
|
+
<button (click)="handlerSwitchLang('en')">English</button>
|
|
139
|
+
`,
|
|
140
|
+
})
|
|
141
|
+
export class LanguageSwitcherComponent {
|
|
142
|
+
private readonly translate = inject(TranslateService);
|
|
143
|
+
|
|
144
|
+
handlerSwitchLang(event: Event, lang: TYPE_LANGUAGE_SUPPORT): void {
|
|
145
|
+
event.stopPropagation();
|
|
146
|
+
this.translate.use(lang);
|
|
147
|
+
// Ngôn ngữ được tự động lưu vào UtilsCache (localStorage)
|
|
148
|
+
}
|
|
149
|
+
}
|
|
78
150
|
```
|
|
79
151
|
|
|
80
|
-
|
|
152
|
+
### 5. Dùng `instant()` và `get()` trong TypeScript
|
|
81
153
|
|
|
82
154
|
```typescript
|
|
155
|
+
import { Component, inject } from '@angular/core';
|
|
83
156
|
import { TranslateService } from '@ngx-translate/core';
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
157
|
+
import { DestroyRef } from '@angular/core';
|
|
158
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
159
|
+
|
|
160
|
+
@Component({
|
|
161
|
+
selector: 'app-notification',
|
|
162
|
+
standalone: true,
|
|
163
|
+
template: '',
|
|
164
|
+
})
|
|
165
|
+
export class NotificationComponent {
|
|
166
|
+
private readonly translate = inject(TranslateService);
|
|
167
|
+
private readonly destroyRef = inject(DestroyRef);
|
|
168
|
+
|
|
169
|
+
// Đồng bộ (sync) — dùng khi translations đã được load xong
|
|
170
|
+
getLabel(): string {
|
|
171
|
+
return this.translate.instant('i18n_save');
|
|
172
|
+
// Kết quả: 'Lưu' (vi) hoặc 'Save' (en)
|
|
91
173
|
}
|
|
92
174
|
|
|
93
|
-
//
|
|
94
|
-
|
|
175
|
+
// Với interpolation params
|
|
176
|
+
getErrorMessage(maxLength: number): string {
|
|
177
|
+
return this.translate.instant('i18n_message_error_input_max_length', { number: maxLength });
|
|
178
|
+
// Kết quả: 'Độ dài tối đa 100 kí tự'
|
|
179
|
+
}
|
|
95
180
|
|
|
96
|
-
//
|
|
97
|
-
|
|
98
|
-
this.translate.
|
|
181
|
+
// Bất đồng bộ (async) — tự động cập nhật khi đổi ngôn ngữ
|
|
182
|
+
getReactiveLabel(): void {
|
|
183
|
+
this.translate.get('i18n_search')
|
|
184
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
185
|
+
.subscribe((label: string) => {
|
|
186
|
+
console.log(label);
|
|
187
|
+
});
|
|
99
188
|
}
|
|
100
189
|
}
|
|
101
190
|
```
|
|
102
191
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
Dùng để inject biến dùng chung (tên thương hiệu, hotline...) vào **tất cả** chuỗi dịch:
|
|
192
|
+
### 6. Global Interpolation — biến dùng chung cho toàn bộ chuỗi dịch
|
|
106
193
|
|
|
107
194
|
```typescript
|
|
195
|
+
// app.component.ts hoặc main.ts
|
|
108
196
|
import { setInterpolateParamDefault } from '@libs-ui/services-translate';
|
|
109
197
|
|
|
110
|
-
//
|
|
198
|
+
// Đặt một lần — áp dụng tự động cho TẤT CẢ chuỗi dịch
|
|
111
199
|
setInterpolateParamDefault({
|
|
112
|
-
brand: '
|
|
200
|
+
brand: 'Mobio CRM',
|
|
113
201
|
hotline: '1900 1234',
|
|
202
|
+
currency: 'VNĐ',
|
|
114
203
|
});
|
|
115
204
|
```
|
|
116
205
|
|
|
117
|
-
Trong file dịch:
|
|
206
|
+
Trong file dịch JSON, dùng biến global trực tiếp:
|
|
118
207
|
|
|
119
208
|
```json
|
|
120
209
|
{
|
|
121
|
-
"
|
|
210
|
+
"i18n_contact_us": "Liên hệ {brand} qua hotline {hotline}",
|
|
211
|
+
"i18n_price_unit": "Đơn vị: {currency}"
|
|
122
212
|
}
|
|
123
213
|
```
|
|
124
214
|
|
|
125
|
-
|
|
215
|
+
Trong template — không cần truyền params:
|
|
126
216
|
|
|
127
|
-
|
|
217
|
+
```html
|
|
218
|
+
<span>{{ 'i18n_contact_us' | translate }}</span>
|
|
219
|
+
<!-- Kết quả: "Liên hệ Mobio CRM qua hotline 1900 1234" -->
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### 7. MessageFormat — Plural và Select
|
|
223
|
+
|
|
224
|
+
File dịch `vi.json`:
|
|
128
225
|
|
|
129
226
|
```json
|
|
130
227
|
{
|
|
131
|
-
"
|
|
132
|
-
"
|
|
228
|
+
"i18n_user_count": "Có {value} {value,plural, =0 {người dùng} =1 {người dùng} other {người dùng}}",
|
|
229
|
+
"i18n_status_display": "Trạng thái: {status,select, active {Đang hoạt động} inactive {Không hoạt động} other {Không xác định}}"
|
|
133
230
|
}
|
|
134
231
|
```
|
|
135
232
|
|
|
233
|
+
File dịch `en.json`:
|
|
234
|
+
|
|
235
|
+
```json
|
|
236
|
+
{
|
|
237
|
+
"i18n_user_count": "{value} {value,plural, =0 {user} =1 {user} other {users}} total",
|
|
238
|
+
"i18n_status_display": "Status: {status,select, active {Active} inactive {Inactive} other {Unknown}}"
|
|
239
|
+
}
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Trong template:
|
|
243
|
+
|
|
244
|
+
```html
|
|
245
|
+
<!-- Plural -->
|
|
246
|
+
<span>{{ 'i18n_user_count' | translate: { value: 5 } }}</span>
|
|
247
|
+
<!-- Kết quả (vi): "Có 5 người dùng" -->
|
|
248
|
+
|
|
249
|
+
<!-- Select -->
|
|
250
|
+
<span>{{ 'i18n_status_display' | translate: { status: 'active' } }}</span>
|
|
251
|
+
<!-- Kết quả (vi): "Trạng thái: Đang hoạt động" -->
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
## Methods
|
|
255
|
+
|
|
256
|
+
| Method | Signature | Mô tả |
|
|
257
|
+
|---|---|---|
|
|
258
|
+
| `getConfigTranslate` | `(linkFileI18n?: string) => Provider[]` | Trả về mảng providers để cấu hình i18n toàn app. `linkFileI18n` là đường dẫn thư mục chứa file dịch (mặc định `/i18n/`). |
|
|
259
|
+
| `setInterpolateParamDefault` | `(interpolate: Record<string, string>) => void` | Thiết lập biến nội suy toàn cục áp dụng tự động cho mọi chuỗi dịch khi gọi `instant()`, `get()`, `getParsedResult()`. |
|
|
260
|
+
| `getInterpolateParamDefault` | `() => Record<string, string>` | Lấy giá trị biến nội suy toàn cục hiện tại. |
|
|
261
|
+
| `instant` | `(key: string \| string[], params?) => string \| any` | Dịch đồng bộ. Trả về `key` nếu key rỗng (thay vì throw lỗi). Tự động merge `interpolateParamDefault`. |
|
|
262
|
+
| `get` | `(key: string \| string[], params?) => Observable<string \| any>` | Dịch bất đồng bộ, tự cập nhật khi đổi ngôn ngữ. Trả về `of(key)` nếu key rỗng. |
|
|
263
|
+
| `use` | `(lang: TYPE_LANGUAGE_SUPPORT) => Observable<any>` | Chuyển ngôn ngữ, tự động merge chuỗi dịch nội bộ `@libs-ui` và lưu vào `UtilsCache`. |
|
|
264
|
+
|
|
265
|
+
## Types
|
|
266
|
+
|
|
267
|
+
```typescript
|
|
268
|
+
import { TYPE_LANGUAGE_SUPPORT } from '@libs-ui/interfaces-types';
|
|
269
|
+
// TYPE_LANGUAGE_SUPPORT = 'vi' | 'en'
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
`TranslateProviderConfig` — DI token config, được xuất để sử dụng khi cần override provider thủ công:
|
|
273
|
+
|
|
274
|
+
```typescript
|
|
275
|
+
import { TranslateProviderConfig } from '@libs-ui/services-translate';
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Chuỗi dịch nội bộ @libs-ui
|
|
279
|
+
|
|
280
|
+
`LibsUiTranslateService` tự động merge hơn 100 key i18n nội bộ dành cho các component `@libs-ui` (bảng phân trang, upload file, date picker, rich text editor, ...). Các key này được inject khi gọi `use()` và chỉ điền vào nếu app chưa có sẵn key đó (merge, không ghi đè).
|
|
281
|
+
|
|
282
|
+
Một số key tiêu biểu:
|
|
283
|
+
|
|
284
|
+
| Key | vi | en |
|
|
285
|
+
|---|---|---|
|
|
286
|
+
| `i18n_search` | Tìm kiếm | Search |
|
|
287
|
+
| `i18n_save` | Lưu | Save |
|
|
288
|
+
| `i18n_cancel` | Hủy bỏ | Cancel |
|
|
289
|
+
| `i18n_no_data` | Không có dữ liệu | No data |
|
|
290
|
+
| `i18n_add_new` | Thêm mới | Add new |
|
|
291
|
+
| `i18n_delete` | Xoá | Delete |
|
|
292
|
+
| `i18n_valid_empty_message` | Trường thông tin không được phép để trống | This field is required |
|
|
293
|
+
| `i18n_no_result` | Không có kết quả | No result |
|
|
294
|
+
|
|
295
|
+
## Lưu ý quan trọng
|
|
296
|
+
|
|
297
|
+
⚠️ **Gọi `getConfigTranslate()` trong `app.config.ts`**: Bắt buộc cấu hình provider ở cấp app root. KHÔNG gọi trong `@NgModule` hay lazy feature module.
|
|
298
|
+
|
|
299
|
+
⚠️ **`setInterpolateParamDefault()` phải gọi trước `use()`**: Biến global chỉ có hiệu lực với các lần dịch sau khi được thiết lập. Nên gọi trong `AppComponent.ngOnInit()` hoặc `main.ts`.
|
|
300
|
+
|
|
301
|
+
⚠️ **`instant()` chỉ hoạt động sau khi translations đã load**: Nếu gọi quá sớm (trước khi file JSON load xong), `instant()` trả về key gốc. Dùng `get()` (Observable) để đảm bảo luôn có giá trị đúng.
|
|
302
|
+
|
|
303
|
+
⚠️ **Không cần inject `LibsUiTranslateService` trực tiếp**: Service được cung cấp qua DI token của `TranslateService`. Inject bình thường bằng `inject(TranslateService)` — Angular sẽ resolve ra `LibsUiTranslateService`.
|
|
304
|
+
|
|
305
|
+
⚠️ **`setTranslation(lang, data, true)` — tham số `true` bắt buộc khi merge**: Không truyền `true` sẽ ghi đè toàn bộ translations đã có cho ngôn ngữ đó, bao gồm cả các key nội bộ của `@libs-ui`.
|
|
306
|
+
|
|
136
307
|
## Demo
|
|
137
308
|
|
|
138
|
-
|
|
309
|
+
```bash
|
|
310
|
+
npx nx serve core-ui
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
Truy cập: [http://localhost:4500/services/translate](http://localhost:4500/services/translate)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
|
|
2
|
-
import { TranslateService,
|
|
2
|
+
import { TranslateService, TranslateLoader, TranslateCompiler, TranslateStore, TranslateParser, MissingTranslationHandler, TranslateModule } from '@ngx-translate/core';
|
|
3
3
|
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
|
|
4
4
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
5
5
|
import { importProvidersFrom, signal } from '@angular/core';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libs-ui-services-translate.mjs","sources":["../../../../../libs-ui/services/translate/src/data-translation.ts","../../../../../libs-ui/services/translate/src/translate.service.ts","../../../../../libs-ui/services/translate/src/config-translate.ts","../../../../../libs-ui/services/translate/src/libs-ui-services-translate.ts"],"sourcesContent":["export const dataTranslation = () => {\n return {\n vi: {\n i18n_select_information: 'Chọn thông tin',\n i18n_go_to: 'Đi tới',\n i18n_value_sum_page: 'Tổng {value} trang',\n i18n_message_error_input_max_length: 'Độ dài tối đa {{number}} kí tự',\n i18n_message_error_input_min_length: 'Độ dài tối thiểu {{number}} kí tự',\n i18n_preview: 'Xem trước',\n i18n_file_size_compare_when_resize: '{current_size} (ban đầu: {original_size})',\n i18n_size_photo: 'Kích thước ảnh',\n i18n_ratio_size: 'Tỷ lệ size',\n i18n_resize: 'Resize',\n i18n_horizontal_flip: 'Lật ngang',\n i18n_vertical_flip: 'Lật dọc',\n i18n_rotate_ninety_degrees: 'Xoay 90°',\n i18n_rotate_photos: 'Xoay ảnh',\n i18n_width: 'Chiều rộng',\n i18n_length: 'Chiều dài',\n i18n_custom: 'Tuỳ chỉnh',\n i18n_restore_the_original_state: 'Khôi phục trạng thái ban đầu',\n i18n_cutting_ratio: 'Tỉ lệ cắt',\n i18n_exit_edit_mode: 'Thoát chế độ sửa',\n i18n_save_to_new_file: 'Lưu thành file mới',\n i18n_edit_file_name: 'Sửa {file_name}',\n i18n_file_size_exceeds_the_allowed_limit: 'Dung lượng file vượt quá giới hạn cho phép',\n i18n_the_file_support_format_is_not_correct: 'File không đúng định dạng hỗ trợ',\n i18n_invalid_file_upload: 'File tải lên không hợp lệ',\n i18n_file_number_exceeds_the_allowed_limit_please_delete_the_file: 'Bạn chỉ được phép chọn tối đa {value} files trong một lần tải lên. Vui lòng xoá bớt file.',\n i18n_size_not_number_mb: 'Dung lượng không vượt quá {number}MB.',\n i18n_edit: 'Sửa',\n i18n_choose_as_your_avatar: 'Chọn làm ảnh đại diện',\n i18n_avatar: 'Ảnh đại diện',\n i18n_note_upload_file_volume: 'Định dạng .doc, .docx, .xls, .xlsx, .ppt, .pptx, .pdf. Dung lượng mỗi file tối đa {value}.',\n i18n_note_upload_video_volume: 'Định dạng .mp4, .mov, .mpg, .avi, .wmv. Dung lượng mỗi file tối đa {value}.',\n i18n_note_upload_image_volume: 'Định dạng .gif, .jpg, .jpeg, .png. Dung lượng mỗi file tối đa {value}.',\n i18n_note_upload_audio_volume: 'Định dạng .mp3, .wav, .ogg, .aac, .m4a, .flac, .wma. Dung lượng mỗi file tối đa {value}.',\n i18n_drag_file_here_to_upload_or_select_file: 'Kéo file vào đây để tải lên hoặc <span>Chọn file</span>',\n i18n_back_to_list: 'Quay lại danh sách',\n i18n_4x_other_operations: 'Thao tác khác',\n i18n_add_currency: 'Thêm tiền tệ',\n i18n_add_language: 'Thêm ngôn ngữ',\n i18n_unselect_option: 'Bỏ giá trị đang chọn',\n i18n_notification_manipulation_not_success: 'Thao tác không thành công.',\n i18n_all: 'Tất cả',\n i18n_have_no_selection: 'Chưa có lựa chọn nào trong danh sách',\n i18n_more_select: 'Chọn thêm',\n i18n_no_result: 'Không có kết quả',\n i18n_alert_connect_server_error: 'Có lỗi trong quá trình kết nối đến server.',\n i18n_valid_duplicate_msg: 'Trường thông tin không được phép trùng nhau',\n i18n_select: 'Chọn',\n i18n_date_compare_start_end_message_error: 'Thời gian kết thúc phải sau thời gian bắt đầu',\n i18n_invalid_end_date_selected: 'Thời gian kết thúc phải lớn hơn thời gian bắt đầu.',\n i18n_no_data: 'Không có dữ liệu',\n i18n_upload_image: 'Tải ảnh lên',\n i18n_content: 'Nội dung',\n i18n_save: 'Lưu',\n i18n_image: 'Hình ảnh',\n i18n_unlink: 'Hủy liên kết',\n i18n_insert_link: 'Chèn liên kết',\n i18n_quote: 'Trích dẫn',\n i18n_list_numbered: 'Đánh số đầu dòng',\n i18n_list_bulleted: 'Đánh dấu đầu dòng',\n i18n_indent_decrease: 'Giảm thụt lề',\n i18n_indent_increase: 'Tăng thụt lề',\n i18n_adjust: 'Căn chỉnh',\n i18n_text_decoration_underline: 'Gạch chân',\n i18n_text_line_through: 'Gạch ngang',\n i18n_font_style_italic: 'In nghiêng',\n i18n_font_weight_bold: 'In đậm',\n i18n_background_color: 'Màu nền',\n i18n_text_color: 'Màu chữ',\n i18n_redo: 'Làm lại thay đổi',\n i18n_undo: 'Hoàn tác',\n i18n_text_emoji: 'Emoji',\n i18n_collapse: 'Thu gọn',\n i18n_total_quantity: \"<span class='text-[#9ca2ad] libs-ui-font-h5s'>Số lượng: </span> <span class='libs-ui-font-h5s'>{value}</span>\",\n i18n_number_item_selected: '{value} {value, plural, =0 {item} =1 {item} other {items} } selected',\n i18n_character: 'Ký tự',\n i18n_search: 'Tìm kiếm',\n i18n_color_custom: 'Màu tuỳ chỉnh',\n i18n_add_new: 'Thêm mới',\n i18n_cancel: 'Hủy bỏ',\n i18n_apply: 'Áp dụng',\n i18n_copy_successfully: 'Sao chép thành công',\n i18n_restore: 'Khôi phục',\n i18n_zoom_in: 'Phóng to',\n i18n_zoom_out: 'Thu nhỏ',\n i18n_action_view_full_screen: 'Xem toàn màn hình',\n i18n_action_exit_full_screen: 'Thoát khỏi chế độ toàn màn hình',\n i18n_agree: 'Đồng ý',\n i18n_view_more: 'Xem thêm',\n i18n_delete: 'Xoá',\n i18n_select_value: 'Chọn giá trị',\n i18n_selecting_options: 'Đang chọn {value} lựa chọn',\n i18n_select_all_searched_results: 'Chọn tất cả kết quả',\n i18n_unselect_all_searched_results: 'Bỏ chọn tất cả kết quả',\n i18n_import_content: 'Nhập nội dung',\n i18n_valid_empty_message: 'Trường thông tin không được phép để trống',\n i18n_valid_pattern_message: 'Trường thông tin không đúng định dạng',\n i18n_message_error_input_max_value: 'Giá trị tối đa là { value }',\n i18n_message_error_input_min_value: 'Giá trị tối thiểu là { value }',\n i18n_show: 'Hiện',\n i18n_hidden: 'Ẩn',\n i18n_password_is_required: 'Mật khẩu không được phép để trống.', // NOSONAR\n i18n_password_min_length: 'Mật khẩu không được phép ít hơn {length} kí tự.', // NOSONAR\n i18n_minimum_length_number: 'Độ dài tối thiểu {number} kí tự',\n i18n_maximum_length_number: 'Độ dài tối đa {number} kí tự',\n i18n_contains_all_types_of_characters_below: 'Chứa tất cả các loại kí tự dưới đây:',\n i18n_contains_number_types_of_characters_below: 'Chứa ít nhất {number} trong số các loại kí tự dưới đây:',\n i18n_uppercase_minimum: 'In hoa: tối thiểu {number} kí tự',\n i18n_lowercase_minimum: 'In thường: tối thiểu {number} kí tự',\n i18n_number_minimum: 'Số: tối thiểu {number} kí tự',\n i18n_symbol_minimum: 'Kí tự đặc biệt: tối thiểu {number} kí tự',\n i18n_no_data_yet: 'Chưa có dữ liệu',\n i18n_no_results: 'Chưa có kết quả',\n i18n_january: 'Tháng 1{year}',\n i18n_february: 'Tháng 2{year}',\n i18n_march: 'Tháng 3{year}',\n i18n_april: 'Tháng 4{year}',\n i18n_may: 'Tháng 5{year}',\n i18n_june: 'Tháng 6{year}',\n i18n_july: 'Tháng 7{year}',\n i18n_august: 'Tháng 8{year}',\n i18n_september: 'Tháng 9{year}',\n i18n_october: 'Tháng 10{year}',\n i18n_november: 'Tháng 11{year}',\n i18n_december: 'Tháng 12{year}',\n i18n_enter_value: 'Nhập giá trị',\n i18n_select_day: 'Chọn ngày',\n i18n_select_month: 'Chọn tháng',\n i18n_select_year: 'Chọn năm',\n i18n_select_quarter: 'Chọn quý',\n i18n_day_param: 'Ngày { day }',\n i18n_year_param: 'Năm { year }',\n i18n_quarter: 'Quý {quarter}',\n i18n_label_from: 'Từ',\n i18n_to: 'đến',\n i18n_select_field: 'Chọn field',\n i18n_enter_params: 'Nhập tham số',\n i18n_save_calculation: 'Lưu phép tính',\n i18n_field_error: 'Lỗi trường thông tin',\n i18n_table: 'Bảng',\n i18n_add_new_column_left: 'Thêm cột bên trái',\n i18n_add_new_column_right: 'Thêm cột bên phải',\n i18n_add_new_row_above: 'Thêm hàng bên trên',\n i18n_add_new_row_below: 'Thêm hàng bên dưới',\n i18n_merge_cells: 'Gộp ô',\n i18n_split_cells: 'Tách ô',\n i18n_delete_row: 'Xóa hàng',\n i18n_delete_column: 'Xóa cột',\n i18n_delete_table: 'Xóa bảng',\n i18n_select_cell: 'Chọn kích thước (hàng × cột)',\n i18n_script_sub: 'Chỉ số dưới',\n i18n_script_super: 'Chỉ số trên',\n i18n_video: 'Video',\n i18n_list_checked: 'Danh sách đánh dấu',\n i18n_keep_alt_key_to_change_the_ratio_when_changing_the_size: 'Giữ phím alt để thay đổi tỉ lệ khi thay đổi kích thước',\n i18n_press_enter_to_confirm: 'Nhấn phím Enter để xác nhận',\n i18n_left_align: 'Căn trái',\n i18n_right_align: 'Căn phải',\n i18n_center_align: 'Căn giữa',\n i18n_restore_to_default: 'Khôi phục',\n i18n_copy: 'Sao chép',\n i18n_copied: 'Đã sao chép',\n i18n_line_wrap: 'Xuống dòng',\n i18n_remove_line_wrap: 'Bỏ xuống dòng',\n i18n_pls_enter_info_results_will_show_here: 'Vui lòng nhập thông tin. Kết quả sẽ được hiển thị tại đây.',\n },\n en: {\n i18n_select_information: 'Select information',\n i18n_go_to: 'Jump to page',\n i18n_value_sum_page: '{value} {value, plural, =0 {page} =1 {page} other {pages} } in total',\n i18n_message_error_input_max_length: 'Maximum length {{number}} characters',\n i18n_message_error_input_min_length: 'Minimum length {{number}} characters',\n i18n_preview: 'Preview',\n i18n_file_size_compare_when_resize: '{current_size} (Original: {original_size})',\n i18n_size_photo: 'Photo size',\n i18n_ratio_size: 'Ratio',\n i18n_resize: 'Resize',\n i18n_horizontal_flip: 'Horizontal Flip',\n i18n_vertical_flip: 'Vertical Flip',\n i18n_rotate_ninety_degrees: 'Rotate 90 degrees',\n i18n_rotate_photos: 'Rotate',\n i18n_width: 'Width',\n i18n_length: 'Length',\n i18n_custom: 'Custom',\n i18n_restore_the_original_state: 'Reset',\n i18n_cutting_ratio: 'Aspect Ratio',\n i18n_exit_edit_mode: 'Exit edit mode',\n i18n_save_to_new_file: 'Save as new file',\n i18n_edit_file_name: 'Edit {file_name}',\n i18n_file_size_exceeds_the_allowed_limit: 'The import file is too large to upload',\n i18n_the_file_support_format_is_not_correct: 'This file type is not allowed',\n i18n_invalid_file_upload: 'Invalid file format',\n i18n_file_number_exceeds_the_allowed_limit_please_delete_the_file: 'You can only upload a maximum of {value} files. Please delete and try again.',\n i18n_size_not_number_mb: 'Maximum size is {number}MB.',\n i18n_edit: 'Edit',\n i18n_choose_as_your_avatar: 'Choose your avatar',\n i18n_avatar: 'Avatar',\n i18n_note_upload_file_volume: 'Format: .doc, .docx, .xls, .xlsx, .ppt, .pptx, .pdf. Max size for each file: {value}.',\n i18n_note_upload_video_volume: 'Format: .mp4, .mov, .mpg, .avi, .wmv. Max size for each file: {value}.',\n i18n_note_upload_image_volume: 'Format: .gif, .jpg, .jpeg, .png. Max size for each file: {value}.',\n i18n_note_upload_audio_volume: 'Format: .mp3, .wav, .ogg, .aac, .m4a, .flac, .wma. Max size for each file: {value}.',\n i18n_drag_file_here_to_upload_or_select_file: 'Drag and drop or <span>Choose a file<span> to upload',\n i18n_back_to_list: 'Back to list',\n i18n_4x_other_operations: 'Other',\n i18n_add_currency: 'Add currency',\n i18n_add_language: 'Add language',\n i18n_unselect_option: 'Remove the selected value',\n i18n_notification_manipulation_not_success: 'Unsuccessful',\n i18n_all: 'All',\n i18n_have_no_selection: 'There are no options in the list.',\n i18n_more_select: 'Select more',\n i18n_no_result: 'No result',\n i18n_alert_connect_server_error: 'Cannot connect to Server.',\n i18n_valid_duplicate_msg: 'Fields cannot be duplicated',\n i18n_select: 'Select',\n i18n_date_compare_start_end_message_error: 'The end time must be greater than the start time.',\n i18n_invalid_end_date_selected: 'The end time must be greater than the start time.',\n i18n_no_data: 'No data',\n i18n_upload_image: 'Upload image',\n i18n_content: 'Content',\n i18n_save: 'Save',\n i18n_image: 'Photo',\n i18n_unlink: 'Unlink',\n i18n_insert_link: 'Insert link',\n i18n_quote: 'Quote',\n i18n_list_numbered: 'Numbered list',\n i18n_list_bulleted: 'Bullet',\n i18n_indent_decrease: 'Decrease indent',\n i18n_indent_increase: 'Increase indent',\n i18n_adjust: 'Alignment',\n i18n_text_decoration_underline: 'Underline',\n i18n_text_line_through: 'Strikethrough',\n i18n_font_style_italic: 'Italic',\n i18n_font_weight_bold: 'Bold',\n i18n_background_color: 'background color',\n i18n_text_color: 'Text color',\n i18n_redo: 'Redo',\n i18n_undo: 'Undo',\n i18n_text_emoji: 'Emoji',\n i18n_collapse: 'Collapse',\n i18n_total_quantity: \"<span class='text-[#9ca2ad] libs-ui-font-h5s'>Total: </span> <span class='libs-ui-font-h5s'>{value}</span>\",\n i18n_number_item_selected: '{value} item được chọn',\n i18n_character: 'character',\n i18n_search: 'Search',\n i18n_color_custom: 'Custom theme color',\n i18n_add_new: 'Add new',\n i18n_cancel: 'Cancel',\n i18n_apply: 'Apply',\n i18n_copy_successfully: 'Copied',\n i18n_restore: 'Recover',\n i18n_zoom_in: 'Zoom in',\n i18n_zoom_out: 'Zoom out',\n i18n_action_view_full_screen: 'View full screen',\n i18n_action_exit_full_screen: 'Exit full screen mode',\n i18n_agree: 'Agree',\n i18n_view_more: 'See more',\n i18n_delete: 'Delete',\n i18n_select_value: 'Select value',\n i18n_selecting_options: 'Selecting {value} {value, plural, =1 {selection} other {selections} }',\n i18n_select_all_searched_results: 'Select all results',\n i18n_unselect_all_searched_results: 'Deselect all results',\n i18n_import_content: 'Enter value',\n i18n_valid_empty_message: 'This field is required',\n i18n_valid_pattern_message: 'The information field is not in the correct format',\n i18n_message_error_input_max_value: 'Maximum value is { value }',\n i18n_message_error_input_min_value: 'Minimum value is { value }',\n i18n_show: 'Show',\n i18n_hidden: 'Hide',\n i18n_password_is_required: 'Password is required.',\n i18n_password_min_length: 'Passwords cannot be less than {length} characters.',\n i18n_minimum_length_number: 'Minimum length {number} characters',\n i18n_maximum_length_number: 'Maximum length {number} characters',\n i18n_contains_all_types_of_characters_below: 'Contains all of the following character types:',\n i18n_contains_number_types_of_characters_below: 'Contains at least {number} of the following character types:',\n i18n_uppercase_minimum: 'Uppercase: at least {number} characters',\n i18n_lowercase_minimum: 'Lowercase: at least {number} characters',\n i18n_number_minimum: 'Number: at least {number} characters',\n i18n_symbol_minimum: 'Special characters: at least {number} characters',\n i18n_no_data_yet: 'No data available',\n i18n_no_results: 'There are no outcomes',\n i18n_january: 'January{year}',\n i18n_february: 'February{year}',\n i18n_march: 'March{year}',\n i18n_april: 'April{year}',\n i18n_may: 'May{year}',\n i18n_june: 'June{year}',\n i18n_july: 'July{year}',\n i18n_august: 'August{year}',\n i18n_september: 'September{year}',\n i18n_october: 'October{year}',\n i18n_november: 'November{year}',\n i18n_december: 'December{year}',\n i18n_enter_value: 'Enter value',\n i18n_select_day: 'Date',\n i18n_select_month: 'Select month',\n i18n_select_year: 'Select year',\n i18n_select_quarter: 'Choose quarter',\n i18n_day_param: 'Day { day }',\n i18n_year_param: 'Year { year }',\n i18n_quarter: 'Quarter {quarter}',\n i18n_label_from: 'from',\n i18n_to: 'to',\n i18n_select_field: 'Choose a field',\n i18n_enter_params: 'Insert value here',\n i18n_save_calculation: 'Save',\n i18n_field_error: 'Field error',\n i18n_table: 'Table',\n i18n_add_new_column_left: 'Add column left',\n i18n_add_new_column_right: 'Add column right',\n i18n_add_new_row_above: 'Add row above',\n i18n_add_new_row_below: 'Add row below',\n i18n_merge_cells: 'Merge cells',\n i18n_split_cells: 'Split cells',\n i18n_delete_row: 'Delete row',\n i18n_delete_column: 'Delete column',\n i18n_delete_table: 'Delete table',\n i18n_select_cell: 'Select (row × column)',\n i18n_script_sub: 'Subscript',\n i18n_script_super: 'Superscript',\n i18n_video: 'Video',\n i18n_list_checked: 'List checked',\n i18n_keep_alt_key_to_change_the_ratio_when_changing_the_size: 'Keep the Alt key to change the ratio when changing the size',\n i18n_press_enter_to_confirm: 'Press Enter to confirm',\n i18n_left_align: 'Left align',\n i18n_right_align: 'Right align',\n i18n_center_align: 'Center align',\n i18n_restore_to_default: 'Restore to default',\n i18n_copy: 'Copy',\n i18n_copied: 'Copied',\n i18n_line_wrap: 'Wrap',\n i18n_remove_line_wrap: 'Unwrap',\n i18n_pls_enter_info_results_will_show_here: 'Please enter information. Results will show here',\n },\n };\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { UtilsCache, get, isEmpty } from '@libs-ui/utils';\nimport { MissingTranslationHandler, TranslateCompiler, TranslateLoader, TranslateParser, TranslateService, TranslateStore } from '@ngx-translate/core';\nimport { Observable, of, take } from 'rxjs';\nimport { getInterpolateParamDefault } from './config-translate';\nimport { dataTranslation } from './data-translation';\nimport { TYPE_LANGUAGE_SUPPORT } from '@libs-ui/interfaces-types';\n\nexport class LibsUiTranslateService extends TranslateService {\n constructor(\n store: TranslateStore,\n currentLoader: TranslateLoader,\n compiler: TranslateCompiler,\n parser: TranslateParser,\n missingTranslationHandler: MissingTranslationHandler,\n useDefaultLang: boolean,\n isolate: boolean,\n extend: boolean,\n defaultLanguage: string\n ) {\n super(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage);\n }\n public override instant(key: string | Array<string>, interpolateParams?: NonNullable<unknown>): string | any {\n if (isEmpty(key)) {\n return key;\n }\n const val = super.instant(key, { ...getInterpolateParamDefault(), ...(interpolateParams || {}) });\n return val;\n }\n\n public override get(key: string | Array<string>, interpolateParams?: NonNullable<unknown>): Observable<string | any> {\n if (isEmpty(key)) {\n return of(key);\n }\n return super.get(key, { ...getInterpolateParamDefault(), ...(interpolateParams || {}) });\n }\n\n public override getParsedResult(translations: any, key: any, interpolateParams?: NonNullable<unknown>): any {\n return super.getParsedResult(translations, isEmpty(key) ? ' ' : key, { ...getInterpolateParamDefault(), ...(interpolateParams || {}) });\n }\n\n public override use(lang: TYPE_LANGUAGE_SUPPORT): Observable<any> {\n const event = super.use(lang);\n this.get(lang)\n .pipe(take(1))\n .subscribe((e) => {\n const i18n = get<Record<string, Record<string, string>>>(dataTranslation(), e);\n Object.keys(i18n).forEach((key: string) => {\n if (super.instant(key) === key) {\n super.set(key, i18n[key], e);\n }\n });\n });\n UtilsCache.setLang(lang);\n return event;\n }\n}\n","import { HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { TranslateService, TranslateStore, TranslateLoader, TranslateCompiler, TranslateParser, MissingTranslationHandler, TranslateModule } from '@ngx-translate/core';\nimport { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { importProvidersFrom, signal } from '@angular/core';\nimport { LibsUiTranslateService } from './translate.service';\nlet link = '/i18n/';\nconst httpLoaderFactory = (http: HttpClient): TranslateHttpLoader => {\n return new TranslateHttpLoader(http, link, '.json');\n};\n\nconst TranslateForRootConfig = {\n loader: {\n provide: TranslateLoader,\n useFactory: httpLoaderFactory,\n deps: [HttpClient],\n },\n compiler: {\n provide: TranslateCompiler,\n useClass: TranslateMessageFormatCompiler,\n },\n};\n\nexport const TranslateProviderConfig = {\n provide: TranslateService,\n useFactory: (\n store: TranslateStore,\n currentLoader: TranslateLoader,\n compiler: TranslateCompiler,\n parser: TranslateParser,\n missingTranslationHandler: MissingTranslationHandler,\n useDefaultLang: boolean,\n isolate: boolean,\n extend: boolean,\n defaultLanguage: string\n ) => {\n return new LibsUiTranslateService(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage);\n },\n deps: [TranslateStore, TranslateLoader, TranslateCompiler, TranslateParser, MissingTranslationHandler],\n};\n\nexport const getConfigTranslate = (linkFileI18n?: string) => {\n if (linkFileI18n !== undefined) {\n link = linkFileI18n;\n }\n return [provideHttpClient(withInterceptorsFromDi()), importProvidersFrom(TranslateModule.forRoot(TranslateForRootConfig)), TranslateProviderConfig];\n};\n\nconst interpolateStore = signal<Record<string, string>>({});\n\nexport const setInterpolateParamDefault = (interpolate: Record<string, string>) => {\n interpolateStore.set(interpolate);\n};\n\nexport const getInterpolateParamDefault = (): Record<string, string> => {\n return interpolateStore();\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAAO,MAAM,eAAe,GAAG,MAAK;IAClC,OAAO;AACL,QAAA,EAAE,EAAE;AACF,YAAA,uBAAuB,EAAE,gBAAgB;AACzC,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,mBAAmB,EAAE,oBAAoB;AACzC,YAAA,mCAAmC,EAAE,gCAAgC;AACrE,YAAA,mCAAmC,EAAE,mCAAmC;AACxE,YAAA,YAAY,EAAE,WAAW;AACzB,YAAA,kCAAkC,EAAE,2CAA2C;AAC/E,YAAA,eAAe,EAAE,gBAAgB;AACjC,YAAA,eAAe,EAAE,YAAY;AAC7B,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,oBAAoB,EAAE,WAAW;AACjC,YAAA,kBAAkB,EAAE,SAAS;AAC7B,YAAA,0BAA0B,EAAE,UAAU;AACtC,YAAA,kBAAkB,EAAE,UAAU;AAC9B,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,+BAA+B,EAAE,8BAA8B;AAC/D,YAAA,kBAAkB,EAAE,WAAW;AAC/B,YAAA,mBAAmB,EAAE,kBAAkB;AACvC,YAAA,qBAAqB,EAAE,oBAAoB;AAC3C,YAAA,mBAAmB,EAAE,iBAAiB;AACtC,YAAA,wCAAwC,EAAE,4CAA4C;AACtF,YAAA,2CAA2C,EAAE,kCAAkC;AAC/E,YAAA,wBAAwB,EAAE,2BAA2B;AACrD,YAAA,iEAAiE,EAAE,2FAA2F;AAC9J,YAAA,uBAAuB,EAAE,uCAAuC;AAChE,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,0BAA0B,EAAE,uBAAuB;AACnD,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,4BAA4B,EAAE,4FAA4F;AAC1H,YAAA,6BAA6B,EAAE,6EAA6E;AAC5G,YAAA,6BAA6B,EAAE,wEAAwE;AACvG,YAAA,6BAA6B,EAAE,0FAA0F;AACzH,YAAA,4CAA4C,EAAE,yDAAyD;AACvG,YAAA,iBAAiB,EAAE,oBAAoB;AACvC,YAAA,wBAAwB,EAAE,eAAe;AACzC,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,iBAAiB,EAAE,eAAe;AAClC,YAAA,oBAAoB,EAAE,sBAAsB;AAC5C,YAAA,0CAA0C,EAAE,4BAA4B;AACxE,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,sBAAsB,EAAE,sCAAsC;AAC9D,YAAA,gBAAgB,EAAE,WAAW;AAC7B,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,+BAA+B,EAAE,4CAA4C;AAC7E,YAAA,wBAAwB,EAAE,6CAA6C;AACvE,YAAA,WAAW,EAAE,MAAM;AACnB,YAAA,yCAAyC,EAAE,+CAA+C;AAC1F,YAAA,8BAA8B,EAAE,oDAAoD;AACpF,YAAA,YAAY,EAAE,kBAAkB;AAChC,YAAA,iBAAiB,EAAE,aAAa;AAChC,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,gBAAgB,EAAE,eAAe;AACjC,YAAA,UAAU,EAAE,WAAW;AACvB,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,kBAAkB,EAAE,mBAAmB;AACvC,YAAA,oBAAoB,EAAE,cAAc;AACpC,YAAA,oBAAoB,EAAE,cAAc;AACpC,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,8BAA8B,EAAE,WAAW;AAC3C,YAAA,sBAAsB,EAAE,YAAY;AACpC,YAAA,sBAAsB,EAAE,YAAY;AACpC,YAAA,qBAAqB,EAAE,QAAQ;AAC/B,YAAA,qBAAqB,EAAE,SAAS;AAChC,YAAA,eAAe,EAAE,SAAS;AAC1B,YAAA,SAAS,EAAE,kBAAkB;AAC7B,YAAA,SAAS,EAAE,UAAU;AACrB,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,mBAAmB,EAAE,+GAA+G;AACpI,YAAA,yBAAyB,EAAE,uEAAuE;AAClG,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,WAAW,EAAE,UAAU;AACvB,YAAA,iBAAiB,EAAE,eAAe;AAClC,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,sBAAsB,EAAE,qBAAqB;AAC7C,YAAA,YAAY,EAAE,WAAW;AACzB,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,4BAA4B,EAAE,mBAAmB;AACjD,YAAA,4BAA4B,EAAE,iCAAiC;AAC/D,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,cAAc,EAAE,UAAU;AAC1B,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,sBAAsB,EAAE,4BAA4B;AACpD,YAAA,gCAAgC,EAAE,qBAAqB;AACvD,YAAA,kCAAkC,EAAE,wBAAwB;AAC5D,YAAA,mBAAmB,EAAE,eAAe;AACpC,YAAA,wBAAwB,EAAE,2CAA2C;AACrE,YAAA,0BAA0B,EAAE,uCAAuC;AACnE,YAAA,kCAAkC,EAAE,6BAA6B;AACjE,YAAA,kCAAkC,EAAE,gCAAgC;AACpE,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,WAAW,EAAE,IAAI;YACjB,yBAAyB,EAAE,oCAAoC;YAC/D,wBAAwB,EAAE,iDAAiD;AAC3E,YAAA,0BAA0B,EAAE,iCAAiC;AAC7D,YAAA,0BAA0B,EAAE,8BAA8B;AAC1D,YAAA,2CAA2C,EAAE,sCAAsC;AACnF,YAAA,8CAA8C,EAAE,yDAAyD;AACzG,YAAA,sBAAsB,EAAE,kCAAkC;AAC1D,YAAA,sBAAsB,EAAE,qCAAqC;AAC7D,YAAA,mBAAmB,EAAE,8BAA8B;AACnD,YAAA,mBAAmB,EAAE,0CAA0C;AAC/D,YAAA,gBAAgB,EAAE,iBAAiB;AACnC,YAAA,eAAe,EAAE,iBAAiB;AAClC,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,aAAa,EAAE,eAAe;AAC9B,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,cAAc,EAAE,eAAe;AAC/B,YAAA,YAAY,EAAE,gBAAgB;AAC9B,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,gBAAgB,EAAE,cAAc;AAChC,YAAA,eAAe,EAAE,WAAW;AAC5B,YAAA,iBAAiB,EAAE,YAAY;AAC/B,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,mBAAmB,EAAE,UAAU;AAC/B,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,eAAe,EAAE,cAAc;AAC/B,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,iBAAiB,EAAE,YAAY;AAC/B,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,qBAAqB,EAAE,eAAe;AACtC,YAAA,gBAAgB,EAAE,sBAAsB;AACxC,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,wBAAwB,EAAE,mBAAmB;AAC7C,YAAA,yBAAyB,EAAE,mBAAmB;AAC9C,YAAA,sBAAsB,EAAE,oBAAoB;AAC5C,YAAA,sBAAsB,EAAE,oBAAoB;AAC5C,YAAA,gBAAgB,EAAE,OAAO;AACzB,YAAA,gBAAgB,EAAE,QAAQ;AAC1B,YAAA,eAAe,EAAE,UAAU;AAC3B,YAAA,kBAAkB,EAAE,SAAS;AAC7B,YAAA,iBAAiB,EAAE,UAAU;AAC7B,YAAA,gBAAgB,EAAE,8BAA8B;AAChD,YAAA,eAAe,EAAE,aAAa;AAC9B,YAAA,iBAAiB,EAAE,aAAa;AAChC,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,iBAAiB,EAAE,oBAAoB;AACvC,YAAA,4DAA4D,EAAE,wDAAwD;AACtH,YAAA,2BAA2B,EAAE,6BAA6B;AAC1D,YAAA,eAAe,EAAE,UAAU;AAC3B,YAAA,gBAAgB,EAAE,UAAU;AAC5B,YAAA,iBAAiB,EAAE,UAAU;AAC7B,YAAA,uBAAuB,EAAE,WAAW;AACpC,YAAA,SAAS,EAAE,UAAU;AACrB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,cAAc,EAAE,YAAY;AAC5B,YAAA,qBAAqB,EAAE,eAAe;AACtC,YAAA,0CAA0C,EAAE,4DAA4D;AACzG,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,uBAAuB,EAAE,oBAAoB;AAC7C,YAAA,UAAU,EAAE,cAAc;AAC1B,YAAA,mBAAmB,EAAE,sEAAsE;AAC3F,YAAA,mCAAmC,EAAE,sCAAsC;AAC3E,YAAA,mCAAmC,EAAE,sCAAsC;AAC3E,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,kCAAkC,EAAE,4CAA4C;AAChF,YAAA,eAAe,EAAE,YAAY;AAC7B,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,oBAAoB,EAAE,iBAAiB;AACvC,YAAA,kBAAkB,EAAE,eAAe;AACnC,YAAA,0BAA0B,EAAE,mBAAmB;AAC/C,YAAA,kBAAkB,EAAE,QAAQ;AAC5B,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,+BAA+B,EAAE,OAAO;AACxC,YAAA,kBAAkB,EAAE,cAAc;AAClC,YAAA,mBAAmB,EAAE,gBAAgB;AACrC,YAAA,qBAAqB,EAAE,kBAAkB;AACzC,YAAA,mBAAmB,EAAE,kBAAkB;AACvC,YAAA,wCAAwC,EAAE,wCAAwC;AAClF,YAAA,2CAA2C,EAAE,+BAA+B;AAC5E,YAAA,wBAAwB,EAAE,qBAAqB;AAC/C,YAAA,iEAAiE,EAAE,8EAA8E;AACjJ,YAAA,uBAAuB,EAAE,6BAA6B;AACtD,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,0BAA0B,EAAE,oBAAoB;AAChD,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,4BAA4B,EAAE,uFAAuF;AACrH,YAAA,6BAA6B,EAAE,wEAAwE;AACvG,YAAA,6BAA6B,EAAE,mEAAmE;AAClG,YAAA,6BAA6B,EAAE,qFAAqF;AACpH,YAAA,4CAA4C,EAAE,sDAAsD;AACpG,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,wBAAwB,EAAE,OAAO;AACjC,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,oBAAoB,EAAE,2BAA2B;AACjD,YAAA,0CAA0C,EAAE,cAAc;AAC1D,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,sBAAsB,EAAE,mCAAmC;AAC3D,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,cAAc,EAAE,WAAW;AAC3B,YAAA,+BAA+B,EAAE,2BAA2B;AAC5D,YAAA,wBAAwB,EAAE,6BAA6B;AACvD,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,yCAAyC,EAAE,mDAAmD;AAC9F,YAAA,8BAA8B,EAAE,mDAAmD;AACnF,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,kBAAkB,EAAE,eAAe;AACnC,YAAA,kBAAkB,EAAE,QAAQ;AAC5B,YAAA,oBAAoB,EAAE,iBAAiB;AACvC,YAAA,oBAAoB,EAAE,iBAAiB;AACvC,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,8BAA8B,EAAE,WAAW;AAC3C,YAAA,sBAAsB,EAAE,eAAe;AACvC,YAAA,sBAAsB,EAAE,QAAQ;AAChC,YAAA,qBAAqB,EAAE,MAAM;AAC7B,YAAA,qBAAqB,EAAE,kBAAkB;AACzC,YAAA,eAAe,EAAE,YAAY;AAC7B,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,aAAa,EAAE,UAAU;AACzB,YAAA,mBAAmB,EAAE,4GAA4G;AACjI,YAAA,yBAAyB,EAAE,wBAAwB;AACnD,YAAA,cAAc,EAAE,WAAW;AAC3B,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,iBAAiB,EAAE,oBAAoB;AACvC,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,sBAAsB,EAAE,QAAQ;AAChC,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,aAAa,EAAE,UAAU;AACzB,YAAA,4BAA4B,EAAE,kBAAkB;AAChD,YAAA,4BAA4B,EAAE,uBAAuB;AACrD,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,cAAc,EAAE,UAAU;AAC1B,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,sBAAsB,EAAE,uEAAuE;AAC/F,YAAA,gCAAgC,EAAE,oBAAoB;AACtD,YAAA,kCAAkC,EAAE,sBAAsB;AAC1D,YAAA,mBAAmB,EAAE,aAAa;AAClC,YAAA,wBAAwB,EAAE,wBAAwB;AAClD,YAAA,0BAA0B,EAAE,oDAAoD;AAChF,YAAA,kCAAkC,EAAE,4BAA4B;AAChE,YAAA,kCAAkC,EAAE,4BAA4B;AAChE,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,WAAW,EAAE,MAAM;AACnB,YAAA,yBAAyB,EAAE,uBAAuB;AAClD,YAAA,wBAAwB,EAAE,oDAAoD;AAC9E,YAAA,0BAA0B,EAAE,oCAAoC;AAChE,YAAA,0BAA0B,EAAE,oCAAoC;AAChE,YAAA,2CAA2C,EAAE,gDAAgD;AAC7F,YAAA,8CAA8C,EAAE,8DAA8D;AAC9G,YAAA,sBAAsB,EAAE,yCAAyC;AACjE,YAAA,sBAAsB,EAAE,yCAAyC;AACjE,YAAA,mBAAmB,EAAE,sCAAsC;AAC3D,YAAA,mBAAmB,EAAE,kDAAkD;AACvE,YAAA,gBAAgB,EAAE,mBAAmB;AACrC,YAAA,eAAe,EAAE,uBAAuB;AACxC,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,cAAc,EAAE,iBAAiB;AACjC,YAAA,YAAY,EAAE,eAAe;AAC7B,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,eAAe,EAAE,MAAM;AACvB,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,mBAAmB,EAAE,gBAAgB;AACrC,YAAA,cAAc,EAAE,aAAa;AAC7B,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,YAAY,EAAE,mBAAmB;AACjC,YAAA,eAAe,EAAE,MAAM;AACvB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,iBAAiB,EAAE,gBAAgB;AACnC,YAAA,iBAAiB,EAAE,mBAAmB;AACtC,YAAA,qBAAqB,EAAE,MAAM;AAC7B,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,wBAAwB,EAAE,iBAAiB;AAC3C,YAAA,yBAAyB,EAAE,kBAAkB;AAC7C,YAAA,sBAAsB,EAAE,eAAe;AACvC,YAAA,sBAAsB,EAAE,eAAe;AACvC,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,eAAe,EAAE,YAAY;AAC7B,YAAA,kBAAkB,EAAE,eAAe;AACnC,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,gBAAgB,EAAE,uBAAuB;AACzC,YAAA,eAAe,EAAE,WAAW;AAC5B,YAAA,iBAAiB,EAAE,aAAa;AAChC,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,4DAA4D,EAAE,6DAA6D;AAC3H,YAAA,2BAA2B,EAAE,wBAAwB;AACrD,YAAA,eAAe,EAAE,YAAY;AAC7B,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,iBAAiB,EAAE,cAAc;AACjC,YAAA,uBAAuB,EAAE,oBAAoB;AAC7C,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,cAAc,EAAE,MAAM;AACtB,YAAA,qBAAqB,EAAE,QAAQ;AAC/B,YAAA,0CAA0C,EAAE,kDAAkD;AAC/F,SAAA;KACF;AACH,CAAC;;ACjVD;AAQM,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;AAC1D,IAAA,WAAA,CACE,KAAqB,EACrB,aAA8B,EAC9B,QAA2B,EAC3B,MAAuB,EACvB,yBAAoD,EACpD,cAAuB,EACvB,OAAgB,EAChB,MAAe,EACf,eAAuB,EAAA;AAEvB,QAAA,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC;IAC5H;IACgB,OAAO,CAAC,GAA2B,EAAE,iBAAwC,EAAA;AAC3F,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AAChB,YAAA,OAAO,GAAG;QACZ;QACA,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,0BAA0B,EAAE,EAAE,IAAI,iBAAiB,IAAI,EAAE,CAAC,EAAE,CAAC;AACjG,QAAA,OAAO,GAAG;IACZ;IAEgB,GAAG,CAAC,GAA2B,EAAE,iBAAwC,EAAA;AACvF,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AAChB,YAAA,OAAO,EAAE,CAAC,GAAG,CAAC;QAChB;AACA,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,0BAA0B,EAAE,EAAE,IAAI,iBAAiB,IAAI,EAAE,CAAC,EAAE,CAAC;IAC1F;AAEgB,IAAA,eAAe,CAAC,YAAiB,EAAE,GAAQ,EAAE,iBAAwC,EAAA;AACnG,QAAA,OAAO,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,0BAA0B,EAAE,EAAE,IAAI,iBAAiB,IAAI,EAAE,CAAC,EAAE,CAAC;IACzI;AAEgB,IAAA,GAAG,CAAC,IAA2B,EAAA;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI;AACV,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACZ,aAAA,SAAS,CAAC,CAAC,CAAC,KAAI;YACf,MAAM,IAAI,GAAG,GAAG,CAAyC,eAAe,EAAE,EAAE,CAAC,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;gBACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;AAC9B,oBAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9B;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AACJ,QAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;AACxB,QAAA,OAAO,KAAK;IACd;AACD;;AClDD,IAAI,IAAI,GAAG,QAAQ;AACnB,MAAM,iBAAiB,GAAG,CAAC,IAAgB,KAAyB;IAClE,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;AACrD,CAAC;AAED,MAAM,sBAAsB,GAAG;AAC7B,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,UAAU,EAAE,iBAAiB;QAC7B,IAAI,EAAE,CAAC,UAAU,CAAC;AACnB,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,QAAQ,EAAE,8BAA8B;AACzC,KAAA;CACF;AAEM,MAAM,uBAAuB,GAAG;AACrC,IAAA,OAAO,EAAE,gBAAgB;IACzB,UAAU,EAAE,CACV,KAAqB,EACrB,aAA8B,EAC9B,QAA2B,EAC3B,MAAuB,EACvB,yBAAoD,EACpD,cAAuB,EACvB,OAAgB,EAChB,MAAe,EACf,eAAuB,KACrB;QACF,OAAO,IAAI,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC;IACxJ,CAAC;IACD,IAAI,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,yBAAyB,CAAC;;AAGjG,MAAM,kBAAkB,GAAG,CAAC,YAAqB,KAAI;AAC1D,IAAA,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,IAAI,GAAG,YAAY;IACrB;AACA,IAAA,OAAO,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,uBAAuB,CAAC;AACrJ;AAEA,MAAM,gBAAgB,GAAG,MAAM,CAAyB,EAAE,CAAC;AAEpD,MAAM,0BAA0B,GAAG,CAAC,WAAmC,KAAI;AAChF,IAAA,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC;AACnC;AAEO,MAAM,0BAA0B,GAAG,MAA6B;IACrE,OAAO,gBAAgB,EAAE;AAC3B;;ACxDA;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"libs-ui-services-translate.mjs","sources":["../../../../../libs-ui/services/translate/src/data-translation.ts","../../../../../libs-ui/services/translate/src/translate.service.ts","../../../../../libs-ui/services/translate/src/config-translate.ts","../../../../../libs-ui/services/translate/src/libs-ui-services-translate.ts"],"sourcesContent":["export const dataTranslation = () => {\n return {\n vi: {\n i18n_select_information: 'Chọn thông tin',\n i18n_go_to: 'Đi tới',\n i18n_value_sum_page: 'Tổng {value} trang',\n i18n_message_error_input_max_length: 'Độ dài tối đa {{number}} kí tự',\n i18n_message_error_input_min_length: 'Độ dài tối thiểu {{number}} kí tự',\n i18n_preview: 'Xem trước',\n i18n_file_size_compare_when_resize: '{current_size} (ban đầu: {original_size})',\n i18n_size_photo: 'Kích thước ảnh',\n i18n_ratio_size: 'Tỷ lệ size',\n i18n_resize: 'Resize',\n i18n_horizontal_flip: 'Lật ngang',\n i18n_vertical_flip: 'Lật dọc',\n i18n_rotate_ninety_degrees: 'Xoay 90°',\n i18n_rotate_photos: 'Xoay ảnh',\n i18n_width: 'Chiều rộng',\n i18n_length: 'Chiều dài',\n i18n_custom: 'Tuỳ chỉnh',\n i18n_restore_the_original_state: 'Khôi phục trạng thái ban đầu',\n i18n_cutting_ratio: 'Tỉ lệ cắt',\n i18n_exit_edit_mode: 'Thoát chế độ sửa',\n i18n_save_to_new_file: 'Lưu thành file mới',\n i18n_edit_file_name: 'Sửa {file_name}',\n i18n_file_size_exceeds_the_allowed_limit: 'Dung lượng file vượt quá giới hạn cho phép',\n i18n_the_file_support_format_is_not_correct: 'File không đúng định dạng hỗ trợ',\n i18n_invalid_file_upload: 'File tải lên không hợp lệ',\n i18n_file_number_exceeds_the_allowed_limit_please_delete_the_file: 'Bạn chỉ được phép chọn tối đa {value} files trong một lần tải lên. Vui lòng xoá bớt file.',\n i18n_size_not_number_mb: 'Dung lượng không vượt quá {number}MB.',\n i18n_edit: 'Sửa',\n i18n_choose_as_your_avatar: 'Chọn làm ảnh đại diện',\n i18n_avatar: 'Ảnh đại diện',\n i18n_note_upload_file_volume: 'Định dạng .doc, .docx, .xls, .xlsx, .ppt, .pptx, .pdf. Dung lượng mỗi file tối đa {value}.',\n i18n_note_upload_video_volume: 'Định dạng .mp4, .mov, .mpg, .avi, .wmv. Dung lượng mỗi file tối đa {value}.',\n i18n_note_upload_image_volume: 'Định dạng .gif, .jpg, .jpeg, .png. Dung lượng mỗi file tối đa {value}.',\n i18n_note_upload_audio_volume: 'Định dạng .mp3, .wav, .ogg, .aac, .m4a, .flac, .wma. Dung lượng mỗi file tối đa {value}.',\n i18n_drag_file_here_to_upload_or_select_file: 'Kéo file vào đây để tải lên hoặc <span>Chọn file</span>',\n i18n_back_to_list: 'Quay lại danh sách',\n i18n_4x_other_operations: 'Thao tác khác',\n i18n_add_currency: 'Thêm tiền tệ',\n i18n_add_language: 'Thêm ngôn ngữ',\n i18n_unselect_option: 'Bỏ giá trị đang chọn',\n i18n_notification_manipulation_not_success: 'Thao tác không thành công.',\n i18n_all: 'Tất cả',\n i18n_have_no_selection: 'Chưa có lựa chọn nào trong danh sách',\n i18n_more_select: 'Chọn thêm',\n i18n_no_result: 'Không có kết quả',\n i18n_alert_connect_server_error: 'Có lỗi trong quá trình kết nối đến server.',\n i18n_valid_duplicate_msg: 'Trường thông tin không được phép trùng nhau',\n i18n_select: 'Chọn',\n i18n_date_compare_start_end_message_error: 'Thời gian kết thúc phải sau thời gian bắt đầu',\n i18n_invalid_end_date_selected: 'Thời gian kết thúc phải lớn hơn thời gian bắt đầu.',\n i18n_no_data: 'Không có dữ liệu',\n i18n_upload_image: 'Tải ảnh lên',\n i18n_content: 'Nội dung',\n i18n_save: 'Lưu',\n i18n_image: 'Hình ảnh',\n i18n_unlink: 'Hủy liên kết',\n i18n_insert_link: 'Chèn liên kết',\n i18n_quote: 'Trích dẫn',\n i18n_list_numbered: 'Đánh số đầu dòng',\n i18n_list_bulleted: 'Đánh dấu đầu dòng',\n i18n_indent_decrease: 'Giảm thụt lề',\n i18n_indent_increase: 'Tăng thụt lề',\n i18n_adjust: 'Căn chỉnh',\n i18n_text_decoration_underline: 'Gạch chân',\n i18n_text_line_through: 'Gạch ngang',\n i18n_font_style_italic: 'In nghiêng',\n i18n_font_weight_bold: 'In đậm',\n i18n_background_color: 'Màu nền',\n i18n_text_color: 'Màu chữ',\n i18n_redo: 'Làm lại thay đổi',\n i18n_undo: 'Hoàn tác',\n i18n_text_emoji: 'Emoji',\n i18n_collapse: 'Thu gọn',\n i18n_total_quantity: \"<span class='text-[#9ca2ad] libs-ui-font-h5s'>Số lượng: </span> <span class='libs-ui-font-h5s'>{value}</span>\",\n i18n_number_item_selected: '{value} {value, plural, =0 {item} =1 {item} other {items} } selected',\n i18n_character: 'Ký tự',\n i18n_search: 'Tìm kiếm',\n i18n_color_custom: 'Màu tuỳ chỉnh',\n i18n_add_new: 'Thêm mới',\n i18n_cancel: 'Hủy bỏ',\n i18n_apply: 'Áp dụng',\n i18n_copy_successfully: 'Sao chép thành công',\n i18n_restore: 'Khôi phục',\n i18n_zoom_in: 'Phóng to',\n i18n_zoom_out: 'Thu nhỏ',\n i18n_action_view_full_screen: 'Xem toàn màn hình',\n i18n_action_exit_full_screen: 'Thoát khỏi chế độ toàn màn hình',\n i18n_agree: 'Đồng ý',\n i18n_view_more: 'Xem thêm',\n i18n_delete: 'Xoá',\n i18n_select_value: 'Chọn giá trị',\n i18n_selecting_options: 'Đang chọn {value} lựa chọn',\n i18n_select_all_searched_results: 'Chọn tất cả kết quả',\n i18n_unselect_all_searched_results: 'Bỏ chọn tất cả kết quả',\n i18n_import_content: 'Nhập nội dung',\n i18n_valid_empty_message: 'Trường thông tin không được phép để trống',\n i18n_valid_pattern_message: 'Trường thông tin không đúng định dạng',\n i18n_message_error_input_max_value: 'Giá trị tối đa là { value }',\n i18n_message_error_input_min_value: 'Giá trị tối thiểu là { value }',\n i18n_show: 'Hiện',\n i18n_hidden: 'Ẩn',\n i18n_password_is_required: 'Mật khẩu không được phép để trống.', // NOSONAR\n i18n_password_min_length: 'Mật khẩu không được phép ít hơn {length} kí tự.', // NOSONAR\n i18n_minimum_length_number: 'Độ dài tối thiểu {number} kí tự',\n i18n_maximum_length_number: 'Độ dài tối đa {number} kí tự',\n i18n_contains_all_types_of_characters_below: 'Chứa tất cả các loại kí tự dưới đây:',\n i18n_contains_number_types_of_characters_below: 'Chứa ít nhất {number} trong số các loại kí tự dưới đây:',\n i18n_uppercase_minimum: 'In hoa: tối thiểu {number} kí tự',\n i18n_lowercase_minimum: 'In thường: tối thiểu {number} kí tự',\n i18n_number_minimum: 'Số: tối thiểu {number} kí tự',\n i18n_symbol_minimum: 'Kí tự đặc biệt: tối thiểu {number} kí tự',\n i18n_no_data_yet: 'Chưa có dữ liệu',\n i18n_no_results: 'Chưa có kết quả',\n i18n_january: 'Tháng 1{year}',\n i18n_february: 'Tháng 2{year}',\n i18n_march: 'Tháng 3{year}',\n i18n_april: 'Tháng 4{year}',\n i18n_may: 'Tháng 5{year}',\n i18n_june: 'Tháng 6{year}',\n i18n_july: 'Tháng 7{year}',\n i18n_august: 'Tháng 8{year}',\n i18n_september: 'Tháng 9{year}',\n i18n_october: 'Tháng 10{year}',\n i18n_november: 'Tháng 11{year}',\n i18n_december: 'Tháng 12{year}',\n i18n_enter_value: 'Nhập giá trị',\n i18n_select_day: 'Chọn ngày',\n i18n_select_month: 'Chọn tháng',\n i18n_select_year: 'Chọn năm',\n i18n_select_quarter: 'Chọn quý',\n i18n_day_param: 'Ngày { day }',\n i18n_year_param: 'Năm { year }',\n i18n_quarter: 'Quý {quarter}',\n i18n_label_from: 'Từ',\n i18n_to: 'đến',\n i18n_select_field: 'Chọn field',\n i18n_enter_params: 'Nhập tham số',\n i18n_save_calculation: 'Lưu phép tính',\n i18n_field_error: 'Lỗi trường thông tin',\n i18n_table: 'Bảng',\n i18n_add_new_column_left: 'Thêm cột bên trái',\n i18n_add_new_column_right: 'Thêm cột bên phải',\n i18n_add_new_row_above: 'Thêm hàng bên trên',\n i18n_add_new_row_below: 'Thêm hàng bên dưới',\n i18n_merge_cells: 'Gộp ô',\n i18n_split_cells: 'Tách ô',\n i18n_delete_row: 'Xóa hàng',\n i18n_delete_column: 'Xóa cột',\n i18n_delete_table: 'Xóa bảng',\n i18n_select_cell: 'Chọn kích thước (hàng × cột)',\n i18n_script_sub: 'Chỉ số dưới',\n i18n_script_super: 'Chỉ số trên',\n i18n_video: 'Video',\n i18n_list_checked: 'Danh sách đánh dấu',\n i18n_keep_alt_key_to_change_the_ratio_when_changing_the_size: 'Giữ phím alt để thay đổi tỉ lệ khi thay đổi kích thước',\n i18n_press_enter_to_confirm: 'Nhấn phím Enter để xác nhận',\n i18n_left_align: 'Căn trái',\n i18n_right_align: 'Căn phải',\n i18n_center_align: 'Căn giữa',\n i18n_restore_to_default: 'Khôi phục',\n i18n_copy: 'Sao chép',\n i18n_copied: 'Đã sao chép',\n i18n_line_wrap: 'Xuống dòng',\n i18n_remove_line_wrap: 'Bỏ xuống dòng',\n i18n_pls_enter_info_results_will_show_here: 'Vui lòng nhập thông tin. Kết quả sẽ được hiển thị tại đây.',\n },\n en: {\n i18n_select_information: 'Select information',\n i18n_go_to: 'Jump to page',\n i18n_value_sum_page: '{value} {value, plural, =0 {page} =1 {page} other {pages} } in total',\n i18n_message_error_input_max_length: 'Maximum length {{number}} characters',\n i18n_message_error_input_min_length: 'Minimum length {{number}} characters',\n i18n_preview: 'Preview',\n i18n_file_size_compare_when_resize: '{current_size} (Original: {original_size})',\n i18n_size_photo: 'Photo size',\n i18n_ratio_size: 'Ratio',\n i18n_resize: 'Resize',\n i18n_horizontal_flip: 'Horizontal Flip',\n i18n_vertical_flip: 'Vertical Flip',\n i18n_rotate_ninety_degrees: 'Rotate 90 degrees',\n i18n_rotate_photos: 'Rotate',\n i18n_width: 'Width',\n i18n_length: 'Length',\n i18n_custom: 'Custom',\n i18n_restore_the_original_state: 'Reset',\n i18n_cutting_ratio: 'Aspect Ratio',\n i18n_exit_edit_mode: 'Exit edit mode',\n i18n_save_to_new_file: 'Save as new file',\n i18n_edit_file_name: 'Edit {file_name}',\n i18n_file_size_exceeds_the_allowed_limit: 'The import file is too large to upload',\n i18n_the_file_support_format_is_not_correct: 'This file type is not allowed',\n i18n_invalid_file_upload: 'Invalid file format',\n i18n_file_number_exceeds_the_allowed_limit_please_delete_the_file: 'You can only upload a maximum of {value} files. Please delete and try again.',\n i18n_size_not_number_mb: 'Maximum size is {number}MB.',\n i18n_edit: 'Edit',\n i18n_choose_as_your_avatar: 'Choose your avatar',\n i18n_avatar: 'Avatar',\n i18n_note_upload_file_volume: 'Format: .doc, .docx, .xls, .xlsx, .ppt, .pptx, .pdf. Max size for each file: {value}.',\n i18n_note_upload_video_volume: 'Format: .mp4, .mov, .mpg, .avi, .wmv. Max size for each file: {value}.',\n i18n_note_upload_image_volume: 'Format: .gif, .jpg, .jpeg, .png. Max size for each file: {value}.',\n i18n_note_upload_audio_volume: 'Format: .mp3, .wav, .ogg, .aac, .m4a, .flac, .wma. Max size for each file: {value}.',\n i18n_drag_file_here_to_upload_or_select_file: 'Drag and drop or <span>Choose a file<span> to upload',\n i18n_back_to_list: 'Back to list',\n i18n_4x_other_operations: 'Other',\n i18n_add_currency: 'Add currency',\n i18n_add_language: 'Add language',\n i18n_unselect_option: 'Remove the selected value',\n i18n_notification_manipulation_not_success: 'Unsuccessful',\n i18n_all: 'All',\n i18n_have_no_selection: 'There are no options in the list.',\n i18n_more_select: 'Select more',\n i18n_no_result: 'No result',\n i18n_alert_connect_server_error: 'Cannot connect to Server.',\n i18n_valid_duplicate_msg: 'Fields cannot be duplicated',\n i18n_select: 'Select',\n i18n_date_compare_start_end_message_error: 'The end time must be greater than the start time.',\n i18n_invalid_end_date_selected: 'The end time must be greater than the start time.',\n i18n_no_data: 'No data',\n i18n_upload_image: 'Upload image',\n i18n_content: 'Content',\n i18n_save: 'Save',\n i18n_image: 'Photo',\n i18n_unlink: 'Unlink',\n i18n_insert_link: 'Insert link',\n i18n_quote: 'Quote',\n i18n_list_numbered: 'Numbered list',\n i18n_list_bulleted: 'Bullet',\n i18n_indent_decrease: 'Decrease indent',\n i18n_indent_increase: 'Increase indent',\n i18n_adjust: 'Alignment',\n i18n_text_decoration_underline: 'Underline',\n i18n_text_line_through: 'Strikethrough',\n i18n_font_style_italic: 'Italic',\n i18n_font_weight_bold: 'Bold',\n i18n_background_color: 'background color',\n i18n_text_color: 'Text color',\n i18n_redo: 'Redo',\n i18n_undo: 'Undo',\n i18n_text_emoji: 'Emoji',\n i18n_collapse: 'Collapse',\n i18n_total_quantity: \"<span class='text-[#9ca2ad] libs-ui-font-h5s'>Total: </span> <span class='libs-ui-font-h5s'>{value}</span>\",\n i18n_number_item_selected: '{value} item được chọn',\n i18n_character: 'character',\n i18n_search: 'Search',\n i18n_color_custom: 'Custom theme color',\n i18n_add_new: 'Add new',\n i18n_cancel: 'Cancel',\n i18n_apply: 'Apply',\n i18n_copy_successfully: 'Copied',\n i18n_restore: 'Recover',\n i18n_zoom_in: 'Zoom in',\n i18n_zoom_out: 'Zoom out',\n i18n_action_view_full_screen: 'View full screen',\n i18n_action_exit_full_screen: 'Exit full screen mode',\n i18n_agree: 'Agree',\n i18n_view_more: 'See more',\n i18n_delete: 'Delete',\n i18n_select_value: 'Select value',\n i18n_selecting_options: 'Selecting {value} {value, plural, =1 {selection} other {selections} }',\n i18n_select_all_searched_results: 'Select all results',\n i18n_unselect_all_searched_results: 'Deselect all results',\n i18n_import_content: 'Enter value',\n i18n_valid_empty_message: 'This field is required',\n i18n_valid_pattern_message: 'The information field is not in the correct format',\n i18n_message_error_input_max_value: 'Maximum value is { value }',\n i18n_message_error_input_min_value: 'Minimum value is { value }',\n i18n_show: 'Show',\n i18n_hidden: 'Hide',\n i18n_password_is_required: 'Password is required.',\n i18n_password_min_length: 'Passwords cannot be less than {length} characters.',\n i18n_minimum_length_number: 'Minimum length {number} characters',\n i18n_maximum_length_number: 'Maximum length {number} characters',\n i18n_contains_all_types_of_characters_below: 'Contains all of the following character types:',\n i18n_contains_number_types_of_characters_below: 'Contains at least {number} of the following character types:',\n i18n_uppercase_minimum: 'Uppercase: at least {number} characters',\n i18n_lowercase_minimum: 'Lowercase: at least {number} characters',\n i18n_number_minimum: 'Number: at least {number} characters',\n i18n_symbol_minimum: 'Special characters: at least {number} characters',\n i18n_no_data_yet: 'No data available',\n i18n_no_results: 'There are no outcomes',\n i18n_january: 'January{year}',\n i18n_february: 'February{year}',\n i18n_march: 'March{year}',\n i18n_april: 'April{year}',\n i18n_may: 'May{year}',\n i18n_june: 'June{year}',\n i18n_july: 'July{year}',\n i18n_august: 'August{year}',\n i18n_september: 'September{year}',\n i18n_october: 'October{year}',\n i18n_november: 'November{year}',\n i18n_december: 'December{year}',\n i18n_enter_value: 'Enter value',\n i18n_select_day: 'Date',\n i18n_select_month: 'Select month',\n i18n_select_year: 'Select year',\n i18n_select_quarter: 'Choose quarter',\n i18n_day_param: 'Day { day }',\n i18n_year_param: 'Year { year }',\n i18n_quarter: 'Quarter {quarter}',\n i18n_label_from: 'from',\n i18n_to: 'to',\n i18n_select_field: 'Choose a field',\n i18n_enter_params: 'Insert value here',\n i18n_save_calculation: 'Save',\n i18n_field_error: 'Field error',\n i18n_table: 'Table',\n i18n_add_new_column_left: 'Add column left',\n i18n_add_new_column_right: 'Add column right',\n i18n_add_new_row_above: 'Add row above',\n i18n_add_new_row_below: 'Add row below',\n i18n_merge_cells: 'Merge cells',\n i18n_split_cells: 'Split cells',\n i18n_delete_row: 'Delete row',\n i18n_delete_column: 'Delete column',\n i18n_delete_table: 'Delete table',\n i18n_select_cell: 'Select (row × column)',\n i18n_script_sub: 'Subscript',\n i18n_script_super: 'Superscript',\n i18n_video: 'Video',\n i18n_list_checked: 'List checked',\n i18n_keep_alt_key_to_change_the_ratio_when_changing_the_size: 'Keep the Alt key to change the ratio when changing the size',\n i18n_press_enter_to_confirm: 'Press Enter to confirm',\n i18n_left_align: 'Left align',\n i18n_right_align: 'Right align',\n i18n_center_align: 'Center align',\n i18n_restore_to_default: 'Restore to default',\n i18n_copy: 'Copy',\n i18n_copied: 'Copied',\n i18n_line_wrap: 'Wrap',\n i18n_remove_line_wrap: 'Unwrap',\n i18n_pls_enter_info_results_will_show_here: 'Please enter information. Results will show here',\n },\n };\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { UtilsCache, get, isEmpty } from '@libs-ui/utils';\nimport { MissingTranslationHandler, TranslateCompiler, TranslateLoader, TranslateParser, TranslateService, TranslateStore } from '@ngx-translate/core';\nimport { Observable, of, take } from 'rxjs';\nimport { getInterpolateParamDefault } from './config-translate';\nimport { dataTranslation } from './data-translation';\nimport { TYPE_LANGUAGE_SUPPORT } from '@libs-ui/interfaces-types';\n\nexport class LibsUiTranslateService extends TranslateService {\n constructor(\n store: TranslateStore,\n currentLoader: TranslateLoader,\n compiler: TranslateCompiler,\n parser: TranslateParser,\n missingTranslationHandler: MissingTranslationHandler,\n useDefaultLang: boolean,\n isolate: boolean,\n extend: boolean,\n defaultLanguage: string\n ) {\n super(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage);\n }\n public override instant(key: string | Array<string>, interpolateParams?: NonNullable<unknown>): string | any {\n if (isEmpty(key)) {\n return key;\n }\n const val = super.instant(key, { ...getInterpolateParamDefault(), ...(interpolateParams || {}) });\n return val;\n }\n\n public override get(key: string | Array<string>, interpolateParams?: NonNullable<unknown>): Observable<string | any> {\n if (isEmpty(key)) {\n return of(key);\n }\n return super.get(key, { ...getInterpolateParamDefault(), ...(interpolateParams || {}) });\n }\n\n public override getParsedResult(translations: any, key: any, interpolateParams?: NonNullable<unknown>): any {\n return super.getParsedResult(translations, isEmpty(key) ? ' ' : key, { ...getInterpolateParamDefault(), ...(interpolateParams || {}) });\n }\n\n public override use(lang: TYPE_LANGUAGE_SUPPORT): Observable<any> {\n const event = super.use(lang);\n this.get(lang)\n .pipe(take(1))\n .subscribe((e) => {\n const i18n = get<Record<string, Record<string, string>>>(dataTranslation(), e);\n Object.keys(i18n).forEach((key: string) => {\n if (super.instant(key) === key) {\n super.set(key, i18n[key], e);\n }\n });\n });\n UtilsCache.setLang(lang);\n return event;\n }\n}\n","import { HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { TranslateService, TranslateStore, TranslateLoader, TranslateCompiler, TranslateParser, MissingTranslationHandler, TranslateModule } from '@ngx-translate/core';\nimport { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { importProvidersFrom, signal } from '@angular/core';\nimport { LibsUiTranslateService } from './translate.service';\nlet link = '/i18n/';\nconst httpLoaderFactory = (http: HttpClient): TranslateHttpLoader => {\n return new TranslateHttpLoader(http, link, '.json');\n};\n\nconst TranslateForRootConfig = {\n loader: {\n provide: TranslateLoader,\n useFactory: httpLoaderFactory,\n deps: [HttpClient],\n },\n compiler: {\n provide: TranslateCompiler,\n useClass: TranslateMessageFormatCompiler,\n },\n};\n\nexport const TranslateProviderConfig = {\n provide: TranslateService,\n useFactory: (\n store: TranslateStore,\n currentLoader: TranslateLoader,\n compiler: TranslateCompiler,\n parser: TranslateParser,\n missingTranslationHandler: MissingTranslationHandler,\n useDefaultLang: boolean,\n isolate: boolean,\n extend: boolean,\n defaultLanguage: string\n ) => {\n return new LibsUiTranslateService(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage);\n },\n deps: [TranslateStore, TranslateLoader, TranslateCompiler, TranslateParser, MissingTranslationHandler],\n};\n\nexport const getConfigTranslate = (linkFileI18n?: string) => {\n if (linkFileI18n !== undefined) {\n link = linkFileI18n;\n }\n return [provideHttpClient(withInterceptorsFromDi()), importProvidersFrom(TranslateModule.forRoot(TranslateForRootConfig)), TranslateProviderConfig];\n};\n\nconst interpolateStore = signal<Record<string, string>>({});\n\nexport const setInterpolateParamDefault = (interpolate: Record<string, string>) => {\n interpolateStore.set(interpolate);\n};\n\nexport const getInterpolateParamDefault = (): Record<string, string> => {\n return interpolateStore();\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libs-ui/services-translate",
|
|
3
|
-
"version": "0.2.356-
|
|
3
|
+
"version": "0.2.356-43",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": ">=18.0.0",
|
|
6
6
|
"@angular/core": ">=18.0.0",
|
|
7
7
|
"@ngx-translate/core": "^15.0.0",
|
|
8
8
|
"ngx-translate-messageformat-compiler": "^7.0.0",
|
|
9
9
|
"@ngx-translate/http-loader": "^8.0.0",
|
|
10
|
-
"@libs-ui/utils": "0.2.356-
|
|
10
|
+
"@libs-ui/utils": "0.2.356-43",
|
|
11
11
|
"rxjs": "~7.8.0",
|
|
12
|
-
"@libs-ui/interfaces-types": "0.2.356-
|
|
12
|
+
"@libs-ui/interfaces-types": "0.2.356-43"
|
|
13
13
|
},
|
|
14
14
|
"sideEffects": false,
|
|
15
15
|
"module": "fesm2022/libs-ui-services-translate.mjs",
|