-
Notifications
You must be signed in to change notification settings - Fork 1
Syntaxe Textify
Textify a pour fonctionalité de fusionner un texte avec des données en injectants ces données dans des emplacements pré-déterminés.
Les textes possèdent des emplacements (placeholder) numérotés. L'ordre dans laquel on alimente les données est ensuite important.
Texte :
text1 = Link a dans sa main gauche {0}, dans sa main droite {1} et dans son dos {2}.
Donnée :
data1 = 1=>un bouclier, 2=>une épée, 3=>un arc
La fusion des éléments précédent donne :
Link a dans sa main gauche un bouclier, dans sa main droite une épée et dans son dos un arc.
Textes :
text1 = Link a dans sa main gauche {0}, dans sa main droite {1} et dans son dos {2}.
text2 = Avec {1} dans sa main droite et {0} dans sa main gauche, Link est prêt à affronter ses ennemis (Il a aussi {2} au cas ou...).
Données :
data1 = 1=>un bouclier, 2=>une épée, 3=>un arc
data2 = 1=>une fourchette, 2=>un couteau, 3=>une serviette
Résultas text2+data1 :
Avec une épée dans sa main droite et un bouclier dans sa main gauche, Link est prêt à affronter ses ennemis (Il a aussi un arc au cas ou...).
Résultas text1+data2 :
Link a dans sa main gauche une fourchette, dans sa main droite un couteau et dans son dos une serviette.
Pour information, Voicify utilise certaines fonctionalités
intlde PHP pour sa foncitionalité textify.
A l'origine cette fonctionalité est utilisée pour construire des applications multilangue.
- Doc intl
- Doc posix
////////////////////////////////////////////////////////////////////////////////
/* Juste pour afficher le résultat */
function fEcho ($str, $data) {
global $testCase;
$msg = MessageFormatter::formatMessage('fr_FR', $str, $data);
echo "<p><em>$testCase</em> : $msg</p>";
}
////////////////////////////////////////////////////////////////////////////////
$testCase = "Place holder";
$data = array('un bouclier', 'une épée', 'un arc');
$data2 = array('une fourchette', 'un couteau', 'une serviette');
$msg1 = 'Link a dans sa main gauche {0}, dans sa main droite {1} et dans son dos {2}.';
$msg2 = 'Avec {1} dans ça main droite et {0} dans sa main gauche, Link est prêt à affronter ses ennemis (Il a aussi {2} au cas ou...).';
fEcho($msg1, $data);
fEcho($msg2, $data);
fEcho($msg1, $data2);
fEcho($msg2, $data2);
////////////////////////////////////////////////////////////////////////////////
$testCase = "Date & Number";
$data = array(
'The Legend of Zelda : Breath of the Wild',
900000,
1488499200, // 03/03/2017 timestamp
54.99,
);
$msg1 = 'Le jeux "{0}" s\'est écoulée à {1} exemplaires durant son mois de lancement. Il est sortie le {2} au prix de {3}.';
$msg2 = 'Le jeux "{0}" s\'est écoulée à {1,number,integer} exemplaires durant son mois de lancement. Il est sortie le {2,date,short} au prix de {3,number,currency}.';
fEcho($msg1, $data);
fEcho($msg2, $data);
////////////////////////////////////////////////////////////////////////////////
$testCase = "Date & Time";
$data = array(
1494058740, // 01/05/2017 08:19 timestamp
'The Legend of Zelda : Breath of the Wild',
);
$msg = 'Journal de votre Nintendo Switch du {0,date,short}. En ce {0,date,dd}eme jour de {0,date,LLLL}, un {0,date,EEEE}. A partir de {0,time}. Vous avez joué à "{1}"';
fEcho($msg, $data);
////////////////////////////////////////////////////////////////////////////////
$testCase = "Select & Plural";
$dataLink = array('Link', 'male', 1);
$dataZelda = array('Princess Zelda', 'femelle', 3);
$msg = "Bonjour {1, select, femelle{chère} other{cher}} {0}, vous êtes sur la route de la Cité Gerudo. <br/>";
$msg.= "Vous êtes {1, select, femelle{une Vaï, vous pourrez rentrer} other{un Voï, vous ne pourrez pas rentrer}}. <br/>";
$msg.= "Vous devez laisser {2, plural, one{votre cheval} other{vos # chevaux}} ici, ils ne peuvent pas traverser le désert !";
fEcho($msg, $dataLink);
fEcho($msg, $dataZelda);- Place holder : Link a dans sa main gauche un bouclier, dans sa main droite une épée et dans son dos un arc.
- Place holder : Avec une épée dans ça main droite et un bouclier dans sa main gauche, Link est prêt à affronter ses ennemis (Il a aussi un arc au cas ou...).
- Place holder : Link a dans sa main gauche une fourchette, dans sa main droite un couteau et dans son dos une serviette.
- Place holder : Avec un couteau dans ça main droite et une fourchette dans sa main gauche, Link est prêt à affronter ses ennemis (Il a aussi une serviette au cas ou...).
- Date & Number : Le jeux "The Legend of Zelda : Breath of the Wild" s'est écoulée à 900000 exemplaires durant son mois de lancement. Il est sortie le 1488499200 au prix de 54.99.
- Date & Number : Le jeux "The Legend of Zelda : Breath of the Wild" s'est écoulée à 900 000 exemplaires durant son mois de lancement. Il est sortie le 03/03/2017 au prix de 54,99 €.
- Date & Time : Journal de votre Nintendo Switch du 06/05/2017. En ce 06eme jour de mai, un samedi. A partir de 08:19:00. Vous avez joué à "The Legend of Zelda : Breath of the Wild"
- Select & Plural : Bonjour cher Link, vous êtes sur la route de la Cité Gerudo.
- Vous êtes un Voï, vous ne pourrez pas rentrer.
- Vous devez laisser votre cheval ici, ils ne peuvent pas traverser le désert !
- Select & Plural : Bonjour chère Princess Zelda, vous êtes sur la route de la Cité Gerudo.
- Vous êtes une Vaï, vous pourrez rentrer.
- Vous devez laisser vos 3 chevaux ici, ils ne peuvent pas traverser le désert !