using UnityEngine;
using System;
using System.Collections.Generic;

namespace mgaia.Utils
{
    /// <summary>
    /// Interface para um parser de um arquivo de localização
    /// </summary>
    public abstract class BaseLocalizationParser
    {
        /// <summary>
        /// Carrega o arquivo e retorna se existe uma versão dele para o idioma passado
        /// </summary>
        public abstract bool Load(SystemLanguage systemLanguage);

        /// <summary>
        /// Retorna um texto localizado na sessão e chave passados
        /// </summary>
        public abstract string GetText(string session, string key);

        /// <summary>
        /// Testa se o arquivo contém uma sessão definida
        /// </summary>
        /// <param name="session"></param>
        /// <returns></returns>
        public abstract bool ContainsSession(string session);
        
        /// <summary>
        /// Testa se o arquivo contém uma chave definida na sessão
        /// </summary>
        public abstract bool ContainsKey(string session, string key);
    }
}