Crée un message localisable (voir Prise en charge de la localisation) depuis une ressource de propriété.
La propriété peut également spécifier des caractères génériques pour les arguments formatés. La prise en charge ainsi que la syntaxe du formatage sont décrites dans le JavaDoc pour MessageFormat.
Si vous devez générer un fichier XML ou HTML, et que vous n'avez pas besoin d'un formattage complexe des jetons, ni de modifier le texte du message sans modifier les règles, pensez à utiliser XmlMessage à la place.
<?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> <!-- Renvoie un message d'accueil qui peut être généré dans l'environnement local de l'utilisateur --> <Attribute name="simpleGreetingMessage"> <type> <javaclass name="curam.creole.value.Message"/> </type> <derivation> <ResourceMessage key="simpleGreeting" resourceBundle="curam.creole.example.Messages"/> </derivation> </Attribute> <!-- Renvoie un message d'accueil contenant le titre ainsi que le prénom de la personne. Le message d'accueil et le titre sont localisés, tandis que le prénom ne l'est pas (il est identique dans tous les environnements locaux). --> <Attribute name="parameterizedGreetingMessage"> <type> <javaclass name="curam.creole.value.Message"/> </type> <derivation> <!-- passe des arguments aux caractères génériques du message --> <ResourceMessage key="parameterizedGreeting" resourceBundle="curam.creole.example.Messages"> <!-- Titre --> <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> <!-- Prénom --> <reference attribute="surname"/> </ResourceMessage> </derivation> </Attribute> <!-- Définit la mise en forme d'un nombre sur 2 décimales, avec un séparateur décimal et un séparateur des milliers dans l'environnement local de l'utilisateur --> <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}