Interface TranslatableComponent

All Superinterfaces:
Buildable<TranslatableComponent,TranslatableComponent.Builder>, BuildableComponent<TranslatableComponent,TranslatableComponent.Builder>, Component, ComponentBuilderApplicable, ComponentLike, net.kyori.examination.Examinable, HoverEventSource<Component>, ScopedComponent<TranslatableComponent>, StyleGetter, StyleSetter<Component>

A component that can display translated text.

This component consists of:

key
a translation key used together with the viewer locale to fetch a translated string.
args(optional)
components that can be used as arguments in the translated string.

(e.g "You picked up {0}." -> "You picked up Carrot.")

Displaying this component through an Audience will run it through the GlobalTranslator by default, rendering the key as translated text if a translation with a key matching this components key is found in the viewers locale, optionally switching arguments with any placeholders in the discovered translation. If no translation is registered for the viewers locale adventure will first try to find similar locales that has a valid translation, and then find a translation in the default language(relevant method).

In addition to the initial attempts, if no translation is found in the serverside registry, the translation key and arguments will be passed through to the client which will perform translation using any keys defined in an active resource pack. (Hint: vanilla Minecraft is also considered a resource pack)

Since:
4.0.0
See Also:
  • Method Details

    • key

      @NotNull @NotNull String key()
      Gets the translation key.
      Returns:
      the translation key
      Since:
      4.0.0
    • key

      @Contract(pure=true) @NotNull default @NotNull TranslatableComponent key(@NotNull @NotNull Translatable translatable)
      Sets the translation key.
      Parameters:
      translatable - the translatable object to get the key from
      Returns:
      a translatable component
      Since:
      4.8.0
    • key

      @Contract(pure=true) @NotNull @NotNull TranslatableComponent key(@NotNull @NotNull String key)
      Sets the translation key.
      Parameters:
      key - the translation key
      Returns:
      a translatable component
      Since:
      4.0.0
    • args

      @Deprecated @NotNull @NotNull List<Component> args()
      Deprecated.
      for removal since 4.15.0, use arguments() instead.
      Gets the unmodifiable list of translation arguments.
      Returns:
      the unmodifiable list of translation arguments
      Since:
      4.0.0
    • args

      @Deprecated @Contract(pure=true) @NotNull default @NotNull TranslatableComponent args(@NotNull @NotNull ComponentLike @NotNull ... args)
      Deprecated.
      for removal since 4.15.0, use arguments(ComponentLike...) instead
      Sets the translation arguments for this component.

      Non-Component arguments can be wrapped in TranslationArgument, or represented with a TranslationArgumentLike.

      Parameters:
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.0.0
      See Also:
    • args

      @Deprecated @Contract(pure=true) @NotNull default @NotNull TranslatableComponent args(@NotNull @NotNull List<? extends ComponentLike> args)
      Deprecated.
      for removal since 4.15.0, use arguments(List) instead
      Sets the translation arguments for this component.

      Non-Component arguments can be wrapped in TranslationArgument, or represented with a TranslationArgumentLike.

      Parameters:
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.0.0
    • arguments

      @NotNull @NotNull List<TranslationArgument> arguments()
      Gets the unmodifiable list of translation arguments.
      Returns:
      the unmodifiable list of translation arguments
      Since:
      4.0.0
    • arguments

      @Contract(pure=true) @NotNull @NotNull TranslatableComponent arguments(@NotNull @NotNull ComponentLike @NotNull ... args)
      Sets the translation arguments for this component.

      Non-Component arguments can be wrapped in TranslationArgument, or represented with a TranslationArgumentLike.

      Parameters:
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.15.0
      See Also:
    • arguments

      @Contract(pure=true) @NotNull @NotNull TranslatableComponent arguments(@NotNull @NotNull List<? extends ComponentLike> args)
      Sets the translation arguments for this component.

      Non-Component arguments can be wrapped in TranslationArgument, or represented with a TranslationArgumentLike.

      Parameters:
      args - the translation arguments
      Returns:
      a translatable component
      Since:
      4.15.0
    • fallback

      @Nullable @Nullable String fallback()
      Gets the translation fallback text for this component. The fallback text will be shown when the client doesn't know the translation key used in the translatable component.
      Returns:
      the fallback string
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • fallback

      @Contract(pure=true) @NotNull @NotNull TranslatableComponent fallback(@Nullable @Nullable String fallback)
      Sets the translation fallback text for this component. The fallback text will be shown when the client doesn't know the translation key used in the translatable component.
      Parameters:
      fallback - the fallback string
      Returns:
      a translatable component
      Since:
      4.13.0
      Since Minecraft:
      1.19.4
    • examinableProperties

      @NotNull default @NotNull Stream<? extends net.kyori.examination.ExaminableProperty> examinableProperties()
      Specified by:
      examinableProperties in interface Component
      Specified by:
      examinableProperties in interface net.kyori.examination.Examinable