使用 php 创建多语言网站

发布于 2024-12-28 15:37:07 字数 170 浏览 1 评论 0原文

我在这里有一个简单的问题。如何使用 php 构建多语言网站?

我需要什么工具才能做到这一点?

另外,如果我计划使用框架(如 cakePHP 或 symfony 等)构建我的网站,这些框架是否具有允许我这样做的功能?

请给我最好的、最简单直接的解决方案。

提前致谢

I have a simple question here. How do I build a multilingual website using php?

What are the tools that I need to do so?

Also, if I'm planning to build my website using a framework (like cakePHP, or symfony, etc...), do theses frameworks have features that will allow me to do that?

Please give me the best and the most simple and straightforward solution.

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

爱冒险 2025-01-04 15:37:07

如果您想构建一个多语言网站,最好的选择是使用一些 gettext 实现。 PHP 具有此功能,并且像 CakePHP 这样的大多数框架都支持此功能(要搜索的关键字是 i18n(国际化的缩写)。

应用程序中的所有字符串都需要通过 gettext 函数发送。在 PHP 中,此函数别名为 __( ) 这样您的字符串将如下所示:

<?php
echo __('Hello world');
?>

然后您需要生成所谓的 .po 文件,该文件将这些字符串及其翻译存储在一起。 .po 文件的示例条目如下所示

msgid "Hello world"
msgstr "Ola mundo"

您的应用程序需要加载。正确的 .po 文件CakePHP 有一本不错的手册这样做,但其他框架也内置了这个。

If you want to build a multilingual website your best option is to use some gettext implementation. PHP has this and most frameworks like CakePHP support this (the keyword to search for is i18n (short for internationalization).

All strings in your app need to be send through the gettext function. In PHP this function is aliased to __() so that your string will look like this:

<?php
echo __('Hello world');
?>

You then need to generate so called .po files which store these strings together with their translations. An example entry of a .po file looks like this

msgid "Hello world"
msgstr "Ola mundo"

Your app then needs to load the right .po file for the right language. CakePHP has a nice manual for doing this, but other frameworks have this built in as well.

冷了相思 2025-01-04 15:37:07

我推荐您CodeIgniter
它有一些非常简单且用户友好的工具来实现您正在寻找的东西。

实现示例

I'd recommend you CodeIgniter.
It has some very simple and user friendly tools to achieve what you are looking for.

Example implementation.

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