using UnityEngine;
namespace Fungus
{
///
/// Multi-language localization support.
///
public interface ILocalization
{
///
/// Language to use at startup, usually defined by a two letter language code (e.g DE = German).
///
string ActiveLanguage { get; }
///
/// CSV file containing localization data which can be easily edited in a spreadsheet tool.
///
TextAsset LocalizationFile { get; }
///
/// Stores any notification message from export / import methods.
///
string NotificationText { get; set; }
///
/// Convert all text items and localized strings to an easy to edit CSV format.
///
string GetCSVData();
///
/// Scan a localization CSV file and copies the strings for the specified language code
/// into the text properties of the appropriate scene objects.
///
void SetActiveLanguage(string languageCode, bool forceUpdateSceneText = false);
///
/// Populates the text property of a single scene object with a new text value.
///
bool PopulateTextProperty(string stringId, string newText);
///
/// Returns all standard text for localizeable text in the scene using an
/// easy to edit custom text format.
///
string GetStandardText();
///
/// Sets standard text on scene objects by parsing a text data file.
///
void SetStandardText(string textData);
}
///
/// An item of localizeable text.
///
public interface ILocalizable
{
///
/// Gets the standard (non-localized) text.
///
string GetStandardText();
///
/// Sets the standard (non-localized) text.
///
/// Standard text.
void SetStandardText(string standardText);
///
/// Gets the description used to help localizers.
///
/// The description.
string GetDescription();
///
/// Gets the unique string identifier.
///
string GetStringId();
}
}