php - PHP Web 应用程序多语言结构的最佳实践

标签 php data-structures internationalization structure multilingual

我正在用 PHP 创建一个 web 应用程序,它将以多种不同的语言(总共大约 10 种)提供,我想知道您认为什么是设置它的最佳实践一般条款。

我的想法是将所有语言都放在同一个域下,并使用诸如“http://myservice.com/de”之类的后缀,其中脚本会在站点进入时执行位置检查并重定向用户。

编辑内容将作为数据库中的单个帖子在所有语言之间共享,每种语言都有一个特定的数据列。 标记和脚本都将以英文记录,而用户可见的页面和部分将被翻译成从通用单词库文件中收集的各自语言。

.htaccess 文件提供对文章的所有重写处理,以便以适当的语言显示它们,即“http://myservice.com/de/artikel/12345/”到“http://myservice.com/article? id=12345&lang=de".

您认为什么是干净高效的多语言设置?

最佳答案

对于如何最好地建立一个国际友好的网站,每个人都有不同的看法。但是,我尽量不通过自己制作系统来重新发明轮子。相反,我使用 CakePHP 等框架中内置的国际化和本地化工具。

来自 CakePHP 书;

One of the best ways for your applications to reach a larger audience is to cater for multiple languages. This can often prove to be a daunting task, but the internationalization and localization features in CakePHP make it much easier.

First, it’s important to understand some terminology. Internationalization refers to the ability of an application to be localized. The term localization refers to the adaptation of an application to meet specific language (or culture) requirements (i.e., a "locale"). Internationalization and localization are often abbreviated as i18n and l10n respectively; 18 and 10 are the number of characters between the first and last character.

http://book.cakephp.org/1.3/view/1228/Internationalization-Localization

对我来说,使用内置工具提供了一种无需重写 URL 即可翻译应用程序的有效方法。这也意味着用户可以配置他们的本地化首选项,并在他们每次登录时自动应用它们。

这种方法也将被认为对搜索引擎更友好,因为您不会得到相同内容的多语言副本。

希望这对您有所帮助。

关于php - PHP Web 应用程序多语言结构的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8711133/

相关文章:

c# - 任何人都可以解释图形数据结构的 java 或 C# 实现吗

grails - 是否可以在message.properties文件中写入表达式?

internationalization - Polymer.dart 中国际化字符串中的 HTML 标签

php - 使用 php 和 clamav 扫描文件夹中的病毒?

php - WP 插入帖子不起作用

php - Laravel 4 子目录 Controller 不加载输入类

每个浏览器请求多次执行 php 脚本

c++ - C++数据结构队列:使用for循环查找队列中最大的元素

java - 自己的国际化支持就在眼前

algorithm - 用已经支持的语言实现数据结构/算法