python - django搭建中英雙語網(wǎng)站,必須用雙庫(kù)嗎?
問題描述
打算用django做一個(gè)中英文網(wǎng)站。是不是必須建立雙庫(kù)?如果是三語網(wǎng)站呢?另外,針對(duì)導(dǎo)航這些固定信息,有沒有不存數(shù)據(jù)庫(kù)而實(shí)現(xiàn)的方法。
問題解答
回答1:不知道是不是我理解錯(cuò)你的需求了,難道不是應(yīng)該統(tǒng)一保存成英文,然后國(guó)際化嗎?
回答2:數(shù)據(jù)庫(kù)是一個(gè),頁面上要翻譯的地方做i18n
回答3:如果不考慮每國(guó)的網(wǎng)站風(fēng)格及布局問題,需要經(jīng)常性改動(dòng)的建表的時(shí)候一個(gè)中文字段一個(gè)英文字段,不需要經(jīng)常改變的直接在程序里建配置文件
如果考慮風(fēng)格布局等問題,建立不同前端項(xiàng)目
僅供參考
回答4:贊同, 可以考慮使用i18n, 然后把需要翻譯的地方寫在locale里. 具體可以參考 django-oscar 的sandbox
回答5:你查一下:django國(guó)際化和本地化也可以自己實(shí)現(xiàn)一下。大致原理:1、構(gòu)造一個(gè)語言對(duì)應(yīng)字典,比如:lan = {
’login’: { ’cn’: u’登錄’, ’en’: ’Login’, ’xx’: ’xxx’,},
}2、項(xiàng)目里有個(gè)全局的參數(shù)來表示當(dāng)前使用哪個(gè)語言:cn en xx3、py和html(django模板)里通過上面字典來獲取相應(yīng)內(nèi)容。js里就比較蛋疼了:之前想過把js里需要顯示的文字(翻譯后的)先放到html里影藏表單里,然后js加載的時(shí)候去html里獲取。
