Class DefaultI18NBean

java.lang.Object
com.atlassian.confluence.util.i18n.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)

  • Constructor Details

  • Method Details

    • 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:
    • 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:
    • getUntransformedRawText

      public String getUntransformedRawText(String key)
      Description copied from interface: I18NBean
      Same as I18NBean.getText(String) but does not apply any TranslationTransforms.
      Specified by:
      getUntransformedRawText in interface I18NBean
      Parameters:
      key - the key of the i18n message
      Returns:
      the un-formatted text or the key itself if no i18n message can be found
    • getText

      public String getText(String key, List list)
      Specified by:
      getText in interface I18NBean
    • 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)
    • getResourceBundle

      public ResourceBundle getResourceBundle()
      Specified by:
      getResourceBundle in interface I18NBean
    • 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