tModLoader v2024.10
A mod to make and play Terraria mods
|
Contains the localization value corresponding to a key for the current game language. Automatically updates as language, mods, and resource packs change. The Localization Guideteaches more about localization. More...
Public Member Functions | |
bool | CanFormatWith (object obj) |
Checks if the conditions embedded in this LocalizedText are satisfied by the obj argument. For example when used with Lang.CreateDialogSubstitutionObject(NPC) as the obj argument, "{?Rain}" at the start of a LocalizedText value will cause false to be returned if it is not raining. "{?!Rain}" would do the opposite. If all conditions are satisfied, true is returned. The method is typically used indirectly by using Lang.CreateDialogFilter(string, object). More... | |
string | Format (params object[] args) |
Creates a string from this LocalizedText populated with data from the provided args arguments. Formats the string in the same manner as string.Format. Placeholders such as "{0}", "{1}", etc will be replaced with the string representation of the corresponding objects provided. Additionally, pluralization is supported as well. The Localization Guideteaches more about placeholders and plural support. More... | |
string | FormatWith (object obj) |
Creates a string from this LocalizedText populated with data from the provided obj parameter. The properties of the provided object are substituted by name into the placeholders of the original text. For example, when used with Lang.CreateDialogSubstitutionObject(NPC), the text "{Nurse}" will be replaced with the first name of the Nurse in the world. Modded substitutions are not currently supported. When used in conjunction with Language.SelectRandom(LanguageSearchFilter, Utilities.UnifiedRandom) and Lang.CreateDialogFilter(string, object), simple boolean conditions expressed in each LocalizedText can be used to filter a collection of LocalizedText. Format(object[]) is more commonly used to format LocalizedText placeholders. That method replaces placeholders such as "{0}", "{1}", etc with the string representation of the corresponding objects provided. More... | |
NetworkText | ToNetworkText () |
Convert this LocalizedText to a NetworkText for use in various network code applications. Non-chat messages sent to other players should be sent as NetworkText to facilitate localization. | |
NetworkText | ToNetworkText (params object[] substitutions) |
override string | ToString () |
LocalizedText | WithFormatArgs (params object[] args) |
Creates a new LocalizedText with the supplied arguments formatted into the value (via string.Format(string, object?[])) Will automatically update to re-format the string with cached args when language changes. br/> The resulting LocalizedText should be stored statically. Should not be used to create 'throwaway' LocalizedText instances. Use Format(object[]) instead for repeated on-demand formatting with different args. The Localization Guideteaches more about using placeholders in localization. More... | |
Static Public Member Functions | |
static string | ApplyPluralization (string value, params object[] args) |
static int | CardinalPluralRule (GameCulture culture, int count) |
static | operator string (LocalizedText text) |
Public Attributes | |
readonly string | Key |
Static Public Attributes | |
static readonly LocalizedText | Empty = new LocalizedText("", "") |
static readonly Regex | PluralizationPatternRegex = new Regex(@"{\^(\d+):([^\r\n]+?)}", RegexOptions.Compiled) |
Properties | |
object[] | BoundArgs [get] |
Returns the args used with WithFormatArgs to create this text, if any. | |
string | Value [get] |
Retrieves the text value. This is the actual text the user should see. | |
Contains the localization value corresponding to a key for the current game language. Automatically updates as language, mods, and resource packs change. The Localization Guide
teaches more about localization.
bool LocalizedText.CanFormatWith | ( | object | obj | ) |
Checks if the conditions embedded in this LocalizedText are satisfied by the obj argument. For example when used with Lang.CreateDialogSubstitutionObject(NPC) as the obj argument, "{?Rain}" at the start of a LocalizedText value will cause false to be returned if it is not raining. "{?!Rain}" would do the opposite. If all conditions are satisfied, true is returned.
The method is typically used indirectly by using Lang.CreateDialogFilter(string, object).
obj |
string LocalizedText.Format | ( | params object[] | args | ) |
Creates a string from this LocalizedText populated with data from the provided args arguments. Formats the string in the same manner as string.Format. Placeholders such as "{0}", "{1}", etc will be replaced with the string representation of the corresponding objects provided.
Additionally, pluralization is supported as well. The Localization Guideteaches more about placeholders and plural support.
args |
string LocalizedText.FormatWith | ( | object | obj | ) |
Creates a string from this LocalizedText populated with data from the provided obj parameter. The properties of the provided object are substituted by name into the placeholders of the original text. For example, when used with Lang.CreateDialogSubstitutionObject(NPC), the text "{Nurse}" will be replaced with the first name of the Nurse in the world. Modded substitutions are not currently supported.
When used in conjunction with Language.SelectRandom(LanguageSearchFilter, Utilities.UnifiedRandom) and Lang.CreateDialogFilter(string, object), simple boolean conditions expressed in each LocalizedText can be used to filter a collection of LocalizedText.
Format(object[]) is more commonly used to format LocalizedText placeholders. That method replaces placeholders such as "{0}", "{1}", etc with the string representation of the corresponding objects provided.
obj |
LocalizedText LocalizedText.WithFormatArgs | ( | params object[] | args | ) |
Creates a new LocalizedText with the supplied arguments formatted into the value (via string.Format(string, object?[]))
Will automatically update to re-format the string with cached args when language changes.
br/> The resulting LocalizedText should be stored statically. Should not be used to create 'throwaway' LocalizedText instances.
Use Format(object[]) instead for repeated on-demand formatting with different args.
The Localization Guideteaches more about using placeholders in localization.
args | The substitution args |