紙殼CMS是可視化建站系統,現已經從架構上支持多語言。可是多語言功能默認是沒有開啓的。您能夠從設置中開啓多語言,或者隨時關閉它,您能夠隨時進行切換。html
若是您沒有在系統設置中看到多語言設置菜單,首先先確認一下您的登陸角色是否有多語言設置的權限:前端
添加權限後就能夠看到多語言設置的菜單了git
勾選是否啓用?選項來啓用多語言功能:github
例如將默認語言設成英語時,後端界面會變成英文:後端
紙殼CMS不限制語種,即您能夠自由的添加、刪除想要的語種。紙殼CMS中,默認初始化了34種語言,並啓用了其中比較經常使用的17種。您能夠在「多語言菜單」設置它 [/admin/Culture]
,例如如下是中文的設置:架構
其中,狀態即表示是否啓用該語言。域名,即在獨立域名模式下,用於綁定該域名使用這個語言顯示。app
在啓用了多語言設置之後,就能夠開始添加多語言內容了,以頁面爲例,在頁面的屬性頁面,您能夠看到已啓用的語言選項:工具
若是您在建立、編輯內容時,但願將當前語言內容複製到其它語言下,那麼保存內容前勾選對應的語言便可:spa
在編輯內容時,點擊語言旗幟便可建立該語言內容,並自動將默認語言的內容帶出來。.net
您能夠刪除除了默認語言之外的其它全部語言的內容,切換到對應的語言,點擊工具欄上的刪除便可。若是您刪除默認語言,那麼將會同時刪除其它全部語言的內容。
若是您的頁面已經建立了多語言,在頁面的設計頁面,可隨時切換來編輯:
對於呈現給前端用戶的全部須要多語言的模塊都支持,例如:
在紙殼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已存在"); }
這樣程序在運行的時候,會跟據實際的多語言設置來返回翻譯內容,若是沒有對應的翻譯,則會直接返回原值。
原文地址:http://www.zkea.net/codesnippet/detail/zkeacms-multi-language.html
Github:https://github.com/SeriaWei/ZKEACMS.Core