Package one.tranic.t.i18n
Class I18nLoader
java.lang.Object
one.tranic.t.i18n.I18nLoader
A utility class for loading and managing internationalized translations through a language map.
Provides methods for setting the locale, resetting the state, formatting strings, and converting
translation keys into various component types for localized output.
You need to manually install the dependent library.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionI18nLoader(Class<?> clazz, @NotNull String namespace) I18nLoader(Class<?> clazz, @NotNull String namespace, @NotNull Locale locale) -
Method Summary
Modifier and TypeMethodDescriptionvoidResets the current state of the language map and assigns a new locale for this instance.voidsetAdaptar(@NotNull I18n adaptar) Sets the adapter used for this instance.voidsetLanguage(@NotNull Locale locale) Sets the language for localized operations.@NotNull StringTranslates the provided key into a localized string using the predefined language map.@NotNull StringRetrieves a formatted translation for the specified key using the provided arguments.@NotNull net.md_5.bungee.api.chat.BaseComponent[]toBaseComponent(@NotNull String key) Converts a localized string corresponding to the given key into an array of BaseComponent objects.@NotNull net.md_5.bungee.api.chat.BaseComponent[]toBaseComponent(@NotNull String key, @NotNull Object... args) Converts a translation key and its formatted arguments into an array ofBaseComponent.@NotNull net.md_5.bungee.api.chat.BaseComponent[]toBaseComponentBrace(@NotNull String key, @NotNull Object... args) Converts a localized and formatted string with placeholders replaced by the provided arguments into an array ofBaseComponent.@NotNull StringReplaces placeholders in the localized string corresponding to the provided key with the provided arguments.net.kyori.adventure.text.ComponenttoComponent(@NotNull String key) Converts the provided translation key into an Adventure Component.net.kyori.adventure.text.ComponenttoComponent(@NotNull String key, @NotNull Object... args) Converts the translation key and its formatted arguments into an Adventure Component.net.kyori.adventure.text.ComponenttoComponent(@NotNull String key, @NotNull net.kyori.adventure.text.minimessage.tag.resolver.TagResolver... tagResolvers) Converts the translation key into aComponentusing MiniMessage format.net.kyori.adventure.text.ComponenttoComponentBrace(@NotNull String key, @NotNull Object... args) Converts the provided translation key and its formatted arguments into an Adventure Component.toString()voidupdate()Updates the internal language map with localized strings for the specified class, namespace, and locale.
-
Constructor Details
-
I18nLoader
-
I18nLoader
-
-
Method Details
-
toString
-
reset
Resets the current state of the language map and assigns a new locale for this instance.- Parameters:
locale- the Locale to be set; it can be null to indicate no specific locale
-
setLanguage
Sets the language for localized operations.- Parameters:
locale- theLocaleobject representing the desired language and region settings; must not be null
-
setAdaptar
Sets the adapter used for this instance.- Parameters:
adaptar- the adapter to be assigned must not be null
-
update
Updates the internal language map with localized strings for the specified class, namespace, and locale.- Throws:
IOException- if an I/O error occurs during loading of the localized strings.
-
to
Translates the provided key into a localized string using the predefined language map.If the key is not found in the language map, the key itself is returned as the fallback value.
- Parameters:
key- the translation key used to fetch the corresponding localized string- Returns:
- the localized string corresponding to the provided key, or the key itself if no translation exists
-
to
Retrieves a formatted translation for the specified key using the provided arguments.The format follows printf-style format strings, for example:
"Hello %s" with arg "world" produces "Hello world" "%d items" with arg 5 produces "5 items" "Rate: %.2f" with arg 0.123 produces "Rate: 0.12"
- Parameters:
key- the translation key used to fetch the corresponding localized stringargs- the arguments to format the localized string- Returns:
- the formatted translated string
-
toBrace
@NotNull public @NotNull String toBrace(@NotNull @NotNull String key, @NotNull @NotNull Object... args) Replaces placeholders in the localized string corresponding to the provided key with the provided arguments.For example:
"{} items in {}" with args ["5", "cart"] produces "5 items in cart" "Hello {}" with arg "world" produces "Hello world" "Rate: {}" with arg "0.12" produces "Rate: 0.12"- Parameters:
key- the translation key used to fetch the corresponding localized stringargs- the arguments to replace the "{}" placeholders within the localized string- Returns:
- the localized and formatted string with placeholders replaced by the arguments, or the key itself if no translation exists
-
toBaseComponent
@NotNull public @NotNull net.md_5.bungee.api.chat.BaseComponent[] toBaseComponent(@NotNull @NotNull String key) Converts a localized string corresponding to the given key into an array of BaseComponent objects.- Parameters:
key- the translation key used to fetch the corresponding localized string- Returns:
- an array of BaseComponent objects representing the localized string, or the key itself as BaseComponents if no translation exists
-
toBaseComponent
@NotNull public @NotNull net.md_5.bungee.api.chat.BaseComponent[] toBaseComponent(@NotNull @NotNull String key, @NotNull @NotNull Object... args) Converts a translation key and its formatted arguments into an array ofBaseComponent.The format follows printf-style format strings, for example:
"Hello %s" with arg "world" produces "Hello world" "%d items" with arg 5 produces "5 items" "Rate: %.2f" with arg 0.123 produces "Rate: 0.12"
- Parameters:
key- the translation key used to fetch the corresponding localized stringargs- the arguments to format the localized string- Returns:
- an array of
BaseComponentrepresenting the localized and formatted text
-
toBaseComponentBrace
@NotNull public @NotNull net.md_5.bungee.api.chat.BaseComponent[] toBaseComponentBrace(@NotNull @NotNull String key, @NotNull @NotNull Object... args) Converts a localized and formatted string with placeholders replaced by the provided arguments into an array ofBaseComponent.For example:
"{} items in {}" with args ["5", "cart"] produces "5 items in cart" "Hello {}" with arg "world" produces "Hello world" "Rate: {}" with arg "0.12" produces "Rate: 0.12"- Parameters:
key- the translation key used to fetch the corresponding localized stringargs- the arguments to replace the "{}" placeholders within the localized string- Returns:
- an array of
BaseComponentrepresenting the processed localized string
-
toComponent
Converts the provided translation key into an Adventure Component.- Parameters:
key- the translation key used to fetch the corresponding localized string- Returns:
- an Adventure Component containing the localized string for the given translation key, or the key itself if no translation exists
-
toComponent
@NotNull public net.kyori.adventure.text.Component toComponent(@NotNull @NotNull String key, @NotNull @NotNull Object... args) Converts the translation key and its formatted arguments into an Adventure Component.The format follows printf-style format strings, for example:
"Hello %s" with arg "world" produces "Hello world" "%d items" with arg 5 produces "5 items" "Rate: %.2f" with arg 0.123 produces "Rate: 0.12"
- Parameters:
key- the translation key used to fetch the corresponding localized stringargs- the arguments to format the localized string- Returns:
- an Adventure Component containing the localized and formatted string for the given translation key, or a plain text Component containing the key if no translation exists
-
toComponentBrace
@NotNull public net.kyori.adventure.text.Component toComponentBrace(@NotNull @NotNull String key, @NotNull @NotNull Object... args) Converts the provided translation key and its formatted arguments into an Adventure Component.For example:
"{} items in {}" with args ["5", "cart"] produces "5 items in cart" "Hello {}" with arg "world" produces "Hello world" "Rate: {}" with arg "0.12" produces "Rate: 0.12"- Parameters:
key- the translation key used to fetch the corresponding localized stringargs- the arguments to replace the "{}" placeholders within the localized string- Returns:
- an Adventure Component containing the localized and formatted string for the given key, or the key itself as a plain text Component if no translation exists
-
toComponent
@NotNull public net.kyori.adventure.text.Component toComponent(@NotNull @NotNull String key, @NotNull @NotNull net.kyori.adventure.text.minimessage.tag.resolver.TagResolver... tagResolvers) Converts the translation key into aComponentusing MiniMessage format.For example:
"Click <click:run_command:/help>here</click> for help" produces a clickable "here" text "This is <red>red text</red>" produces text with red color "Player: <player>" with player tag resolver shows player name- Parameters:
key- the translation key used to fetch the corresponding localized stringtagResolvers- optional tag resolvers used to process placeholders or tags within the localized string- Returns:
- the
Componentrepresentation of the translated key, or a plain text component containing the key if no translation exists - See Also:
-