对于本地化网站我想创建不同的语言文件。 但是在开始本地化之前我的主要问题是,我可能有变量字符串。
我的理论是我可以在我的语言文件中使用占位符,例如:
$lang['somekey'] = "Hello Mr. %s, how are you?";
是否有一种干净又好的方法来解析这些变量,还是我必须为此开发一个函数?
感谢。
答案 0 :(得分:9)
我遇到同样的问题,只需使用
即可echo sprintf($this->lang->line('somekey'),'XYZ');//load language library before use
阅读 sprintf()
答案 1 :(得分:3)
您可以使用codeigniter i18n与PHP .sprintf()来实现您的目标。加载codeigniter非变量字符串(使用那些格式的东西),然后将其传递给.sprintf()
以进行格式化和赋值。它应该替换%s
部分。
它类似于this question。 .sprintf()的作用类似于.printf(),只是它返回字符串而不是打印它。