2011-08-19 78 views
1

保存我的翻译的消息到PHP文件和内部翻译邮件内定义()

define("TEXT", "text"); 

的事情是,当我有一个显示文本:

We have 30 users online. 

和用户转换这个消息给他自己的语言当我从define变量中获得翻译后的文本时,我该如何向用户显示在线用户?

例如,如果用户将文本翻译为We have % users online

然后我在PHP语言文件有这样的:

define("USERS_ONLINE", "We have % users online"); 

我应该打破字符串和我的总在线用户变量替换%?如果需要,我应该如何处理更多变量?

回答

5

我会建议你使用类似printf的语法来代替:

define("USERS_ONLINE", "We have %s users online"); 
echo sprintf(USERS_ONLINE, 30); 

然后你可以在字符串中多个变量:

define("USERS_ONLINE", "We have %s users online since %s"); 
echo sprintf(USERS_ONLINE, 30, $date); 
+0

所以这可以用于这个定义中的多个变量?例如,我们只有%用户在%活跃,%日志在每天。 – fxuser

+0

是的(更新了答案) – arnaud576875

+0

显然30可以是一个变量以及...所以我想我把它整理out.big谢谢。 – fxuser