LocalizableMessage

LocalizableMessage
LocalizableMessage

Message data which is intended to be displayed according to the locale of a client.

A LocalizableMessage contains both a formatted, localized version of the text and the data needed to perform localization in conjunction with localization catalogs.

Clients of the VIM API may use vim.SessionManager.setLocale() to cause the server to emit a localized message, or may perform client-side localization based on message catalogs provided by the server.

  • If the substition variable is a string, no further lookup is required.
    • arg = [("address" = "127.0.0.1")]
    • CATALOG(locmsg, key) = "IP address is {address}"
    • ==> message = "IP address is 127.0.0.1"
  • If the substitution variable is an integer, value is a lookup key.
    • arg = [("1" = "button.cancel"), ("2" = "msg.revert")]
    • CATALOG(locmsg, key) = "Select '{1}' to {2}"
    • CATALOG(locmsg, button.cancel) = "Cancel"
    • CATALOG(locmsg, msg.revert) = "revert"
    • ==> message = "Select 'Cancel' to revert"
  • If the variable contains '@', value is a label lookup in another catalog, where {[email protected]} looks up prefix.arg[name].label in CATALOG.
    • arg = [("field" = "queued")]
    • CATALOG(locmsg, key) = "State is {[email protected]}"
    • CATALOG(enum, TaskInfo.State.queued.label) is "Queued"
    • ==> message = "State is Queued"
AllOf
This class requires all of the following:
JSON Example
{
    "_typeName": "string",
    "key": "string",
    "arg": [
        {
            "_typeName": "string",
            "key": "string",
            "value": {
                "_typeName": "string"
            }
        }
    ],
    "message": "string"
}
string
key
Required

Unique key identifying the message in the localized message catalog.

arg
Optional

Substitution arguments for variables in the localized message.

string
message
Optional

Message in session locale.

Use vim.SessionManager.setLocale() to change the session locale.