博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
纸壳CMS可视化建站系统创建多语言网站
阅读量:5947 次
发布时间:2019-06-19

本文共 1936 字,大约阅读时间需要 6 分钟。

纸壳CMS是可视化建站系统,现已经从架构上支持多语言。但是多语言功能默认是没有开启的。您可以从设置中开启多语言,或者随时关闭它,您可以随时进行切换。

开启多语言

如果您没有在系统设置中看到多语言设置菜单,首先先确认一下您的登录角色是否有多语言设置的权限:

clipboard.png

添加权限后就可以看到多语言设置的菜单了

clipboard.png

勾选是否启用?选项来启用多语言功能:

clipboard.png

设置说明

  • 多语言模式
    单域名模式,即所有的语言都使用同一个域名访问,不同的语言使用不同的"Culture Code"来区分。如 ~/cn, ~/tw ~/us 等
    独立域名模式,在这种模式下,不同语言可以使用不同的域名来访问,这需要站点绑定多个域名,并在多语言中设置域名和语言的关系。在独立域名模式下,管理员依然可以在登录后台的情况下,使用“单域名模式”来访问页面内容,这样方便在同一个域名下添加不同语言的内容。
  • 无内容时使用默认语言,如果启用这项设置,即表示,当用户在访问一个不存在的语言的页面时,会给用户呈现默认语言下的页面内容。例如,如果只创建了中文页面 ~/cn/zkeacms,那当用户访问了~/us/zkeacms时,将不会看到404,而是~/cn/zkeacms下的页面内容。
  • 默认语言,即系统的默认语言,登陆后端时系统使用的就是默认语言,用户在创建内容时,也优先创建默认语言的内容。在独立域名模式下,当用户访问的地址不带有"Culture Code"时,自动跳转到对应的默认语言页面。例如将默认语言设成英语时,后端界面会变成英文:

clipboard.png

设置语种

纸壳CMS不限制语种,即您可以自由的添加、删除想要的语种。纸壳CMS中,默认初始化了34种语言,并启用了其中比较常用的17种。您可以在“多语言菜单”设置它/admin/Culture,例如以下是中文的设置:

clipboard.png

其中,状态即表示是否启用该语言。域名,即在独立域名模式下,用于绑定该域名使用这个语言显示。

编辑多语言内容

在启用了多语言设置以后,就可以开始添加多语言内容了,以页面为例,在页面的属性页面,您可以看到已启用的语言选项:

clipboard.png

如果您在创建、编辑内容时,希望将当前语言内容复制到其它语言下,那么保存内容前勾选对应的语言即可:

clipboard.png

在编辑内容时,点击语言旗帜即可创建该语言内容,并自动将默认语言的内容带出来。

删除语言内容

您可以删除除了默认语言以外的其它所有语言的内容,切换到对应的语言,点击工具栏上的删除即可。如果您删除默认语言,那么将会同时删除其它所有语言的内容。

切换页面语言

如果您的页面已经创建了多语言,在页面的设计页面,可随时切换来编辑:

clipboard.png

支持多语言内容的模块

对于呈现给前端用户的所有需要多语言的模块都支持,例如:

  • 页面
  • 导航
  • 文章
  • 产品
  • 自定义表单
  • 自定义内容
  • 通用翻译

在纸壳CMS中,有些不支持多语言内容的,可以使用通用翻译功能(系统设置》翻译)来进行多语言翻译,例如后端的菜单:

clipboard.png

在Razor视图中,可以直接使用@L("文章管理")来获取多语言内容,如果是在其它代码中,可以使用ILocalize.Get("")来获取翻译内容。

Razor:

@L("新建")
@using (Html.BeginForm()) { @Html.EditorForModel()
@if (Authorizer.Authorize(PermissionKeys.ManageApplicationSetting)) {
}
}

代码(Controller,Service...)中:

private readonly ILocalize _localize;public ArticleService(IApplicationContext applicationContext, ILocalize localize, CMSDbContext dbContext)     : base(applicationContext, dbContext){    _localize.Get("Url已存在");}

这样程序在运行的时候,会跟据实际的多语言设置来返回翻译内容,如果没有对应的翻译,则会直接返回原值。

转载地址:http://hqbxx.baihongyu.com/

你可能感兴趣的文章
通过规模化Scrum创造最新技术的打印机
查看>>
时序数据库DolphinDB和TimescaleDB 性能对比测试报告
查看>>
准备好了?测试人员迟早会被要求测试包含区块链技术的解决方案
查看>>
用户故事 | 刷算法面试题的4种思考方式
查看>>
Visual Studio 2017 15.9 Previews扩展C++调试功能
查看>>
宜人贷CTO段念:透明与面向目标是管理理念的核心
查看>>
理解HTTPS
查看>>
linux环境下apache配置虚拟站点
查看>>
ACM — 辗转相除法(Euclidean algorithm)求最大公因数(GCD)
查看>>
实例讲解async的generator实现
查看>>
Friday Q&A 2016-02-19: 什么是安全区域?
查看>>
vertx的一些问题
查看>>
将json字符串转化为json对象(需要引入json2.js框架)[转]
查看>>
python常用的包
查看>>
[译] 学习如何构建自动化、跨浏览器的 JavaScript 单元测试
查看>>
根治JavaScript中的this-ECMAScript规范解读
查看>>
协议与代理之间的阐述
查看>>
Kubernetes 1.2.0 发布,Docker集群管理驶入快车道
查看>>
在CentOS下,利用FFMPEG对视频进行转码
查看>>
SublimeText3系列(3)- HTML-CSS-JS Prettify美化代码&Markdown Preview写作
查看>>