多语言网站开发

转载 2006年05月29日 10:07:00

转自:http://www.phpwind.net/simple/t84546.html

前言:
  多语言网站开发,重点的还是在解决语言之间的问题。
  那如何解决这个问题呢?大概就分三步走:

  1.页面多语言
  2.数据库多语言
  3.用户访问语言统一
 

1.页面多语言
需要考虑的问题:
A.用户登陆时候,自动识别字符,调用不同的语言包?
B.用户切换不同语言时候,调用不同的语言包?
C.增加多语言后的目录结构?



页面多语言也就是外观的多语言化,这里可以采用静态的语言包的方式。
设计时候就应该包括language的目录,针对不同语言有独立的子目录。
如英文language/en ,简体中文language/gb,繁体中文language/b5 (可以扩展其他语言)
每个目录下就包含了对每个页面的语言版本。选择语言版本时候就可以调用相应版本的语言包。

具体做法:
0.利用js语言,识别浏览器语言,在调用不同的语言包.

1.language/en/global.ln是针对英文版的全局语言包。

2.global.ln 内容为:
$title = "English webstie";
$charset = "UTF-8";

3.index.php调用:
<?php
require_once()
?>
<html>
<head>
<title>$title<title>
<meta http-equiv="content-type" content="text/html;charset=$charset">
</head>
<body></body>
</html>

这样通过扩展就可以实现页面的多语言化.


2.数据库多语言
这个考虑的问题:
A.后台录入数据的多语言化?
B.用户在不同版本下,提交的内容,如何保存?
C.提供三种语言包,还是提供英文和简体,简体通过转化提供繁体?

数据库多语言就是达到多语言在数据库里面的统一。就需要采用utf-8统一编码。
无论什么语言的文字,都统一使用utf-8来存放到数据库里面。采用表字段来表识
属于什么语言版本的文字。

具体:

A.对于后台添加的问题:

1.后台添加时候,就需要多语言化的录入。先建立一个以utf-8编码的数据库,录入英文/简体,简体在通过转化为繁体,
再以utf-8编码方式存于数据库中。

2.建立以utf-8为编码的表结构,importlanguage标识属于什么语言版本
  但在某个版本下,就搜索属于这个版本的文字来显示。其他文字不显示。
DROP TABLE IF EXISTS `zz_importer`;
CREATE TABLE IF NOT EXISTS `zz_importer` (
`importID` int(11) NOT NULL auto_increment,
`importTime` date NOT NULL default '0000-00-00',
`improtfile` varchar(100) NOT NULL default '',
`importlanguage` varchar(100) NOT NULL default ''
PRIMARY KEY (`importID`)
) ENGINE=MyISAM DEFAULT CHARSET=uft-8;

3.简体转化的繁体。
  利用php的iconv.此过程对于linux/unix有效,对于windows无效。
  iconv("GB2312","BIG5",$text);
 

4.因为,charset = "utf-8",数据就都是以utf-8编码方式存在,
  添加数据时候,要分别用en/gb/big5来标识语言版本.
  INSERT INTO `zz_importer` VALUES (,'', '', 'en');
  INSERT INTO `zz_importer` VALUES (,'', '', 'gb');
  INSERT INTO `zz_importer` VALUES (,'', '', 'big5');
 

B.对于用户添加的问题:
1.假设下简体中文下.用户因为页面头为UTF-8.则用户浏览器会以utf-8编码
方式浏览页面。

2.添加的数据库本身以utf-8方式存在。

3.添加数据时候,要分别用gb来标识语言版本
INSERT INTO `zz_importer` VALUES (,'', '', 'gb');


C.对于简体和繁体是单独提供还是转化问题
 
  单独提供 - 比较符合多语言的标准,灵活性大,对ISP没有特别的要求。
 
  转化提供 - 提交速度会受影响,同时要ISP提供iconv的函数支持。





3.用户访问语言统一

A.假设用户简体中文版时候:
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
所有语言版本都是这样。

B.调用language/gb的语言包。

C.搜索数据库有语言字段为gb的数据,并显示

D.当用户提交信息,参照上面数据库多语言的B问题。





数据库存放可以有几种方式的:

A.不同数据库来存放
B.同一数据库不同表存放
C.同一数据库同一表不同字段来存放

A.种方式,每种语言都建立一个数据库感觉就有点浪费了。

B种方式可能是比较多人采用的。基本是共有的就建立一个表来存放。
每种语言私有的,就放到各自的表里面。

C种方式,感觉对于数据量不大的,也是好的方式。
数据量太大,给单表的增大更快。造成负担。

资源文件(多语言)的管理

现在很多产品都有国际化或者说多语言的需求。及时产品现阶段不需要做多语言,但在产品设计上也大多会预留多语言的设计。 所谓多语言的设计也就是用资源文件的方式来编写程序代码。简单来说就是前端所有看的见的静态...
  • lackin
  • lackin
  • 2015年10月14日 17:46
  • 991

前端多语言的切换

前端开发中多语言的切换,可使用js动态替换内容 1、在用户点击切换语言后,把选择的语言版本保存在cookie中 //写入cookie函数 function setCookie(name,value...
  • hefy780144
  • hefy780144
  • 2017年03月23日 14:46
  • 3526

网站设计--多语言网站实现方案

多语言网站实现方案   1,静态:就是为每种语言分别准备一套页面文件,要么通过文件后缀名来区分不同语言,要么通过子目录来区分不同语言。   例如对于首页文件index_en.htm提供英语界面,i...
  • cengjingcanghai123
  • cengjingcanghai123
  • 2014年05月23日 10:45
  • 1748

如果网页内容需要支持多语言,你会怎么做?在设计和开发多语言网站时,有哪些问题你必须要考虑?

采用统一编码UTF-8方式编码 1- 应用字符集的选择;所以对提供了多语言版本的网站来说,Unicode字符集应该是最理想的选择。它是一种双字节编码机制的字符集,不管是东方文字还是西方文字,在Uni...
  • xujie_0311
  • xujie_0311
  • 2014年12月20日 22:00
  • 2775

实现web多语言的一种解决办法

实现web多语言可能有多种解决办法,现在分享一种比较简单的思路,这篇文章主要用于记录学习过程,肯定存在不少谬误,欢迎批评指正。 web多语言实现最简单的一种方法可能是每一种语言一套代码,但这样存在一...
  • gl1987807
  • gl1987807
  • 2013年06月20日 23:28
  • 7043

多语言的网站方案

一、数据库方面有以下三种方式: 1、在数据库级别支持多语言:为每种语言建立独立的数据库,不同语言的用户操作不同的数据库。 2、在表级别支持多语言:为每种语言建立独立的表,不同语言的用户操作不同...
  • hyperhawk
  • hyperhawk
  • 2015年01月06日 10:33
  • 1008

Java Web的Struts2的多语种网站的多语言切换实例

先看图图; 一      首先下载Properties Editor插件,该插件是支持中文的资源文件编辑器;MyEclipse 10.6 以上不用安装该插件...
  • bcbobo21cn
  • bcbobo21cn
  • 2015年05月28日 11:22
  • 1639

wordpress的本地化技术(多语言)支持

wordpress的本地化技术(多语言)支持: WordPress的开发者选择使用GNU gettext本地化框架来提供WordPress本地化的基本结构。Gettext是一个成熟的,广泛使用的,软...
  • sxhong
  • sxhong
  • 2014年01月05日 22:26
  • 3023

静态网站的中英文等多语言切换

之前做过一个项目,项目要求中英文实现
  • czyhy
  • czyhy
  • 2014年07月10日 11:07
  • 2556

让asp.net网站支持多语言,使用资源文件

asp.net多语言支持例子
  • smartsmile2012
  • smartsmile2012
  • 2014年11月26日 16:50
  • 4986
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多语言网站开发
举报原因:
原因补充:

(最多只允许输入30个字)