php 网页本地化

发布于 2024-12-03 05:30:54 字数 508 浏览 0 评论 0原文

假设我有同一个文件的两个网址,例如 http://site.com/fr/page.phphttp://site.com/en/page.php.

最后执行的是完全相同的文件,但第一个 url 输出法语文本,第二个 url 输出英语文本。

使用 asp.net,我将通过设置线程的 CultureUICulture 属性来实现这一点,然后使用两个 resx 资源文件来获取基于该区域性显示的字符串。

我怎样才能用php实现类似的东西?

我见过 gettext,但据我了解,我不能根据每个请求使用不同的语言。我不确定 setlocaleputenv 是否影响所有请求或仅影响当前请求。

我知道某些框架可能提供该功能(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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

書生途 2024-12-10 05:30:54

setlocaleputenv 仅影响当前区域。您可以将您的文化保存到会话中。

setlocale and putenv affects just the current one. You can save your culture into session.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文