Interface LocaleManager

  • All Superinterfaces:
    Component, CoreComponent, Manager
    All Known Implementing Classes:
    LocaleManagerImpl

    public interface LocaleManager
    extends Manager
    Toute application gérée par kapser est multilingue ou plus précisémment multidictionnaires. Il est possible de gérer des ressources externalisées dans des dictionnaires. Toute ressource est identifiée par une clé : @see MessageKey Pour un composant donné, la liste des clés est implémentée idéalement sous la forme d'une enum. Un fichier de ressource, appelé dictionnaire est associée à la liste des clés. Si le libellé n'est pas trouvé dans une langue, on renvoie un message "panic", en précisant la langue demandée de plus on loggue un warning. Exemple message panic : MessageText(null,messageKey.TOTO) en 'fr_FR' : <> MessageText(null,messageKey.TOTO) en 'en' : <> Un libellé peut être paramétré.
    Author:
    pchretien
    See Also:
    permet de créer des libellés connecté au dictionnaire.
    • Method Detail

      • registerLocaleSupplier

        void registerLocaleSupplier​(Supplier<Locale> localeSupplier)
        Register a strategy to choose a locale.
        Parameters:
        localeSupplier - Supply a locale in a context
      • registerZoneSupplier

        void registerZoneSupplier​(Supplier<ZoneId> zoneSupplier)
        Register a strategy to choose a zone.
        Parameters:
        zoneSupplier - Supply a zone in a context
      • add

        void add​(String baseName,
                 MessageKey[] enums)
        Ajout d'un dictionnaire de ressources. Toutes les ressources identifiées par une clé doivent être présente dans le fichier properties. Cette méthode est non synchronisée etdoit être appelée lors du démarrage de l'application.
        Parameters:
        baseName - Nom et chemin du fichier properties
        enums - Enumération (enum) de contrôle des ressources géréees
      • override

        void override​(String baseName,
                      MessageKey[] enums)
        Surcharge d'un dictionnaire de ressources. Cette méthode est non synchronisée et doit être appelée lors du démarrage de l'application. Il est possible de ne surcharger qu'une propriété. Il est possible de ne renseigner qu'un des dictionnaire (et donc de ne pas renseigner tous les bundles).
        Parameters:
        baseName - Nom et chemin du fichier properties
        enums - Enumération (enum) de contrôle des ressources géréees
      • getMessage

        String getMessage​(MessageKey messageKey,
                          Locale locale)
        Retourne le libellé non formatté d'un message identifié par sa clé. Retourne null si le message n'est pas trouvé
        Parameters:
        messageKey - clé du message .
        locale - Locale
        Returns:
        Message non formatté dans la langue de la locale.
      • getCurrentLocale

        Locale getCurrentLocale()
        Retourne la locale courante. C'est à dire correspondant à l'utilisateur courant si il y en a un, sinon correspond à la locale de l'application.
        Returns:
        Locale courante
      • getCurrentZoneId

        ZoneId getCurrentZoneId()
        Retourne la time zone courante. C'est à dire correspondant à l'utilisateur courant si il y en a un, sinon correspond à la time zone de l'application.
        Returns:
        Zone courante