php 网页本地化
假设我有同一个文件的两个网址,例如 http://site.com/fr/page.php
和 http://site.com/en/page.php.
最后执行的是完全相同的文件,但第一个 url 输出法语文本,第二个 url 输出英语文本。
使用 asp.net,我将通过设置线程的 Culture
和 UICulture
属性来实现这一点,然后使用两个 resx 资源文件来获取基于该区域性显示的字符串。
我怎样才能用php实现类似的东西?
我见过 gettext,但据我了解,我不能根据每个请求使用不同的语言。我不确定 setlocale
和 putenv
是否影响所有请求或仅影响当前请求。
我知道某些框架可能提供该功能(zend_translate?),但我不想使用它。这个项目主要是为了我学习,我希望它尽可能的独立。
Suppose I have two url for the same file, say http://site.com/fr/page.php
and http://site.com/en/page.php
.
In the end it is the exact same file that is executed, but the first url ouputs text in french, the second in english.
Using asp.net I would achieve that by setting the thread's Culture
and UICulture
property, then use two resx resources files to get the strings to display based on that culture.
How can I achieve something similar with php?
I have seen gettext, but as I understand it I cannot use it with different language on a per request basis. I'm not sure if setlocale
and putenv
affects all the request or just the current one.
I know that some frameworks may provide that functionality (zend_translate?), but I don't want to use it. This project is mainly for me to learn, and I want it the most independant as possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
setlocale
和putenv
仅影响当前区域。您可以将您的文化保存到会话中。setlocale
andputenv
affects just the current one. You can save your culture into session.