Begin a dialog template.
In Bixby, a dialog is a dynamically-generated message that gives status information, presents results, asks questions, or otherwise communicates with the user. Bixby has default dialog for many prompts and actions; you can create dialog templates to customize and improve these messages, tailoring them to your capsule.
Dialog is separate from, but complementary to, Bixby Views. Bixby's dialog appears on a device's screen at the top, in the conversation zone.
You must place each unique dialog in its own *.dialog.bxb
file. This file must be in the appropriate locale-specific resources
folder.
In its simplest form, a dialog file looks like this:
// resources/en-US/dialog/NumDice.dialog.bxb
dialog (Concept) {
match: NumDice
template ("Number of dice")
}
The template begins by specifying a Dialog Mode. Then it specifies a match pattern and a template, the actual dialog text.
This is the EBNF grammar for Bixby dialog templates.
template = { literal | eval | optional | agreement eval | agreement source } ;
eval = "#{" , expression , "}" ;
optional = "[" , { template } , "]" ;
agreement source = "%{" , agreement id , ":" , template , "}" ;
agreement eval = "@{" , agreement id , agreement class symbol , ":" , agreement class variants, "}" ;
agreement class symbol = alpha character ;
agreement class variants = literal , { "," , literal } ;
literal = { anything - ( "#{" | "[" | "%[" | "@{" ) } ;
description required | Description of the dialog |
form optional | Allows you to more explicitly determine how articles and demonstratives appear in dialog |
macro optional | Defines a layout, a portion of a layout, or a dialog with a macro |
match optional | The match pattern will be evaluated to decide which dialog to use based on the evaluation context |
template optional | Text to be passed |
template-macro optional | Encapsulates dialog logic that normally would lead to duplication |