8797 sujets

Développement web côté serveur, CMS

Bonjour, je découvre les constantes et j'ai une petite question.
Je voudrais les utiliser pour faire un site multilingue, un fichier .inc correspondant et où sont définies les constantes étant includé à l'exécution de la page.

Problème : que faire si l'un des "mots" de la constante devrait être une variable php ?
Par exemple, à la base j'ai ceci :

Archives for &#8216;<?php single_cat_title(); ?>&#8217; category


En français, la tournure de phrase change et est :
Archives pour la catégorie HELLOGUYS
En anglais : Archives for the HELLOGUYS category.

Les mots sont inversés, donc l'idéal serait de pouvoir placer mon code PHP à l'intérieur de la constante. Mais ça ne marche pas...
Comment faire ?

Je vais être confronté à ce problème très souvent, donc ça ne me sert à rien de trouver bêtement une autre tournure de phrase... Il faut un système qui fonctionne bien...

Merci !
Modifié par gordie (31 Oct 2007 - 16:10)
bonjour,

je crois que Koala te parlais ici
http://forum.alsacreations.com/topic-4-30289-1.html

Sinon je ne comprend pas ton problème autant mettre toute ta phrase dans donc fichier inc, car de tout facon entre l'anglais et le francais il n'y a rien en commun...

Donc tout ton site devra être construit sur des variables. Tu n'auras aucun texte en dure.
Administrateur
Tu peux utiliser des masques du type %s à remplacer.

Exemple :

"Hello %s, how do you do ?"
"Bienvenue %s, un peu de ketchup sur tes frites ?"

En tout cas les "constantes" pures de PHP ne sont pas l'idéal (en terme de performances et de souplesse).
Halindel a écrit :
Sinon je ne comprend pas ton problème autant mettre toute ta phrase dans donc fichier inc


Ben j'ai envie d'éviter d'avoir 3000 constantes...
Par exemple pour un titre
NEWS POUR LA CATEGORIE "'.echo categorie.'"


, avoir une constante
#FR
define('LANG_TPL_ARCH1','Archives pour la cat&eacute;gorie "****"');

#EN
define('LANG_TPL_ARCH1','Archives for the "****" category');
#NL
...
[/code]

Où le **** serait remplacé dynamiquement dans le fichier qui a appellé la constante...

C'est possible ?
Ou alors; je dois vraiment quasiment faire une constante par mot ?
Salut Dew, ta solution a l'air parfaite.
Mais comment utilise-t-on cela ? Je dois "retraiter" ma phrase pour y remplacer le %s par ce que je veux, ou bien il y a une syntaxe prévue ?

Dur dur de trouver de la doc avec "%s" comme recherche Smiley lol