Creates a new instance of the locale class. Learn more about {@glink getting-started/setup/ui-language configuring the language of the editor}.
Optionaloptions: {Locale configuration.
Optional ReadonlycontentLanguage?: stringThe editor content language code in the
ISO 639-1 format. If not specified, the same as options.language.
See #contentLanguage.
Optional Readonlytranslations?: ArrayOrItem<Translations>Translations passed as a editor config parameter.
Optional ReadonlyuiLanguage?: stringThe editor UI language code in the ISO 639-1 format. See #uiLanguage.
ReadonlycontentThe editor content language code in the ISO 639-1 format.
Usually the same as the #uiLanguage editor language, it can be customized by passing an optional
argument to the Locale constructor.
ReadonlycontentText direction of the #contentLanguage editor content language.
If the content language was passed directly to the Locale constructor, this property represents the
direction of that language.
If the #contentLanguage editor content language was derived from the #uiLanguage editor language, the content language direction is the same as the #uiLanguageDirection UI language direction.
The value is either 'ltr' or 'rtl'.
ReadonlytTranslates the given message to the #uiLanguage. This method is also available in
module:core/editor/editor~Editor#t Editor and module:ui/view~View#t View.
This method's context is statically bound to the Locale instance and should always be called as a function:
const t = locale.t;
t( 'Label' );
The message can be either a string or an object implementing the module:utils/translation-service~Message interface.
The message may contain placeholders (%<index>) for value(s) that are passed as a values parameter.
For an array of values, the %<index> will be changed to an element of that array at the given index.
For a single value passed as the second argument, only the %0 placeholders will be changed to the provided value.
t( 'Created file "%0" in %1ms.', [ fileName, timeTaken ] );
t( 'Created file "%0", fileName );
The message supports plural forms. To specify the plural form, use the plural property. Singular or plural form
will be chosen depending on the first value from the passed values. The value of the plural property is used
as a default plural translation when the translation for the target language is missing.
t( { string: 'Add a space', plural: 'Add %0 spaces' }, 1 ); // 'Add a space' for the English language.
t( { string: 'Add a space', plural: 'Add %0 spaces' }, 5 ); // 'Add 5 spaces' for the English language.
t( { string: '%1 a space', plural: '%1 %0 spaces' }, [ 2, 'Add' ] ); // 'Add 2 spaces' for the English language.
t( { string: 'Add a space', plural: 'Add %0 spaces' }, 1 ); // 'Dodaj spację' for the Polish language.
t( { string: 'Add a space', plural: 'Add %0 spaces' }, 5 ); // 'Dodaj 5 spacji' for the Polish language.
t( { string: '%1 a space', plural: '%1 %0 spaces' }, [ 2, 'Add' ] ); // 'Dodaj 2 spacje' for the Polish language.
id property when the message strings are not unique and their
translations should be different.translate( 'en', { string: 'image', id: 'ADD_IMAGE' } );
translate( 'en', { string: 'image', id: 'AN_IMAGE' } );
OptionaltranslationsObject that contains translations.
ReadonlyuiThe editor UI language code in the ISO 639-1 format.
If the #contentLanguage content language was not specified in the Locale constructor,
it also defines the language of the content.
ReadonlyuiText direction of the #uiLanguage editor UI language. Either 'ltr' or 'rtl'.
Represents the localization services.