需要制作一个中英文两版的企业网站,主要是没什么思路,后台该有什么特殊设计呀,前台切换什么事的,有谁做过那吗,希望给点参考意见
首先,对于语言的切换,尽量避免使用cookie或前端js进行控制。应使用域名或请求路径的参数进行对语言的控制。原因参见https://support.google.com/we...
一般来讲都会做自动语言识别,但一定要做一个可以切换语言的按钮,以避免英文操作系统的中文用户无法访问你的中文页面的类似问题
多语言的存储,国际上最多使用的方案是gettext,你的网页框架可以使用这个方式开发。也可自己设计翻译方案。
如果用框架很简单,因为现在几乎所有框架都会支持这个的。如果框架请看框架的文档。
这里讲非框架
其实原理都是一样的,首先要做各个语言的库,也就是吧页面所有涉及到文本文字的部分都提出来,在这两个文件中,采用如下的方式
//中文
$lan=array(
'tishi'=>'提示',
'jinggao'=>'警告',
'title'=>'标题',
);
//以下是英文的配置文件信息
$lan=array(
'tishi'=>'prompt',
'jinggao'=>'warning',
'title'=>'title',
);
通过浏览器头部信息来判断对方的语言是中文还是英文
Accept-Language:zh-CN,zh;q=0.8
如果请求头部信息中有zh-cn则代表对方是中文系统,则自动加载中文的配置文件信息,否则加载英文
如果对方手动切换,则用cookie标识,下次判断cookie,根据cookie中表示中英文的字段来自动显示中文英文
模板中的处理
<html>
<head>
<title><?php echo $lan['title']; ?></title>
</head>
<body>
<?php echo $lan['jinggao']; ?>
</body>
</html>
这样就做到双语网站了
先声明,我是菜鸟。
之前的一个企业站,使用了双语言。思路就是在资源文件目录,或者配置文件目录建立语言包目录。包含en.php和zh.php的语言配置包,主要是return数组变量。所有前端展示层全部使用变量调用语言包配置,然后菜单栏有一个中英切换的按钮,切换功能是创建一个全局变量,存放session或者redis.(如果你有访问cookie的唯一code在数据库,也可以绑定起来,下次访问时直接给他喜好语言)。根据这个全局变量加载不同的语言包就可以了。
以上仅供参考。
看具体啥需求了。如果就普通的小公司网站,就那么10来个页面,变化不多平时也不怎么更新的话,我肯定就偷懒直接做两版页面了。 :D
否则就麻烦点,把切换语言的部分(包括某些图片)都用JS来动态改变输出。COOKIE记录当前语言,打开网页时候JS判断COOKIE,然后做相应的内容输出绑定。不同的语言内容是从后台接口中读取。
一、数据库
站点信息表, 栏目表,内容表 都增加个lang字段记录语种
二、后台处理
根据登陆时选择的语种 对应去数据库调取内容进行管理
三、后台界面和前台界面
方案1:模版中非后台录入的信息使用语言包,css样式按语言分。
方案2:直接使用不同的模版和样式
1 回答4.2k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
2 回答839 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.3k 阅读
1 回答712 阅读✓ 已解决
如果企业能保证每发布一个新的文章/页面之类的,都会同步发布中英两个页面的话可以考虑使用框架/语言包实现。如果不能保证,就按照两个独立的网站分别来做。