我使用smarty在我的网站上允许使用不同的语言,到目前为止工作正常。我将文本存储在不同部分的配置文件中。
但是有这样的句子:
“你有6封新邮件!”,这将是德语“ Sie haben 6 neue Mails!”
现在有数字和数字后面的文字,从数据库加载。我想把它放到配置文件中,只是自己加载数字。
所以我在“text.conf”
中有这个[en]
mail_count = "You have $NUMBER new mails!"
[de]
mail_count = "Sie haben $NUMBER neue Mails!"
这是我的“show_text.php”
$smarty->assign('NUMBER', 6);
这样的事情可能吗?也许使用Smarty 3.0?
提前致谢, BH
答案 0 :(得分:1)
您可以使用sprintf sintax。这个例子来自寻呼机式的东西:
results = "Results %s to %s of %s total"
{#results#|sprintf:$start:$end:$total}
答案 1 :(得分:1)
我只是尝试了这个并且它有效,但它相当难看......
{$ NUMBER}
mail_count =“你有{include file ='number.tpl'}新邮件!“
我想这是因为smarty变量只适用于tpl文件。
答案 2 :(得分:1)
阅读配置文件时,需要使用
打开它$cfg = $smarty->fetch('path/to/file');
之后,您将整个文件内容放在$ cfg变量中,并替换{$ NUMBER}。
答案 3 :(得分:0)
我现在没有Smarty对此进行测试,但是如果你在配置条目中正确声明变量,它应该可以工作,如:
ail_count = "You have {$NUMBER} new mails!"