【发布时间】:2009-12-18 15:44:48
【问题描述】:
<?LANG(no_download, 'you are not allowed to download')
而不是
$lang[no_download]
我认为在模板中嵌入语言字符串的更好方法。
在几乎所有 PHP 应用程序中,主要的语言占位符格式如 <?=$lang['no_download']?> 或 {{no_download}}。其他设计人员/开发人员/翻译人员将很难在不参考语言文件的情况下破译占位符所代表的内容。
为了使语言占位符更具描述性,我们为什么不将原始字符串与占位符一起包含在内? 例如
<?=lang( 'no_download' , 'You are not allowed to download this file because you have exceeded your quota' )?>
第二个参数是一个虚拟参数,因此 lang() 函数没有对其进行任何操作。
乍一看,可能会认为它过于冗长,给模板标记添加了混乱。 但在我看来,这不是一个有效的论点,因为如果语言字符串不支持语言,它会占用与占位符一样多的空间。
我想听听您对此的看法。
【问题讨论】:
标签: php smarty template-engine