using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Model.Globalization;
/// 
/// Interface ILocalizationManager.
/// 
public interface ILocalizationManager
{
    /// 
    /// Gets the cultures.
    /// 
    /// .
    IEnumerable GetCultures();
    /// 
    /// Gets the countries.
    /// 
    /// .
    IReadOnlyList GetCountries();
    /// 
    /// Gets the parental ratings.
    /// 
    /// .
    IReadOnlyList GetParentalRatings();
    /// 
    /// Gets the rating level.
    /// 
    /// The rating.
    /// The optional two letter ISO language string.
    ///  or null.
    ParentalRatingScore? GetRatingScore(string rating, string? countryCode = null);
    /// 
    /// Gets the localized string.
    /// 
    /// The phrase.
    /// The culture.
    /// .
    string GetLocalizedString(string phrase, string culture);
    /// 
    /// Gets the localized string.
    /// 
    /// The phrase.
    /// System.String.
    string GetLocalizedString(string phrase);
    /// 
    /// Gets the localization options.
    /// 
    /// .
    IEnumerable GetLocalizationOptions();
    /// 
    /// Returns the correct  for the given language.
    /// 
    /// The language.
    /// The correct  for the given language.
    CultureDto? FindLanguageInfo(string language);
    /// 
    /// Returns the language in ISO 639-2/T when the input is ISO 639-2/B.
    /// 
    /// The language in ISO 639-2/B.
    /// The language in ISO 639-2/T.
    /// Whether the language could be converted.
    public bool TryGetISO6392TFromB(string isoB, [NotNullWhen(true)] out string? isoT);
}