Package net.kyori.adventure.translation
Interface Translator
- All Known Subinterfaces:
GlobalTranslator,TranslationRegistry,TranslationStore<T>,TranslationStore.StringBased<T>
- All Known Implementing Classes:
AbstractTranslationStore,AbstractTranslationStore.StringBased
public interface Translator
A message translator.
To see how to create a Translator with a ResourceBundle
see TranslationStore.StringBased.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 Summary
Modifier and TypeMethodDescriptiondefault booleancanTranslate(@NotNull String key, @NotNull Locale locale) Checks if this translator can translate the given key and locale pair.default @NotNull TriStateChecks if this translator has any translations.@NotNull Keyname()A key identifying this translation source.static @Nullable LocaleparseLocale(@NotNull String string) @Nullable MessageFormatGets a message format from a key and locale.default @Nullable Componenttranslate(@NotNull TranslatableComponent component, @NotNull Locale locale) Gets a translated component from a translatable component and locale.
-
Method Details
-
parseLocale
- Parameters:
string- the string- Returns:
- a locale
- Since:
- 4.0.0
-
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
Checks if this translator has any translations.- Returns:
TriState.TRUEif any,TriState.NOT_SETif unknown, orTriState.FALSEif none- Since:
- 4.15.0
-
canTranslate
Checks if this translator can translate the given key and locale pair.- Parameters:
key- the keylocale- the locale- Returns:
trueif this translator will return a non-null value for either of the twotranslatemethods- Since:
- 4.20.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 iftranslate(TranslatableComponent, Locale)returnsnull.- Parameters:
locale- a localekey- a translation key- Returns:
- a message format or
nullto 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.Care should be taken to ensure you do not unintentionally remove the children of
component. This can be avoided by copying over the children using the following code as an example:final Component myNewComponent = ...; // get your component here return myNewComponent.append(component.children()); // ensure it has the original components children as well- Parameters:
locale- a localecomponent- a translatable component- Returns:
- a translated component or
nullto usetranslate(String, Locale)instead (if available) - Since:
- 4.13.0
-