1:數據的多語言:
在QBlog裡,數據的多語言,我是分成兩種方案一起處理:
A:多條數據,文章數據,用一個語言字段來標識該條數據為何種語言。
B:對於其它數據,標題,公告等,用一個[#LangSplit]標識來分隔前後兩種語言。
不過現在的方案有點不同,看如下圖:
看到大量的Xml字段了吧,這就是上一個項目繼承而來的精華,在項目裡動不了事實存在。
關於表名和字段命名方式,走的是國際范,大伙不要學。
針對Xml,需要有一小套處理方案:
數據庫以Xml字段存檔多語言,格式為: <ML V="1.0"> <M L="zh-cn">中文</M> <M L="en">English</M> <M L="..">其它語言</M> </ML>
然後針對這種存檔,需要有相應的處理:
SQL:查詢語法為:
取值:字段名.value('(/ML/M[@L="zh-cn"])[1]','nvarchar(max)')
取節點:字段名.query('/ML/M[@L="en"]')
判斷:字段名.exists('/ML/M[@L="zh-cn"]')
排序:用取值後的字段名進行排序
處理流程大體如下: