smarty怎么实现多语言网站
1个回答
展开全部
用 PHP 实现多语言的正途似乎是 gettext 函数族,但是用 gettext 也有很多不方便的地方,今天实现了一种利用 Smarty 来实现多语言 B/S 应用的方法。最后希望达到的效果是程序中除了切换语言的地方,其它地方能够完全不用关心当前的显示语言,比如同样的 $Tmpl->display( ‘welcome.tpl’ ) 在中文状态下会显示中文的欢迎页面,而在英文状态下就显示英文欢迎页面。 既然对 Smarty 对象的调用方式在不同语言下保持一致,那么就要拿 Smarty 类来开刀啦。Smarty 里面把模版“实例化”的接口有两个,一个是 display(),另外一个是 fetch(),而 display() 内部其实调用了 fetch(),所以关键点就在于改造这里。从 Smarty 派生一个新类 CSmarty,重载其中的 fetch() 和 display() 接口:
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询