LocalizedString class

From Catglobe Wiki
Jump to: navigation, search

LocalizedString



Represents translation of a string.

Parent class

Inherits from object

Constructors

  • () - Create a new translatable text
  • (Dictionary dictionary "Dictionary with existing values", string defaultIsocode "If given use this isocodes value in the dictionary as the default") - Create a new translatable text based on existing dictionary

Methods

  • string GetSpecificTranslation(string isocode "Isocode for language. Use empty for default text") - Get the translation for given isocode or null
  • string GetTranslation(string isocode "Isocode for language. Use empty for default text") - Get the best matching translation for given isocode
  • string GetTranslationForLoggedInUser() - Get the best matching translation for the current user
  • bool RemoveTranslation(string isocode "Isocode for language. Use empty for default text") - Remove a specific translation
  • Empty SetTranslation(string isocode "Isocode for language. Use empty for default text", string s "New translation") - Set a specific translation
  • Empty SetTranslation(Dictionary dictionary "Dictionary of iso code and translation") - Set all translations. Removes the rest.
  • Dictionary ToDictionary() - Convert localized object to a dictionary with key is iso code
  • (From object) string ToString() - The string representation of the object.

Properties

  • string ObjectTypeName { get; } - The name of the type of object.
  • (From object) TypeInformation TypeInformation { get; } - Get information about this class.


Examples

Create a new translatable text

LocalizedString localizedString = new LocalizedString ();
//SetTranslation
localizedString.SetTranslation("en-GB", "En text");
localizedString.SetTranslation("da-DK", "Da text");
//GetTranslation
print(localizedString.GetSpecificTranslation("en-GB"));//En text
print(localizedString.GetSpecificTranslation("da-DK"));//Da text
print(localizedString.GetSpecificTranslation("en-US"));//Empty
print(localizedString.GetTranslation("en-US"));//En text
print(localizedString.GetTranslationForLoggedInUser());//"Da text" if languge of login user is Danish
//RemoveTranslation
localizedString.RemoveTranslation("en-GB");
print(localizedString.GetSpecificTranslation("en-GB"));//Empty

Create a new translatable text based on existing dictionary

Dictionary translation = {
	"en-GB":"En text",
	"da-DK":"Da text"	
};
LocalizedString localizedString = new LocalizedString (translation, "da-DK");
//GetTranslation
print(localizedString.GetSpecificTranslation(""));//Da text
//SetTranslation
localizedString.SetTranslation("","Danish text");
print(localizedString.GetSpecificTranslation(""));//Danish text

Set Title and Description for Axis

DCS_use(15636575);
Axis axis = AxisSet_getAxis("Gender");
//set Titles
axis.LocalizedTitles.SetTranslation("en-GB", "Title En text");
axis.LocalizedTitles.SetTranslation("da-DK", "title Da text");
//set Texts
axis.LocalizedTexts.SetTranslation("en-GB", "Description En text");
axis.LocalizedTexts.SetTranslation("da-DK", "Description Da text");
AxisSet_save();
print(Catglobe.Json.Encode(axis));//{"id":"Gender","title":{"en-GB":"Title En text","da-DK":"title Da text"},"desc":{"":"123","en-GB":"Description En text","da-DK":"Description Da text"},"mathbase":"Gender","mathbasemod":"","pctbase":"Gender != empty","color":"#00000000","options":[{"title":{"":"Male"},"expression":"","pctbase":"","color":"#00000000","tags":[],"accessGroups":[]},{"title":{"":"Female"},"expression":"","pctbase":"","color":"#00000000","tags":[],"accessGroups":[]}],"tags":[],"accessGroups":[]}

Set Question text

QuestionnaireTemplate qt = new QuestionnaireTemplate (new Questionnaire(17148177).TemplateId);
qt.GetQuestion("Q1").Text = new LocalizedString ({"": "Q1 text UK", "da-DK": "Q1 text DK"}, "en-GB");
qt.Save(true);
print(qt.GetQuestion("Q1").Text.ToDictionary());