Class DefaultI18n

java.lang.Object
eu.cloudnetservice.driver.impl.language.DefaultI18n
All Implemented Interfaces:
eu.cloudnetservice.driver.language.I18n

@Singleton @AutoService(services=eu.cloudnetservice.driver.language.I18n.class, name="default") public final class DefaultI18n extends Object implements eu.cloudnetservice.driver.language.I18n
The default implementation of the internationalization provider.
Since:
4.0
  • Field Details

    • CALLER_RETRIEVER_STACK_WALKER

      private static final StackWalker CALLER_RETRIEVER_STACK_WALKER
    • providersByLanguage

      private final com.google.common.collect.ListMultimap<Locale, Tuple2<eu.cloudnetservice.driver.language.TranslationProvider, Class<?>>> providersByLanguage
    • activeLanguage

      private volatile Locale activeLanguage
  • Constructor Details

    • DefaultI18n

      public DefaultI18n()
  • Method Details

    • selectedLanguage

      @NonNull public @NonNull Locale selectedLanguage()
      Specified by:
      selectedLanguage in interface eu.cloudnetservice.driver.language.I18n
    • selectLanguage

      public void selectLanguage(@NonNull @NonNull Locale language)
      Specified by:
      selectLanguage in interface eu.cloudnetservice.driver.language.I18n
    • availableLanguages

      @NonNull public @NonNull @UnmodifiableView Collection<Locale> availableLanguages()
      Specified by:
      availableLanguages in interface eu.cloudnetservice.driver.language.I18n
    • translate

      @NonNull public @NonNull String translate(@NonNull @NonNull String key, Object... args)
      Specified by:
      translate in interface eu.cloudnetservice.driver.language.I18n
    • registerProvider

      public void registerProvider(@NonNull @NonNull Locale language, @NonNull @NonNull eu.cloudnetservice.driver.language.TranslationProvider provider)
      Specified by:
      registerProvider in interface eu.cloudnetservice.driver.language.I18n
    • unregisterProvider

      public void unregisterProvider(@NonNull @NonNull Locale language, @NonNull @NonNull eu.cloudnetservice.driver.language.TranslationProvider provider)
      Specified by:
      unregisterProvider in interface eu.cloudnetservice.driver.language.I18n
    • unregisterProviders

      public void unregisterProviders(@NonNull @NonNull ClassLoader classLoader)
      Specified by:
      unregisterProviders in interface eu.cloudnetservice.driver.language.I18n