我有一个目前全英文的网站。这是一个在线游戏,所以它有一堆带有静态文本的不同页面,以及数据库中的大量内容。
我正在尝试在全局范围内进行更多扩展,并准备发布该网站的一些本地化版本。但是,我不确定设置它的最佳方法,以便它对我来说最容易管理,对用户来说也最容易使用。
我应该将翻译后的文本存储在数据库中,还是应该以一种完全不同的方式来完成?如果这很重要,该站点是用 PHP 编写的并使用 MySQL。
最佳答案
根据我的经验,手动完成所有翻译可能是一场真正的噩梦! %-)
我认为您必须将翻译重点放在仪表板命令站点,例如导航菜单和所有其他用户配置文件设置,以及站点周围的按钮等等!
通过像这样包含到您的页面文件中来做到这一点:
include "./includes/languages/english.php";
在名为 ex. 的文件中:english.php
像这样放置 ex
define('LAN_USER_LOGIN' , 'User Logged In');
define('LAN_USER_LOGOUT' , 'User Logged Out');
.....
等等 italian.php、spanish.php、french.php 等...并且在每个文件中都有相同的定义变量但已翻译!
然后您可以让用户从国家列表中进行选择!顺便说一句,有很多方法可以做到这一点!
一种方法是使用 session
// if the user haven't selected a language before!!
if (empty($_SESSION['language'])) {
$_SESSION['language'] = "EN";
} else {
$_SESSION['language'] = YOUR_LANG ;
}
对于所有其他内容,我建议使用像这样的工具
http://code.google.com/intl/it-IT/apis/ajaxlanguage/
注意:我建议您不要使用自动识别系统,因为它会导致非常烦人的体验,特别是如果您正在从另一个国家/地区观看该网站!或者只是你想要的选择,简单的让用户最终选择! ;-)
将自动识别用于自动完成注册目的! ;-)
希望对您有所帮助!
关于php - 如何处理动态网站本地化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2901911/