Conditional | Localization | 0.8.1-preview
docs.unity3d.com
    Show / Hide Table of Contents

    Conditional

    Conditional Formatting is has very powerful functionality, and it's one of the diamonds of this project. Conditional Formatting will kick in on any placeholder that contains a "|" (pipe character) after the ":".

    Syntax

    The behavior of Conditional Formatting varies depending on the data type of the placeholder.

    Data type Syntax Example
    Number (Integer, Double, etc...) "{0:one|default}" "{0} {0:item|items}"
    "{0:zero|one|default}" "{0:no items|one item|many items}"
    "{0:negative|zero|one|default}" "{0:negative items|no items|one item|many items}"
    boolean "{0:true|false}" "Enabled? {0:Yes|No}"
    string "{0:default|null or empty}" "Text: {0:{0}|No text to display}"
    DateTime "{0:before|after}" (as compared to Date.Now) "My birthday {0:was on|will be on} {0:MMMM d}"
    TimeSpan "{0:negative|positive}" "My birthday {0:was {0} ago|will be in {0} from now}"
    "{0:negative|zero|positive}" "My birthday {0:was {0} ago|is today!|will be in {0} from now}"
    Object "{0:default|nothing}" "Property: {0:{0}|(Nothing)}"

    Complex conditions (for numbers)

    Each parameter is separated by "|". The comparison is followed by a "?" and then the text. The last (default) entry does not contain a comparison nor a "?". Valid comparisons: >= > = < <= !=.

    Comparisons can be combined using "&" for AND or "/" for OR.

    Example:

    var addrList = new[] { new { Name = "Jim", Age = 32, Address = new { City = "New York", State = "NY" } } };
    var result = Smart.Format("{Age:cond:>=55?Senior Citizen|>=30?Adult|>=18?Young Adult|>12?Teenager|>2?Child|Baby}", addrList);
    // result: Adult
    
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023