Class

Locale (utils)

@ckeditor/ckeditor5-utils/src/locale

class

Represents the localization services.

Filtering

Properties

Methods

  • constructor( [ options ] = { [options.uiLanguage], [options.contentLanguage] } )

    Creates a new instance of the locale class. Learn more about configuring the language of the editor.

    Parameters

    [ options ] : Object

    Locale configuration.

    Properties
    [ options.uiLanguage ] : String

    The editor UI language code in the ISO 639-1 format. See uiLanguage.

    Defaults to 'en'

    [ options.contentLanguage ] : String

    The editor content language code in the ISO 639-1 format. If not specified, the same as options.language. See contentLanguage.

  • t( message, [ values ] ) → String

    Translates the given message to the uiLanguage. This method is also available in Editor and 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 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.
    
    • The message should provide an ID using the 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' } );

    Parameters

    message : String | Message

    A message that will be localized (translated).

    [ values ] : String | Number | Array.<(String | Number)>

    A value or an array of values that will fill message placeholders. For messages supporting plural forms the first value will determine the plural form.

    Returns

    String
  • _t( message, [ values ] ) → String

    private

    An unbound version of the t method.

    Parameters

    message : String | Message
    [ values ] : Number | String | Array.<(Number | String)>

    Returns

    String