关于纸壳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创建多语言网站相关推荐

  1. 纸壳CMS可视化建站系统创建多语言网站

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

  2. 纸壳CMS替换默认实现

    简介 纸壳CMS是一个开源免费的可视化内容管理建站系统,拖拽就可以轻松建网站. GitHub: http://github.com/SeriaWei/ZKEACMS 纸壳CMS在设计上使用的是ASP. ...

  3. 创建多个wordpress_如何轻松创建多语言WordPress网站

    创建多个wordpress Do you want to translate your WordPress site in multiple languages? 您想用多种语言翻译WordPress ...

  4. 如何轻松创建 WordPress 多语言网站

    您想将您的 WordPress 网站翻译成多种语言吗? WordPress 为互联网上超过 42% 的网站提供支持.他们中的许多服务于非英语或多语种受众. 在本文中,我们将向您展示如何轻松创建 Wor ...

  5. 纸壳CMS可视化建站系统搭建多语言网站

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

  6. 纸壳CMS体验升级,快速创建页面,直接在页面中修改内容

    关于纸壳CMS 纸壳CMS又名 ZKEACMS Core 是ZKEACMS的 .net core 版本,可运行在 .net core 1.1 平台上.是一个开源的CMS. 纸壳CMS对于 ZKEACM ...

  7. 纸壳CMS(ZKEACMS)体验升级,快速创建页面,直接在页面中修改内容

    关于纸壳CMS 纸壳CMS又名 ZKEACMS Core 是ZKEACMS的 .net core 版本,可运行在 .net core 1.1 平台上.是一个开源的CMS. 纸壳CMS对于 ZKEACM ...

  8. 纸壳CMS升级.Net5免费下载

    .Net 5 微软的.Net 5已经发布,我们也在第一时间做了适配.新版本最大的改动是升级到了微软最新的.Net 5,性能得到了显著提升.所以在升级使用3.3.6之前,请先更新你的运行环境. 升级指南 ...

  9. 纸壳CMS 3.3.6发布升级.Net 5

    .Net 5 微软的.Net 5已经发布,我们也在第一时间做了适配.新版本最大的改动是升级到了微软最新的.Net 5,性能得到了显著提升.所以在升级使用3.3.6之前,请先更新你的运行环境. 升级指南 ...

最新文章

  1. python 列表有几个元素_python怎么向列表中添加多个元素
  2. Safari 有望支持 WebP
  3. html css盒子顶层,HTML学习之四CSS盒子
  4. 【ruoyi若依】Caused by: java.lang.NoClassDefFoundError: com/sun/jna/platform/win32/VersionHelpers
  5. jquery的2.0.3版本源码系列(2):21行-94行定义了一些变量和函数 jQuery=function(){}
  6. 转载: Web 研发模式演变
  7. codeblocks调试窗口字体大小以及修改主题
  8. Moment.js日期处理库的使用
  9. 一个项目的整个测试流程
  10. 再见,金庸;再见,江湖
  11. linux驱动大全,linux驱动
  12. delphi 算术溢出解决方法_文言文代码算什么?跟着九章算术学Python编程才厉害...
  13. 学数学建模算法对计算机的好处,浅议数学建模与算法
  14. 使用ollyodb破解AspriseOCR.dll
  15. 订餐系统java+mybatis+mysql8项目练习(二) 添加订单项
  16. PBC【Packaged Business Capabilities】的理解
  17. 项目实战:动态系统的设计(类似朋友圈)
  18. python多线程多个cpu_为什么python的多线程不能利用多核CPU?
  19. 关于gvim的高级应用
  20. set_、set_allocated_、mutable_、add_的使用

热门文章

  1. 学习笔记—Vue项目启动时卡在98% after emitting CopyPlugin的问题解决
  2. android多个switch可,能刷安卓,任天堂 Switch 再跑个 Win10 如何?
  3. 浮点数的运算 —— 浮点数的加减运算
  4. DiabloFX展示模板 joomla多用途二手房公司企业博客商业主题
  5. ultrascale和arm区别_ZYNQ UltraScale+ MPSoc FPGA初学笔记
  6. keil工程 freertos AC5编译器移植到AC6编译器
  7. 旧时王谢堂前燕,飞入寻常百姓家
  8. linux远程判断目录是否存在,用shell判断远程主机上是否存在某个文件
  9. Vue2 + ant design vue1.7.8版本 Table组件 手动拖拽、可伸缩列功能
  10. 团队作业第二次—项目选题报告