德扑之星有限公司官方网站

CMS的多語言機制

 

CMS做為內容管理平臺♦☜☞☝✍☚☛☟✌✽✾✿❁❃,多語言是必備的功能之一❣❦❧♡۵。不過多語言本身也是比較復雜的⒜⒝⒞⒟⒠⒡⒢⒣⒤,因此很多國內的CMS都無法支持多語言⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,有支持的☈⊙☉℃℉❅,但是考慮不夠全面㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,開發的時候♦☜☞☝✍☚☛☟✌✽✾✿❁❃,會出現各種BUG⑰⑱⑲⑳⓪⓿❶❷❸❹❺,導致很難完全使用❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣。

整體上來講❻❼❽❾❿⓫⓬⓭⓮⓯⓰,多語言類似把CMS的維度升級了⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,之前是一維的☾☽❄☃,平面的⒜⒝⒞⒟⒠⒡⒢⒣⒤,多語言相當于增加了一個維度㈠㈡㈢㈣㈤㈥㈦,每個語言就是一個站點☾☽❄☃,相當于之前是做一個站點ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,多語言可以在一個站點里面做出N個子站點✵✶✷✸✹✺✻✼❄❅。

比如✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,我們翻譯英文❣❦❧♡۵,其實也可以翻譯成其他中文✵✶✷✸✹✺✻✼❄❅,這邊是服務1⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,翻譯成服務2⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,類似多一個子站✺ϟ☇♤♧♡♢♠♣♥。站1叫服務1⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,站2叫服務2⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,兩個還是有關聯①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯。聽起來有點繞口⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,但是道理是一樣的①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯。

 

 

多語言主要涵蓋界面翻譯⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ、內容翻譯✺ϟ☇♤♧♡♢♠♣♥,此外還有一些配置ⓚⓛⓜⓝⓞⓟⓠⓡⓢ、貨幣符號等相關聯的ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,所以✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,不僅僅是翻譯的問題✺ϟ☇♤♧♡♢♠♣♥,是要有一套完整的多語言體系和機制ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,本文就CMS的多語言機制做一個簡單分析☧☬☸✡♁✙♆。,、':∶;,僅供參考❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣。

之前也講過幾篇關于CMS和多語言的㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,有興趣可以點擊閱覽❻❼❽❾❿⓫⓬⓭⓮⓯⓰。

構建英文網站應該用什么框架✵✶✷✸✹✺✻✼❄❅?

常見的CMS平臺比較

外貿網站如何實現網站多語言版本開發ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ?

 

 

 

 

1. 界面如何翻譯

 

很久很久以前①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,做軟件都有一個語言包♦☜☞☝✍☚☛☟✌✽✾✿❁❃,用來翻譯界面☈⊙☉℃℉❅,語言包一般通用的格式是PO格式⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,里面的內容其實就是一一對應的翻譯而已ⓣⓤⓥⓦⓧⓨⓩ,沒有什么特別⑰⑱⑲⑳⓪⓿❶❷❸❹❺。

這個只是對于界面⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,或者說皮膚的翻譯⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,這個比較簡單❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣。

類比網站就是寫死在代碼的里面的翻譯✵✶✷✸✹✺✻✼❄❅,比如代碼里面寫了個Home⒜⒝⒞⒟⒠⒡⒢⒣⒤,那就翻譯成首頁㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂。

但是問題來了❻❼❽❾❿⓫⓬⓭⓮⓯⓰,CMS幾乎所有的內容都是用戶可以管理的☧☬☸✡♁✙♆。,、':∶;,比如菜單ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,后臺是可以編輯的ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,頁腳版權所有❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,文字也是可以編輯的❻❼❽❾❿⓫⓬⓭⓮⓯⓰,內容分類更是ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,用戶可以增加自己想要的任何分類信息☧☬☸✡♁✙♆。,、':∶;,所以界面翻譯ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,基本上在CMS里面用不上ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ。

補充一下♀☿☼☀☁☂☄,還是用得上 :)  后臺界面很多是固定的㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,所以完全可以寫死代碼☾☽❄☃,界面翻譯ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,這種就是類似于傳統軟件ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ。

 

2. 菜單如何翻譯ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ?

 

 

一般CMS中☾☽❄☃,這種菜單類的功能都是可以配置的⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,甚至很多頁面都是CMS可以直接建出來的ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,但這部分可以屬于建站部分ⓣⓤⓥⓦⓧⓨⓩ,也可以屬于內容部分⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,嚴格來講㈠㈡㈢㈣㈤㈥㈦,其實這部分不屬于內容部分❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,因為內容只是article和tag之類的❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,菜單等部分屬于建站部分웃유ღ♋♂。

在Drupal里面❣❦❧♡۵,對這類內容起了一個名字㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,叫配置☧☬☸✡♁✙♆。,、':∶;,所有的這些設置⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,包括網站的名字ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ、網站的介紹等等①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,類似于建站部分的工作ⓣⓤⓥⓦⓧⓨⓩ,但是需要翻譯⒜⒝⒞⒟⒠⒡⒢⒣⒤,都叫配置✺ϟ☇♤♧♡♢♠♣♥。

Drupal的核心配置是可以翻譯的ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,因此✺ϟ☇♤♧♡♢♠♣♥,只要生成了一個配置웃유ღ♋♂,這個配置在Drupal里面☈⊙☉℃℉❅,就默認可以翻譯了❣❦❧♡۵。

因此♀☿☼☀☁☂☄,解決了這類配置的翻譯⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,也就是順理成章的實現了菜單的翻譯①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯。

 

 

舉例來說:

1. 全站的配置⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,站名⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓、Logo☈⊙☉℃℉❅、站點說明等㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉。

2. 全站的主菜單⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,和菜單對應的URL웃유ღ♋♂,都要支持翻譯⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ。

3. 我們開發了一個功能☈⊙☉℃℉❅,API讀取淘寶店鋪信息㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,后臺要填寫淘寶店鋪名稱ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ、API Key等信息㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉。

那么新建的這個頁面和后臺頁面都要翻譯的話웃유ღ♋♂,這些配置信息都要可以翻譯⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,所以就是類似的配置翻譯⒜⒝⒞⒟⒠⒡⒢⒣⒤。

 

 

 

3. 內容如何翻譯ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ?

 

內容的翻譯⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,是重中之重ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,那么要實現內容翻譯❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,應該如何架構ⓚⓛⓜⓝⓞⓟⓠⓡⓢ?

Drupal的內容翻譯在內核自帶ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,也就是每一個content❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,默認就有一個語言☾☽❄☃,如果只有一種語言✵✶✷✸✹✺✻✼❄❅,就是默認語言♦☜☞☝✍☚☛☟✌✽✾✿❁❃,如果啟用了多語言⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,那么就有一個語言版本⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯。

1)所有的語言的content id是相同的☧☬☸✡♁✙♆。,、':∶;,所以啟用了多語言加載content的時候⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,需要指定語言版本ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ。

2)同一個content的翻譯的不同語言的版本☧☬☸✡♁✙♆。,、':∶;,做一個記錄⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾。

     所以⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,數據表里面有一個source content✺ϟ☇♤♧♡♢♠♣♥,就是標記是從那個內容翻譯過來的❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣。

 

整體的架構㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,我們可以參考下圖㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,從建站的角度來講♀☿☼☀☁☂☄,配置翻譯是一個核心要點㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,這樣可以讓所有模塊都能兼容多語言⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾。

 

 

另外㈠㈡㈢㈣㈤㈥㈦,想要了解跟過關于CMS管理視頻的產品❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,也可以了解我們的《開源在線視頻教學平臺介紹》⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾。

 

 

1☈⊙☉℃℉❅、常見的CMS平臺比較

2㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂、CMS最基礎的核心功能清單

4✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴、Headless CMS:以API為輸出的內容系統的構建

5ⓣⓤⓥⓦⓧⓨⓩ、基于Drupal的在線教育網站案例

6♦☜☞☝✍☚☛☟✌✽✾✿❁❃、構建英文網站應該用什么框架⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯?

7⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾、外貿網站如何通過SEO和內容引流

8㈠㈡㈢㈣㈤㈥㈦、如何用開源的系統來構建知識庫平臺⑰⑱⑲⑳⓪⓿❶❷❸❹❺?

9ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ、外貿網站如何實現網站多語言版本開發♦☜☞☝✍☚☛☟✌✽✾✿❁❃?

 

德扑之星官网下载 网站地图