@dxtmisha/wiki 0.39.6 → 0.39.8

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 (194) hide show
  1. package/dist/defineProperty-Bjg6wMoX.js +39 -0
  2. package/dist/library.d.ts +0 -1
  3. package/dist/library.js +25 -25
  4. package/dist/media.js +12 -0
  5. package/dist/storybook.js +26929 -11
  6. package/package.json +1 -1
  7. package/src/library.ts +0 -1
  8. package/src/media/functional/functional-basic/api/api.en.mdx +45 -0
  9. package/src/media/functional/functional-basic/api/api.ru.mdx +45 -0
  10. package/src/media/functional/functional-basic/api/api.vi.mdx +45 -0
  11. package/src/media/functional/functional-basic/classes/Api/Api.en.mdx +54 -54
  12. package/src/media/functional/functional-basic/classes/Api/Api.ru.mdx +54 -54
  13. package/src/media/functional/functional-basic/classes/Api/Api.vi.mdx +54 -54
  14. package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.en.mdx +111 -0
  15. package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.ru.mdx +111 -0
  16. package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.vi.mdx +111 -0
  17. package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.en.mdx +32 -0
  18. package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.ru.mdx +32 -0
  19. package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.vi.mdx +32 -0
  20. package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.en.mdx +24 -28
  21. package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.ru.mdx +24 -28
  22. package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.vi.mdx +24 -28
  23. package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.en.mdx +28 -14
  24. package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.ru.mdx +33 -19
  25. package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.vi.mdx +33 -19
  26. package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.en.mdx +56 -0
  27. package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.ru.mdx +56 -0
  28. package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.vi.mdx +55 -0
  29. package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.en.mdx +101 -49
  30. package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.ru.mdx +101 -49
  31. package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.vi.mdx +98 -47
  32. package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.en.mdx +44 -26
  33. package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.ru.mdx +45 -27
  34. package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.vi.mdx +44 -26
  35. package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.en.mdx +50 -21
  36. package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.ru.mdx +54 -25
  37. package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.vi.mdx +55 -26
  38. package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.en.mdx +29 -32
  39. package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.ru.mdx +33 -36
  40. package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.vi.mdx +33 -36
  41. package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.en.mdx +34 -53
  42. package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.ru.mdx +33 -52
  43. package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.vi.mdx +39 -58
  44. package/src/media/functional/functional-basic/classes/Cache/Cache.en.mdx +7 -4
  45. package/src/media/functional/functional-basic/classes/Cache/Cache.ru.mdx +7 -4
  46. package/src/media/functional/functional-basic/classes/Cache/Cache.vi.mdx +28 -25
  47. package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.en.mdx +45 -53
  48. package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.ru.mdx +46 -54
  49. package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.vi.mdx +47 -55
  50. package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.en.mdx +13 -1
  51. package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.ru.mdx +13 -1
  52. package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.vi.mdx +13 -0
  53. package/src/media/functional/functional-basic/classes/Cookie/Cookie.en.mdx +88 -44
  54. package/src/media/functional/functional-basic/classes/Cookie/Cookie.ru.mdx +88 -44
  55. package/src/media/functional/functional-basic/classes/Cookie/Cookie.vi.mdx +85 -41
  56. package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.en.mdx +43 -22
  57. package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.ru.mdx +46 -25
  58. package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.vi.mdx +43 -22
  59. package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.en.mdx +84 -0
  60. package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.ru.mdx +84 -0
  61. package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.vi.mdx +100 -0
  62. package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.en.mdx +153 -0
  63. package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.ru.mdx +153 -0
  64. package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.vi.mdx +153 -0
  65. package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.en.mdx +32 -25
  66. package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.ru.mdx +32 -25
  67. package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.vi.mdx +32 -27
  68. package/src/media/functional/functional-basic/classes/Datetime/Datetime.en.mdx +36 -4
  69. package/src/media/functional/functional-basic/classes/Datetime/Datetime.ru.mdx +36 -4
  70. package/src/media/functional/functional-basic/classes/Datetime/Datetime.vi.mdx +36 -4
  71. package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.en.mdx +101 -70
  72. package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.ru.mdx +100 -69
  73. package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.vi.mdx +101 -70
  74. package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.en.mdx +46 -42
  75. package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.ru.mdx +46 -42
  76. package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.vi.mdx +46 -42
  77. package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.en.mdx +44 -96
  78. package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.ru.mdx +44 -96
  79. package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.vi.mdx +44 -96
  80. package/src/media/functional/functional-basic/classes/EventItem/EventItem.en.mdx +49 -28
  81. package/src/media/functional/functional-basic/classes/EventItem/EventItem.ru.mdx +21 -0
  82. package/src/media/functional/functional-basic/classes/EventItem/EventItem.vi.mdx +63 -42
  83. package/src/media/functional/functional-basic/classes/Formatters/Formatters.en.mdx +97 -109
  84. package/src/media/functional/functional-basic/classes/Formatters/Formatters.ru.mdx +86 -98
  85. package/src/media/functional/functional-basic/classes/Formatters/Formatters.vi.mdx +99 -111
  86. package/src/media/functional/functional-basic/classes/Geo/Geo.en.mdx +3 -3
  87. package/src/media/functional/functional-basic/classes/Geo/Geo.ru.mdx +5 -5
  88. package/src/media/functional/functional-basic/classes/Geo/Geo.vi.mdx +5 -5
  89. package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.en.mdx +83 -40
  90. package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.ru.mdx +83 -40
  91. package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.vi.mdx +87 -44
  92. package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.en.mdx +81 -0
  93. package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.ru.mdx +81 -0
  94. package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.vi.mdx +81 -0
  95. package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.en.mdx +56 -105
  96. package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.ru.mdx +53 -102
  97. package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.vi.mdx +55 -105
  98. package/src/media/functional/functional-basic/classes/Hash/Hash.en.mdx +18 -7
  99. package/src/media/functional/functional-basic/classes/Hash/Hash.ru.mdx +18 -7
  100. package/src/media/functional/functional-basic/classes/Hash/Hash.vi.mdx +18 -7
  101. package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.en.mdx +54 -0
  102. package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.ru.mdx +54 -0
  103. package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.vi.mdx +54 -0
  104. package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.en.mdx +78 -0
  105. package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.ru.mdx +78 -0
  106. package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.vi.mdx +78 -0
  107. package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.en.mdx +50 -0
  108. package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.ru.mdx +50 -0
  109. package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.vi.mdx +50 -0
  110. package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.en.mdx +131 -0
  111. package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.ru.mdx +131 -0
  112. package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.vi.mdx +131 -0
  113. package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.en.mdx +97 -0
  114. package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.ru.mdx +97 -0
  115. package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.vi.mdx +97 -0
  116. package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.en.mdx +13 -5
  117. package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.ru.mdx +13 -5
  118. package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.vi.mdx +13 -5
  119. package/src/media/functional/functional-basic/functions/anyToString/anyToString.en.mdx +37 -19
  120. package/src/media/functional/functional-basic/functions/anyToString/anyToString.ru.mdx +37 -19
  121. package/src/media/functional/functional-basic/functions/anyToString/anyToString.vi.mdx +35 -17
  122. package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.en.mdx +31 -19
  123. package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.ru.mdx +31 -19
  124. package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.vi.mdx +32 -20
  125. package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.en.mdx +29 -15
  126. package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.ru.mdx +28 -14
  127. package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.vi.mdx +28 -14
  128. package/src/media/functional/functional-basic/functions/capitalize/capitalize.en.mdx +7 -3
  129. package/src/media/functional/functional-basic/functions/capitalize/capitalize.ru.mdx +7 -3
  130. package/src/media/functional/functional-basic/functions/capitalize/capitalize.vi.mdx +7 -3
  131. package/src/media/functional/functional-basic/functions/copyObject/copyObject.en.mdx +17 -13
  132. package/src/media/functional/functional-basic/functions/copyObject/copyObject.ru.mdx +17 -13
  133. package/src/media/functional/functional-basic/functions/copyObject/copyObject.vi.mdx +17 -13
  134. package/src/media/functional/functional-basic/functions/createElement/createElement.en.mdx +2 -0
  135. package/src/media/functional/functional-basic/functions/createElement/createElement.ru.mdx +2 -0
  136. package/src/media/functional/functional-basic/functions/createElement/createElement.vi.mdx +2 -0
  137. package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.en.mdx +1 -3
  138. package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.ru.mdx +1 -3
  139. package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.vi.mdx +1 -3
  140. package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.en.mdx +13 -10
  141. package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.ru.mdx +14 -11
  142. package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.vi.mdx +12 -9
  143. package/src/media/functional/functional-basic/functions/executePromise/executePromise.en.mdx +14 -13
  144. package/src/media/functional/functional-basic/functions/executePromise/executePromise.ru.mdx +15 -14
  145. package/src/media/functional/functional-basic/functions/executePromise/executePromise.vi.mdx +14 -13
  146. package/src/media/functional/functional-basic/functions/forEach/forEach.en.mdx +1 -1
  147. package/src/media/functional/functional-basic/functions/forEach/forEach.ru.mdx +1 -1
  148. package/src/media/functional/functional-basic/functions/forEach/forEach.vi.mdx +1 -1
  149. package/src/media/functional/functional-basic/functions/frame/frame.en.mdx +7 -4
  150. package/src/media/functional/functional-basic/functions/frame/frame.ru.mdx +6 -3
  151. package/src/media/functional/functional-basic/functions/frame/frame.vi.mdx +7 -4
  152. package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.en.mdx +34 -0
  153. package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.ru.mdx +34 -0
  154. package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.vi.mdx +35 -0
  155. package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.en.mdx +2 -0
  156. package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.ru.mdx +2 -0
  157. package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.vi.mdx +2 -0
  158. package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.en.mdx +21 -0
  159. package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.ru.mdx +21 -0
  160. package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.vi.mdx +21 -0
  161. package/src/media/functional/functional-basic/functions/getElementId/getElementId.en.mdx +17 -3
  162. package/src/media/functional/functional-basic/functions/getElementId/getElementId.ru.mdx +17 -3
  163. package/src/media/functional/functional-basic/functions/getElementId/getElementId.vi.mdx +18 -4
  164. package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.en.mdx +31 -0
  165. package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.ru.mdx +31 -0
  166. package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.vi.mdx +31 -0
  167. package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.en.mdx +25 -0
  168. package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.ru.mdx +25 -0
  169. package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.vi.mdx +25 -0
  170. package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.en.mdx +11 -4
  171. package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.ru.mdx +14 -7
  172. package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.vi.mdx +13 -6
  173. package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.en.mdx +3 -2
  174. package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.ru.mdx +3 -2
  175. package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.vi.mdx +3 -2
  176. package/src/media/functional/functional-basic/functions/toNumber/toNumber.en.mdx +25 -9
  177. package/src/media/functional/functional-basic/functions/toNumber/toNumber.ru.mdx +25 -9
  178. package/src/media/functional/functional-basic/functions/toNumber/toNumber.vi.mdx +25 -9
  179. package/src/media/functional/functional-basic/functions/toString/toString.en.mdx +28 -0
  180. package/src/media/functional/functional-basic/functions/toString/toString.ru.mdx +28 -0
  181. package/src/media/functional/functional-basic/functions/toString/toString.vi.mdx +28 -0
  182. package/src/media/functional/ui/about/about.en.mdx +45 -0
  183. package/src/media/functional/ui/about/about.ru.mdx +45 -0
  184. package/src/media/functional/ui/about/about.vi.mdx +45 -0
  185. package/src/media/functional/ui/component/component.en.mdx +104 -0
  186. package/src/media/functional/ui/component/component.ru.mdx +106 -0
  187. package/src/media/functional/ui/component/component.vi.mdx +104 -0
  188. package/src/media/functional/ui/setup/setup.en.mdx +72 -0
  189. package/src/media/functional/ui/setup/setup.ru.mdx +72 -0
  190. package/src/media/functional/ui/setup/setup.vi.mdx +72 -0
  191. package/src/media/functional/ui/wiki-data.en.mdx +114 -0
  192. package/src/media/functional/ui/wiki-data.ru.mdx +114 -0
  193. package/src/media/functional/ui/wiki-data.vi.mdx +114 -0
  194. package/dist/WikiStorybookDescriptions-IKMchHA-.js +0 -26959
@@ -4,76 +4,119 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # GeoFlag Class
6
6
 
7
- A class for working with country flags. Provides a convenient interface for retrieving flag icons, localized country and language names based on a country code or locale. It uses `Geo` and `GeoIntl` to resolve localized names.
7
+ A class for working with country flags and geographic information. It provides a convenient interface for retrieving flag icons, localized country names, and languages. It uses the `Geo` and `GeoIntl` singletons to correctly resolve data based on the current locale.
8
8
 
9
9
  ## Key Features
10
10
 
11
- - **Flag Dictionary** — A built-in static `flags` dictionary mapping ISO 3166-1 alpha-2 country codes to icon names.
12
- - **Localized Names** — Returns country and language names according to the current UI locale.
13
- - **National Names** — A dedicated `getNational` method returns country names in their own language.
14
- - **Flexible Filtering** — List methods support filtering by an array of codes.
11
+ - **Flag Dictionary** — built-in static `flags` list mapping ISO 3166-1 alpha-2 codes to icon names.
12
+ - **Localized Data** — automatic translation of country and language names into the current interface language.
13
+ - **National Support** — the ability to retrieve country names in their "native" language (e.g., "Japan" and "日本" simultaneously).
14
+ - **Scalability** — support for filtering and retrieving full lists for country selectors.
15
15
 
16
16
  ## Initialization
17
17
 
18
- Creates a new `GeoFlag` instance with an optional country or locale code.
18
+ To create an instance, use the `GeoFlag(code)` constructor.
19
19
 
20
20
  **Parameters:**
21
- - `code?: string` — Country or locale code (e.g., `'US'`, `'en-US'`). Defaults to the current locale from `Geo`.
21
+ - `code?: string` — country or locale code (e.g., `'US'`, `'en-US'`). If not specified, the current locale from the `Geo` system is used.
22
22
 
23
23
  ```javascript
24
24
  import { GeoFlag } from '@dxtmisha/functional-basic'
25
25
 
26
- // Create with the current locale
26
+ // With current locale
27
27
  const flag = new GeoFlag()
28
28
 
29
- // Create for a specific country
29
+ // For a specific country
30
30
  const usFlag = new GeoFlag('en-US')
31
31
  ```
32
32
 
33
33
  ## Methods
34
34
 
35
35
  ### Data Retrieval
36
+ - `get(code?: string): GeoFlagItem | undefined` — Returns a full data object about a country.
37
+ - `getFlag(code?: string): string | undefined` — Returns only the flag icon identifier (e.g., `'f-us'`).
36
38
 
37
- - `get(code?: string): GeoFlagItem | undefined` — Returns a full data object for a country: language, country code, standard, and flag icon name. If no code is specified, uses the constructor's code.
38
- - `getFlag(code?: string): string | undefined` — Returns only the icon name for a given country's flag.
39
- - `getList(codes?: string[]): GeoFlagItem[]` — Returns an array of flag data objects. If `codes` is not provided, returns all countries from the dictionary.
40
- - `getNational(codes?: string[]): GeoFlagNational[]` — Similar to `getList`, but additionally contains country names in the country's own language.
39
+ ### Lists
40
+ - `getList(codes?: string[]): GeoFlagItem[]` — Returns an array of country data.
41
+ - `getNational(codes?: string[]): GeoFlagNational[]` — Returns a list of countries with national names.
41
42
 
42
- ### Data Mutation
43
+ ### Configuration
44
+ - `setCode(code: string): this` — Changes the base locale for the current instance.
43
45
 
44
- - `setCode(code: string): this` — Changes the country code for the current instance.
46
+ ## List Methods
45
47
 
46
- ## Examples
48
+ The main difference between the methods lies in the language in which the country and language names are returned:
47
49
 
48
- ### Displaying a Flag for the Current Country
49
- ```javascript
50
- import { GeoFlag } from '@dxtmisha/functional-basic'
50
+ * **`getList`** returns names only in the language set in the class instance (e.g., everything in English).
51
+ * **`getNational`** — returns names in your interface language + adds original names in the country's own language (e.g., "Japan" and "日本").
51
52
 
52
- const flag = new GeoFlag()
53
- const item = flag.get()
53
+ ### Example of the difference in result:
54
54
 
55
- console.log(item?.icon) // 'f-us'
56
- console.log(item?.country) // 'United States'
55
+ ```javascript
56
+ const geo = new GeoFlag('en-US') // English language is set
57
+
58
+ // 1. getList returns only the translation
59
+ const list = geo.getList(['JP'])
60
+ /*
61
+ [{ country: 'Japan', ... }]
62
+ */
63
+
64
+ // 2. getNational returns the translation + original name
65
+ const national = geo.getNational(['JP'])
66
+ /*
67
+ [{
68
+ country: 'Japan',
69
+ nationalCountry: '日本',
70
+ ...
71
+ }]
72
+ */
57
73
  ```
58
74
 
59
- ### List of All Countries with Flags
60
- ```javascript
61
- const flag = new GeoFlag('en-US')
62
- const countries = flag.getList()
75
+ ## Types
63
76
 
64
- countries.forEach(item => {
65
- console.log(`${item.icon}: ${item.country}`)
66
- })
67
- // 'f-fr: France', 'f-de: Germany', ...
68
- ```
77
+ ### `GeoFlagItem`
78
+ Basic flag information object.
79
+ - `country`: string — Localized country name.
80
+ - `language`: string Localized language name.
81
+ - `standard`: string — Full locale standard (e.g., `en-US`).
82
+ - `icon`: string — Flag icon name (prefix `f-`).
83
+ - `label`: string — Display label (matches `country` by default).
84
+ - `value`: string — Country code (ISO alpha-2).
69
85
 
70
- ### List with National Names
71
- ```javascript
72
- // Returns the country name in both your language and the country's own language
73
- const national = new GeoFlag('en-US').getNational(['FR', 'JP', 'RU'])
86
+ ### `GeoFlagNational`
87
+ Extends `GeoFlagItem` with additional fields:
88
+ - `nationalCountry`: string Country name in its native language.
89
+ - `nationalLanguage`: string Language name in its native language.
90
+ - `description`: string — Brief description (duplicates `nationalCountry`).
74
91
 
75
- national.forEach(item => {
76
- console.log(`${item.country} (${item.nationalCountry})`)
77
- })
78
- // France (France), Japan (日本), Russia (Россия)
92
+ ## Examples
93
+
94
+ ### List of Popular Countries with National Names
95
+ ```javascript
96
+ const geo = new GeoFlag('en-US')
97
+ const list = geo.getNational(['US', 'CN', 'JP'])
98
+
99
+ /*
100
+ Result:
101
+ [
102
+ {
103
+ country: 'United States',
104
+ nationalCountry: 'United States',
105
+ icon: 'f-us',
106
+ ...
107
+ },
108
+ {
109
+ country: 'China',
110
+ nationalCountry: '中国',
111
+ icon: 'f-cn',
112
+ ...
113
+ },
114
+ {
115
+ country: 'Japan',
116
+ nationalCountry: '日本',
117
+ icon: 'f-jp',
118
+ ...
119
+ }
120
+ ]
121
+ */
79
122
  ```
@@ -4,76 +4,119 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # Класс GeoFlag
6
6
 
7
- Класс для работы с флагами стран. Предоставляет удобный интерфейс для получения иконок флагов, отображаемых имен стран и языков на основе кода страны или локали. Использует `Geo` и `GeoIntl` для разрешения локализованных наименований.
7
+ Класс для работы с флагами стран и географической информацией. Он предоставляет удобный интерфейс для получения иконок флагов, локализованных названий стран и языков. Использует синглтоны `Geo` и `GeoIntl` для корректного разрешения данных в зависимости от текущей локали.
8
8
 
9
9
  ## Ключевые особенности
10
10
 
11
- - **Словарь флагов** — встроенный статический словарь `flags`, связывающий коды стран (ISO 3166-1 alpha-2) с именами иконок.
12
- - **Локализованные имена**возвращает название страны и языка в соответствии с текущей локалью интерфейса.
13
- - **Национальные имена**отдельный метод `getNational` возвращает названия стран на их собственном языке.
14
- - **Гибкая фильтрация** методы списков поддерживают фильтрацию по массиву кодов.
11
+ - **Словарь флагов** — встроенный статический список `flags`, связывающий коды ISO 3166-1 alpha-2 с именами иконок.
12
+ - **Локализованные данные**автоматический перевод названий стран и языков на язык текущего интерфейса.
13
+ - **Национальная поддержка**возможность получения названий стран на их «родном» языке (например, «Япония» и «日本» одновременно).
14
+ - **Масштабируемость**поддержка фильтрации и получения полных списков для селекторов стран.
15
15
 
16
16
  ## Инициализация
17
17
 
18
- Создает новый экземпляр `GeoFlag` с опциональным кодом страны или локали.
18
+ Для создания экземпляра используйте конструктор `GeoFlag(code)`.
19
19
 
20
20
  **Параметры:**
21
- - `code?: string` — код страны или локали (например, `'RU'`, `'ru-RU'`). По умолчанию используется текущая локаль из `Geo`.
21
+ - `code?: string` — код страны или локали (например, `'RU'`, `'en-US'`). Если не указан, используется текущая локаль из системы `Geo`.
22
22
 
23
23
  ```javascript
24
24
  import { GeoFlag } from '@dxtmisha/functional-basic'
25
25
 
26
- // Создание с текущей локалью
26
+ // С текущей локалью
27
27
  const flag = new GeoFlag()
28
28
 
29
- // Создание для конкретной страны
29
+ // Для конкретной страны
30
30
  const ruFlag = new GeoFlag('ru-RU')
31
31
  ```
32
32
 
33
33
  ## Методы
34
34
 
35
35
  ### Получение данных
36
+ - `get(code?: string): GeoFlagItem | undefined` — Возвращает полный объект данных о стране.
37
+ - `getFlag(code?: string): string | undefined` — Возвращает только идентификатор иконки флага (например, `'f-ru'`).
36
38
 
37
- - `get(code?: string): GeoFlagItem | undefined` — Возвращает полный объект данных о стране: языке, коде страны, стандарте, иконке флага. Если код не указан, используется код из конструктора.
38
- - `getFlag(code?: string): string | undefined` — Возвращает только имя иконки флага для указанной страны.
39
- - `getList(codes?: string[]): GeoFlagItem[]` — Возвращает массив объектов с данными о флагах. Если `codes` не передан, возвращает все страны из словаря.
40
- - `getNational(codes?: string[]): GeoFlagNational[]` — Аналог `getList`, но дополнительно содержит названия на национальном языке страны.
39
+ ### Списки
40
+ - `getList(codes?: string[]): GeoFlagItem[]` — Возвращает массив данных о странах.
41
+ - `getNational(codes?: string[]): GeoFlagNational[]` — Возвращает список стран с национальными названиями.
41
42
 
42
- ### Изменение данных
43
+ ### Настройка
44
+ - `setCode(code: string): this` — Изменяет базовую локаль для текущего экземпляра.
43
45
 
44
- - `setCode(code: string): this` — Изменяет код страны для текущего экземпляра.
46
+ ## Методы работы со списками
45
47
 
46
- ## Примеры
48
+ Основное различие между методами заключается в языке, на котором возвращаются названия стран и языков:
47
49
 
48
- ### Отображение флага для текущей страны
49
- ```javascript
50
- import { GeoFlag } from '@dxtmisha/functional-basic'
50
+ * **`getList`** возвращает названия только на том языке, который установлен в экземпляре класса (например, всё на русском).
51
+ * **`getNational`** — возвращает названия на языке вашего интерфейса + добавляет оригинальные названия на языке самой страны (например, «Япония» и «日本»).
51
52
 
52
- const flag = new GeoFlag()
53
- const item = flag.get()
53
+ ### Пример разницы в результате:
54
54
 
55
- console.log(item?.icon) // 'f-ru'
56
- console.log(item?.country) // 'Россия'
55
+ ```javascript
56
+ const geo = new GeoFlag('ru-RU') // Установлен русский язык
57
+
58
+ // 1. getList возвращает только перевод
59
+ const list = geo.getList(['JP'])
60
+ /*
61
+ [{ country: 'Япония', ... }]
62
+ */
63
+
64
+ // 2. getNational возвращает перевод + оригинальное название
65
+ const national = geo.getNational(['JP'])
66
+ /*
67
+ [{
68
+ country: 'Япония',
69
+ nationalCountry: '日本',
70
+ ...
71
+ }]
72
+ */
57
73
  ```
58
74
 
59
- ### Список всех стран с флагами
60
- ```javascript
61
- const flag = new GeoFlag('ru-RU')
62
- const countries = flag.getList()
75
+ ## Типы
63
76
 
64
- countries.forEach(item => {
65
- console.log(`${item.icon}: ${item.country}`)
66
- })
67
- // 'f-us: США', 'f-fr: Франция', ...
68
- ```
77
+ ### `GeoFlagItem`
78
+ Базовый объект информации о флаге.
79
+ - `country`: string — Локализованное название страны.
80
+ - `language`: string Локализованное название языка.
81
+ - `standard`: string — Полный стандарт локали (например, `ru-RU`).
82
+ - `icon`: string — Имя иконки флага (префикс `f-`).
83
+ - `label`: string — Метка для отображения (по умолчанию совпадает с `country`).
84
+ - `value`: string — Код страны (ISO alpha-2).
69
85
 
70
- ### Список с национальными наименованиями
71
- ```javascript
72
- // Вернет название страны как на вашем языке, так и на языке самой страны
73
- const national = new GeoFlag('ru-RU').getNational(['US', 'FR', 'JP'])
86
+ ### `GeoFlagNational`
87
+ Расширяет `GeoFlagItem` дополнительными полями:
88
+ - `nationalCountry`: string Название страны на её родном языке.
89
+ - `nationalLanguage`: string Название языка на родном языке.
90
+ - `description`: string — Краткое описание (дублирует `nationalCountry`).
74
91
 
75
- national.forEach(item => {
76
- console.log(`${item.country} (${item.nationalCountry})`)
77
- })
78
- // США (United States), Франция (France), Япония (日本)
92
+ ## Примеры
93
+
94
+ ### Список популярных стран с национальными именами
95
+ ```javascript
96
+ const geo = new GeoFlag('ru-RU')
97
+ const list = geo.getNational(['RU', 'CN', 'JP'])
98
+
99
+ /*
100
+ Результат:
101
+ [
102
+ {
103
+ country: 'Россия',
104
+ nationalCountry: 'Россия',
105
+ icon: 'f-ru',
106
+ ...
107
+ },
108
+ {
109
+ country: 'Китай',
110
+ nationalCountry: '中国',
111
+ icon: 'f-cn',
112
+ ...
113
+ },
114
+ {
115
+ country: 'Япония',
116
+ nationalCountry: '日本',
117
+ icon: 'f-jp',
118
+ ...
119
+ }
120
+ ]
121
+ */
79
122
  ```
@@ -1,79 +1,122 @@
1
1
  import {Meta} from '@storybook/addon-docs/blocks'
2
2
 
3
- <Meta title='@dxtmisha/vi/functional-basic/Classes/GeoFlag - Cờ Quốc gia'/>
3
+ <Meta title='@dxtmisha/vi/functional-basic/Classes/GeoFlag - Cờ các quốc gia'/>
4
4
 
5
5
  # Lớp GeoFlag
6
6
 
7
- Một lớp dành cho việc làm việc với cờ quốc gia. Cung cấp giao diện thuận tiện để truy xuất biểu tượng cờ, tên quốc gia và ngôn ngữ đã được bản địa hóa dựa trên quốc gia hoặc ngôn ngữ. Sử dụng `Geo` và `GeoIntl` để phân giải các tên gọi đã được bản địa hóa.
7
+ Một lớp để làm việc với cờ các quốc gia thông tin địa lý. Nó cung cấp một giao diện thuận tiện để lấy các biểu tượng cờ, tên quốc gia và ngôn ngữ đã được bản địa hóa. sử dụng các singleton `Geo` và `GeoIntl` để giải quyết dữ liệu một cách chính xác dựa trên ngôn ngữ hiện tại.
8
8
 
9
- ## Tính năng chính
9
+ ## Các tính năng chính
10
10
 
11
- - **Từ điển cờ** — Từ điển tĩnh (`flags`) tích hợp sẵn, ánh xạ mã quốc gia ISO 3166-1 alpha-2 tới tên biểu tượng.
12
- - **Tên gọi đã bản địa hóa** — Trả về tên quốc gia và ngôn ngữ theo ngôn ngữ giao diện hiện tại.
13
- - **Tên gọi dân tộc** — Phương thức `getNational` trả về tên quốc gia theo ngôn ngữ của chính nước đó.
14
- - **Lọc linh hoạt** — Các phương thức danh sách hỗ trợ lọc theo mảng quốc gia.
11
+ - **Từ điển cờ** — danh sách `flags` tĩnh tích hợp ánh xạ mã ISO 3166-1 alpha-2 với tên biểu tượng.
12
+ - **Dữ liệu được bản địa hóa** — tự động dịch tên quốc gia và ngôn ngữ sang ngôn ngữ giao diện hiện tại.
13
+ - **Hỗ trợ quốc gia** — khả năng lấy tên quốc gia bằng ngôn ngữ "gốc" của họ (ví dụ: "Nhật Bản" và "日本" đồng thời).
14
+ - **Khả năng mở rộng** — hỗ trợ lọc và lấy danh sách đầy đủ cho các bộ chọn quốc gia.
15
15
 
16
16
  ## Khởi tạo
17
17
 
18
- Tạo một thực thể `GeoFlag` mới với quốc gia hoặc ngôn ngữ tùy chọn.
18
+ Để tạo một thực thể, hãy sử dụng constructor `GeoFlag(code)`.
19
19
 
20
20
  **Tham số:**
21
- - `code?: string` — quốc gia hoặc ngôn ngữ (ví dụ: `'VN'`, `'vi-VN'`). Mặc định sử dụng ngôn ngữ hiện tại từ `Geo`.
21
+ - `code?: string` — quốc gia hoặc ngôn ngữ (ví dụ: `'VN'`, `'vi-VN'`). Nếu không được chỉ định, ngôn ngữ hiện tại từ hệ thống `Geo` sẽ được sử dụng.
22
22
 
23
23
  ```javascript
24
24
  import { GeoFlag } from '@dxtmisha/functional-basic'
25
25
 
26
- // Tạo với ngôn ngữ hiện tại
26
+ // Với ngôn ngữ hiện tại
27
27
  const flag = new GeoFlag()
28
28
 
29
- // Tạo cho một quốc gia cụ thể
29
+ // Cho một quốc gia cụ thể
30
30
  const vnFlag = new GeoFlag('vi-VN')
31
31
  ```
32
32
 
33
- ## Phương thức
33
+ ## Các phương thức
34
34
 
35
- ### Truy xuất dữ liệu
35
+ ### Lấy dữ liệu
36
+ - `get(code?: string): GeoFlagItem | undefined` — Trả về một đối tượng dữ liệu đầy đủ về một quốc gia.
37
+ - `getFlag(code?: string): string | undefined` — Trả về chỉ định danh biểu tượng cờ (ví dụ: `'f-vn'`).
36
38
 
37
- - `get(code?: string): GeoFlagItem | undefined` — Trả về đối tượng dữ liệu đầy đủ về một quốc gia: ngôn ngữ, mã quốc gia, tiêu chuẩn và tên biểu tượng cờ. Nếu không có mã, sử dụng mã từ constructor.
38
- - `getFlag(code?: string): string | undefined` — Chỉ trả về tên biểu tượng cờ của quốc gia được chỉ định.
39
- - `getList(codes?: string[]): GeoFlagItem[]` — Trả về mảng các đối tượng dữ liệu cờ. Nếu `codes` không được cung cấp, trả về tất cả các quốc gia từ từ điển.
40
- - `getNational(codes?: string[]): GeoFlagNational[]` — Tương tự `getList`, nhưng bổ sung tên quốc gia theo ngôn ngữ của chính nước đó.
39
+ ### Danh sách
40
+ - `getList(codes?: string[]): GeoFlagItem[]` — Trả về một mảng dữ liệu quốc gia.
41
+ - `getNational(codes?: string[]): GeoFlagNational[]` — Trả về danh sách các quốc gia với tên quốc gia gốc.
41
42
 
42
- ### Thay đổi dữ liệu
43
+ ### Cấu hình
44
+ - `setCode(code: string): this` — Thay đổi ngôn ngữ cơ sở cho thực thể hiện tại.
43
45
 
44
- - `setCode(code: string): this` Thay đổi mã quốc gia cho thực thể hiện tại.
46
+ ## Các phương thức danh sách
45
47
 
46
- ## dụ
48
+ Sự khác biệt chính giữa các phương thức nằm ở ngôn ngữ mà tên quốc gia và ngôn ngữ được trả về:
47
49
 
48
- ### Hiển thị cờ cho quốc gia hiện tại
49
- ```javascript
50
- import { GeoFlag } from '@dxtmisha/functional-basic'
50
+ * **`getList`** trả về tên chỉ bằng ngôn ngữ được thiết lập trong thực thể lớp (ví dụ: tất cả bằng tiếng Việt).
51
+ * **`getNational`** — trả về tên bằng ngôn ngữ giao diện của bạn + thêm tên gốc bằng ngôn ngữ của chính quốc gia đó (ví dụ: "Nhật Bản" và "日本").
51
52
 
52
- const flag = new GeoFlag()
53
- const item = flag.get()
53
+ ### dụ về sự khác biệt trong kết quả:
54
54
 
55
- console.log(item?.icon) // 'f-vn'
56
- console.log(item?.country) // 'Việt Nam'
55
+ ```javascript
56
+ const geo = new GeoFlag('vi-VN') // Ngôn ngữ tiếng Việt được thiết lập
57
+
58
+ // 1. getList chỉ trả về bản dịch
59
+ const list = geo.getList(['JP'])
60
+ /*
61
+ [{ country: 'Nhật Bản', ... }]
62
+ */
63
+
64
+ // 2. getNational trả về bản dịch + tên gốc
65
+ const national = geo.getNational(['JP'])
66
+ /*
67
+ [{
68
+ country: 'Nhật Bản',
69
+ nationalCountry: '日本',
70
+ ...
71
+ }]
72
+ */
57
73
  ```
58
74
 
59
- ### Danh sách tất cả quốc gia với cờ
60
- ```javascript
61
- const flag = new GeoFlag('vi-VN')
62
- const countries = flag.getList()
75
+ ## Các kiểu dữ liệu
63
76
 
64
- countries.forEach(item => {
65
- console.log(`${item.icon}: ${item.country}`)
66
- })
67
- // 'f-us: Hoa Kỳ', 'f-fr: Pháp', ...
68
- ```
77
+ ### `GeoFlagItem`
78
+ Đối tượng thông tin cờ cơ bản.
79
+ - `country`: string — Tên quốc gia đã được bản địa hóa.
80
+ - `language`: string Tên ngôn ngữ đã được bản địa hóa.
81
+ - `standard`: string — Tiêu chuẩn ngôn ngữ đầy đủ (ví dụ: `vi-VN`).
82
+ - `icon`: string — Tên biểu tượng cờ (tiền tố `f-`).
83
+ - `label`: string — Nhãn hiển thị (mặc định khớp với `country`).
84
+ - `value`: string — Mã quốc gia (ISO alpha-2).
69
85
 
70
- ### Danh sách với tên gọi dân tộc
71
- ```javascript
72
- // Trả về tên quốc gia bằng cả ngôn ngữ của bạn và ngôn ngữ của chính nước đó
73
- const national = new GeoFlag('vi-VN').getNational(['US', 'JP', 'RU'])
86
+ ### `GeoFlagNational`
87
+ Mở rộng `GeoFlagItem` với các trường bổ sung:
88
+ - `nationalCountry`: string Tên quốc gia bằng ngôn ngữ gốc.
89
+ - `nationalLanguage`: string Tên ngôn ngữ bằng ngôn ngữ gốc.
90
+ - `description`: string — Mô tả ngắn gọn (sao chép `nationalCountry`).
74
91
 
75
- national.forEach(item => {
76
- console.log(`${item.country} (${item.nationalCountry})`)
77
- })
78
- // Hoa Kỳ (United States), Nhật Bản (日本), Nga (Россия)
92
+ ## dụ
93
+
94
+ ### Danh sách các quốc gia phổ biến với tên quốc gia gốc
95
+ ```javascript
96
+ const geo = new GeoFlag('vi-VN')
97
+ const list = geo.getNational(['VN', 'CN', 'JP'])
98
+
99
+ /*
100
+ Kết quả:
101
+ [
102
+ {
103
+ country: 'Việt Nam',
104
+ nationalCountry: 'Việt Nam',
105
+ icon: 'f-vn',
106
+ ...
107
+ },
108
+ {
109
+ country: 'Trung Quốc',
110
+ nationalCountry: '中国',
111
+ icon: 'f-cn',
112
+ ...
113
+ },
114
+ {
115
+ country: 'Nhật Bản',
116
+ nationalCountry: '日本',
117
+ icon: 'f-jp',
118
+ ...
119
+ }
120
+ ]
121
+ */
79
122
  ```
@@ -0,0 +1,81 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/en/functional-basic/Classes/GeoInstance - Geographic Data Instance'/>
4
+
5
+ # GeoInstance Class
6
+
7
+ An instance-based class for managing geographical data. It handles language codes (ISO 639-1), country codes (ISO 3166-1 alpha-2), time zones, and localization. Unlike the static `Geo` class, `GeoInstance` allows creating independent objects with their own state, which is particularly useful for request isolation in SSR or multi-context environments.
8
+
9
+ ## Key Features
10
+
11
+ - **Object-Oriented** — allows creating multiple instances with different configurations.
12
+ - **Auto-Detection** — intelligently identifies the locale via storage or environment defaults during initialization.
13
+ - **Media Database Integration** — provides access to a comprehensive database of countries and languages from the `@dxtmisha/media` library.
14
+ - **Dynamic Time Management** — instance-level setting and retrieval of time zone offsets.
15
+
16
+ ## Basic Usage
17
+
18
+ You can create a new instance of the class to manage a specific geographic context.
19
+
20
+ ```javascript
21
+ import { GeoInstance } from '@dxtmisha/functional-basic'
22
+
23
+ const geo = new GeoInstance()
24
+
25
+ // Get the current language code
26
+ console.log(geo.getLanguage()) // e.g., 'en'
27
+
28
+ // Set a new locale for this instance
29
+ geo.set('fr-FR')
30
+
31
+ // Get the formatted time zone
32
+ console.log(geo.getTimezoneFormat()) // e.g., '+00:00'
33
+ ```
34
+
35
+ ## Methods
36
+
37
+ ### Information
38
+
39
+ - `get(): GeoItemFull` — Returns the full data object for the current country and language.
40
+ - `getItem(): GeoItemFull` — Returns a copy of the current settings object, accounting for the dynamic language.
41
+ - `getCountry(): string` — Returns the 2-letter code of the current country (uppercase).
42
+ - `getLanguage(): string` — Returns the 2-letter code of the current language (lowercase).
43
+ - `getStandard(): string` — Returns the combined locale string based on current settings (e.g., `'en-VN'`).
44
+ - `getLocation(): string` — Returns the currently set raw locale string.
45
+ - `getFirstDay(): string` — Returns the code for the first day of the week (e.g., `'Mo'`).
46
+ - `getTimezone(): number` — Returns the time zone offset in minutes.
47
+ - `getTimezoneFormat(): string` — Returns the time zone offset in string format (e.g., `'+03:00'`).
48
+
49
+ ### Selection
50
+
51
+ - `getList(): GeoItem[]` — Returns the full list of available countries and languages.
52
+ - `find(code: string): GeoItemFull` — An alias for the `getByCode` method.
53
+ - `getByCode(code?: string): GeoItemFull` — Searches for data by code. **Priority: Language first**, then Country. If `en-VN` is provided, it will return the record for English (`en-US`).
54
+ - `getByCodeFull(code: string): GeoItem | undefined` — Searches for an exact match by full locale code (e.g., `ru-RU`).
55
+ - `getByCountry(country: string): GeoItem | undefined` — Searches for data specifically by country code.
56
+ - `getByLanguage(language: string): GeoItem | undefined` — Searches for data specifically by language code.
57
+
58
+ ### Configuration
59
+
60
+ - `set(code: string, save?: boolean): void` — Sets the locale for the current instance.
61
+ - `setTimezone(timezone: number): void` — Sets a custom time zone offset in minutes.
62
+
63
+ ### Auxiliary
64
+
65
+ - `toStandard(item: GeoItem): string` — Generates a standard `'language-country'` string from a `GeoItem` object.
66
+
67
+ ## Examples
68
+
69
+ ### Isolated Contexts
70
+ ```javascript
71
+ import { GeoInstance } from '@dxtmisha/functional-basic'
72
+
73
+ const geoEN = new GeoInstance()
74
+ geoEN.set('en-US')
75
+
76
+ const geoRU = new GeoInstance()
77
+ geoRU.set('ru-RU')
78
+
79
+ console.log(geoEN.getLanguage()) // 'en'
80
+ console.log(geoRU.getLanguage()) // 'ru'
81
+ ```