Crea un mensaje traducible (consulte Soporte de localización) a partir de un recurso de propiedad.
Opcionalmente, la propiedad puede especificar marcadores para argumentos formateados. El soporte y la sintaxis para el formato se describe en el JavaDoc para MessageFormat.
Si necesita producir XML o HTML y no necesita formato de símbolos complejo o la posibilidad de cambiar texto de mensaje sin cambiar reglas, tenga en cuenta la posibilidad de utilizar XmlMessage en su lugar.
<?xml version="1.0" encoding="UTF-8"?>
<RuleSet name="Example_ResourceMessage"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=
"http://www.curamsoftware.com/CreoleRulesSchema.xsd">
<Class name="Person">
<Attribute name="gender">
<type>
<javaclass name="String"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
<Attribute name="isMarried">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
<Attribute name="firstName">
<type>
<javaclass name="String"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
<Attribute name="surname">
<type>
<javaclass name="String"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
<Attribute name="income">
<type>
<javaclass name="Number"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
<!-- Devuelve un saludo que puede
salir en la configuración regional del usuario -->
<Attribute name="simpleGreetingMessage">
<type>
<javaclass name="curam.creole.value.Message"/>
</type>
<derivation>
<ResourceMessage key="simpleGreeting"
resourceBundle="curam.creole.example.Messages"/>
</derivation>
</Attribute>
<!-- Devuelve un saludo que contiene
el título y el apellido de la persona.
El saludo y el título se pueden localizar,
el apellido no (es idéntico
en todas las configuraciones regionales). -->
<Attribute name="parameterizedGreetingMessage">
<type>
<javaclass name="curam.creole.value.Message"/>
</type>
<derivation>
<!-- pasar argumentos a
los marcadores de mensaje -->
<ResourceMessage key="parameterizedGreeting"
resourceBundle="curam.creole.example.Messages">
<!-- Título -->
<choose>
<type>
<javaclass name="curam.creole.value.Message"/>
</type>
<when>
<condition>
<equals>
<reference attribute="gender"/>
<String value="Male"/>
</equals>
</condition>
<value>
<ResourceMessage key="title.male"
resourceBundle="curam.creole.example.Messages"/>
</value>
</when>
<when>
<condition>
<reference attribute="isMarried"/>
</condition>
<value>
<ResourceMessage key="title.female.married"
resourceBundle="curam.creole.example.Messages"/>
</value>
</when>
<otherwise>
<value>
<ResourceMessage key="title.female.single"
resourceBundle="curam.creole.example.Messages"/>
</value>
</otherwise>
</choose>
<!-- Apellido -->
<reference attribute="surname"/>
</ResourceMessage>
</derivation>
</Attribute>
<!-- Formatea un número de 2 decimales,
con coma decimal y separador de
miles en la configuración regional del usuario -->
<Attribute name="incomeStatementMessage">
<type>
<javaclass name="curam.creole.value.Message"/>
</type>
<derivation>
<ResourceMessage key="incomeStatement"
resourceBundle="curam.creole.example.Messages">
<reference attribute="income"/>
</ResourceMessage>
</derivation>
</Attribute>
</Class>
</RuleSet>
# file curam/creole/example/Messages_en.properties
simpleGreeting=Hello
parameterizedGreeting=Hello, {0} {1}
title.male=Mr.
title.female.single=Miss
title.female.married=Mrs.
incomeStatement=Income: USD{0,number,#0.00}
# file curam/creole/example/Messages_fr.properties
simpleGreeting=Bonjour
parameterizedGreeting=Bonjour, {0} {1}
title.male=M.
title.female.single=Mlle.
title.female.married=Mme.
incomeStatement=Revenue: EUR{0,number,#0.00}