@@ -0,0 +1,2805 @@
+package org.wisdom.api.i18n;%0A%0Aimport java.util.Collection;%0Aimport java.util.Locale;%0Aimport java.util.Map;%0Aimport java.util.ResourceBundle;%0A%0A/**%0A * A service to retrieve internationalized messages.%0A */%0Apublic interface InternationalizationService %7B%0A%0A    /**%0A     * The default locale object.%0A     */%0A    Locale DEFAULT_LOCALE = new Locale(%22%22, %22%22, %22%22);%0A%0A    /**%0A     * Retrieves the set of resource bundles handled by the system.%0A     * @return the set of resource bundle, empty if none.%0A     */%0A    Collection%3CResourceBundle%3E bundles();%0A%0A    /**%0A     * Retrieves the set of resource bundles handled by the system providing messages for the given locale.%0A     * @param locale the locale%0A     * @return the set of resource bundle, empty if none.%0A     */%0A    Collection%3CResourceBundle%3E bundles(Locale locale);%0A%0A    /**%0A     * Gets the message identified by %60key%60 for the given locale. The message can be parameterized using %60args%60,%0A     * applied to the message using  %7B@link java.text.MessageFormat%7D. If the message is not provided for the given%0A     * locale, %7B@literal null%7D is returned%0A     * @param locale  the locale%0A     * @param key the key%0A     * @param args the arguments (optional)%0A     * @return the formatted internationalized message%0A     */%0A    String get(Locale locale, String key, Object... args);%0A%0A    /**%0A     * Gets the message identified by %60key%60 for the first locale from the given set of locale that provide a value.%0A     * The message can be parameterized using  %60args%60, applied to the message using  %7B@link java.text.MessageFormat%7D.%0A     * If the message is not provided for the given locales, the default locale is tried. If the message is still not%0A     * provided, %7B@literal null%7D is returned.%0A     *%0A     * @param locales the ordered set of locales%0A     * @param key    the key%0A     * @param args   the arguments (optional)%0A     * @return the formatted internationalized message%0A     */%0A    String get(Locale%5B%5D locales, String key, Object... args);%0A%0A    /**%0A     * Gets all the messages defined in the given locale AND default locale (for messages not defined in the given%0A     * locale). The returned map is composed pair of key:message.%0A     *%0A     * @param locale the locale%0A     * @return the set of defined messages.%0A     */%0A    Map%3CString, String%3E getAllMessages(Locale locale);%0A%0A    /**%0A     * Gets all the messages defined in the given locales AND default locale (for messages not defined in the given%0A     * any locale). The message are added to the map only if they are not provided in the previous locale,%0A     * meaning that the order is important. The returned map is composed pair of key:message.%0A     *%0A     * @param locales the ordered set of locales%0A     * @return the set of defined messages.%0A     */%0A    Map%3CString, String%3E getAllMessages(Locale... locales);%0A%7D%0A

Define the internationalization service