In this namespace you will find classes and methods for handling locale and localized texts.
Classes
- Formatter
Default values for the markers are
.${
and}
- Locale
- Provider
- Translations
Namespaces
- Providers
- In this namespace you will find classes and methods for handling locale and localized texts.
Members
(static, constant) localeStringSymbol :symbol
- symbol
(static, constant) propertiesSymbol :symbol
- symbol
Methods
(static) getDocumentTranslations(elementopt) → {Translations}
Returns the translations for the current document.
Name | Type | Attributes | Description |
---|---|---|---|
element | HTMLElement | | <optional> | Element to search for translations. Default: element with objectlink @schukai/monster/i18n/translations@@link. |
Element is not an HTMLElement.
- Type
- Error
Cannot find element with translations. Add a translations object to the document.
- Type
- Error
This element has no translations.
- Type
- Error
Missing translations.
- Type
- Error
- Type:
- Translations
(static) parseLocale(locale) → {Locale}
Parse local according to rfc4646 standard
Limitations: The regex cannot handle multiple variants or private.
Parse local according to rfc4646 standard
Limitations: The regex cannot handle multiple variants or private.
You can call the method via this function individually:
import {createLocale} from '@schukai/monster/source/i18n/locale.mjs';
createLocale()
RFC
The syntax of the language tag in ABNF [RFC4234] is:
Language-Tag = langtag
/ privateuse ; private use tag
/ grandfathered ; grandfathered registrations
langtag = (language
["-" script]
["-" region]
*("-" variant)
*("-" extension)
["-" privateuse])
language = (2*3ALPHA [ extlang ]) ; shortest ISO 639 code
/ 4ALPHA ; reserved for future use
/ 5*8ALPHA ; registered language subtag
extlang = *3("-" 3ALPHA) ; reserved for future use
script = 4ALPHA ; ISO 15924 code
region = 2ALPHA ; ISO 3166 code
/ 3DIGIT ; UN M.49 code
variant = 5*8alphanum ; registered variants
/ (DIGIT 3alphanum)
extension = singleton 1*("-" (2*8alphanum))
singleton = %x41-57 / %x59-5A / %x61-77 / %x79-7A / DIGIT
; "a"-"w" / "y"-"z" / "A"-"W" / "Y"-"Z" / "0"-"9"
; Single letters: x/X is reserved for private use
privateuse = ("x"/"X") 1*("-" (1*8alphanum))
grandfathered = 1*3ALPHA 1*2("-" (2*8alphanum))
; grandfathered registration
; Note: i is the only singleton
; that starts a grandfathered tag
alphanum = (ALPHA / DIGIT) ; letters and numbers
Figure 1: Language Tag ABNF
Name | Type | Description |
---|---|---|
locale | string |
- Since
- 1.14.0
- Copyright
- schukai GmbH
- License
- AGPLv3
value is not a string
- Type
- TypeError
unsupported locale
- Type
- Error
- Type:
- Locale
Type Definitions
LocaleMap
- Object
Name | Type | Description |
---|---|---|
language | string | |
script | string | |
region | string | |
variants | string | |
extlang | string | |
privateUse | string |