Class DefaultI18NBean

  • All Implemented Interfaces:
    I18NBean

    public class DefaultI18NBean
    extends Object
    implements I18NBean
    Responsible for fetching internationalised text given a key. By default, this will only search the default resource bundle for ConfluenceActionSupport.class

    To access i18n keys in resource bundles for other classes: specify these classes in a list (use fully qualified class names)

    • Method Detail

      • getText

        public String getText​(@Nullable String key)
        Get the i18n text for a particular key.
        Specified by:
        getText in interface I18NBean
      • getText

        public String getText​(@Nullable String key,
                              @Nullable Object[] args)
        Get the i18n text for a particular key, formatted through MessageFormat with the given arguments. Works similarly to ActionSupport.getText(String, java.util.List), but the array form is necessary to work well with Velocity.
        Specified by:
        getText in interface I18NBean
        Parameters:
        key - the key to retrieve the i18n text for
        args - an array of arguments to be passed in to the MessageFormat#format for this text
        Returns:
        the appropriate i18n text, formatted with the supplied arguments
        See Also:
        ActionSupport.getText(String, java.util.List), MessageFormat
      • getText

        public String getText​(String key,
                              Object[] args,
                              boolean onlyRawValue)
        Get the i18n text for a particular key, formatted through MessageFormat with the given arguments. Works similarly to ActionSupport.getText(String, java.util.List), but the array form is necessary to work well with Velocity.
        Specified by:
        getText in interface I18NBean
        Parameters:
        key - the key to retrieve the i18n text for
        args - an array of arguments to be passed in to the MessageFormat#format for this text
        onlyRawValue - identify the need of processing the value of the key, like escape and format
        Returns:
        the appropriate i18n text, formatted with the supplied arguments
        See Also:
        ActionSupport.getText(String, java.util.List), MessageFormat
      • getText

        public String getText​(Message message)
        Description copied from interface: I18NBean
        Gets the i18n text for the specified message, formatting the message's value and arguments with MessageFormat.
        Specified by:
        getText in interface I18NBean
        Parameters:
        message - the message to format, containing an i18n key and arguments
        Returns:
        the formatted message
      • getTextStrict

        public String getTextStrict​(String i18nKey)
        Needed for text that should not be marked up (for example, values for the 'accessKey' attribute in an input element)
        Specified by:
        getTextStrict in interface I18NBean
        Parameters:
        i18nKey - the key to retrieve localised text for
        Returns:
        text for i18nKey (and excludes markup regardless of settings)
      • getTranslationsForPrefix

        public Map<String,​String> getTranslationsForPrefix​(String prefix)
        Description copied from interface: I18NBean
        Gets a map of all keys that start with the given prefix, and their corresponding localised text, suitable for rendering with MessageFormat. It is strongly recommended that plugin developers not use this, as its performance is not guaranteed. Instead, apply translations for specific keys (e.g. via the jsI18n web resource transformer).
        Specified by:
        getTranslationsForPrefix in interface I18NBean