package com.atlassian.stash.internal.i18n;

import javax.annotation.Nonnull;
import java.util.Locale;

/**
 * Stash-specific handler for returning a priority ordered sequence of {@link Locale locales}.
 *
 * @since 2.12
 */
public interface LocaleHolder {

    /**
     * @param overrides list of override {@link Locale locales} which take precedence over the system/user defaults.
     * @return a non-empty sequence of {@link Locale locales} to be evaluated in order, from highest to lowest priority.
     */
    @Nonnull
    Iterable<Locale> getLocales(@Nonnull Locale... overrides);
}
