2024-01-11 分类: 网站建设
有时候做网站的时候需要考虑多语言设计,比如外贸网站。即便是简体中文和繁体中文网站设计也不是简单的繁简转换就行的。
多语言网站面临的设计问题:
1、多语言语法问题
简体中文和繁体中文是现代汉语并存的两种书面形式。它们在语音、词汇、语法等方面都有明显差异,给大陆和港澳台地区的交流和沟通造成障碍。并不是简单的繁简对照替换就行的。如,繁体中文里的家庭計划对应简体中文中的家庭的计划和计划生育两个意义;简体中文中的检讨对应繁体中文的检查和讨论两个意义。后一个例子中的词语在理性意义和感情色彩都是不对应的。
即,繁简字存在字形转换模糊的不对称,更何况英语、法语、韩语….语法总归不是机器能解决的(至少目前不是)
2、数据库多语言
主要是录入信息的多语言化,涉及到数据库优化和数据库设计方面。对于不同架构、不同级别的网站系统设计也有不同之处。
3、页面多语言
这个,不解释,一般情况下都是用语言包解决此问题。不过,有些情况下,模板中div的宽度神马的都要考虑到语言包中对应的语句的长度,以免发生错位现象。
4、用户访问语言统一
用户初次访问时,判断用户语言环境,自动跳转…也不解释
解决方案:
1、简单:每个语言一个网站,还要注意分离用户系统
优点:简单解决。后顾无忧~
缺点:维护复杂,制作周期长~
2、简单的调用谷歌翻译整个页面
优点:简单、方便。
缺点:偶尔被墙、机器翻译总是有点语法用词不通顺
3、真正实现网站的多语言设计
优点:基本上解决以上所有问题
缺点:设计复杂,实现麻烦,有些情况下得不偿失
1、多语言语法问题解决:
这个,找专业翻译吧..不归你管
2、数据库多语言信息录入
01、简单实现:
1、比如,表中加lang字段,每条信息的lang字段不同的值,中文是zh-cn,英文是en
2、多一个语言版本表,用来存放语言版本,每个语言版本对应一个langid,添加信息的时候,信息表中的lang字段存放对应的langid,把lang字段设计成索引。其实跟上一种设计方法差不多。
3、每条信息对应一个分类(公告也可以分为多个分类嘛),比如:国内新闻(id=1)宝岛新闻(id=2)每个分类的信息表中有个字段lang,对应不同的语言,添加新闻信息的时候,分不同语言的分类添加信息,这样新闻信息表就不用lang字段区分不同语言的新闻了。用户访问的时候,不同语言的用户访问不同的分类,调用分类的时候区分开分类id就好了。嗯,分类有点多。不过这算是简单实现中最好的一种了吧
总结,此种方案适合小型系统,没什么鸭梨,网站全部静态化。缺点不好扩展~
02、一般实现:
1、继续优化设计(01、简单实现 中的 3 方法)。把不同语言的新闻信息分表储存,实现方法基本差不多。
总结:此方案适合中型应用。
03、复杂实现
总结,好处是有的。缺点也是有的。不同情况不同分析吧。
2、更进一步就是在域名上做文章了,跳转就不用php做了。其他的么..再优化神马的~ = =你是要做类似雅虎那样的门户网站乜?每个国家一个网站..擦~压力山大!
3、页面多语言
1、php语言包+自定义lang()函数
比如一个网站的博客模块。
语言包存放位置:language/zh-cn/blog/tpl.lang.php
语言包中内容:return $lang = array(‘xxx’=>’{name}xxxxx,{age}xxxxxxxx’)
自定义函数lang($lang, $var=array()) $lang 语言key,$var 语言中的参数
调用的时候,lang(‘blog_tpl_xxx’,array(‘name’=>’t-chris’,age’=>’21′));
最后结果:t-chrisxxxxx,21xxxxxxxx
关于错位情况,这个有时候可以把错位的地方的div神马的变宽点、变高点。不过可能会影响美观。
所以,最好是每种语言一套模板。这样保证了界面的统一性,用户体验也会爽点。
具体实现方法,此处省略1w字….
2、通过谷歌翻译。
有些情况下,你不愿意设计那么复杂的数据库,又是神马分表储存,又是神马分字段,分栏目….
擦,分你妹啊分!还让程序员活不活?就那么几个程序员,整天改bug,改细节。累死人!程序不是你想改,想改就能改…..程序猿,你伤不起啊!!
当当当当~~伟大的谷歌,它继承了为人民服务的光荣传统…现在,有谷歌翻译接口。
具体实现方法,请谷歌translate API神马的..记得查找中文,假如你英文不好的话…
【补充】 youtube就是利用的 谷歌API翻译内容.. 具体请翻墙
3、其他方法?
我没想到…
4、用户访问语言统一
获取浏览器的语言环境
js获取用户系统语言环境
document.write(navigator.language);
document.write(navigator.systemLanguage);
document.write(navigator.browserLanguage);
通过ip判断等等
获取之后,写cookie,写session.. 总之就是让用户访问其他页面的时候,网站语言能统一起来。
非常感谢您读完创新互联的这篇文章:"网站多语言设计的一些思路",仅为提供更多信息供用户参考使用或为学习交流的方便。我们公司提供:网站建设、网站制作、官网建设、SEO优化、小程序制作等服务,欢迎联系我们提供您的需求。
网站题目:网站多语言设计的一些思路
本文URL:https://www.cdcxhl.com/news23/313073.html
成都网站建设公司_创新互联,为您提供建站公司、关键词优化、品牌网站制作、电子商务、面包屑导航、网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容