using System;
using System.Collections.Generic;
using UnityEngine;
namespace EasyTalk.Localization
{
///
/// A set of localizable languages.
///
[CreateAssetMenu(fileName = "Localizable Language Set", menuName = "EasyTalk/Localization/Localizable Language Set", order = 4)]
[Serializable]
public class LocalizableLanguageSet : ScriptableObject
{
///
/// The list of localizable languages.
///
[SerializeField]
private List languages = new List();
///
/// Gets or sets the list of localizable languages.
///
public List Languages
{
get { return languages; }
set { languages = value; }
}
///
/// Finds and returns the LocalizableLanguage matching the specified language name or ISO-639 code, if available in the language set.
///
/// The English, native, or alternative name for the language to retrieve, or the ISO-639 code.
/// The LocalizableLanguage for the language specified, or null if none exists in the set.
public LocalizableLanguage GetLanguage(string languageCodeOrName)
{
foreach (LocalizableLanguage language in languages)
{
if (language.LanguageCode.ToLower().Equals(languageCodeOrName.ToLower()))
{
return language;
}
if (language.EnglishName.ToLower().Equals(languageCodeOrName.ToLower()))
{
return language;
}
if (language.NativeName.Equals(languageCodeOrName))
{
return language;
}
if (language.AltName.ToLower().Equals(languageCodeOrName.ToLower()))
{
return language;
}
}
return null;
}
}
}