@intlayer/core 6.1.6 → 7.0.0-canary.0
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/dist/cjs/_virtual/rolldown_runtime.cjs +25 -0
- package/dist/cjs/deepTransformPlugins/getFilterMissingTranslationsContent.cjs +213 -0
- package/dist/cjs/deepTransformPlugins/getFilterMissingTranslationsContent.cjs.map +1 -0
- package/dist/cjs/deepTransformPlugins/getFilterTranslationsOnlyContent.cjs +95 -0
- package/dist/cjs/deepTransformPlugins/getFilterTranslationsOnlyContent.cjs.map +1 -0
- package/dist/cjs/deepTransformPlugins/getFilteredLocalesContent.cjs +46 -0
- package/dist/cjs/deepTransformPlugins/getFilteredLocalesContent.cjs.map +1 -0
- package/dist/cjs/deepTransformPlugins/getLocalizedContent.cjs +33 -0
- package/dist/cjs/deepTransformPlugins/getLocalizedContent.cjs.map +1 -0
- package/dist/cjs/deepTransformPlugins/getMaskContent.cjs +27 -0
- package/dist/cjs/deepTransformPlugins/getMaskContent.cjs.map +1 -0
- package/dist/cjs/deepTransformPlugins/getMissingLocalesContent.cjs +45 -0
- package/dist/cjs/deepTransformPlugins/getMissingLocalesContent.cjs.map +1 -0
- package/dist/cjs/deepTransformPlugins/getReplacedValuesContent.cjs +60 -0
- package/dist/cjs/deepTransformPlugins/getReplacedValuesContent.cjs.map +1 -0
- package/dist/cjs/deepTransformPlugins/index.cjs +25 -0
- package/dist/cjs/deepTransformPlugins/insertContentInDictionary.cjs +107 -0
- package/dist/cjs/deepTransformPlugins/insertContentInDictionary.cjs.map +1 -0
- package/dist/cjs/dictionaryManipulator/editDictionaryByKeyPath.cjs +59 -91
- package/dist/cjs/dictionaryManipulator/editDictionaryByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getContentNodeByKeyPath.cjs +13 -39
- package/dist/cjs/dictionaryManipulator/getContentNodeByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getDefaultNode.cjs +48 -94
- package/dist/cjs/dictionaryManipulator/getDefaultNode.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getEmptyNode.cjs +24 -68
- package/dist/cjs/dictionaryManipulator/getEmptyNode.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getNodeChildren.cjs +21 -56
- package/dist/cjs/dictionaryManipulator/getNodeChildren.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getNodeType.cjs +32 -49
- package/dist/cjs/dictionaryManipulator/getNodeType.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/getUnmergedDictionaryByKeyPath.cjs +18 -50
- package/dist/cjs/dictionaryManipulator/getUnmergedDictionaryByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/index.cjs +28 -41
- package/dist/cjs/dictionaryManipulator/mergeDictionaries.cjs +69 -0
- package/dist/cjs/dictionaryManipulator/mergeDictionaries.cjs.map +1 -0
- package/dist/cjs/dictionaryManipulator/normalizeDictionary.cjs +30 -0
- package/dist/cjs/dictionaryManipulator/normalizeDictionary.cjs.map +1 -0
- package/dist/cjs/dictionaryManipulator/orderDictionaries.cjs +48 -0
- package/dist/cjs/dictionaryManipulator/orderDictionaries.cjs.map +1 -0
- package/dist/cjs/dictionaryManipulator/removeContentNodeByKeyPath.cjs +29 -54
- package/dist/cjs/dictionaryManipulator/removeContentNodeByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/renameContentNodeByKeyPath.cjs +37 -63
- package/dist/cjs/dictionaryManipulator/renameContentNodeByKeyPath.cjs.map +1 -1
- package/dist/cjs/dictionaryManipulator/updateNodeChildren.cjs +36 -76
- package/dist/cjs/dictionaryManipulator/updateNodeChildren.cjs.map +1 -1
- package/dist/cjs/formatters/compact.cjs +24 -46
- package/dist/cjs/formatters/compact.cjs.map +1 -1
- package/dist/cjs/formatters/currency.cjs +28 -50
- package/dist/cjs/formatters/currency.cjs.map +1 -1
- package/dist/cjs/formatters/date.cjs +56 -79
- package/dist/cjs/formatters/date.cjs.map +1 -1
- package/dist/cjs/formatters/index.cjs +17 -37
- package/dist/cjs/formatters/list.cjs +29 -47
- package/dist/cjs/formatters/list.cjs.map +1 -1
- package/dist/cjs/formatters/number.cjs +17 -43
- package/dist/cjs/formatters/number.cjs.map +1 -1
- package/dist/cjs/formatters/percentage.cjs +22 -51
- package/dist/cjs/formatters/percentage.cjs.map +1 -1
- package/dist/cjs/formatters/relativeTime.cjs +28 -70
- package/dist/cjs/formatters/relativeTime.cjs.map +1 -1
- package/dist/cjs/formatters/units.cjs +22 -48
- package/dist/cjs/formatters/units.cjs.map +1 -1
- package/dist/cjs/getStorageAttributes.cjs +116 -0
- package/dist/cjs/getStorageAttributes.cjs.map +1 -0
- package/dist/cjs/index.cjs +154 -45
- package/dist/cjs/interpreter/getCondition.cjs +30 -30
- package/dist/cjs/interpreter/getCondition.cjs.map +1 -1
- package/dist/cjs/interpreter/getContent/deepTransform.cjs +38 -63
- package/dist/cjs/interpreter/getContent/deepTransform.cjs.map +1 -1
- package/dist/cjs/interpreter/getContent/getContent.cjs +31 -54
- package/dist/cjs/interpreter/getContent/getContent.cjs.map +1 -1
- package/dist/cjs/interpreter/getContent/index.cjs +13 -27
- package/dist/cjs/interpreter/getContent/plugins.cjs +135 -175
- package/dist/cjs/interpreter/getContent/plugins.cjs.map +1 -1
- package/dist/cjs/interpreter/getDictionary.cjs +21 -39
- package/dist/cjs/interpreter/getDictionary.cjs.map +1 -1
- package/dist/cjs/interpreter/getEnumeration.cjs +69 -42
- package/dist/cjs/interpreter/getEnumeration.cjs.map +1 -1
- package/dist/cjs/interpreter/getGender.cjs +33 -34
- package/dist/cjs/interpreter/getGender.cjs.map +1 -1
- package/dist/cjs/interpreter/getInsertion.cjs +18 -27
- package/dist/cjs/interpreter/getInsertion.cjs.map +1 -1
- package/dist/cjs/interpreter/getIntlayer.cjs +13 -48
- package/dist/cjs/interpreter/getIntlayer.cjs.map +1 -1
- package/dist/cjs/interpreter/getNesting.cjs +26 -41
- package/dist/cjs/interpreter/getNesting.cjs.map +1 -1
- package/dist/cjs/interpreter/getTranslation.cjs +29 -32
- package/dist/cjs/interpreter/getTranslation.cjs.map +1 -1
- package/dist/cjs/interpreter/index.cjs +26 -39
- package/dist/cjs/localization/getBrowserLocale.cjs +144 -0
- package/dist/cjs/localization/getBrowserLocale.cjs.map +1 -0
- package/dist/cjs/localization/getHTMLTextDir.cjs +49 -255
- package/dist/cjs/localization/getHTMLTextDir.cjs.map +1 -1
- package/dist/cjs/localization/getLocaleFromPath.cjs +40 -56
- package/dist/cjs/localization/getLocaleFromPath.cjs.map +1 -1
- package/dist/cjs/localization/getLocaleLang.cjs +18 -27
- package/dist/cjs/localization/getLocaleLang.cjs.map +1 -1
- package/dist/cjs/localization/getLocaleName.cjs +7 -32
- package/dist/cjs/localization/getLocaleName.cjs.map +1 -1
- package/dist/cjs/localization/getLocalizedUrl.cjs +46 -47
- package/dist/cjs/localization/getLocalizedUrl.cjs.map +1 -1
- package/dist/cjs/localization/getMultilingualUrls.cjs +69 -65
- package/dist/cjs/localization/getMultilingualUrls.cjs.map +1 -1
- package/dist/cjs/localization/getPathWithoutLocale.cjs +53 -61
- package/dist/cjs/localization/getPathWithoutLocale.cjs.map +1 -1
- package/dist/cjs/localization/index.cjs +26 -63
- package/dist/cjs/localization/localeDetector.cjs +108 -39
- package/dist/cjs/localization/localeDetector.cjs.map +1 -1
- package/dist/cjs/localization/localeMapper.cjs +118 -72
- package/dist/cjs/localization/localeMapper.cjs.map +1 -1
- package/dist/cjs/localization/localeResolver.cjs +26 -61
- package/dist/cjs/localization/localeResolver.cjs.map +1 -1
- package/dist/cjs/transpiler/condition/condition.cjs +26 -29
- package/dist/cjs/transpiler/condition/condition.cjs.map +1 -1
- package/dist/cjs/transpiler/condition/index.cjs +3 -23
- package/dist/cjs/transpiler/enumeration/enumeration.cjs +28 -29
- package/dist/cjs/transpiler/enumeration/enumeration.cjs.map +1 -1
- package/dist/cjs/transpiler/enumeration/index.cjs +3 -23
- package/dist/cjs/transpiler/file/file.cjs +52 -71
- package/dist/cjs/transpiler/file/file.cjs.map +1 -1
- package/dist/cjs/transpiler/file/fileBrowser.cjs +24 -33
- package/dist/cjs/transpiler/file/fileBrowser.cjs.map +1 -1
- package/dist/cjs/transpiler/file/index.cjs +4 -23
- package/dist/cjs/transpiler/gender/gender.cjs +26 -29
- package/dist/cjs/transpiler/gender/gender.cjs.map +1 -1
- package/dist/cjs/transpiler/gender/index.cjs +3 -23
- package/dist/cjs/transpiler/index.cjs +19 -35
- package/dist/cjs/transpiler/insertion/getInsertionValues.cjs +8 -31
- package/dist/cjs/transpiler/insertion/getInsertionValues.cjs.map +1 -1
- package/dist/cjs/transpiler/insertion/index.cjs +5 -25
- package/dist/cjs/transpiler/insertion/insertion.cjs +34 -51
- package/dist/cjs/transpiler/insertion/insertion.cjs.map +1 -1
- package/dist/cjs/transpiler/markdown/getMarkdownMetadata.cjs +53 -86
- package/dist/cjs/transpiler/markdown/getMarkdownMetadata.cjs.map +1 -1
- package/dist/cjs/transpiler/markdown/index.cjs +5 -25
- package/dist/cjs/transpiler/markdown/markdown.cjs +33 -52
- package/dist/cjs/transpiler/markdown/markdown.cjs.map +1 -1
- package/dist/cjs/transpiler/nesting/index.cjs +3 -23
- package/dist/cjs/transpiler/nesting/nesting.cjs +26 -31
- package/dist/cjs/transpiler/nesting/nesting.cjs.map +1 -1
- package/dist/cjs/transpiler/translation/index.cjs +3 -23
- package/dist/cjs/transpiler/translation/translation.cjs +29 -29
- package/dist/cjs/transpiler/translation/translation.cjs.map +1 -1
- package/dist/cjs/utils/checkIsURLAbsolute.cjs +5 -27
- package/dist/cjs/utils/checkIsURLAbsolute.cjs.map +1 -1
- package/dist/cjs/utils/intl.cjs +48 -74
- package/dist/cjs/utils/intl.cjs.map +1 -1
- package/dist/cjs/utils/isSameKeyPath.cjs +6 -30
- package/dist/cjs/utils/isSameKeyPath.cjs.map +1 -1
- package/dist/cjs/utils/isValidReactElement.cjs +12 -27
- package/dist/cjs/utils/isValidReactElement.cjs.map +1 -1
- package/dist/cjs/utils/localeStorage.cjs +143 -0
- package/dist/cjs/utils/localeStorage.cjs.map +1 -0
- package/dist/cjs/utils/parseYaml.cjs +185 -55
- package/dist/cjs/utils/parseYaml.cjs.map +1 -1
- package/dist/esm/deepTransformPlugins/getFilterMissingTranslationsContent.mjs +208 -0
- package/dist/esm/deepTransformPlugins/getFilterMissingTranslationsContent.mjs.map +1 -0
- package/dist/esm/deepTransformPlugins/getFilterTranslationsOnlyContent.mjs +90 -0
- package/dist/esm/deepTransformPlugins/getFilterTranslationsOnlyContent.mjs.map +1 -0
- package/dist/esm/deepTransformPlugins/getFilteredLocalesContent.mjs +43 -0
- package/dist/esm/deepTransformPlugins/getFilteredLocalesContent.mjs.map +1 -0
- package/dist/esm/deepTransformPlugins/getLocalizedContent.mjs +32 -0
- package/dist/esm/deepTransformPlugins/getLocalizedContent.mjs.map +1 -0
- package/dist/esm/deepTransformPlugins/getMaskContent.mjs +26 -0
- package/dist/esm/deepTransformPlugins/getMaskContent.mjs.map +1 -0
- package/dist/esm/deepTransformPlugins/getMissingLocalesContent.mjs +41 -0
- package/dist/esm/deepTransformPlugins/getMissingLocalesContent.mjs.map +1 -0
- package/dist/esm/deepTransformPlugins/getReplacedValuesContent.mjs +60 -0
- package/dist/esm/deepTransformPlugins/getReplacedValuesContent.mjs.map +1 -0
- package/dist/esm/deepTransformPlugins/index.mjs +10 -0
- package/dist/esm/deepTransformPlugins/insertContentInDictionary.mjs +105 -0
- package/dist/esm/deepTransformPlugins/insertContentInDictionary.mjs.map +1 -0
- package/dist/esm/dictionaryManipulator/editDictionaryByKeyPath.mjs +57 -67
- package/dist/esm/dictionaryManipulator/editDictionaryByKeyPath.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getContentNodeByKeyPath.mjs +11 -15
- package/dist/esm/dictionaryManipulator/getContentNodeByKeyPath.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getDefaultNode.mjs +46 -70
- package/dist/esm/dictionaryManipulator/getDefaultNode.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getEmptyNode.mjs +22 -44
- package/dist/esm/dictionaryManipulator/getEmptyNode.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getNodeChildren.mjs +19 -32
- package/dist/esm/dictionaryManipulator/getNodeChildren.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getNodeType.mjs +31 -26
- package/dist/esm/dictionaryManipulator/getNodeType.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/getUnmergedDictionaryByKeyPath.mjs +14 -15
- package/dist/esm/dictionaryManipulator/getUnmergedDictionaryByKeyPath.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/index.mjs +15 -11
- package/dist/esm/dictionaryManipulator/mergeDictionaries.mjs +66 -0
- package/dist/esm/dictionaryManipulator/mergeDictionaries.mjs.map +1 -0
- package/dist/esm/dictionaryManipulator/normalizeDictionary.mjs +29 -0
- package/dist/esm/dictionaryManipulator/normalizeDictionary.mjs.map +1 -0
- package/dist/esm/dictionaryManipulator/orderDictionaries.mjs +46 -0
- package/dist/esm/dictionaryManipulator/orderDictionaries.mjs.map +1 -0
- package/dist/esm/dictionaryManipulator/removeContentNodeByKeyPath.mjs +27 -30
- package/dist/esm/dictionaryManipulator/removeContentNodeByKeyPath.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/renameContentNodeByKeyPath.mjs +35 -39
- package/dist/esm/dictionaryManipulator/renameContentNodeByKeyPath.mjs.map +1 -1
- package/dist/esm/dictionaryManipulator/updateNodeChildren.mjs +34 -52
- package/dist/esm/dictionaryManipulator/updateNodeChildren.mjs.map +1 -1
- package/dist/esm/formatters/compact.mjs +21 -11
- package/dist/esm/formatters/compact.mjs.map +1 -1
- package/dist/esm/formatters/currency.mjs +25 -15
- package/dist/esm/formatters/currency.mjs.map +1 -1
- package/dist/esm/formatters/date.mjs +53 -44
- package/dist/esm/formatters/date.mjs.map +1 -1
- package/dist/esm/formatters/index.mjs +10 -9
- package/dist/esm/formatters/list.mjs +26 -12
- package/dist/esm/formatters/list.mjs.map +1 -1
- package/dist/esm/formatters/number.mjs +14 -8
- package/dist/esm/formatters/number.mjs.map +1 -1
- package/dist/esm/formatters/percentage.mjs +19 -16
- package/dist/esm/formatters/percentage.mjs.map +1 -1
- package/dist/esm/formatters/relativeTime.mjs +25 -35
- package/dist/esm/formatters/relativeTime.mjs.map +1 -1
- package/dist/esm/formatters/units.mjs +19 -13
- package/dist/esm/formatters/units.mjs.map +1 -1
- package/dist/esm/getStorageAttributes.mjs +114 -0
- package/dist/esm/getStorageAttributes.mjs.map +1 -0
- package/dist/esm/index.mjs +67 -13
- package/dist/esm/interpreter/getCondition.mjs +29 -6
- package/dist/esm/interpreter/getCondition.mjs.map +1 -1
- package/dist/esm/interpreter/getContent/deepTransform.mjs +36 -39
- package/dist/esm/interpreter/getContent/deepTransform.mjs.map +1 -1
- package/dist/esm/interpreter/getContent/getContent.mjs +28 -26
- package/dist/esm/interpreter/getContent/getContent.mjs.map +1 -1
- package/dist/esm/interpreter/getContent/index.mjs +5 -4
- package/dist/esm/interpreter/getContent/plugins.mjs +121 -139
- package/dist/esm/interpreter/getContent/plugins.mjs.map +1 -1
- package/dist/esm/interpreter/getDictionary.mjs +20 -14
- package/dist/esm/interpreter/getDictionary.mjs.map +1 -1
- package/dist/esm/interpreter/getEnumeration.mjs +67 -17
- package/dist/esm/interpreter/getEnumeration.mjs.map +1 -1
- package/dist/esm/interpreter/getGender.mjs +32 -10
- package/dist/esm/interpreter/getGender.mjs.map +1 -1
- package/dist/esm/interpreter/getInsertion.mjs +17 -3
- package/dist/esm/interpreter/getInsertion.mjs.map +1 -1
- package/dist/esm/interpreter/getIntlayer.mjs +10 -13
- package/dist/esm/interpreter/getIntlayer.mjs.map +1 -1
- package/dist/esm/interpreter/getNesting.mjs +25 -16
- package/dist/esm/interpreter/getNesting.mjs.map +1 -1
- package/dist/esm/interpreter/getTranslation.mjs +28 -8
- package/dist/esm/interpreter/getTranslation.mjs.map +1 -1
- package/dist/esm/interpreter/index.mjs +11 -10
- package/dist/esm/localization/getBrowserLocale.mjs +139 -0
- package/dist/esm/localization/getBrowserLocale.mjs.map +1 -0
- package/dist/esm/localization/getHTMLTextDir.mjs +47 -231
- package/dist/esm/localization/getHTMLTextDir.mjs.map +1 -1
- package/dist/esm/localization/getLocaleFromPath.mjs +36 -21
- package/dist/esm/localization/getLocaleFromPath.mjs.map +1 -1
- package/dist/esm/localization/getLocaleLang.mjs +17 -3
- package/dist/esm/localization/getLocaleLang.mjs.map +1 -1
- package/dist/esm/localization/getLocaleName.mjs +7 -8
- package/dist/esm/localization/getLocaleName.mjs.map +1 -1
- package/dist/esm/localization/getLocalizedUrl.mjs +43 -12
- package/dist/esm/localization/getLocalizedUrl.mjs.map +1 -1
- package/dist/esm/localization/getMultilingualUrls.mjs +65 -29
- package/dist/esm/localization/getMultilingualUrls.mjs.map +1 -1
- package/dist/esm/localization/getPathWithoutLocale.mjs +50 -26
- package/dist/esm/localization/getPathWithoutLocale.mjs.map +1 -1
- package/dist/esm/localization/index.mjs +7 -21
- package/dist/esm/localization/localeDetector.mjs +109 -6
- package/dist/esm/localization/localeDetector.mjs.map +1 -1
- package/dist/esm/localization/localeMapper.mjs +112 -35
- package/dist/esm/localization/localeMapper.mjs.map +1 -1
- package/dist/esm/localization/localeResolver.mjs +23 -26
- package/dist/esm/localization/localeResolver.mjs.map +1 -1
- package/dist/esm/transpiler/condition/condition.mjs +23 -7
- package/dist/esm/transpiler/condition/condition.mjs.map +1 -1
- package/dist/esm/transpiler/condition/index.mjs +3 -2
- package/dist/esm/transpiler/enumeration/enumeration.mjs +25 -7
- package/dist/esm/transpiler/enumeration/enumeration.mjs.map +1 -1
- package/dist/esm/transpiler/enumeration/index.mjs +3 -2
- package/dist/esm/transpiler/file/file.mjs +46 -40
- package/dist/esm/transpiler/file/file.mjs.map +1 -1
- package/dist/esm/transpiler/file/fileBrowser.mjs +22 -9
- package/dist/esm/transpiler/file/fileBrowser.mjs.map +1 -1
- package/dist/esm/transpiler/file/index.mjs +3 -2
- package/dist/esm/transpiler/gender/gender.mjs +23 -7
- package/dist/esm/transpiler/gender/gender.mjs.map +1 -1
- package/dist/esm/transpiler/gender/index.mjs +3 -2
- package/dist/esm/transpiler/index.mjs +11 -8
- package/dist/esm/transpiler/insertion/getInsertionValues.mjs +7 -7
- package/dist/esm/transpiler/insertion/getInsertionValues.mjs.map +1 -1
- package/dist/esm/transpiler/insertion/index.mjs +4 -3
- package/dist/esm/transpiler/insertion/insertion.mjs +31 -29
- package/dist/esm/transpiler/insertion/insertion.mjs.map +1 -1
- package/dist/esm/transpiler/markdown/getMarkdownMetadata.mjs +52 -61
- package/dist/esm/transpiler/markdown/getMarkdownMetadata.mjs.map +1 -1
- package/dist/esm/transpiler/markdown/index.mjs +4 -3
- package/dist/esm/transpiler/markdown/markdown.mjs +29 -29
- package/dist/esm/transpiler/markdown/markdown.mjs.map +1 -1
- package/dist/esm/transpiler/nesting/index.mjs +3 -2
- package/dist/esm/transpiler/nesting/nesting.mjs +23 -9
- package/dist/esm/transpiler/nesting/nesting.mjs.map +1 -1
- package/dist/esm/transpiler/translation/index.mjs +3 -2
- package/dist/esm/transpiler/translation/translation.mjs +26 -7
- package/dist/esm/transpiler/translation/translation.mjs.map +1 -1
- package/dist/esm/utils/checkIsURLAbsolute.mjs +4 -3
- package/dist/esm/utils/checkIsURLAbsolute.mjs.map +1 -1
- package/dist/esm/utils/intl.mjs +44 -49
- package/dist/esm/utils/intl.mjs.map +1 -1
- package/dist/esm/utils/isSameKeyPath.mjs +5 -6
- package/dist/esm/utils/isSameKeyPath.mjs.map +1 -1
- package/dist/esm/utils/isValidReactElement.mjs +11 -3
- package/dist/esm/utils/isValidReactElement.mjs.map +1 -1
- package/dist/esm/utils/localeStorage.mjs +139 -0
- package/dist/esm/utils/localeStorage.mjs.map +1 -0
- package/dist/esm/utils/parseYaml.mjs +184 -31
- package/dist/esm/utils/parseYaml.mjs.map +1 -1
- package/dist/types/deepTransformPlugins/getFilterMissingTranslationsContent.d.ts +46 -0
- package/dist/types/deepTransformPlugins/getFilterMissingTranslationsContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getFilterTranslationsOnlyContent.d.ts +38 -0
- package/dist/types/deepTransformPlugins/getFilterTranslationsOnlyContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getFilteredLocalesContent.d.ts +30 -0
- package/dist/types/deepTransformPlugins/getFilteredLocalesContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getLocalizedContent.d.ts +18 -0
- package/dist/types/deepTransformPlugins/getLocalizedContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getMaskContent.d.ts +10 -0
- package/dist/types/deepTransformPlugins/getMaskContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getMissingLocalesContent.d.ts +16 -0
- package/dist/types/deepTransformPlugins/getMissingLocalesContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/getReplacedValuesContent.d.ts +8 -0
- package/dist/types/deepTransformPlugins/getReplacedValuesContent.d.ts.map +1 -0
- package/dist/types/deepTransformPlugins/index.d.ts +9 -0
- package/dist/types/deepTransformPlugins/insertContentInDictionary.d.ts +25 -0
- package/dist/types/deepTransformPlugins/insertContentInDictionary.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/editDictionaryByKeyPath.d.ts +6 -3
- package/dist/types/dictionaryManipulator/editDictionaryByKeyPath.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getContentNodeByKeyPath.d.ts +6 -3
- package/dist/types/dictionaryManipulator/getContentNodeByKeyPath.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getDefaultNode.d.ts +6 -3
- package/dist/types/dictionaryManipulator/getDefaultNode.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getEmptyNode.d.ts +6 -2
- package/dist/types/dictionaryManipulator/getEmptyNode.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getNodeChildren.d.ts +6 -2
- package/dist/types/dictionaryManipulator/getNodeChildren.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getNodeType.d.ts +6 -3
- package/dist/types/dictionaryManipulator/getNodeType.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/getUnmergedDictionaryByKeyPath.d.ts +8 -3
- package/dist/types/dictionaryManipulator/getUnmergedDictionaryByKeyPath.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/index.d.ts +14 -11
- package/dist/types/dictionaryManipulator/mergeDictionaries.d.ts +7 -0
- package/dist/types/dictionaryManipulator/mergeDictionaries.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/normalizeDictionary.d.ts +8 -0
- package/dist/types/dictionaryManipulator/normalizeDictionary.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/orderDictionaries.d.ts +16 -0
- package/dist/types/dictionaryManipulator/orderDictionaries.d.ts.map +1 -0
- package/dist/types/dictionaryManipulator/removeContentNodeByKeyPath.d.ts +6 -3
- package/dist/types/dictionaryManipulator/removeContentNodeByKeyPath.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/renameContentNodeByKeyPath.d.ts +6 -3
- package/dist/types/dictionaryManipulator/renameContentNodeByKeyPath.d.ts.map +1 -1
- package/dist/types/dictionaryManipulator/updateNodeChildren.d.ts +6 -2
- package/dist/types/dictionaryManipulator/updateNodeChildren.d.ts.map +1 -1
- package/dist/types/formatters/compact.d.ts +8 -3
- package/dist/types/formatters/compact.d.ts.map +1 -1
- package/dist/types/formatters/currency.d.ts +8 -3
- package/dist/types/formatters/currency.d.ts.map +1 -1
- package/dist/types/formatters/date.d.ts +8 -3
- package/dist/types/formatters/date.d.ts.map +1 -1
- package/dist/types/formatters/index.d.ts +9 -9
- package/dist/types/formatters/list.d.ts +8 -3
- package/dist/types/formatters/list.d.ts.map +1 -1
- package/dist/types/formatters/number.d.ts +8 -3
- package/dist/types/formatters/number.d.ts.map +1 -1
- package/dist/types/formatters/percentage.d.ts +8 -3
- package/dist/types/formatters/percentage.d.ts.map +1 -1
- package/dist/types/formatters/relativeTime.d.ts +8 -5
- package/dist/types/formatters/relativeTime.d.ts.map +1 -1
- package/dist/types/formatters/units.d.ts +8 -3
- package/dist/types/formatters/units.d.ts.map +1 -1
- package/dist/types/getStorageAttributes.d.ts +25 -0
- package/dist/types/getStorageAttributes.d.ts.map +1 -0
- package/dist/types/index.d.ts +67 -13
- package/dist/types/interpreter/getCondition.d.ts +7 -2
- package/dist/types/interpreter/getCondition.d.ts.map +1 -1
- package/dist/types/interpreter/getContent/deepTransform.d.ts +7 -2
- package/dist/types/interpreter/getContent/deepTransform.d.ts.map +1 -1
- package/dist/types/interpreter/getContent/getContent.d.ts +8 -4
- package/dist/types/interpreter/getContent/getContent.d.ts.map +1 -1
- package/dist/types/interpreter/getContent/index.d.ts +4 -4
- package/dist/types/interpreter/getContent/plugins.d.ts +68 -66
- package/dist/types/interpreter/getContent/plugins.d.ts.map +1 -1
- package/dist/types/interpreter/getDictionary.d.ts +8 -4
- package/dist/types/interpreter/getDictionary.d.ts.map +1 -1
- package/dist/types/interpreter/getEnumeration.d.ts +8 -3
- package/dist/types/interpreter/getEnumeration.d.ts.map +1 -1
- package/dist/types/interpreter/getGender.d.ts +7 -4
- package/dist/types/interpreter/getGender.d.ts.map +1 -1
- package/dist/types/interpreter/getInsertion.d.ts +7 -2
- package/dist/types/interpreter/getInsertion.d.ts.map +1 -1
- package/dist/types/interpreter/getIntlayer.d.ts +7 -5
- package/dist/types/interpreter/getIntlayer.d.ts.map +1 -1
- package/dist/types/interpreter/getNesting.d.ts +9 -6
- package/dist/types/interpreter/getNesting.d.ts.map +1 -1
- package/dist/types/interpreter/getTranslation.d.ts +7 -3
- package/dist/types/interpreter/getTranslation.d.ts.map +1 -1
- package/dist/types/interpreter/index.d.ts +10 -10
- package/dist/types/localization/getBrowserLocale.d.ts +35 -0
- package/dist/types/localization/getBrowserLocale.d.ts.map +1 -0
- package/dist/types/localization/getHTMLTextDir.d.ts +6 -3
- package/dist/types/localization/getHTMLTextDir.d.ts.map +1 -1
- package/dist/types/localization/getLocaleFromPath.d.ts +7 -2
- package/dist/types/localization/getLocaleFromPath.d.ts.map +1 -1
- package/dist/types/localization/getLocaleLang.d.ts +7 -2
- package/dist/types/localization/getLocaleLang.d.ts.map +1 -1
- package/dist/types/localization/getLocaleName.d.ts +6 -2
- package/dist/types/localization/getLocaleName.d.ts.map +1 -1
- package/dist/types/localization/getLocalizedUrl.d.ts +30 -17
- package/dist/types/localization/getLocalizedUrl.d.ts.map +1 -1
- package/dist/types/localization/getMultilingualUrls.d.ts +28 -12
- package/dist/types/localization/getMultilingualUrls.d.ts.map +1 -1
- package/dist/types/localization/getPathWithoutLocale.d.ts +11 -3
- package/dist/types/localization/getPathWithoutLocale.d.ts.map +1 -1
- package/dist/types/localization/index.d.ts +12 -12
- package/dist/types/localization/localeDetector.d.ts +7 -2
- package/dist/types/localization/localeDetector.d.ts.map +1 -1
- package/dist/types/localization/localeMapper.d.ts +23 -19
- package/dist/types/localization/localeMapper.d.ts.map +1 -1
- package/dist/types/localization/localeResolver.d.ts +7 -2
- package/dist/types/localization/localeResolver.d.ts.map +1 -1
- package/dist/types/transpiler/condition/condition.d.ts +8 -5
- package/dist/types/transpiler/condition/condition.d.ts.map +1 -1
- package/dist/types/transpiler/condition/index.d.ts +2 -2
- package/dist/types/transpiler/enumeration/enumeration.d.ts +9 -6
- package/dist/types/transpiler/enumeration/enumeration.d.ts.map +1 -1
- package/dist/types/transpiler/enumeration/index.d.ts +2 -2
- package/dist/types/transpiler/file/file.d.ts +11 -6
- package/dist/types/transpiler/file/file.d.ts.map +1 -1
- package/dist/types/transpiler/file/fileBrowser.d.ts +7 -2
- package/dist/types/transpiler/file/fileBrowser.d.ts.map +1 -1
- package/dist/types/transpiler/file/index.d.ts +2 -2
- package/dist/types/transpiler/gender/gender.d.ts +9 -6
- package/dist/types/transpiler/gender/gender.d.ts.map +1 -1
- package/dist/types/transpiler/gender/index.d.ts +2 -2
- package/dist/types/transpiler/index.d.ts +11 -9
- package/dist/types/transpiler/insertion/getInsertionValues.d.ts +4 -1
- package/dist/types/transpiler/insertion/getInsertionValues.d.ts.map +1 -1
- package/dist/types/transpiler/insertion/index.d.ts +3 -3
- package/dist/types/transpiler/insertion/insertion.d.ts +8 -5
- package/dist/types/transpiler/insertion/insertion.d.ts.map +1 -1
- package/dist/types/transpiler/markdown/getMarkdownMetadata.d.ts +4 -1
- package/dist/types/transpiler/markdown/getMarkdownMetadata.d.ts.map +1 -1
- package/dist/types/transpiler/markdown/index.d.ts +3 -3
- package/dist/types/transpiler/markdown/markdown.d.ts +8 -5
- package/dist/types/transpiler/markdown/markdown.d.ts.map +1 -1
- package/dist/types/transpiler/nesting/index.d.ts +2 -2
- package/dist/types/transpiler/nesting/nesting.d.ts +24 -25
- package/dist/types/transpiler/nesting/nesting.d.ts.map +1 -1
- package/dist/types/transpiler/translation/index.d.ts +2 -2
- package/dist/types/transpiler/translation/translation.d.ts +9 -6
- package/dist/types/transpiler/translation/translation.d.ts.map +1 -1
- package/dist/types/utils/checkIsURLAbsolute.d.ts +4 -1
- package/dist/types/utils/checkIsURLAbsolute.d.ts.map +1 -1
- package/dist/types/utils/intl.d.ts +9 -10
- package/dist/types/utils/intl.d.ts.map +1 -1
- package/dist/types/utils/isSameKeyPath.d.ts +6 -2
- package/dist/types/utils/isSameKeyPath.d.ts.map +1 -1
- package/dist/types/utils/isValidReactElement.d.ts +4 -1
- package/dist/types/utils/isValidReactElement.d.ts.map +1 -1
- package/dist/types/utils/localeStorage.d.ts +105 -0
- package/dist/types/utils/localeStorage.d.ts.map +1 -0
- package/dist/types/utils/parseYaml.d.ts +4 -1
- package/dist/types/utils/parseYaml.d.ts.map +1 -1
- package/package.json +36 -121
- package/LICENSE +0 -202
- package/dist/cjs/deepTranformPlugins/getFilterTranslationsOnlyContent.cjs +0 -130
- package/dist/cjs/deepTranformPlugins/getFilterTranslationsOnlyContent.cjs.map +0 -1
- package/dist/cjs/deepTranformPlugins/getFilteredLocalesContent.cjs +0 -62
- package/dist/cjs/deepTranformPlugins/getFilteredLocalesContent.cjs.map +0 -1
- package/dist/cjs/deepTranformPlugins/getLocalisedContent.cjs +0 -51
- package/dist/cjs/deepTranformPlugins/getLocalisedContent.cjs.map +0 -1
- package/dist/cjs/deepTranformPlugins/getMaskContent.cjs +0 -49
- package/dist/cjs/deepTranformPlugins/getMaskContent.cjs.map +0 -1
- package/dist/cjs/deepTranformPlugins/getMissingLocalesContent.cjs +0 -78
- package/dist/cjs/deepTranformPlugins/getMissingLocalesContent.cjs.map +0 -1
- package/dist/cjs/deepTranformPlugins/getReplacedValuesContent.cjs +0 -82
- package/dist/cjs/deepTranformPlugins/getReplacedValuesContent.cjs.map +0 -1
- package/dist/cjs/deepTranformPlugins/index.cjs +0 -33
- package/dist/cjs/deepTranformPlugins/index.cjs.map +0 -1
- package/dist/cjs/dictionaryManipulator/index.cjs.map +0 -1
- package/dist/cjs/formatters/index.cjs.map +0 -1
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/interpreter/getContent/index.cjs.map +0 -1
- package/dist/cjs/interpreter/getIntlayerAsync.cjs +0 -37
- package/dist/cjs/interpreter/getIntlayerAsync.cjs.map +0 -1
- package/dist/cjs/interpreter/index.cjs.map +0 -1
- package/dist/cjs/localization/index.cjs.map +0 -1
- package/dist/cjs/localization/localeList.cjs +0 -256
- package/dist/cjs/localization/localeList.cjs.map +0 -1
- package/dist/cjs/transpiler/condition/index.cjs.map +0 -1
- package/dist/cjs/transpiler/enumeration/index.cjs.map +0 -1
- package/dist/cjs/transpiler/file/index.cjs.map +0 -1
- package/dist/cjs/transpiler/gender/index.cjs.map +0 -1
- package/dist/cjs/transpiler/index.cjs.map +0 -1
- package/dist/cjs/transpiler/insertion/index.cjs.map +0 -1
- package/dist/cjs/transpiler/markdown/index.cjs.map +0 -1
- package/dist/cjs/transpiler/nesting/index.cjs.map +0 -1
- package/dist/cjs/transpiler/translation/index.cjs.map +0 -1
- package/dist/cjs/types/dictionary.cjs +0 -17
- package/dist/cjs/types/dictionary.cjs.map +0 -1
- package/dist/cjs/types/index.cjs +0 -29
- package/dist/cjs/types/index.cjs.map +0 -1
- package/dist/cjs/types/intlayer.cjs +0 -35
- package/dist/cjs/types/intlayer.cjs.map +0 -1
- package/dist/cjs/types/keyPath.cjs +0 -17
- package/dist/cjs/types/keyPath.cjs.map +0 -1
- package/dist/cjs/types/nodeType.cjs +0 -53
- package/dist/cjs/types/nodeType.cjs.map +0 -1
- package/dist/cjs/types/translation.cjs +0 -17
- package/dist/cjs/types/translation.cjs.map +0 -1
- package/dist/esm/deepTranformPlugins/getFilterTranslationsOnlyContent.mjs +0 -95
- package/dist/esm/deepTranformPlugins/getFilterTranslationsOnlyContent.mjs.map +0 -1
- package/dist/esm/deepTranformPlugins/getFilteredLocalesContent.mjs +0 -40
- package/dist/esm/deepTranformPlugins/getFilteredLocalesContent.mjs.map +0 -1
- package/dist/esm/deepTranformPlugins/getLocalisedContent.mjs +0 -19
- package/dist/esm/deepTranformPlugins/getLocalisedContent.mjs.map +0 -1
- package/dist/esm/deepTranformPlugins/getMaskContent.mjs +0 -24
- package/dist/esm/deepTranformPlugins/getMaskContent.mjs.map +0 -1
- package/dist/esm/deepTranformPlugins/getMissingLocalesContent.mjs +0 -43
- package/dist/esm/deepTranformPlugins/getMissingLocalesContent.mjs.map +0 -1
- package/dist/esm/deepTranformPlugins/getReplacedValuesContent.mjs +0 -60
- package/dist/esm/deepTranformPlugins/getReplacedValuesContent.mjs.map +0 -1
- package/dist/esm/deepTranformPlugins/index.mjs +0 -7
- package/dist/esm/deepTranformPlugins/index.mjs.map +0 -1
- package/dist/esm/dictionaryManipulator/index.mjs.map +0 -1
- package/dist/esm/formatters/index.mjs.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/interpreter/getContent/index.mjs.map +0 -1
- package/dist/esm/interpreter/getIntlayerAsync.mjs +0 -13
- package/dist/esm/interpreter/getIntlayerAsync.mjs.map +0 -1
- package/dist/esm/interpreter/index.mjs.map +0 -1
- package/dist/esm/localization/index.mjs.map +0 -1
- package/dist/esm/localization/localeList.mjs +0 -232
- package/dist/esm/localization/localeList.mjs.map +0 -1
- package/dist/esm/transpiler/condition/index.mjs.map +0 -1
- package/dist/esm/transpiler/enumeration/index.mjs.map +0 -1
- package/dist/esm/transpiler/file/index.mjs.map +0 -1
- package/dist/esm/transpiler/gender/index.mjs.map +0 -1
- package/dist/esm/transpiler/index.mjs.map +0 -1
- package/dist/esm/transpiler/insertion/index.mjs.map +0 -1
- package/dist/esm/transpiler/markdown/index.mjs.map +0 -1
- package/dist/esm/transpiler/nesting/index.mjs.map +0 -1
- package/dist/esm/transpiler/translation/index.mjs.map +0 -1
- package/dist/esm/types/dictionary.mjs +0 -1
- package/dist/esm/types/dictionary.mjs.map +0 -1
- package/dist/esm/types/index.mjs +0 -5
- package/dist/esm/types/index.mjs.map +0 -1
- package/dist/esm/types/intlayer.mjs +0 -13
- package/dist/esm/types/intlayer.mjs.map +0 -1
- package/dist/esm/types/keyPath.mjs +0 -1
- package/dist/esm/types/keyPath.mjs.map +0 -1
- package/dist/esm/types/nodeType.mjs +0 -28
- package/dist/esm/types/nodeType.mjs.map +0 -1
- package/dist/esm/types/translation.mjs +0 -1
- package/dist/esm/types/translation.mjs.map +0 -1
- package/dist/types/deepTranformPlugins/getFilterTranslationsOnlyContent.d.ts +0 -13
- package/dist/types/deepTranformPlugins/getFilterTranslationsOnlyContent.d.ts.map +0 -1
- package/dist/types/deepTranformPlugins/getFilteredLocalesContent.d.ts +0 -5
- package/dist/types/deepTranformPlugins/getFilteredLocalesContent.d.ts.map +0 -1
- package/dist/types/deepTranformPlugins/getLocalisedContent.d.ts +0 -13
- package/dist/types/deepTranformPlugins/getLocalisedContent.d.ts.map +0 -1
- package/dist/types/deepTranformPlugins/getMaskContent.d.ts +0 -6
- package/dist/types/deepTranformPlugins/getMaskContent.d.ts.map +0 -1
- package/dist/types/deepTranformPlugins/getMissingLocalesContent.d.ts +0 -13
- package/dist/types/deepTranformPlugins/getMissingLocalesContent.d.ts.map +0 -1
- package/dist/types/deepTranformPlugins/getReplacedValuesContent.d.ts +0 -4
- package/dist/types/deepTranformPlugins/getReplacedValuesContent.d.ts.map +0 -1
- package/dist/types/deepTranformPlugins/index.d.ts +0 -7
- package/dist/types/deepTranformPlugins/index.d.ts.map +0 -1
- package/dist/types/dictionaryManipulator/index.d.ts.map +0 -1
- package/dist/types/formatters/index.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/interpreter/getContent/index.d.ts.map +0 -1
- package/dist/types/interpreter/getIntlayerAsync.d.ts +0 -13
- package/dist/types/interpreter/getIntlayerAsync.d.ts.map +0 -1
- package/dist/types/interpreter/index.d.ts.map +0 -1
- package/dist/types/localization/index.d.ts.map +0 -1
- package/dist/types/localization/localeList.d.ts +0 -3
- package/dist/types/localization/localeList.d.ts.map +0 -1
- package/dist/types/transpiler/condition/index.d.ts.map +0 -1
- package/dist/types/transpiler/enumeration/index.d.ts.map +0 -1
- package/dist/types/transpiler/file/index.d.ts.map +0 -1
- package/dist/types/transpiler/gender/index.d.ts.map +0 -1
- package/dist/types/transpiler/index.d.ts.map +0 -1
- package/dist/types/transpiler/insertion/index.d.ts.map +0 -1
- package/dist/types/transpiler/markdown/index.d.ts.map +0 -1
- package/dist/types/transpiler/nesting/index.d.ts.map +0 -1
- package/dist/types/transpiler/translation/index.d.ts.map +0 -1
- package/dist/types/types/dictionary.d.ts +0 -307
- package/dist/types/types/dictionary.d.ts.map +0 -1
- package/dist/types/types/index.d.ts +0 -5
- package/dist/types/types/index.d.ts.map +0 -1
- package/dist/types/types/intlayer.d.ts +0 -5
- package/dist/types/types/intlayer.d.ts.map +0 -1
- package/dist/types/types/keyPath.d.ts +0 -47
- package/dist/types/types/keyPath.d.ts.map +0 -1
- package/dist/types/types/nodeType.d.ts +0 -30
- package/dist/types/types/nodeType.d.ts.map +0 -1
- package/dist/types/types/translation.d.ts +0 -25
- package/dist/types/types/translation.d.ts.map +0 -1
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { getLocaleFromStorage } from "../utils/localeStorage.mjs";
|
|
2
|
+
import { localeDetector } from "./localeDetector.mjs";
|
|
3
|
+
import { Locales } from "@intlayer/types";
|
|
4
|
+
import configuration from "@intlayer/config/built";
|
|
5
|
+
|
|
6
|
+
//#region src/localization/getBrowserLocale.tsx
|
|
7
|
+
let LanguageDetector = /* @__PURE__ */ function(LanguageDetector$1) {
|
|
8
|
+
LanguageDetector$1["Querystring"] = "querystring";
|
|
9
|
+
LanguageDetector$1["Storage"] = "storage";
|
|
10
|
+
LanguageDetector$1["Navigator"] = "navigator";
|
|
11
|
+
LanguageDetector$1["HtmlTag"] = "htmlTag";
|
|
12
|
+
return LanguageDetector$1;
|
|
13
|
+
}({});
|
|
14
|
+
const localeStorageOptions = {
|
|
15
|
+
getCookie: (name) => document.cookie.split(";").find((c) => c.trim().startsWith(`${name}=`))?.split("=")[1],
|
|
16
|
+
getLocaleStorage: (name) => localStorage.getItem(name),
|
|
17
|
+
getSessionStorage: (name) => sessionStorage.getItem(name),
|
|
18
|
+
isCookieEnabled: true,
|
|
19
|
+
setCookieStore: (name, value, attributes) => cookieStore.set({
|
|
20
|
+
name,
|
|
21
|
+
value,
|
|
22
|
+
path: attributes.path,
|
|
23
|
+
domain: attributes.domain,
|
|
24
|
+
expires: attributes.expires,
|
|
25
|
+
sameSite: attributes.sameSite
|
|
26
|
+
}),
|
|
27
|
+
setCookieString: (cookie) => {
|
|
28
|
+
document.cookie = cookie;
|
|
29
|
+
},
|
|
30
|
+
setSessionStorage: (name, value) => sessionStorage.setItem(name, value),
|
|
31
|
+
setLocaleStorage: (name, value) => localStorage.setItem(name, value)
|
|
32
|
+
};
|
|
33
|
+
const getDefaultsOptions = () => {
|
|
34
|
+
return {
|
|
35
|
+
order: [
|
|
36
|
+
LanguageDetector.Querystring,
|
|
37
|
+
LanguageDetector.Storage,
|
|
38
|
+
LanguageDetector.Navigator,
|
|
39
|
+
LanguageDetector.HtmlTag
|
|
40
|
+
],
|
|
41
|
+
lookupQuerystring: "locale",
|
|
42
|
+
htmlTag: typeof document !== "undefined" ? document.documentElement : null
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
const detectLanguage = (order, options) => {
|
|
46
|
+
const detected = {};
|
|
47
|
+
const queryStringDetector = () => {
|
|
48
|
+
if (typeof window === "undefined") return;
|
|
49
|
+
const search = window.location.search || "";
|
|
50
|
+
const value = new URLSearchParams(search).get(options.lookupQuerystring ?? "");
|
|
51
|
+
if (value) detected[LanguageDetector.Querystring] = value;
|
|
52
|
+
};
|
|
53
|
+
const storageDetector = () => {
|
|
54
|
+
if (typeof window === "undefined") return;
|
|
55
|
+
const locale = getLocaleFromStorage({
|
|
56
|
+
getCookie: (name) => {
|
|
57
|
+
try {
|
|
58
|
+
const cookies = document.cookie.split(";");
|
|
59
|
+
const cookieName = `${name}=`;
|
|
60
|
+
const cookie = cookies.find((c) => c.trim().startsWith(cookieName));
|
|
61
|
+
if (cookie) return cookie.split("=")[1].trim();
|
|
62
|
+
} catch {}
|
|
63
|
+
},
|
|
64
|
+
getSessionStorage: (name) => {
|
|
65
|
+
try {
|
|
66
|
+
return window.sessionStorage.getItem(name) ?? void 0;
|
|
67
|
+
} catch {}
|
|
68
|
+
},
|
|
69
|
+
getLocaleStorage: (name) => {
|
|
70
|
+
try {
|
|
71
|
+
return window.localStorage.getItem(name) ?? void 0;
|
|
72
|
+
} catch {}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
if (locale) detected[LanguageDetector.Storage] = locale;
|
|
76
|
+
};
|
|
77
|
+
const navigatorDetector = () => {
|
|
78
|
+
if (typeof navigator === "undefined") return;
|
|
79
|
+
const { internationalization } = configuration;
|
|
80
|
+
const languages = navigator.languages ?? [navigator.language];
|
|
81
|
+
const locale = localeDetector({ "accept-language": languages.join(",") }, internationalization.locales, internationalization.defaultLocale);
|
|
82
|
+
if (locale) detected[LanguageDetector.Navigator] = locale;
|
|
83
|
+
};
|
|
84
|
+
const htmlTagDetector = () => {
|
|
85
|
+
const htmlTag = options.htmlTag;
|
|
86
|
+
if (htmlTag && typeof htmlTag.getAttribute === "function") {
|
|
87
|
+
const lang = htmlTag.getAttribute("lang");
|
|
88
|
+
if (lang) {
|
|
89
|
+
const { internationalization } = configuration;
|
|
90
|
+
const locale = localeDetector({ "accept-language": lang }, internationalization.locales, internationalization.defaultLocale);
|
|
91
|
+
detected[LanguageDetector.HtmlTag] = locale;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const detectors = {
|
|
96
|
+
[LanguageDetector.Querystring]: queryStringDetector,
|
|
97
|
+
[LanguageDetector.Storage]: storageDetector,
|
|
98
|
+
[LanguageDetector.Navigator]: navigatorDetector,
|
|
99
|
+
[LanguageDetector.HtmlTag]: htmlTagDetector
|
|
100
|
+
};
|
|
101
|
+
order.forEach((detectorName) => {
|
|
102
|
+
detectors[detectorName]?.();
|
|
103
|
+
});
|
|
104
|
+
return detected;
|
|
105
|
+
};
|
|
106
|
+
const getFirstAvailableLocale = (locales, order) => {
|
|
107
|
+
const { internationalization } = configuration;
|
|
108
|
+
for (const detector of order) {
|
|
109
|
+
const locale = locales[detector];
|
|
110
|
+
if (locale && internationalization.locales.includes(locale)) return locale;
|
|
111
|
+
}
|
|
112
|
+
return internationalization?.defaultLocale ?? Locales.ENGLISH;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Core language detector function for browser environments.
|
|
116
|
+
*
|
|
117
|
+
* Detects the user's preferred locale by checking multiple sources in order:
|
|
118
|
+
* 1. Query string parameter
|
|
119
|
+
* 2. Storage (cookies, localStorage, sessionStorage) - uses getLocaleFromStorage
|
|
120
|
+
* 3. Navigator languages - uses localeDetector
|
|
121
|
+
* 4. HTML lang attribute - uses localeDetector
|
|
122
|
+
*
|
|
123
|
+
* @param userOptions - Optional configuration for detection order and lookup keys
|
|
124
|
+
* @returns The detected locale or the default locale
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* const locale = getBrowserLocale({ order: [LanguageDetector.Storage, LanguageDetector.Navigator] });
|
|
128
|
+
*/
|
|
129
|
+
const getBrowserLocale = (userOptions = {}) => {
|
|
130
|
+
const options = {
|
|
131
|
+
...getDefaultsOptions(),
|
|
132
|
+
...userOptions
|
|
133
|
+
};
|
|
134
|
+
return getFirstAvailableLocale(detectLanguage(options.order ?? [], options), options.order ?? []);
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
export { LanguageDetector, getBrowserLocale, localeStorageOptions };
|
|
139
|
+
//# sourceMappingURL=getBrowserLocale.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBrowserLocale.mjs","names":["localeStorageOptions: LocaleStorageOptions","detected: Record<LanguageDetector, Locale | undefined>","detectors: Record<string, () => void>"],"sources":["../../../src/localization/getBrowserLocale.tsx"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { type Locale, Locales } from '@intlayer/types';\nimport {\n getLocaleFromStorage,\n type LocaleStorageOptions,\n} from '../utils/localeStorage';\nimport { localeDetector } from './localeDetector';\n\nexport enum LanguageDetector {\n Querystring = 'querystring',\n Storage = 'storage',\n Navigator = 'navigator',\n HtmlTag = 'htmlTag',\n}\n\nexport const localeStorageOptions: LocaleStorageOptions = {\n getCookie: (name: string) =>\n document.cookie\n .split(';')\n .find((c) => c.trim().startsWith(`${name}=`))\n ?.split('=')[1],\n getLocaleStorage: (name: string) => localStorage.getItem(name),\n getSessionStorage: (name: string) => sessionStorage.getItem(name),\n isCookieEnabled: true,\n setCookieStore: (name, value, attributes) =>\n cookieStore.set({\n name,\n value,\n path: attributes.path,\n domain: attributes.domain,\n expires: attributes.expires,\n sameSite: attributes.sameSite,\n }),\n setCookieString: (cookie) => {\n // biome-ignore lint/suspicious/noDocumentCookie: set cookie fallback\n document.cookie = cookie;\n },\n setSessionStorage: (name, value) => sessionStorage.setItem(name, value),\n setLocaleStorage: (name, value) => localStorage.setItem(name, value),\n};\n\n// Default settings for the language detector\ntype LanguageDetectorOptions = {\n order?: LanguageDetector[];\n lookupQuerystring?: string;\n htmlTag?: HTMLElement | null;\n};\n\nconst getDefaultsOptions = (): LanguageDetectorOptions => {\n return {\n order: [\n LanguageDetector.Querystring,\n LanguageDetector.Storage,\n LanguageDetector.Navigator,\n LanguageDetector.HtmlTag,\n ],\n lookupQuerystring: 'locale',\n htmlTag: typeof document !== 'undefined' ? document.documentElement : null,\n };\n};\n\nconst detectLanguage = (\n order: string[],\n options: LanguageDetectorOptions\n): Record<LanguageDetector, Locale | undefined> => {\n const detected: Record<LanguageDetector, Locale | undefined> = {} as Record<\n LanguageDetector,\n Locale | undefined\n >;\n\n const queryStringDetector = () => {\n if (typeof window === 'undefined') return;\n const search = window.location.search || '';\n const params = new URLSearchParams(search);\n const value = params.get(options.lookupQuerystring ?? '');\n if (value) {\n detected[LanguageDetector.Querystring] = value as Locale;\n }\n };\n\n const storageDetector = () => {\n if (typeof window === 'undefined') return;\n\n const locale = getLocaleFromStorage({\n getCookie: (name: string) => {\n try {\n const cookies = document.cookie.split(';');\n const cookieName = `${name}=`;\n const cookie = cookies.find((c) => c.trim().startsWith(cookieName));\n if (cookie) {\n return cookie.split('=')[1].trim();\n }\n } catch {}\n return undefined;\n },\n getSessionStorage: (name: string) => {\n try {\n return window.sessionStorage.getItem(name) ?? undefined;\n } catch {}\n return undefined;\n },\n getLocaleStorage: (name: string) => {\n try {\n return window.localStorage.getItem(name) ?? undefined;\n } catch {}\n return undefined;\n },\n });\n\n if (locale) {\n detected[LanguageDetector.Storage] = locale;\n }\n };\n\n const navigatorDetector = () => {\n if (typeof navigator === 'undefined') return;\n\n const { internationalization } = configuration;\n const languages = navigator.languages ?? [navigator.language];\n\n // Use localeDetector to find the best matching locale\n const locale = localeDetector(\n { 'accept-language': languages.join(',') },\n internationalization.locales,\n internationalization.defaultLocale\n );\n\n if (locale) {\n detected[LanguageDetector.Navigator] = locale;\n }\n };\n\n const htmlTagDetector = () => {\n const htmlTag = options.htmlTag;\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n const lang = htmlTag.getAttribute('lang');\n if (lang) {\n const { internationalization } = configuration;\n\n // Validate and resolve the locale\n const locale = localeDetector(\n { 'accept-language': lang },\n internationalization.locales,\n internationalization.defaultLocale\n );\n\n detected[LanguageDetector.HtmlTag] = locale;\n }\n }\n };\n\n // Map detector names to their corresponding functions\n const detectors: Record<string, () => void> = {\n [LanguageDetector.Querystring]: queryStringDetector,\n [LanguageDetector.Storage]: storageDetector,\n [LanguageDetector.Navigator]: navigatorDetector,\n [LanguageDetector.HtmlTag]: htmlTagDetector,\n };\n\n // Use the provided order to run each detector\n order.forEach((detectorName) => {\n detectors[detectorName]?.();\n });\n\n return detected;\n};\n\nconst getFirstAvailableLocale = (\n locales: Record<LanguageDetector, Locale | undefined>,\n order: LanguageDetector[]\n): Locale => {\n const { internationalization } = configuration;\n\n for (const detector of order) {\n const locale = locales[detector];\n\n if (locale && internationalization.locales.includes(locale)) {\n return locale;\n }\n }\n\n return internationalization?.defaultLocale ?? Locales.ENGLISH;\n};\n\n/**\n * Core language detector function for browser environments.\n *\n * Detects the user's preferred locale by checking multiple sources in order:\n * 1. Query string parameter\n * 2. Storage (cookies, localStorage, sessionStorage) - uses getLocaleFromStorage\n * 3. Navigator languages - uses localeDetector\n * 4. HTML lang attribute - uses localeDetector\n *\n * @param userOptions - Optional configuration for detection order and lookup keys\n * @returns The detected locale or the default locale\n *\n * @example\n * const locale = getBrowserLocale({ order: [LanguageDetector.Storage, LanguageDetector.Navigator] });\n */\nexport const getBrowserLocale = (\n userOptions: LanguageDetectorOptions | undefined = {}\n): Locale => {\n const options = { ...getDefaultsOptions(), ...userOptions };\n\n const locales = detectLanguage(options.order ?? [], options);\n\n return getFirstAvailableLocale(locales, options.order ?? []);\n};\n"],"mappings":";;;;;;AAQA,IAAY,gEAAL;AACL;AACA;AACA;AACA;;;AAGF,MAAaA,uBAA6C;CACxD,YAAY,SACV,SAAS,OACN,MAAM,IAAI,CACV,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,GAAG,KAAK,GAAG,CAAC,EAC3C,MAAM,IAAI,CAAC;CACjB,mBAAmB,SAAiB,aAAa,QAAQ,KAAK;CAC9D,oBAAoB,SAAiB,eAAe,QAAQ,KAAK;CACjE,iBAAiB;CACjB,iBAAiB,MAAM,OAAO,eAC5B,YAAY,IAAI;EACd;EACA;EACA,MAAM,WAAW;EACjB,QAAQ,WAAW;EACnB,SAAS,WAAW;EACpB,UAAU,WAAW;EACtB,CAAC;CACJ,kBAAkB,WAAW;AAE3B,WAAS,SAAS;;CAEpB,oBAAoB,MAAM,UAAU,eAAe,QAAQ,MAAM,MAAM;CACvE,mBAAmB,MAAM,UAAU,aAAa,QAAQ,MAAM,MAAM;CACrE;AASD,MAAM,2BAAoD;AACxD,QAAO;EACL,OAAO;GACL,iBAAiB;GACjB,iBAAiB;GACjB,iBAAiB;GACjB,iBAAiB;GAClB;EACD,mBAAmB;EACnB,SAAS,OAAO,aAAa,cAAc,SAAS,kBAAkB;EACvE;;AAGH,MAAM,kBACJ,OACA,YACiD;CACjD,MAAMC,WAAyD,EAAE;CAKjE,MAAM,4BAA4B;AAChC,MAAI,OAAO,WAAW,YAAa;EACnC,MAAM,SAAS,OAAO,SAAS,UAAU;EAEzC,MAAM,QADS,IAAI,gBAAgB,OAAO,CACrB,IAAI,QAAQ,qBAAqB,GAAG;AACzD,MAAI,MACF,UAAS,iBAAiB,eAAe;;CAI7C,MAAM,wBAAwB;AAC5B,MAAI,OAAO,WAAW,YAAa;EAEnC,MAAM,SAAS,qBAAqB;GAClC,YAAY,SAAiB;AAC3B,QAAI;KACF,MAAM,UAAU,SAAS,OAAO,MAAM,IAAI;KAC1C,MAAM,aAAa,GAAG,KAAK;KAC3B,MAAM,SAAS,QAAQ,MAAM,MAAM,EAAE,MAAM,CAAC,WAAW,WAAW,CAAC;AACnE,SAAI,OACF,QAAO,OAAO,MAAM,IAAI,CAAC,GAAG,MAAM;YAE9B;;GAGV,oBAAoB,SAAiB;AACnC,QAAI;AACF,YAAO,OAAO,eAAe,QAAQ,KAAK,IAAI;YACxC;;GAGV,mBAAmB,SAAiB;AAClC,QAAI;AACF,YAAO,OAAO,aAAa,QAAQ,KAAK,IAAI;YACtC;;GAGX,CAAC;AAEF,MAAI,OACF,UAAS,iBAAiB,WAAW;;CAIzC,MAAM,0BAA0B;AAC9B,MAAI,OAAO,cAAc,YAAa;EAEtC,MAAM,EAAE,yBAAyB;EACjC,MAAM,YAAY,UAAU,aAAa,CAAC,UAAU,SAAS;EAG7D,MAAM,SAAS,eACb,EAAE,mBAAmB,UAAU,KAAK,IAAI,EAAE,EAC1C,qBAAqB,SACrB,qBAAqB,cACtB;AAED,MAAI,OACF,UAAS,iBAAiB,aAAa;;CAI3C,MAAM,wBAAwB;EAC5B,MAAM,UAAU,QAAQ;AACxB,MAAI,WAAW,OAAO,QAAQ,iBAAiB,YAAY;GACzD,MAAM,OAAO,QAAQ,aAAa,OAAO;AACzC,OAAI,MAAM;IACR,MAAM,EAAE,yBAAyB;IAGjC,MAAM,SAAS,eACb,EAAE,mBAAmB,MAAM,EAC3B,qBAAqB,SACrB,qBAAqB,cACtB;AAED,aAAS,iBAAiB,WAAW;;;;CAM3C,MAAMC,YAAwC;GAC3C,iBAAiB,cAAc;GAC/B,iBAAiB,UAAU;GAC3B,iBAAiB,YAAY;GAC7B,iBAAiB,UAAU;EAC7B;AAGD,OAAM,SAAS,iBAAiB;AAC9B,YAAU,iBAAiB;GAC3B;AAEF,QAAO;;AAGT,MAAM,2BACJ,SACA,UACW;CACX,MAAM,EAAE,yBAAyB;AAEjC,MAAK,MAAM,YAAY,OAAO;EAC5B,MAAM,SAAS,QAAQ;AAEvB,MAAI,UAAU,qBAAqB,QAAQ,SAAS,OAAO,CACzD,QAAO;;AAIX,QAAO,sBAAsB,iBAAiB,QAAQ;;;;;;;;;;;;;;;;;AAkBxD,MAAa,oBACX,cAAmD,EAAE,KAC1C;CACX,MAAM,UAAU;EAAE,GAAG,oBAAoB;EAAE,GAAG;EAAa;AAI3D,QAAO,wBAFS,eAAe,QAAQ,SAAS,EAAE,EAAE,QAAQ,EAEpB,QAAQ,SAAS,EAAE,CAAC"}
|
|
@@ -1,234 +1,50 @@
|
|
|
1
|
-
import { Locales } from "@intlayer/
|
|
1
|
+
import { Locales } from "@intlayer/types";
|
|
2
|
+
|
|
3
|
+
//#region src/localization/getHTMLTextDir.ts
|
|
4
|
+
/**
|
|
5
|
+
* Returns the text direction of the given locale.
|
|
6
|
+
*
|
|
7
|
+
* Example:
|
|
8
|
+
*
|
|
9
|
+
* getHTMLTextDir('en-US') // 'ltr'
|
|
10
|
+
* getHTMLTextDir('en') // 'ltr'
|
|
11
|
+
* getHTMLTextDir('fr-CA') // 'ltr'
|
|
12
|
+
* getHTMLTextDir('fr') // 'ltr'
|
|
13
|
+
*
|
|
14
|
+
* @param locale The locale to get the text direction for.
|
|
15
|
+
* @returns The text direction of the given locale.
|
|
16
|
+
*/
|
|
2
17
|
const getHTMLTextDir = (locale) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
case Locales.JAPANESE:
|
|
32
|
-
case Locales.GEORGIAN:
|
|
33
|
-
case Locales.KAZAKH:
|
|
34
|
-
case Locales.KANNADA:
|
|
35
|
-
case Locales.KOREAN:
|
|
36
|
-
case Locales.KONKANI:
|
|
37
|
-
case Locales.KYRGYZ:
|
|
38
|
-
case Locales.LITHUANIAN:
|
|
39
|
-
case Locales.LATVIAN:
|
|
40
|
-
case Locales.MAORI:
|
|
41
|
-
case Locales.FYRO_MACEDONIAN:
|
|
42
|
-
case Locales.MONGOLIAN:
|
|
43
|
-
case Locales.MARATHI:
|
|
44
|
-
case Locales.MALAY:
|
|
45
|
-
case Locales.MALTESE:
|
|
46
|
-
case Locales.NORWEGIAN_BOKMAL:
|
|
47
|
-
case Locales.DUTCH:
|
|
48
|
-
case Locales.NORTHERN_SOTHO:
|
|
49
|
-
case Locales.PUNJABI:
|
|
50
|
-
case Locales.POLISH:
|
|
51
|
-
case Locales.QUECHUA:
|
|
52
|
-
case Locales.ROMANIAN:
|
|
53
|
-
case Locales.RUSSIAN:
|
|
54
|
-
case Locales.SANSKRIT:
|
|
55
|
-
case Locales.SAMI_NORTHERN:
|
|
56
|
-
case Locales.SLOVAK:
|
|
57
|
-
case Locales.SLOVENIAN:
|
|
58
|
-
case Locales.ALBANIAN:
|
|
59
|
-
case Locales.SERBIAN_LATIN:
|
|
60
|
-
case Locales.SWEDISH:
|
|
61
|
-
case Locales.SWAHILI:
|
|
62
|
-
case Locales.TAMIL:
|
|
63
|
-
case Locales.TELUGU:
|
|
64
|
-
case Locales.THAI:
|
|
65
|
-
case Locales.TAGALOG:
|
|
66
|
-
case Locales.TSWANA:
|
|
67
|
-
case Locales.TURKISH:
|
|
68
|
-
case Locales.UKRAINIAN:
|
|
69
|
-
case Locales.UZBEK_LATIN:
|
|
70
|
-
case Locales.VIETNAMESE:
|
|
71
|
-
case Locales.XHOSA:
|
|
72
|
-
case Locales.CHINESE_SIMPLIFIED:
|
|
73
|
-
case Locales.CHINESE_TRADITIONAL:
|
|
74
|
-
case Locales.ZULU:
|
|
75
|
-
case Locales.AFRIKAANS_SOUTH_AFRICA:
|
|
76
|
-
case Locales.AZERI_LATIN_AZERBAIJAN:
|
|
77
|
-
case Locales.BELARUSIAN_BELARUS:
|
|
78
|
-
case Locales.BULGARIAN_BULGARIA:
|
|
79
|
-
case Locales.BOSNIAN_BOSNIA_AND_HERZEGOVINA:
|
|
80
|
-
case Locales.CATALAN_SPAIN:
|
|
81
|
-
case Locales.CZECH_CZECH_REPUBLIC:
|
|
82
|
-
case Locales.WELSH_UNITED_KINGDOM:
|
|
83
|
-
case Locales.DANISH_DENMARK:
|
|
84
|
-
case Locales.GERMAN_AUSTRIA:
|
|
85
|
-
case Locales.GERMAN_SWITZERLAND:
|
|
86
|
-
case Locales.GERMAN_GERMANY:
|
|
87
|
-
case Locales.GERMAN_LIECHTENSTEIN:
|
|
88
|
-
case Locales.GERMAN_LUXEMBOURG:
|
|
89
|
-
case Locales.GREEK_GREECE:
|
|
90
|
-
case Locales.ENGLISH_AUSTRALIA:
|
|
91
|
-
case Locales.ENGLISH_BELIZE:
|
|
92
|
-
case Locales.ENGLISH_CANADA:
|
|
93
|
-
case Locales.ENGLISH_CARIBBEAN:
|
|
94
|
-
case Locales.ENGLISH_UNITED_KINGDOM:
|
|
95
|
-
case Locales.ENGLISH_IRELAND:
|
|
96
|
-
case Locales.ENGLISH_JAMAICA:
|
|
97
|
-
case Locales.ENGLISH_NEW_ZEALAND:
|
|
98
|
-
case Locales.ENGLISH_PHILIPPINES:
|
|
99
|
-
case Locales.ENGLISH_TRINIDAD_AND_TOBAGO:
|
|
100
|
-
case Locales.ENGLISH_UNITED_STATES:
|
|
101
|
-
case Locales.ENGLISH_SOUTH_AFRICA:
|
|
102
|
-
case Locales.ENGLISH_ZIMBABWE:
|
|
103
|
-
case Locales.SPANISH_ARGENTINA:
|
|
104
|
-
case Locales.SPANISH_BOLIVIA:
|
|
105
|
-
case Locales.SPANISH_CHILE:
|
|
106
|
-
case Locales.SPANISH_COLOMBIA:
|
|
107
|
-
case Locales.SPANISH_COSTA_RICA:
|
|
108
|
-
case Locales.SPANISH_DOMINICAN_REPUBLIC:
|
|
109
|
-
case Locales.SPANISH_ECUADOR:
|
|
110
|
-
case Locales.SPANISH_SPAIN:
|
|
111
|
-
case Locales.SPANISH_GUATEMALA:
|
|
112
|
-
case Locales.SPANISH_HONDURAS:
|
|
113
|
-
case Locales.SPANISH_MEXICO:
|
|
114
|
-
case Locales.SPANISH_NICARAGUA:
|
|
115
|
-
case Locales.SPANISH_PANAMA:
|
|
116
|
-
case Locales.SPANISH_PERU:
|
|
117
|
-
case Locales.SPANISH_PUERTO_RICO:
|
|
118
|
-
case Locales.SPANISH_PARAGUAY:
|
|
119
|
-
case Locales.SPANISH_EL_SALVADOR:
|
|
120
|
-
case Locales.SPANISH_URUGUAY:
|
|
121
|
-
case Locales.SPANISH_VENEZUELA:
|
|
122
|
-
case Locales.ESTONIAN_ESTONIA:
|
|
123
|
-
case Locales.BASQUE_SPAIN:
|
|
124
|
-
case Locales.FINNISH_FINLAND:
|
|
125
|
-
case Locales.FAROESE_FAROE_ISLANDS:
|
|
126
|
-
case Locales.FRENCH_BELGIUM:
|
|
127
|
-
case Locales.FRENCH_CANADA:
|
|
128
|
-
case Locales.FRENCH_SWITZERLAND:
|
|
129
|
-
case Locales.FRENCH_FRANCE:
|
|
130
|
-
case Locales.FRENCH_LUXEMBOURG:
|
|
131
|
-
case Locales.FRENCH_PRINCIPALITY_OF_MONACO:
|
|
132
|
-
case Locales.GALICIAN_SPAIN:
|
|
133
|
-
case Locales.GUJARATI_INDIA:
|
|
134
|
-
case Locales.HEBREW_ISRAEL:
|
|
135
|
-
case Locales.HINDI_INDIA:
|
|
136
|
-
case Locales.CROATIAN_BOSNIA_AND_HERZEGOVINA:
|
|
137
|
-
case Locales.CROATIAN_CROATIA:
|
|
138
|
-
case Locales.HUNGARIAN_HUNGARY:
|
|
139
|
-
case Locales.ARMENIAN_ARMENIA:
|
|
140
|
-
case Locales.INDONESIAN_INDONESIA:
|
|
141
|
-
case Locales.ICELANDIC_ICELAND:
|
|
142
|
-
case Locales.ITALIAN_SWITZERLAND:
|
|
143
|
-
case Locales.ITALIAN_ITALY:
|
|
144
|
-
case Locales.JAPANESE_JAPAN:
|
|
145
|
-
case Locales.GEORGIAN_GEORGIA:
|
|
146
|
-
case Locales.KAZAKH_KAZAKHSTAN:
|
|
147
|
-
case Locales.KANNADA_INDIA:
|
|
148
|
-
case Locales.KOREAN_KOREA:
|
|
149
|
-
case Locales.KONKANI_INDIA:
|
|
150
|
-
case Locales.KYRGYZ_KYRGYZSTAN:
|
|
151
|
-
case Locales.LITHUANIAN_LITHUANIA:
|
|
152
|
-
case Locales.LATVIAN_LATVIA:
|
|
153
|
-
case Locales.MAORI_NEW_ZEALAND:
|
|
154
|
-
case Locales.FYRO_MACEDONIAN_MACEDONIA:
|
|
155
|
-
case Locales.MONGOLIAN_MONGOLIA:
|
|
156
|
-
case Locales.MARATHI_INDIA:
|
|
157
|
-
case Locales.MALAY_BRUNEI_DARUSSALAM:
|
|
158
|
-
case Locales.MALAY_MALAYSIA:
|
|
159
|
-
case Locales.MALTESE_MALTA:
|
|
160
|
-
case Locales.NORWEGIAN_BOKMAL_NORWAY:
|
|
161
|
-
case Locales.DUTCH_BELGIUM:
|
|
162
|
-
case Locales.DUTCH_NETHERLANDS:
|
|
163
|
-
case Locales.NORWEGIAN_NYNORSK_NORWAY:
|
|
164
|
-
case Locales.NORTHERN_SOTHO_SOUTH_AFRICA:
|
|
165
|
-
case Locales.PUNJABI_INDIA:
|
|
166
|
-
case Locales.POLISH_POLAND:
|
|
167
|
-
case Locales.PORTUGUESE_BRAZIL:
|
|
168
|
-
case Locales.PORTUGUESE_PORTUGAL:
|
|
169
|
-
case Locales.QUECHUA_BOLIVIA:
|
|
170
|
-
case Locales.QUECHUA_ECUADOR:
|
|
171
|
-
case Locales.QUECHUA_PERU:
|
|
172
|
-
case Locales.ROMANIAN_ROMANIA:
|
|
173
|
-
case Locales.RUSSIAN_RUSSIA:
|
|
174
|
-
case Locales.SANSKRIT_INDIA:
|
|
175
|
-
case Locales.SAMI_NORTHERN_FINLAND:
|
|
176
|
-
case Locales.SAMI_NORTHERN_NORWAY:
|
|
177
|
-
case Locales.SAMI_NORTHERN_SWEDEN:
|
|
178
|
-
case Locales.SLOVAK_SLOVAKIA:
|
|
179
|
-
case Locales.SLOVENIAN_SLOVENIA:
|
|
180
|
-
case Locales.ALBANIAN_ALBANIA:
|
|
181
|
-
case Locales.SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA:
|
|
182
|
-
case Locales.SERBIAN_LATIN_SERBIA_AND_MONTENEGRO:
|
|
183
|
-
case Locales.SWAHILI_KENYA:
|
|
184
|
-
case Locales.TAMIL_INDIA:
|
|
185
|
-
case Locales.TELUGU_INDIA:
|
|
186
|
-
case Locales.THAI_THAILAND:
|
|
187
|
-
case Locales.TAGALOG_PHILIPPINES:
|
|
188
|
-
case Locales.TSWANA_SOUTH_AFRICA:
|
|
189
|
-
case Locales.TURKISH_TURKEY:
|
|
190
|
-
case Locales.TATAR_RUSSIA:
|
|
191
|
-
case Locales.TSOGA:
|
|
192
|
-
case Locales.UKRAINIAN_UKRAINE:
|
|
193
|
-
case Locales.UZBEK_LATIN_UZBEKISTAN:
|
|
194
|
-
case Locales.VIETNAMESE_VIET_NAM:
|
|
195
|
-
case Locales.XHOSA_SOUTH_AFRICA:
|
|
196
|
-
case Locales.CHINESE_HONG_KONG:
|
|
197
|
-
case Locales.CHINESE_MACAU:
|
|
198
|
-
case Locales.CHINESE_SINGAPORE:
|
|
199
|
-
case Locales.ZULU_SOUTH_AFRICA:
|
|
200
|
-
return "ltr";
|
|
201
|
-
case Locales.ARABIC:
|
|
202
|
-
case Locales.FARSI:
|
|
203
|
-
case Locales.URDU:
|
|
204
|
-
case Locales.PASHTO:
|
|
205
|
-
case Locales.SYRIAC:
|
|
206
|
-
case Locales.ARABIC_UNITED_ARAB_EMIRATES:
|
|
207
|
-
case Locales.ARABIC_BAHRAIN:
|
|
208
|
-
case Locales.ARABIC_ALGERIA:
|
|
209
|
-
case Locales.ARABIC_EGYPT:
|
|
210
|
-
case Locales.ARABIC_IRAQ:
|
|
211
|
-
case Locales.ARABIC_JORDAN:
|
|
212
|
-
case Locales.ARABIC_KUWAIT:
|
|
213
|
-
case Locales.ARABIC_LEBANON:
|
|
214
|
-
case Locales.ARABIC_LIBYA:
|
|
215
|
-
case Locales.ARABIC_MOROCCO:
|
|
216
|
-
case Locales.ARABIC_OMAN:
|
|
217
|
-
case Locales.ARABIC_QATAR:
|
|
218
|
-
case Locales.ARABIC_SAUDI_ARABIA:
|
|
219
|
-
case Locales.ARABIC_SYRIA:
|
|
220
|
-
case Locales.ARABIC_TUNISIA:
|
|
221
|
-
case Locales.ARABIC_YEMEN:
|
|
222
|
-
case Locales.FARSI_IRAN:
|
|
223
|
-
case Locales.URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN:
|
|
224
|
-
case Locales.PASHTO_AFGHANISTAN:
|
|
225
|
-
case Locales.SYRIAC_SYRIA:
|
|
226
|
-
return "rtl";
|
|
227
|
-
default:
|
|
228
|
-
return "auto";
|
|
229
|
-
}
|
|
230
|
-
};
|
|
231
|
-
export {
|
|
232
|
-
getHTMLTextDir
|
|
18
|
+
switch (locale) {
|
|
19
|
+
case Locales.ARABIC:
|
|
20
|
+
case Locales.FARSI:
|
|
21
|
+
case Locales.URDU:
|
|
22
|
+
case Locales.PASHTO:
|
|
23
|
+
case Locales.SYRIAC:
|
|
24
|
+
case Locales.ARABIC_UNITED_ARAB_EMIRATES:
|
|
25
|
+
case Locales.ARABIC_BAHRAIN:
|
|
26
|
+
case Locales.ARABIC_ALGERIA:
|
|
27
|
+
case Locales.ARABIC_EGYPT:
|
|
28
|
+
case Locales.ARABIC_IRAQ:
|
|
29
|
+
case Locales.ARABIC_JORDAN:
|
|
30
|
+
case Locales.ARABIC_KUWAIT:
|
|
31
|
+
case Locales.ARABIC_LEBANON:
|
|
32
|
+
case Locales.ARABIC_LIBYA:
|
|
33
|
+
case Locales.ARABIC_MOROCCO:
|
|
34
|
+
case Locales.ARABIC_OMAN:
|
|
35
|
+
case Locales.ARABIC_QATAR:
|
|
36
|
+
case Locales.ARABIC_SAUDI_ARABIA:
|
|
37
|
+
case Locales.ARABIC_SYRIA:
|
|
38
|
+
case Locales.ARABIC_TUNISIA:
|
|
39
|
+
case Locales.ARABIC_YEMEN:
|
|
40
|
+
case Locales.FARSI_IRAN:
|
|
41
|
+
case Locales.URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN:
|
|
42
|
+
case Locales.PASHTO_AFGHANISTAN:
|
|
43
|
+
case Locales.SYRIAC_SYRIA: return "rtl";
|
|
44
|
+
default: return "ltr";
|
|
45
|
+
}
|
|
233
46
|
};
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
export { getHTMLTextDir };
|
|
234
50
|
//# sourceMappingURL=getHTMLTextDir.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/localization/getHTMLTextDir.ts"],"sourcesContent":["import { Locales, type LocalesValues } from '@intlayer/config/client';\n\ntype Dir = 'ltr' | 'rtl' | 'auto';\n\n/**\n * Returns the text direction of the given locale.\n *\n * Example:\n *\n * getHTMLTextDir('en-US') // 'ltr'\n * getHTMLTextDir('en') // 'ltr'\n * getHTMLTextDir('fr-CA') // 'ltr'\n * getHTMLTextDir('fr') // 'ltr'\n *\n * @param locale The locale to get the text direction for.\n * @returns The text direction of the given locale.\n */\nexport const getHTMLTextDir = (locale?: LocalesValues): Dir => {\n switch (locale) {\n case Locales.ENGLISH:\n case Locales.FRENCH:\n case Locales.SPANISH:\n case Locales.PORTUGUESE:\n case Locales.GERMAN:\n case Locales.AFRIKAANS:\n case Locales.AZERI_LATIN:\n case Locales.BELARUSIAN:\n case Locales.BULGARIAN:\n case Locales.BOSNIAN:\n case Locales.CATALAN:\n case Locales.CZECH:\n case Locales.WELSH:\n case Locales.DANISH:\n case Locales.ESPERANTO:\n case Locales.ESTONIAN:\n case Locales.BASQUE:\n case Locales.FINNISH:\n case Locales.FAROESE:\n case Locales.GALICIAN:\n case Locales.GREEK:\n case Locales.CROATIAN:\n case Locales.HUNGARIAN:\n case Locales.ARMENIAN:\n case Locales.INDONESIAN:\n case Locales.ICELANDIC:\n case Locales.ITALIAN:\n case Locales.JAPANESE:\n case Locales.GEORGIAN:\n case Locales.KAZAKH:\n case Locales.KANNADA:\n case Locales.KOREAN:\n case Locales.KONKANI:\n case Locales.KYRGYZ:\n case Locales.LITHUANIAN:\n case Locales.LATVIAN:\n case Locales.MAORI:\n case Locales.FYRO_MACEDONIAN:\n case Locales.MONGOLIAN:\n case Locales.MARATHI:\n case Locales.MALAY:\n case Locales.MALTESE:\n case Locales.NORWEGIAN_BOKMAL:\n case Locales.DUTCH:\n case Locales.NORTHERN_SOTHO:\n case Locales.PUNJABI:\n case Locales.POLISH:\n case Locales.QUECHUA:\n case Locales.ROMANIAN:\n case Locales.RUSSIAN:\n case Locales.SANSKRIT:\n case Locales.SAMI_NORTHERN:\n case Locales.SLOVAK:\n case Locales.SLOVENIAN:\n case Locales.ALBANIAN:\n case Locales.SERBIAN_LATIN:\n case Locales.SWEDISH:\n case Locales.SWAHILI:\n case Locales.TAMIL:\n case Locales.TELUGU:\n case Locales.THAI:\n case Locales.TAGALOG:\n case Locales.TSWANA:\n case Locales.TURKISH:\n case Locales.UKRAINIAN:\n case Locales.UZBEK_LATIN:\n case Locales.VIETNAMESE:\n case Locales.XHOSA:\n case Locales.CHINESE_SIMPLIFIED:\n case Locales.CHINESE_TRADITIONAL:\n case Locales.ZULU:\n case Locales.AFRIKAANS_SOUTH_AFRICA:\n case Locales.AZERI_LATIN_AZERBAIJAN:\n case Locales.BELARUSIAN_BELARUS:\n case Locales.BULGARIAN_BULGARIA:\n case Locales.BOSNIAN_BOSNIA_AND_HERZEGOVINA:\n case Locales.CATALAN_SPAIN:\n case Locales.CZECH_CZECH_REPUBLIC:\n case Locales.WELSH_UNITED_KINGDOM:\n case Locales.DANISH_DENMARK:\n case Locales.GERMAN_AUSTRIA:\n case Locales.GERMAN_SWITZERLAND:\n case Locales.GERMAN_GERMANY:\n case Locales.GERMAN_LIECHTENSTEIN:\n case Locales.GERMAN_LUXEMBOURG:\n case Locales.GREEK_GREECE:\n case Locales.ENGLISH_AUSTRALIA:\n case Locales.ENGLISH_BELIZE:\n case Locales.ENGLISH_CANADA:\n case Locales.ENGLISH_CARIBBEAN:\n case Locales.ENGLISH_UNITED_KINGDOM:\n case Locales.ENGLISH_IRELAND:\n case Locales.ENGLISH_JAMAICA:\n case Locales.ENGLISH_NEW_ZEALAND:\n case Locales.ENGLISH_PHILIPPINES:\n case Locales.ENGLISH_TRINIDAD_AND_TOBAGO:\n case Locales.ENGLISH_UNITED_STATES:\n case Locales.ENGLISH_SOUTH_AFRICA:\n case Locales.ENGLISH_ZIMBABWE:\n case Locales.SPANISH_ARGENTINA:\n case Locales.SPANISH_BOLIVIA:\n case Locales.SPANISH_CHILE:\n case Locales.SPANISH_COLOMBIA:\n case Locales.SPANISH_COSTA_RICA:\n case Locales.SPANISH_DOMINICAN_REPUBLIC:\n case Locales.SPANISH_ECUADOR:\n case Locales.SPANISH_SPAIN:\n case Locales.SPANISH_GUATEMALA:\n case Locales.SPANISH_HONDURAS:\n case Locales.SPANISH_MEXICO:\n case Locales.SPANISH_NICARAGUA:\n case Locales.SPANISH_PANAMA:\n case Locales.SPANISH_PERU:\n case Locales.SPANISH_PUERTO_RICO:\n case Locales.SPANISH_PARAGUAY:\n case Locales.SPANISH_EL_SALVADOR:\n case Locales.SPANISH_URUGUAY:\n case Locales.SPANISH_VENEZUELA:\n case Locales.ESTONIAN_ESTONIA:\n case Locales.BASQUE_SPAIN:\n case Locales.FINNISH_FINLAND:\n case Locales.FAROESE_FAROE_ISLANDS:\n case Locales.FRENCH_BELGIUM:\n case Locales.FRENCH_CANADA:\n case Locales.FRENCH_SWITZERLAND:\n case Locales.FRENCH_FRANCE:\n case Locales.FRENCH_LUXEMBOURG:\n case Locales.FRENCH_PRINCIPALITY_OF_MONACO:\n case Locales.GALICIAN_SPAIN:\n case Locales.GUJARATI_INDIA:\n case Locales.HEBREW_ISRAEL:\n case Locales.HINDI_INDIA:\n case Locales.CROATIAN_BOSNIA_AND_HERZEGOVINA:\n case Locales.CROATIAN_CROATIA:\n case Locales.HUNGARIAN_HUNGARY:\n case Locales.ARMENIAN_ARMENIA:\n case Locales.INDONESIAN_INDONESIA:\n case Locales.ICELANDIC_ICELAND:\n case Locales.ITALIAN_SWITZERLAND:\n case Locales.ITALIAN_ITALY:\n case Locales.JAPANESE_JAPAN:\n case Locales.GEORGIAN_GEORGIA:\n case Locales.KAZAKH_KAZAKHSTAN:\n case Locales.KANNADA_INDIA:\n case Locales.KOREAN_KOREA:\n case Locales.KONKANI_INDIA:\n case Locales.KYRGYZ_KYRGYZSTAN:\n case Locales.LITHUANIAN_LITHUANIA:\n case Locales.LATVIAN_LATVIA:\n case Locales.MAORI_NEW_ZEALAND:\n case Locales.FYRO_MACEDONIAN_MACEDONIA:\n case Locales.MONGOLIAN_MONGOLIA:\n case Locales.MARATHI_INDIA:\n case Locales.MALAY_BRUNEI_DARUSSALAM:\n case Locales.MALAY_MALAYSIA:\n case Locales.MALTESE_MALTA:\n case Locales.NORWEGIAN_BOKMAL_NORWAY:\n case Locales.DUTCH_BELGIUM:\n case Locales.DUTCH_NETHERLANDS:\n case Locales.NORWEGIAN_NYNORSK_NORWAY:\n case Locales.NORTHERN_SOTHO_SOUTH_AFRICA:\n case Locales.PUNJABI_INDIA:\n case Locales.POLISH_POLAND:\n case Locales.PORTUGUESE_BRAZIL:\n case Locales.PORTUGUESE_PORTUGAL:\n case Locales.QUECHUA_BOLIVIA:\n case Locales.QUECHUA_ECUADOR:\n case Locales.QUECHUA_PERU:\n case Locales.ROMANIAN_ROMANIA:\n case Locales.RUSSIAN_RUSSIA:\n case Locales.SANSKRIT_INDIA:\n case Locales.SAMI_NORTHERN_FINLAND:\n case Locales.SAMI_NORTHERN_NORWAY:\n case Locales.SAMI_NORTHERN_SWEDEN:\n case Locales.SLOVAK_SLOVAKIA:\n case Locales.SLOVENIAN_SLOVENIA:\n case Locales.ALBANIAN_ALBANIA:\n case Locales.SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA:\n case Locales.SERBIAN_LATIN_SERBIA_AND_MONTENEGRO:\n case Locales.SWAHILI_KENYA:\n case Locales.TAMIL_INDIA:\n case Locales.TELUGU_INDIA:\n case Locales.THAI_THAILAND:\n case Locales.TAGALOG_PHILIPPINES:\n case Locales.TSWANA_SOUTH_AFRICA:\n case Locales.TURKISH_TURKEY:\n case Locales.TATAR_RUSSIA:\n case Locales.TSOGA:\n case Locales.UKRAINIAN_UKRAINE:\n case Locales.UZBEK_LATIN_UZBEKISTAN:\n case Locales.VIETNAMESE_VIET_NAM:\n case Locales.XHOSA_SOUTH_AFRICA:\n case Locales.CHINESE_HONG_KONG:\n case Locales.CHINESE_MACAU:\n case Locales.CHINESE_SINGAPORE:\n case Locales.ZULU_SOUTH_AFRICA:\n return 'ltr';\n\n case Locales.ARABIC:\n case Locales.FARSI:\n case Locales.URDU:\n case Locales.PASHTO:\n case Locales.SYRIAC:\n case Locales.ARABIC_UNITED_ARAB_EMIRATES:\n case Locales.ARABIC_BAHRAIN:\n case Locales.ARABIC_ALGERIA:\n case Locales.ARABIC_EGYPT:\n case Locales.ARABIC_IRAQ:\n case Locales.ARABIC_JORDAN:\n case Locales.ARABIC_KUWAIT:\n case Locales.ARABIC_LEBANON:\n case Locales.ARABIC_LIBYA:\n case Locales.ARABIC_MOROCCO:\n case Locales.ARABIC_OMAN:\n case Locales.ARABIC_QATAR:\n case Locales.ARABIC_SAUDI_ARABIA:\n case Locales.ARABIC_SYRIA:\n case Locales.ARABIC_TUNISIA:\n case Locales.ARABIC_YEMEN:\n case Locales.FARSI_IRAN:\n case Locales.URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN:\n case Locales.PASHTO_AFGHANISTAN:\n case Locales.SYRIAC_SYRIA:\n return 'rtl';\n\n default:\n return 'auto';\n }\n};\n"],"mappings":"AAAA,SAAS,eAAmC;AAiBrC,MAAM,iBAAiB,CAAC,WAAgC;AAC7D,UAAQ,QAAQ;AAAA,IACd,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AACX,aAAO;AAAA,IAET,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ;AACX,aAAO;AAAA,IAET;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
|
|
1
|
+
{"version":3,"file":"getHTMLTextDir.mjs","names":[],"sources":["../../../src/localization/getHTMLTextDir.ts"],"sourcesContent":["import { Locales, type LocalesValues } from '@intlayer/types';\n\ntype Dir = 'ltr' | 'rtl' | 'auto';\n\n/**\n * Returns the text direction of the given locale.\n *\n * Example:\n *\n * getHTMLTextDir('en-US') // 'ltr'\n * getHTMLTextDir('en') // 'ltr'\n * getHTMLTextDir('fr-CA') // 'ltr'\n * getHTMLTextDir('fr') // 'ltr'\n *\n * @param locale The locale to get the text direction for.\n * @returns The text direction of the given locale.\n */\nexport const getHTMLTextDir = (locale?: LocalesValues): Dir => {\n switch (locale) {\n case Locales.ARABIC:\n case Locales.FARSI:\n case Locales.URDU:\n case Locales.PASHTO:\n case Locales.SYRIAC:\n case Locales.ARABIC_UNITED_ARAB_EMIRATES:\n case Locales.ARABIC_BAHRAIN:\n case Locales.ARABIC_ALGERIA:\n case Locales.ARABIC_EGYPT:\n case Locales.ARABIC_IRAQ:\n case Locales.ARABIC_JORDAN:\n case Locales.ARABIC_KUWAIT:\n case Locales.ARABIC_LEBANON:\n case Locales.ARABIC_LIBYA:\n case Locales.ARABIC_MOROCCO:\n case Locales.ARABIC_OMAN:\n case Locales.ARABIC_QATAR:\n case Locales.ARABIC_SAUDI_ARABIA:\n case Locales.ARABIC_SYRIA:\n case Locales.ARABIC_TUNISIA:\n case Locales.ARABIC_YEMEN:\n case Locales.FARSI_IRAN:\n case Locales.URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN:\n case Locales.PASHTO_AFGHANISTAN:\n case Locales.SYRIAC_SYRIA:\n return 'rtl';\n\n default:\n return 'ltr';\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,MAAa,kBAAkB,WAAgC;AAC7D,SAAQ,QAAR;EACE,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ;EACb,KAAK,QAAQ,aACX,QAAO;EAET,QACE,QAAO"}
|
|
@@ -1,25 +1,40 @@
|
|
|
1
|
-
import configuration from "@intlayer/config/built";
|
|
2
1
|
import { checkIsURLAbsolute } from "../utils/checkIsURLAbsolute.mjs";
|
|
2
|
+
import { Locales } from "@intlayer/types";
|
|
3
|
+
import configuration from "@intlayer/config/built";
|
|
4
|
+
|
|
5
|
+
//#region src/localization/getLocaleFromPath.ts
|
|
6
|
+
/**
|
|
7
|
+
* Extracts the locale segment from the given URL or pathname if present.
|
|
8
|
+
* If no locale is present, returns the default locale (en).
|
|
9
|
+
*
|
|
10
|
+
* Example:
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* getLocaleFromPath('/en/dashboard') // Returns 'en'
|
|
14
|
+
* getLocaleFromPath('/fr/dashboard') // Returns 'fr'
|
|
15
|
+
* getLocaleFromPath('/dashboard') // Returns 'en'
|
|
16
|
+
* getLocaleFromPath('dashboard') // Returns 'en'
|
|
17
|
+
* getLocaleFromPath('https://example.com/es/dashboard') // Returns 'es'
|
|
18
|
+
* getLocaleFromPath('https://example.com/fr/dashboard') // Returns 'fr'
|
|
19
|
+
* getLocaleFromPath('https://example.com/dashboard') // Returns 'en'
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @param inputUrl - The complete URL string or pathname to process.
|
|
23
|
+
* @returns The detected locale or default (en) if no locale is found
|
|
24
|
+
*/
|
|
3
25
|
const getLocaleFromPath = (inputUrl) => {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
const pathSegments = pathname.split("/");
|
|
16
|
-
const firstSegment = pathSegments[1];
|
|
17
|
-
if (firstSegment && locales.includes(firstSegment)) {
|
|
18
|
-
return firstSegment;
|
|
19
|
-
}
|
|
20
|
-
return defaultLocale;
|
|
21
|
-
};
|
|
22
|
-
export {
|
|
23
|
-
getLocaleFromPath
|
|
26
|
+
const { defaultLocale, locales } = configuration?.internationalization ?? {};
|
|
27
|
+
if (!defaultLocale || !locales) return Locales.ENGLISH;
|
|
28
|
+
const isAbsoluteUrl = checkIsURLAbsolute(inputUrl);
|
|
29
|
+
let fixedInputUrl = inputUrl;
|
|
30
|
+
if (inputUrl.endsWith("/")) fixedInputUrl = inputUrl.slice(0, -1);
|
|
31
|
+
const pathname = (isAbsoluteUrl ? new URL(fixedInputUrl) : new URL(fixedInputUrl, "http://example.com")).pathname;
|
|
32
|
+
if (!pathname.startsWith("/")) return defaultLocale;
|
|
33
|
+
const firstSegment = pathname.split("/")[1];
|
|
34
|
+
if (firstSegment && locales.includes(firstSegment)) return firstSegment;
|
|
35
|
+
return defaultLocale;
|
|
24
36
|
};
|
|
37
|
+
|
|
38
|
+
//#endregion
|
|
39
|
+
export { getLocaleFromPath };
|
|
25
40
|
//# sourceMappingURL=getLocaleFromPath.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/localization/getLocaleFromPath.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type
|
|
1
|
+
{"version":3,"file":"getLocaleFromPath.mjs","names":[],"sources":["../../../src/localization/getLocaleFromPath.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport { type Locale, Locales } from '@intlayer/types';\nimport { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute';\n\n/**\n * Extracts the locale segment from the given URL or pathname if present.\n * If no locale is present, returns the default locale (en).\n *\n * Example:\n *\n * ```ts\n * getLocaleFromPath('/en/dashboard') // Returns 'en'\n * getLocaleFromPath('/fr/dashboard') // Returns 'fr'\n * getLocaleFromPath('/dashboard') // Returns 'en'\n * getLocaleFromPath('dashboard') // Returns 'en'\n * getLocaleFromPath('https://example.com/es/dashboard') // Returns 'es'\n * getLocaleFromPath('https://example.com/fr/dashboard') // Returns 'fr'\n * getLocaleFromPath('https://example.com/dashboard') // Returns 'en'\n * ```\n *\n * @param inputUrl - The complete URL string or pathname to process.\n * @returns The detected locale or default (en) if no locale is found\n */\nexport const getLocaleFromPath = (inputUrl: string): Locale => {\n // Define supported locales array\n const { defaultLocale, locales } = configuration?.internationalization ?? {};\n\n if (!defaultLocale || !locales) {\n return Locales.ENGLISH;\n }\n\n // Determine if the original URL is absolute (includes protocol)\n const isAbsoluteUrl = checkIsURLAbsolute(inputUrl);\n\n let fixedInputUrl = inputUrl;\n\n if (inputUrl.endsWith('/')) {\n fixedInputUrl = inputUrl.slice(0, -1);\n }\n\n // Initialize a URL object if the URL is absolute\n // For relative URLs, use a dummy base to leverage the URL API\n const url = isAbsoluteUrl\n ? new URL(fixedInputUrl)\n : new URL(fixedInputUrl, 'http://example.com');\n\n const pathname = url.pathname;\n\n // Ensure the pathname starts with '/'\n if (!pathname.startsWith('/')) {\n // If not, return the default locale\n return defaultLocale;\n }\n\n // Split the pathname to extract the first segment\n const pathSegments = pathname.split('/');\n const firstSegment = pathSegments[1]; // The segment after the first '/'\n\n // Check if the first segment is a supported locale\n if (firstSegment && locales.includes(firstSegment as Locale)) {\n // Return the detected locale\n return firstSegment as Locale;\n }\n\n // Return the default locale if no locale is found in the path\n return defaultLocale;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAa,qBAAqB,aAA6B;CAE7D,MAAM,EAAE,eAAe,YAAY,eAAe,wBAAwB,EAAE;AAE5E,KAAI,CAAC,iBAAiB,CAAC,QACrB,QAAO,QAAQ;CAIjB,MAAM,gBAAgB,mBAAmB,SAAS;CAElD,IAAI,gBAAgB;AAEpB,KAAI,SAAS,SAAS,IAAI,CACxB,iBAAgB,SAAS,MAAM,GAAG,GAAG;CASvC,MAAM,YAJM,gBACR,IAAI,IAAI,cAAc,GACtB,IAAI,IAAI,eAAe,qBAAqB,EAE3B;AAGrB,KAAI,CAAC,SAAS,WAAW,IAAI,CAE3B,QAAO;CAKT,MAAM,eADe,SAAS,MAAM,IAAI,CACN;AAGlC,KAAI,gBAAgB,QAAQ,SAAS,aAAuB,CAE1D,QAAO;AAIT,QAAO"}
|
|
@@ -1,5 +1,19 @@
|
|
|
1
|
+
//#region src/localization/getLocaleLang.ts
|
|
2
|
+
/**
|
|
3
|
+
* Returns the language code of the given locale for locales including the country code.
|
|
4
|
+
*
|
|
5
|
+
* Example:
|
|
6
|
+
*
|
|
7
|
+
* getLocaleLang('en-US') // 'en'
|
|
8
|
+
* getLocaleLang('en') // 'en'
|
|
9
|
+
* getLocaleLang('fr-CA') // 'fr'
|
|
10
|
+
* getLocaleLang('fr') // 'fr'
|
|
11
|
+
*
|
|
12
|
+
* @param locale The locale to get the language code for.
|
|
13
|
+
* @returns The language code of the given locale.
|
|
14
|
+
*/
|
|
1
15
|
const getLocaleLang = (locale) => locale?.split("-")[0] ?? "";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { getLocaleLang };
|
|
5
19
|
//# sourceMappingURL=getLocaleLang.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/localization/getLocaleLang.ts"],"sourcesContent":["import type { LocalesValues } from '@intlayer/
|
|
1
|
+
{"version":3,"file":"getLocaleLang.mjs","names":[],"sources":["../../../src/localization/getLocaleLang.ts"],"sourcesContent":["import type { LocalesValues } from '@intlayer/types';\n\n/**\n * Returns the language code of the given locale for locales including the country code.\n *\n * Example:\n *\n * getLocaleLang('en-US') // 'en'\n * getLocaleLang('en') // 'en'\n * getLocaleLang('fr-CA') // 'fr'\n * getLocaleLang('fr') // 'fr'\n *\n * @param locale The locale to get the language code for.\n * @returns The language code of the given locale.\n */\nexport const getLocaleLang = (locale?: LocalesValues): string =>\n locale?.split('-')[0] ?? '';\n"],"mappings":";;;;;;;;;;;;;;AAeA,MAAa,iBAAiB,WAC5B,QAAQ,MAAM,IAAI,CAAC,MAAM"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CachedIntl } from "../utils/intl.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/localization/getLocaleName.ts
|
|
2
4
|
const getLocaleName = (displayLocale, targetLocale = displayLocale) => {
|
|
3
|
-
|
|
4
|
-
type: "language"
|
|
5
|
-
});
|
|
6
|
-
return displayNames.of(displayLocale) ?? "Unknown locale";
|
|
7
|
-
};
|
|
8
|
-
export {
|
|
9
|
-
getLocaleName
|
|
5
|
+
return new CachedIntl.DisplayNames(targetLocale, { type: "language" }).of(displayLocale) ?? "Unknown locale";
|
|
10
6
|
};
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
export { getLocaleName };
|
|
11
10
|
//# sourceMappingURL=getLocaleName.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/localization/getLocaleName.ts"],"sourcesContent":["import type { LocalesValues } from '@intlayer/
|
|
1
|
+
{"version":3,"file":"getLocaleName.mjs","names":[],"sources":["../../../src/localization/getLocaleName.ts"],"sourcesContent":["import type { LocalesValues } from '@intlayer/types';\nimport { CachedIntl } from '../utils/intl';\n\nexport const getLocaleName = (\n displayLocale: LocalesValues,\n targetLocale: LocalesValues = displayLocale\n): string => {\n // new Intl.DisplayNames() is fairly heavy: under the hood every call parses CLDR data and builds a resolver table. In your LocaleSwitcher it’s invoked:\n const displayNames = new CachedIntl.DisplayNames(targetLocale, {\n type: 'language',\n });\n\n return displayNames.of(displayLocale) ?? 'Unknown locale';\n};\n"],"mappings":";;;AAGA,MAAa,iBACX,eACA,eAA8B,kBACnB;AAMX,QAJqB,IAAI,WAAW,aAAa,cAAc,EAC7D,MAAM,YACP,CAAC,CAEkB,GAAG,cAAc,IAAI"}
|