使用纸壳CMS创建多语言网站
关于纸壳CMS
纸壳CMS是基于.Net Core开发的可视化设计在线编辑的内容管理系统。
纸壳CMS是可视化建站系统,现已经从架构上支持多语言。但是多语言功能默认是没有开启的。您可以从设置中开启多语言,或者随时关闭它,您可以随时进行切换。
开启多语言
如果您没有在系统设置中看到多语言设置菜单,首先先确认一下您的登录角色是否有多语言设置的权限:
添加权限后就可以看到多语言设置的菜单了
勾选是否启用?选项来启用多语言功能:
设置说明
- 多语言模式
- 单域名模式,即所有的语言都使用同一个域名访问,不同的语言使用不同的"Culture Code"来区分。如 ~/cn, ~/tw ~/us 等
- 独立域名模式,在这种模式下,不同语言可以使用不同的域名来访问,这需要站点绑定多个域名,并在多语言中设置域名和语言的关系。在独立域名模式下,管理员依然可以在登录后台的情况下,使用“单域名模式”来访问页面内容,这样方便在同一个域名下添加不同语言的内容。
- 无内容时使用默认语言,如果启用这项设置,即表示,当用户在访问一个不存在的语言的页面时,会给用户呈现默认语言下的页面内容。例如,如果只创建了中文页面 ~/cn/zkeacms,那当用户访问了~/us/zkeacms时,将不会看到404,而是~/cn/zkeacms下的页面内容。
- 默认语言,即系统的默认语言,登陆后端时系统使用的就是默认语言,用户在创建内容时,也优先创建默认语言的内容。在独立域名模式下,当用户访问的地址不带有"Culture Code"时,自动跳转到对应的默认语言页面。
例如将默认语言设成英语时,后端界面会变成英文:
设置语种
纸壳CMS不限制语种,即您可以自由的添加、删除想要的语种。纸壳CMS中,默认初始化了34种语言,并启用了其中比较常用的17种。您可以在“多语言菜单”设置它/admin/Culture
,例如以下是中文的设置:
其中,状态即表示是否启用该语言。域名,即在独立域名模式下,用于绑定该域名使用这个语言显示。
编辑多语言内容
在启用了多语言设置以后,就可以开始添加多语言内容了,以页面为例,在页面的属性页面,您可以看到已启用的语言选项:
如果您在创建、编辑内容时,希望将当前语言内容复制到其它语言下,那么保存内容前勾选对应的语言即可:
在编辑内容时,点击语言旗帜即可创建该语言内容,并自动将默认语言的内容带出来。
删除语言内容
您可以删除除了默认语言以外的其它所有语言的内容,切换到对应的语言,点击工具栏上的删除即可。如果您删除默认语言,那么将会同时删除其它所有语言的内容。
切换页面语言
如果您的页面已经创建了多语言,在页面的设计页面,可随时切换来编辑:
支持多语言内容的模块
对于呈现给前端用户的所有需要多语言的模块都支持,例如:
- 页面
- 导航
- 文章
- 产品
- 自定义表单
- 自定义内容
通用翻译
在纸壳CMS中,有些不支持多语言内容的,可以使用通用翻译功能(系统设置》翻译)来进行多语言翻译,例如后端的菜单:
在Razor视图中,可以直接使用@L("文章管理")
来获取多语言内容,如果是在其它代码中,可以使用ILocalize.Get("")
来获取翻译内容。
Razor:
<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>
代码(Controller,Service...)中:
private readonly ILocalize _localize;
public ArticleService(IApplicationContext applicationContext, ILocalize localize, CMSDbContext dbContext) : base(applicationContext, dbContext)
{_localize.Get("Url已存在");
}
这样程序在运行的时候,会跟据实际的多语言设置来返回翻译内容,如果没有对应的翻译,则会直接返回原值。
原文地址:
http://www.zkea.net/codesnippet/detail/zkeacms-multi-language.html
转载于:https://my.oschina.net/waynewei/blog/2244751
使用纸壳CMS创建多语言网站相关推荐
- 纸壳CMS可视化建站系统创建多语言网站
纸壳CMS是可视化建站系统,现已经从架构上支持多语言.但是多语言功能默认是没有开启的.您可以从设置中开启多语言,或者随时关闭它,您可以随时进行切换. 开启多语言 如果您没有在系统设置中看到多语言设置菜 ...
- 纸壳CMS替换默认实现
简介 纸壳CMS是一个开源免费的可视化内容管理建站系统,拖拽就可以轻松建网站. GitHub: http://github.com/SeriaWei/ZKEACMS 纸壳CMS在设计上使用的是ASP. ...
- 创建多个wordpress_如何轻松创建多语言WordPress网站
创建多个wordpress Do you want to translate your WordPress site in multiple languages? 您想用多种语言翻译WordPress ...
- 如何轻松创建 WordPress 多语言网站
您想将您的 WordPress 网站翻译成多种语言吗? WordPress 为互联网上超过 42% 的网站提供支持.他们中的许多服务于非英语或多语种受众. 在本文中,我们将向您展示如何轻松创建 Wor ...
- 纸壳CMS可视化建站系统搭建多语言网站
纸壳CMS是可视化建站系统,现已经从架构上支持多语言.但是多语言功能默认是没有开启的.您可以从设置中开启多语言,或者随时关闭它,您可以随时进行切换. 开启多语言 如果您没有在系统设置中看到多语言设置菜 ...
- 纸壳CMS体验升级,快速创建页面,直接在页面中修改内容
关于纸壳CMS 纸壳CMS又名 ZKEACMS Core 是ZKEACMS的 .net core 版本,可运行在 .net core 1.1 平台上.是一个开源的CMS. 纸壳CMS对于 ZKEACM ...
- 纸壳CMS(ZKEACMS)体验升级,快速创建页面,直接在页面中修改内容
关于纸壳CMS 纸壳CMS又名 ZKEACMS Core 是ZKEACMS的 .net core 版本,可运行在 .net core 1.1 平台上.是一个开源的CMS. 纸壳CMS对于 ZKEACM ...
- 纸壳CMS升级.Net5免费下载
.Net 5 微软的.Net 5已经发布,我们也在第一时间做了适配.新版本最大的改动是升级到了微软最新的.Net 5,性能得到了显著提升.所以在升级使用3.3.6之前,请先更新你的运行环境. 升级指南 ...
- 纸壳CMS 3.3.6发布升级.Net 5
.Net 5 微软的.Net 5已经发布,我们也在第一时间做了适配.新版本最大的改动是升级到了微软最新的.Net 5,性能得到了显著提升.所以在升级使用3.3.6之前,请先更新你的运行环境. 升级指南 ...
最新文章
- python 列表有几个元素_python怎么向列表中添加多个元素
- Safari 有望支持 WebP
- html css盒子顶层,HTML学习之四CSS盒子
- 【ruoyi若依】Caused by: java.lang.NoClassDefFoundError: com/sun/jna/platform/win32/VersionHelpers
- jquery的2.0.3版本源码系列(2):21行-94行定义了一些变量和函数 jQuery=function(){}
- 转载: Web 研发模式演变
- codeblocks调试窗口字体大小以及修改主题
- Moment.js日期处理库的使用
- 一个项目的整个测试流程
- 再见,金庸;再见,江湖
- linux驱动大全,linux驱动
- delphi 算术溢出解决方法_文言文代码算什么?跟着九章算术学Python编程才厉害...
- 学数学建模算法对计算机的好处,浅议数学建模与算法
- 使用ollyodb破解AspriseOCR.dll
- 订餐系统java+mybatis+mysql8项目练习(二) 添加订单项
- PBC【Packaged Business Capabilities】的理解
- 项目实战:动态系统的设计(类似朋友圈)
- python多线程多个cpu_为什么python的多线程不能利用多核CPU?
- 关于gvim的高级应用
- set_、set_allocated_、mutable_、add_的使用
热门文章
- 学习笔记—Vue项目启动时卡在98% after emitting CopyPlugin的问题解决
- android多个switch可,能刷安卓,任天堂 Switch 再跑个 Win10 如何?
- 浮点数的运算 —— 浮点数的加减运算
- DiabloFX展示模板 joomla多用途二手房公司企业博客商业主题
- ultrascale和arm区别_ZYNQ UltraScale+ MPSoc FPGA初学笔记
- keil工程 freertos AC5编译器移植到AC6编译器
- 旧时王谢堂前燕,飞入寻常百姓家
- linux远程判断目录是否存在,用shell判断远程主机上是否存在某个文件
- Vue2 + ant design vue1.7.8版本 Table组件 手动拖拽、可伸缩列功能
- 团队作业第二次—项目选题报告