|
|
|
// This code is part of the Fungus library (http://fungusgames.com) maintained by Chris Gregan (http://twitter.com/gofungus).
|
|
|
|
// It is released for free under the MIT open source license (https://github.com/snozbot/fungus/blob/master/LICENSE)
|
|
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
namespace Fungus
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Multi-language localization support.
|
|
|
|
/// </summary>
|
|
|
|
public interface ILocalization
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Language to use at startup, usually defined by a two letter language code (e.g DE = German).
|
|
|
|
/// </summary>
|
|
|
|
string ActiveLanguage { get; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// CSV file containing localization data which can be easily edited in a spreadsheet tool.
|
|
|
|
/// </summary>
|
|
|
|
TextAsset LocalizationFile { get; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Stores any notification message from export / import methods.
|
|
|
|
/// </summary>
|
|
|
|
string NotificationText { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Convert all text items and localized strings to an easy to edit CSV format.
|
|
|
|
/// </summary>
|
|
|
|
string GetCSVData();
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Scan a localization CSV file and copies the strings for the specified language code
|
|
|
|
/// into the text properties of the appropriate scene objects.
|
|
|
|
/// </summary>
|
|
|
|
void SetActiveLanguage(string languageCode, bool forceUpdateSceneText = false);
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Populates the text property of a single scene object with a new text value.
|
|
|
|
/// </summary>
|
|
|
|
bool PopulateTextProperty(string stringId, string newText);
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Returns all standard text for localizeable text in the scene using an
|
|
|
|
/// easy to edit custom text format.
|
|
|
|
/// </summary>
|
|
|
|
string GetStandardText();
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Sets standard text on scene objects by parsing a text data file.
|
|
|
|
/// </summary>
|
|
|
|
void SetStandardText(string textData);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// An item of localizeable text.
|
|
|
|
/// </summary>
|
|
|
|
public interface ILocalizable
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Gets the standard (non-localized) text.
|
|
|
|
/// </summary>
|
|
|
|
string GetStandardText();
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Sets the standard (non-localized) text.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="standardText">Standard text.</param>
|
|
|
|
void SetStandardText(string standardText);
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets the description used to help localizers.
|
|
|
|
/// </summary>
|
|
|
|
/// <returns>The description.</returns>
|
|
|
|
string GetDescription();
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets the unique string identifier.
|
|
|
|
/// </summary>
|
|
|
|
string GetStringId();
|
|
|
|
}
|
|
|
|
}
|