php - 如何处理动态网站本地化?

标签 php mysql localization transactions translation

我有一个目前全英文的网站。这是一个在线游戏,所以它有一堆带有静态文本的不同页面,以及数据库中的大量内容。

我正在尝试在全局范围内进行更多扩展,并准备发布该网站的一些本地化版本。但是,我不确定设置它的最佳方法,以便它对我来说最容易管理,对用户来说也最容易使用。

我应该将翻译后的文本存储在数据库中,还是应该以一种完全不同的方式来完成?如果这很重要,该站点是用 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/

相关文章:

mysql - str_to_date 返回 null+mysql

php - 从多行中选择

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

php - 来自 Controller laravel 的 str_replace 数组

php - 在循环中执行网络调用后,同一项目被删除两次

MySQL删除包含特定单词的行

php - 无法在 MySQL 上使用 PDO 设置当前 _timestamp 或 now()

.net - 强制异常(exception)语言为英语

java - Struts 1 自定义本地化

iphone - 应用程序本地化的前 5 种语言是什么?