Message Automata for Messages with Variants, and Methods for Their Translation

In messages with variables and variants, such as “the imag.fr $n-[st|nd|rd|th] trial was successful, and the $p file[|s] found [is|are] satisfactory.”, variable types are specific (cardinal, ordinal, politeness...) and induce different “variant cases” in each language. Controlled loop-free FSAs, called here “message automata” (MAs), are proposed to model such messages. To translate a MA, one generates an instance of it for each possible variant in the target language. After translation, the values used in the instances are discarded and a target language MA is built by factorization (not classical minimization), using an original dynamic programming algorithm. A library for handling catalogues of MAs, GetAMsg, has been implemented in C, and can be used from many usual programming languages. A still speculative idea is to use a UNL graph conform to the official specifications, but with some special conventions, to represent a message with variables, and generate the language-specific MAs from it.