纸壳cms可视化建站系统搭建多语言网站(代码片段)

author author     2022-12-30     129

关键词:

纸壳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已存在");

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

米拓cms学习总结

...采用PHP+Mysql架构,是一款对SEO非常友好、功能全面、支持可视化编辑、多语言、响应式展示,极其适合企业网站建设的cms建站系统。MetInfo使用帮助手册  关于栏目、后台内容、页面、seo等等常用功能,上述帮助手册都有,以... 查看详情

解决纸壳cms在ubuntu系统验证码无法显示(代码片段)

libgdiplus是一个开源的GDP+API,用于绘制图形。纸壳CMS上的验证码,就是使用了它的API来生成的。一般情况下,在Ubuntu系统下可以使用以下命令来安装libgdiplus,安装后即可正常运行libgdipluslibgdiplus是一个开源的GDP+API,用于绘制图形... 查看详情

一篇文带你从0到1了解建站及完成cms系统编写(代码片段)

学习目标了解搭建一般网站的简便方式了解最原始一般站点搭建了解内容管理站点搭建了解权限设计及完成了解使用设计模式减少代码冗余了解前端拖拽页面生成及生成了解自定义数据的创建了解动态生成的前端页如何绑定自定... 查看详情

Codeigniter 网站多语言 CMS 实施的最佳方式

】Codeigniter网站多语言CMS实施的最佳方式【英文标题】:thebestwaytocodeigniterwebsitemulti-languageCMSimplement【发布时间】:2016-11-2522:27:59【问题描述】:我正在研究几个小时,但我找不到任何明确、有效的方法:/我有一个英文的codeignite... 查看详情

php多语言网站与php(代码片段)

查看详情

可视化建站系统是什么?

可视化这种技术最开始是运用在计算机科学上的,没想到把可视化放在网站建设上,出现的可视化建站系统能够如此强大。说起来随着网站建设的技术一步步提升,所衍生的建站技术也层出不穷,从最开始的代码建站;到模板建... 查看详情

django:如何创建一个多语言网站(代码片段)

我想在Django中创建一个多语言网站,我尝试使用django-parler但是当我想要由管理员添加一个对象时,管理员不会显示翻译字段这是我的模型的一部分:classMovie(TranslatableModel):translations=TranslatedFields(synopsis=RedactorField(verbose_name=u'Sinops... 查看详情

小白如何快速上手搭建属于自己的网站

小白入门建站其实可以完全不需要代码方面的知识也可以建站。想要在学习初期就拥有一个属于自己的网站,步骤很简单:一、域名选择:选购一个自己喜欢的域名,建议可以到阿里云或者腾讯云购买(域名购买建议:简单易懂... 查看详情

小白快速上手搭建属于自己的网站

小白入门建站其实可以完全不需要代码方面的知识也可以建站。 想要在学习初期就拥有一个属于自己的网站,学习~装逼么? 步骤很简单:一、域名选择:选购一个自己喜欢的域名,建议可以到阿里云或者腾讯云购买(... 查看详情

小白快速上手搭建属于自己的网站

小白入门建站其实可以完全不需要代码方面的知识也可以建站。 想要在学习初期就拥有一个属于自己的网站,学习~装逼么? 步骤很简单:一、域名选择:选购一个自己喜欢的域名,建议可以到阿里云或者腾讯云购买(... 查看详情

android国际化多语言切换(代码片段)

...AndroidX不同版本兼容问题一些界面局部适配突然失效切换系统导航,更改深色模式导致多语言无法适配系统授权弹窗导致ApplicationContext中的Local被还原切换语言,系统通知栏显示未翻译,重启后正常Service服务中Toast不... 查看详情

android应用内设置多语言(代码片段)

...xff0c;葡萄牙语。参考了Android应用内设置多语言,可随系统语言改变而改变,在此基础上做了修改,选择为跟随系统时不再粗暴调用此方法。android.os.Proce 查看详情

android应用内设置多语言(代码片段)

...xff0c;葡萄牙语。参考了Android应用内设置多语言,可随系统语言改变而改变,在此基础上做了修改,选择为跟随系统时不再粗暴调用此方法。android.os.Proce 查看详情

ios多语言适配(代码片段)

....在各个语言文件里面编写自定义的键值对,然后使用系统函数NSLocalizedString(@"自定义的key","描述可为nil 查看详情

joomla建站-双语cms系统开发的实现

首先,请确保你的网站安装了你所需的双语语言,详细安装过程见:https://www.cnblogs.com/surfer/p/9619345.html第一步:设置内容管理可以按照个人需求进行语言编辑,如修改名称等。第二步:设置双语版主菜单建议保留默认mainMenu菜单... 查看详情

python多语言(代码片段)

查看详情

csharpc#多语言(代码片段)

查看详情

phpxmlsitemap多语言(代码片段)

查看详情