宋茜圭贤最强情侣,2012年1月思想汇报,诺记吧
纸壳cms已经从架构上支持多语言。但是多语言功能默认是没有开启的。您可以从设置中开启多语言,或者随时关闭它,您可以随时进行切换。
如果您没有在系统设置中看到多语言设置菜单,首先先确认一下您的登录角色是否有多语言设置的权限:
添加权限后就可以看到多语言设置的菜单了
勾选是否启用?选项来启用多语言功能:
例如将默认语言设成英语时,后端界面会变成英文:
纸壳cms不限制语种,即您可以自由的添加、删除想要的语种。纸壳cms中,默认初始化了34种语言,并启用了其中比较常用的17种。您可以在“多语言菜单”设置它 [/admin/culture]
,例如以下是中文的设置:
其中,状态即表示是否启用该语言。域名,即在独立域名模式下,用于绑定该域名使用这个语言显示。
在启用了多语言设置以后,就可以开始添加多语言内容了,以页面为例,在页面的属性页面,您可以看到已启用的语言选项:
如果您在创建、编辑内容时,希望将当前语言内容复制到其它语言下,那么保存内容前勾选对应的语言即可:
在编辑内容时,点击语言旗帜即可创建该语言内容,并自动将默认语言的内容带出来。
您可以删除除了默认语言以外的其它所有语言的内容,切换到对应的语言,点击工具栏上的删除即可。如果您删除默认语言,那么将会同时删除其它所有语言的内容。
如果您的页面已经创建了多语言,在页面的设计页面,可随时切换来编辑:
对于呈现给前端用户的所有需要多语言的模块都支持,例如:
在纸壳cms中,有些不支持多语言内容的,可以使用通用翻译功能(系统设置》翻译)来进行多语言翻译,例如后端的菜单:
在razor视图中,可以直接使用@l("文章管理")
来获取多语言内容,如果是在其它代码中,可以使用ilocalize.get("")
来获取翻译内容。
<div class="panel panel-default"> <div class="panel-heading"> @l("新建") </div> <div class="panel-body"> @using (html.beginform()) { @html.editorformodel() <div class="toolbar"> @if (authorizer.authorize(permissionkeys.manageapplicationsetting)) { <input type="submit" class="btn btn-primary" value="@l("保存")" data-value="@actiontype.create" /> } <input type="button" class="btn btn-default cancel" value="@l("取消")" /> </div> } </div> </div>
private readonly ilocalize _localize; public articleservice(iapplicationcontext applicationcontext, ilocalize localize, cmsdbcontext dbcontext) : base(applicationcontext, dbcontext) { _localize.get("url已存在"); }
这样程序在运行的时候,会跟据实际的多语言设置来返回翻译内容,如果没有对应的翻译,则会直接返回原值。
原文地址:
github:https://github.com/seriawei/zkeacms.core
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论