Interface Translator

All Known Subinterfaces:
GlobalTranslator, TranslationRegistry

public interface Translator
A message translator.

To see how to create a Translator with a ResourceBundle see TranslationRegistry.registerAll(Locale, ResourceBundle, boolean)

To bypass vanilla's MessageFormat-based translation system, see translate(TranslatableComponent, Locale)

After creating a Translator you can add it to the GlobalTranslator to enable automatic translations by the platforms.

Since:
4.0.0
See Also:
  • Method Details

    • parseLocale

      @Nullable static @Nullable Locale parseLocale(@NotNull @NotNull String string)
      Parses a Locale from a String.
      Parameters:
      string - the string
      Returns:
      a locale
      Since:
      4.0.0
    • name

      @NotNull @NotNull Key name()
      A key identifying this translation source.

      Intended to be used for display to users.

      Returns:
      an identifier for this translation source
      Since:
      4.0.0
    • hasAnyTranslations

      @NotNull default @NotNull TriState hasAnyTranslations()
      Checks if this translator has any translations.
      Returns:
      TriState.TRUE if any, TriState.NOT_SET if unknown, or TriState.FALSE if none
      Since:
      4.15.0
    • translate

      @Nullable @Nullable MessageFormat translate(@NotNull @NotNull String key, @NotNull @NotNull Locale locale)
      Gets a message format from a key and locale.

      When used in the GlobalTranslator, this method is called only if translate(TranslatableComponent, Locale) returns null.

      Parameters:
      locale - a locale
      key - a translation key
      Returns:
      a message format or null to skip translation
      Since:
      4.0.0
    • translate

      @Nullable default @Nullable Component translate(@NotNull @NotNull TranslatableComponent component, @NotNull @NotNull Locale locale)
      Gets a translated component from a translatable component and locale.
      Parameters:
      locale - a locale
      component - a translatable component
      Returns:
      a translated component or null to use translate(String, Locale) instead (if available)
      Since:
      4.13.0