bfg-common 1.2.170 → 1.2.172

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.
Files changed (57) hide show
  1. package/assets/localization/local_be.json +9 -1
  2. package/assets/localization/local_en.json +9 -1
  3. package/assets/localization/local_hy.json +9 -1
  4. package/assets/localization/local_kk.json +9 -1
  5. package/assets/localization/local_ru.json +9 -1
  6. package/assets/localization/local_zh.json +9 -1
  7. package/assets/scss/common/icons/icons-2.scss +222 -222
  8. package/components/atoms/switch/Switch.vue +107 -107
  9. package/components/common/BadBrowser.vue +114 -114
  10. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  11. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  12. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  13. package/components/common/browse/blocks/Title.vue +66 -66
  14. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  15. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  16. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  17. package/components/common/feedback/Feedback.vue +261 -261
  18. package/components/common/feedback/VisitPortal.vue +53 -53
  19. package/components/common/help/navbar/left/utils/constructAccordion.ts +27 -27
  20. package/components/common/recursionTree/RecursionTree.vue +201 -201
  21. package/components/common/tools/Actions.vue +164 -164
  22. package/components/common/vm/actions/clone/Clone.vue +545 -545
  23. package/components/common/vm/actions/clone/select/options/Options.vue +65 -65
  24. package/components/common/vm/actions/clone/utils.ts +43 -43
  25. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +109 -109
  26. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +383 -383
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  28. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/config/options.ts +28 -28
  29. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  30. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/config/memoryOptions.ts +35 -35
  31. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +447 -447
  32. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +12 -3
  33. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  34. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  35. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  36. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  37. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  38. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  39. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  40. package/components/common/vm/actions/common/select/storage/config/config.ts +154 -154
  41. package/components/common/vm/utils/powerActions.ts +55 -55
  42. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  43. package/components/layout/theHeader/utils/localization.ts +32 -32
  44. package/composables/useLocal.ts +38 -38
  45. package/minify.js +146 -146
  46. package/models/composables/useMyFetch/interfaces.ts +25 -25
  47. package/models/interfaces.ts +49 -49
  48. package/models/store/interfaces.ts +37 -37
  49. package/models/store/storage/interfaces.ts +32 -32
  50. package/models/store/types.ts +43 -43
  51. package/modules/fixContentBuild/utils/methods.ts +114 -114
  52. package/package.json +1 -1
  53. package/public/spice-console/application/codec.js +257 -257
  54. package/public/spice-console/lib/rasterEngine.js +907 -907
  55. package/public/spice-console/network/spicechannel.js +369 -369
  56. package/utils/contentBuild.ts +34 -34
  57. package/utils/sendTask.ts +77 -77
@@ -1,154 +1,154 @@
1
- import { UI_I_DatastoreTableItem } from '~/models/store/storage/interfaces'
2
- import type {
3
- UI_I_ColumnKey,
4
- UI_I_HeadItem,
5
- UI_I_BodyItem,
6
- } from '~/components/atoms/table/dataGrid/models/interfaces'
7
- import type { UI_I_Localization } from '~/models/interfaces'
8
- import { UI_T_StorageColumnKeys } from '~/components/common/vm/actions/common/select/storage/models/types'
9
- import {
10
- constructColumnKey,
11
- constructHeadItem,
12
- } from '~/components/atoms/table/dataGrid/utils/constructDataTable'
13
- import {
14
- datastoreIconByState,
15
- datastoreLocalizationByState,
16
- } from '~/components/common/config/states'
17
-
18
- export const storageTableKeys: UI_T_StorageColumnKeys = [
19
- 'name',
20
- 'state',
21
- 'capacity_mb',
22
- 'provisioned_mb',
23
- 'free_mb',
24
- 'used_mb',
25
- 'type_text',
26
- 'thin_provisioning',
27
- 'access_mode',
28
- 'hardware_acceleration',
29
- 'drive_type',
30
- 'device',
31
- 'storage_io_control',
32
- ]
33
-
34
- const getItems = (
35
- localization: UI_I_Localization
36
- ): [string, boolean, string, string][] => {
37
- return [
38
- [localization.name, true, '96px', storageTableKeys[0]],
39
- [localization.state, true, '138px', storageTableKeys[1]],
40
- [localization.capacity, true, '110px', storageTableKeys[2]],
41
- [localization.provisioned, true, '128px', storageTableKeys[3]],
42
- [localization.free, true, '110px', storageTableKeys[4]],
43
- [localization.used, true, '110px', storageTableKeys[5]],
44
- [localization.type, true, '110px', storageTableKeys[6]],
45
- [localization.thinProvisioning, true, '132px', storageTableKeys[7]],
46
- [localization.access, true, '110px', storageTableKeys[8]],
47
- [localization.hardwareAcceleration, true, '134px', storageTableKeys[9]],
48
- [localization.driverType, true, '110px', storageTableKeys[10]],
49
- [localization.device, true, '110px', storageTableKeys[11]],
50
- [localization.storageIoControl, true, '110px', storageTableKeys[12]],
51
- ]
52
- }
53
-
54
- export const columnKeys = (
55
- localization: UI_I_Localization
56
- ): UI_I_ColumnKey[] => {
57
- const result: UI_I_ColumnKey[] = []
58
- getItems(localization).forEach((item, i) => {
59
- const col = i === 0 ? 'icon' : `col${i}`
60
- result.push(constructColumnKey(col, item[0], item[1]))
61
- })
62
- return result
63
- }
64
-
65
- export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
66
- const result: UI_I_HeadItem[] = []
67
- getItems(localization).forEach((item, i) => {
68
- const col = i === 0 ? 'icon' : `col${i}`
69
- result.push(constructHeadItem(col, item[0], item[3], true, item[2]))
70
- })
71
- return result
72
- }
73
-
74
- export const bodyItems = (
75
- data: UI_I_DatastoreTableItem[],
76
- localization: UI_I_Localization
77
- ): UI_I_BodyItem[][] => {
78
- const bodyItems: UI_I_BodyItem[][] = []
79
- const { $binary } = useNuxtApp()
80
-
81
- data.forEach((storage: UI_I_DatastoreTableItem, key: number) => {
82
- const state =
83
- localization[datastoreLocalizationByState[storage[storageTableKeys[1]]]]
84
- bodyItems.push([
85
- {
86
- key: 'icon',
87
- text: storage[storageTableKeys[0]].toString(),
88
- data: `vsphere-icon-${datastoreIconByState[storage.state]}`,
89
- id: key,
90
- },
91
- {
92
- key: 'col1',
93
- text: state,
94
- id: key,
95
- },
96
- {
97
- key: 'col2',
98
- text: $binary.round(storage.capacity[storageTableKeys[2]]),
99
- id: key,
100
- },
101
- {
102
- key: 'col3',
103
- text: $binary.round(storage.capacity[storageTableKeys[3]].toString()),
104
- id: key,
105
- },
106
- {
107
- key: 'col4',
108
- text: $binary.round(storage.capacity[storageTableKeys[4]].toString()),
109
- id: key,
110
- },
111
- {
112
- key: 'col5',
113
- text: $binary.round(storage.capacity[storageTableKeys[5]].toString()),
114
- id: key,
115
- },
116
- {
117
- key: 'col6',
118
- text: storage[storageTableKeys[6]].toString(),
119
- id: key,
120
- },
121
- {
122
- key: 'col7',
123
- text: storage[storageTableKeys[7]] ? localization.yes : localization.no,
124
- id: key,
125
- },
126
- {
127
- key: 'col8',
128
- text: storage[storageTableKeys[8]].toString(),
129
- id: key,
130
- },
131
- {
132
- key: 'col9',
133
- text: storage[storageTableKeys[9]].toString(),
134
- id: key,
135
- },
136
- {
137
- key: 'col10',
138
- text: storage[storageTableKeys[10]].toString(),
139
- id: key,
140
- },
141
- {
142
- key: 'col11',
143
- text: storage[storageTableKeys[11]].toString(),
144
- id: key,
145
- },
146
- {
147
- key: 'col12',
148
- text: storage[storageTableKeys[12]].toString(),
149
- id: key,
150
- },
151
- ])
152
- })
153
- return bodyItems
154
- }
1
+ import { UI_I_DatastoreTableItem } from '~/models/store/storage/interfaces'
2
+ import type {
3
+ UI_I_ColumnKey,
4
+ UI_I_HeadItem,
5
+ UI_I_BodyItem,
6
+ } from '~/components/atoms/table/dataGrid/models/interfaces'
7
+ import type { UI_I_Localization } from '~/models/interfaces'
8
+ import { UI_T_StorageColumnKeys } from '~/components/common/vm/actions/common/select/storage/models/types'
9
+ import {
10
+ constructColumnKey,
11
+ constructHeadItem,
12
+ } from '~/components/atoms/table/dataGrid/utils/constructDataTable'
13
+ import {
14
+ datastoreIconByState,
15
+ datastoreLocalizationByState,
16
+ } from '~/components/common/config/states'
17
+
18
+ export const storageTableKeys: UI_T_StorageColumnKeys = [
19
+ 'name',
20
+ 'state',
21
+ 'capacity_mb',
22
+ 'provisioned_mb',
23
+ 'free_mb',
24
+ 'used_mb',
25
+ 'type_text',
26
+ 'thin_provisioning',
27
+ 'access_mode',
28
+ 'hardware_acceleration',
29
+ 'drive_type',
30
+ 'device',
31
+ 'storage_io_control',
32
+ ]
33
+
34
+ const getItems = (
35
+ localization: UI_I_Localization
36
+ ): [string, boolean, string, string][] => {
37
+ return [
38
+ [localization.name, true, '96px', storageTableKeys[0]],
39
+ [localization.state, true, '138px', storageTableKeys[1]],
40
+ [localization.capacity, true, '110px', storageTableKeys[2]],
41
+ [localization.provisioned, true, '128px', storageTableKeys[3]],
42
+ [localization.free, true, '110px', storageTableKeys[4]],
43
+ [localization.used, true, '110px', storageTableKeys[5]],
44
+ [localization.type, true, '110px', storageTableKeys[6]],
45
+ [localization.thinProvisioning, true, '132px', storageTableKeys[7]],
46
+ [localization.access, true, '110px', storageTableKeys[8]],
47
+ [localization.hardwareAcceleration, true, '134px', storageTableKeys[9]],
48
+ [localization.driverType, true, '110px', storageTableKeys[10]],
49
+ [localization.device, true, '110px', storageTableKeys[11]],
50
+ [localization.storageIoControl, true, '110px', storageTableKeys[12]],
51
+ ]
52
+ }
53
+
54
+ export const columnKeys = (
55
+ localization: UI_I_Localization
56
+ ): UI_I_ColumnKey[] => {
57
+ const result: UI_I_ColumnKey[] = []
58
+ getItems(localization).forEach((item, i) => {
59
+ const col = i === 0 ? 'icon' : `col${i}`
60
+ result.push(constructColumnKey(col, item[0], item[1]))
61
+ })
62
+ return result
63
+ }
64
+
65
+ export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
66
+ const result: UI_I_HeadItem[] = []
67
+ getItems(localization).forEach((item, i) => {
68
+ const col = i === 0 ? 'icon' : `col${i}`
69
+ result.push(constructHeadItem(col, item[0], item[3], true, item[2]))
70
+ })
71
+ return result
72
+ }
73
+
74
+ export const bodyItems = (
75
+ data: UI_I_DatastoreTableItem[],
76
+ localization: UI_I_Localization
77
+ ): UI_I_BodyItem[][] => {
78
+ const bodyItems: UI_I_BodyItem[][] = []
79
+ const { $binary } = useNuxtApp()
80
+
81
+ data.forEach((storage: UI_I_DatastoreTableItem, key: number) => {
82
+ const state =
83
+ localization[datastoreLocalizationByState[storage[storageTableKeys[1]]]]
84
+ bodyItems.push([
85
+ {
86
+ key: 'icon',
87
+ text: storage[storageTableKeys[0]].toString(),
88
+ data: `vsphere-icon-${datastoreIconByState[storage.state]}`,
89
+ id: key,
90
+ },
91
+ {
92
+ key: 'col1',
93
+ text: state,
94
+ id: key,
95
+ },
96
+ {
97
+ key: 'col2',
98
+ text: $binary.round(storage.capacity[storageTableKeys[2]]),
99
+ id: key,
100
+ },
101
+ {
102
+ key: 'col3',
103
+ text: $binary.round(storage.capacity[storageTableKeys[3]].toString()),
104
+ id: key,
105
+ },
106
+ {
107
+ key: 'col4',
108
+ text: $binary.round(storage.capacity[storageTableKeys[4]].toString()),
109
+ id: key,
110
+ },
111
+ {
112
+ key: 'col5',
113
+ text: $binary.round(storage.capacity[storageTableKeys[5]].toString()),
114
+ id: key,
115
+ },
116
+ {
117
+ key: 'col6',
118
+ text: storage[storageTableKeys[6]].toString(),
119
+ id: key,
120
+ },
121
+ {
122
+ key: 'col7',
123
+ text: storage[storageTableKeys[7]] ? localization.yes : localization.no,
124
+ id: key,
125
+ },
126
+ {
127
+ key: 'col8',
128
+ text: storage[storageTableKeys[8]].toString(),
129
+ id: key,
130
+ },
131
+ {
132
+ key: 'col9',
133
+ text: storage[storageTableKeys[9]].toString(),
134
+ id: key,
135
+ },
136
+ {
137
+ key: 'col10',
138
+ text: storage[storageTableKeys[10]].toString(),
139
+ id: key,
140
+ },
141
+ {
142
+ key: 'col11',
143
+ text: storage[storageTableKeys[11]].toString(),
144
+ id: key,
145
+ },
146
+ {
147
+ key: 'col12',
148
+ text: storage[storageTableKeys[12]].toString(),
149
+ id: key,
150
+ },
151
+ ])
152
+ })
153
+ return bodyItems
154
+ }
@@ -1,55 +1,55 @@
1
- import type { API_UI_T_VmState } from '~/models/store/types'
2
- import type { UI_I_VmPowerActions } from '~/components/common/vm/models/interfaces'
3
-
4
- export const getPowerActionsByState = (
5
- state: API_UI_T_VmState
6
- ): UI_I_VmPowerActions => {
7
- const powerActions = {
8
- hard_stop: false,
9
- power_off: false,
10
- power_on: false,
11
- reset: false,
12
- restart_guest: false,
13
- shutdown_guest: false,
14
- suspend: false,
15
- }
16
- switch (state) {
17
- case 0: // Unknown
18
- powerActions.power_on = true
19
- powerActions.hard_stop = true
20
- break
21
- case 1: // Powered off
22
- powerActions.power_on = true
23
- break
24
- case 2: // Powered on
25
- powerActions.power_off = true
26
- powerActions.suspend = true
27
- powerActions.reset = true
28
- powerActions.hard_stop = true
29
- powerActions.shutdown_guest = true
30
- powerActions.restart_guest = true
31
- break
32
- case 3: // Suspended
33
- case 4: // Error
34
- case 5: // Warning
35
- powerActions.power_on = true
36
- powerActions.hard_stop = true
37
- break
38
- case 6: // Pending
39
- powerActions.hard_stop = true
40
- break
41
- case 7: // Paused
42
- powerActions.power_on = true
43
- powerActions.hard_stop = true
44
- break
45
- case 8: // Blocked
46
- case 9: // Shutting down
47
- case 10: // Shut off
48
- powerActions.hard_stop = true
49
- break
50
- default:
51
- powerActions.hard_stop = true
52
- }
53
-
54
- return powerActions
55
- }
1
+ import type { API_UI_T_VmState } from '~/models/store/types'
2
+ import type { UI_I_VmPowerActions } from '~/components/common/vm/models/interfaces'
3
+
4
+ export const getPowerActionsByState = (
5
+ state: API_UI_T_VmState
6
+ ): UI_I_VmPowerActions => {
7
+ const powerActions = {
8
+ hard_stop: false,
9
+ power_off: false,
10
+ power_on: false,
11
+ reset: false,
12
+ restart_guest: false,
13
+ shutdown_guest: false,
14
+ suspend: false,
15
+ }
16
+ switch (state) {
17
+ case 0: // Unknown
18
+ powerActions.power_on = true
19
+ powerActions.hard_stop = true
20
+ break
21
+ case 1: // Powered off
22
+ powerActions.power_on = true
23
+ break
24
+ case 2: // Powered on
25
+ powerActions.power_off = true
26
+ powerActions.suspend = true
27
+ powerActions.reset = true
28
+ powerActions.hard_stop = true
29
+ powerActions.shutdown_guest = true
30
+ powerActions.restart_guest = true
31
+ break
32
+ case 3: // Suspended
33
+ case 4: // Error
34
+ case 5: // Warning
35
+ powerActions.power_on = true
36
+ powerActions.hard_stop = true
37
+ break
38
+ case 6: // Pending
39
+ powerActions.hard_stop = true
40
+ break
41
+ case 7: // Paused
42
+ powerActions.power_on = true
43
+ powerActions.hard_stop = true
44
+ break
45
+ case 8: // Blocked
46
+ case 9: // Shutting down
47
+ case 10: // Shut off
48
+ powerActions.hard_stop = true
49
+ break
50
+ default:
51
+ powerActions.hard_stop = true
52
+ }
53
+
54
+ return powerActions
55
+ }
@@ -1,54 +1,54 @@
1
- <template>
2
- <div class="kerberos-auth">
3
- <atoms-alert
4
- v-show="isShowAlert"
5
- test-id="kerberos-authentication"
6
- status="alert-warning"
7
- :items="[localization.kerberosAuthenticationAlert]"
8
- @remove="isShowAlert = false"
9
- />
10
-
11
- <div class="kerberos-auth__inner">
12
- <div v-for="item in kerberosTypes" :key="item.value" class="radio">
13
- <input
14
- :id="item.label"
15
- v-model="kerberosType"
16
- type="radio"
17
- :value="item.value"
18
- />
19
- <label :for="item.label">
20
- {{ item.label }}
21
- </label>
22
- </div>
23
- </div>
24
- </div>
25
- </template>
26
-
27
- <script lang="ts" setup>
28
- import { UI_I_Localization } from '~/models/interfaces'
29
- import { UI_I_RadioOption } from '~/components/common/select/radio/models/interfaces'
30
- import { UI_T_KerberosAuthentication } from '~/components/common/wizards/datastore/add/models/types'
31
- import { kerberosOptionsFunc } from '~/components/common/wizards/datastore/add/nfs/kerberosAuthentication/config/radioOptions'
32
-
33
- const localization = computed<UI_I_Localization>(() => useLocal())
34
-
35
- const kerberosType = ref<UI_T_KerberosAuthentication>('dont-use')
36
- const isShowAlert = ref<boolean>(true)
37
-
38
- const kerberosTypes = readonly<UI_I_RadioOption[]>(
39
- kerberosOptionsFunc(localization.value)
40
- )
41
- </script>
42
-
43
- <style lang="scss" scoped>
44
- .kerberos-auth {
45
- &__inner {
46
- margin-top: 12px;
47
- }
48
- }
49
-
50
- input[type='radio']:focus:checked + label::before,
51
- input[type='radio']:focus + label::before {
52
- box-shadow: inset 0 0 0 0.25rem #0094d2;
53
- }
54
- </style>
1
+ <template>
2
+ <div class="kerberos-auth">
3
+ <atoms-alert
4
+ v-show="isShowAlert"
5
+ test-id="kerberos-authentication"
6
+ status="alert-warning"
7
+ :items="[localization.kerberosAuthenticationAlert]"
8
+ @remove="isShowAlert = false"
9
+ />
10
+
11
+ <div class="kerberos-auth__inner">
12
+ <div v-for="item in kerberosTypes" :key="item.value" class="radio">
13
+ <input
14
+ :id="item.label"
15
+ v-model="kerberosType"
16
+ type="radio"
17
+ :value="item.value"
18
+ />
19
+ <label :for="item.label">
20
+ {{ item.label }}
21
+ </label>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </template>
26
+
27
+ <script lang="ts" setup>
28
+ import { UI_I_Localization } from '~/models/interfaces'
29
+ import { UI_I_RadioOption } from '~/components/common/select/radio/models/interfaces'
30
+ import { UI_T_KerberosAuthentication } from '~/components/common/wizards/datastore/add/models/types'
31
+ import { kerberosOptionsFunc } from '~/components/common/wizards/datastore/add/nfs/kerberosAuthentication/config/radioOptions'
32
+
33
+ const localization = computed<UI_I_Localization>(() => useLocal())
34
+
35
+ const kerberosType = ref<UI_T_KerberosAuthentication>('dont-use')
36
+ const isShowAlert = ref<boolean>(true)
37
+
38
+ const kerberosTypes = readonly<UI_I_RadioOption[]>(
39
+ kerberosOptionsFunc(localization.value)
40
+ )
41
+ </script>
42
+
43
+ <style lang="scss" scoped>
44
+ .kerberos-auth {
45
+ &__inner {
46
+ margin-top: 12px;
47
+ }
48
+ }
49
+
50
+ input[type='radio']:focus:checked + label::before,
51
+ input[type='radio']:focus + label::before {
52
+ box-shadow: inset 0 0 0 0.25rem #0094d2;
53
+ }
54
+ </style>
@@ -1,32 +1,32 @@
1
- import type { UI_T_LangValue } from '~/models/types'
2
-
3
- export const defineBrowserLangFunc = (): Exclude<UI_T_LangValue, 'BROWSER'> => {
4
- const browserLanguage: string = navigator.language
5
-
6
- let lang: Exclude<UI_T_LangValue, 'BROWSER'>
7
-
8
- switch (browserLanguage.substring(0, 2)) {
9
- case 'en':
10
- lang = 'en_US'
11
- break
12
- case 'ru':
13
- lang = 'ru_RU'
14
- break
15
- case 'hy':
16
- lang = 'hy_AM'
17
- break
18
- case 'zh':
19
- lang = 'zh_CHS'
20
- break
21
- case 'kk':
22
- lang = 'kk_KZ'
23
- break
24
- case 'be':
25
- lang = 'be_BY'
26
- break
27
- default:
28
- lang = 'en_US'
29
- break
30
- }
31
- return lang
32
- }
1
+ import type { UI_T_LangValue } from '~/models/types'
2
+
3
+ export const defineBrowserLangFunc = (): Exclude<UI_T_LangValue, 'BROWSER'> => {
4
+ const browserLanguage: string = navigator.language
5
+
6
+ let lang: Exclude<UI_T_LangValue, 'BROWSER'>
7
+
8
+ switch (browserLanguage.substring(0, 2)) {
9
+ case 'en':
10
+ lang = 'en_US'
11
+ break
12
+ case 'ru':
13
+ lang = 'ru_RU'
14
+ break
15
+ case 'hy':
16
+ lang = 'hy_AM'
17
+ break
18
+ case 'zh':
19
+ lang = 'zh_CHS'
20
+ break
21
+ case 'kk':
22
+ lang = 'kk_KZ'
23
+ break
24
+ case 'be':
25
+ lang = 'be_BY'
26
+ break
27
+ default:
28
+ lang = 'en_US'
29
+ break
30
+ }
31
+ return lang
32
+ }
@@ -1,38 +1,38 @@
1
- import localRu from '~/assets/localization/local_ru.json'
2
- import localEn from '~/assets/localization/local_en.json'
3
- import localHy from '~/assets/localization/local_hy.json'
4
- import localZh from '~/assets/localization/local_zh.json'
5
- import localKk from '~/assets/localization/local_kk.json'
6
- import localBe from '~/assets/localization/local_be.json'
7
- const locals = {
8
- localRu,
9
- localEn,
10
- localHy,
11
- localZh,
12
- localKk,
13
- localBe,
14
- }
15
- export const useLocal = () => {
16
- const config = useRuntimeConfig()
17
-
18
- const code: string = config?.public?.LOCALIZATION_CODE?.toLowerCase() || 'ru'
19
-
20
- document.getElementsByTagName('html')[0].setAttribute('lang', code)
21
-
22
- switch (code) {
23
- case 'ru':
24
- return locals.localRu
25
- case 'en':
26
- return locals.localEn
27
- case 'hy':
28
- return locals.localHy
29
- case 'zh':
30
- return locals.localZh
31
- case 'kk':
32
- return locals.localKk
33
- case 'be':
34
- return locals.localBe
35
- default:
36
- return locals.localRu
37
- }
38
- }
1
+ import localRu from '~/assets/localization/local_ru.json'
2
+ import localEn from '~/assets/localization/local_en.json'
3
+ import localHy from '~/assets/localization/local_hy.json'
4
+ import localZh from '~/assets/localization/local_zh.json'
5
+ import localKk from '~/assets/localization/local_kk.json'
6
+ import localBe from '~/assets/localization/local_be.json'
7
+ const locals = {
8
+ localRu,
9
+ localEn,
10
+ localHy,
11
+ localZh,
12
+ localKk,
13
+ localBe,
14
+ }
15
+ export const useLocal = () => {
16
+ const config = useRuntimeConfig()
17
+
18
+ const code: string = config?.public?.LOCALIZATION_CODE?.toLowerCase() || 'ru'
19
+
20
+ document.getElementsByTagName('html')[0].setAttribute('lang', code)
21
+
22
+ switch (code) {
23
+ case 'ru':
24
+ return locals.localRu
25
+ case 'en':
26
+ return locals.localEn
27
+ case 'hy':
28
+ return locals.localHy
29
+ case 'zh':
30
+ return locals.localZh
31
+ case 'kk':
32
+ return locals.localKk
33
+ case 'be':
34
+ return locals.localBe
35
+ default:
36
+ return locals.localRu
37
+ }
38
+ }