首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET MVC 多語言方案總覽:資料層與介面層雙軌並行

     編輯:關於ASP.NET

實務專案中多語言處理分為資料多語言與介面多語言兩層面,本文分享資料層雙軌制設計經驗。

資料多語言兩種策略

策略 A:多筆資料 + 語言欄位

適用於文章、產品描述等大量文字內容。每筆資料含 Language 欄位標識語言,查詢時篩選對應語言。

策略 B:單筆資料 + XML 欄位儲存多語言

適用於標題、公告等短字串。單一資料列以 XML 結構儲存多語言:

<ML V="1.0">
  <M L="zh-CN">中文</M>
  <M L="en">English</M>
  <M L="ja">日本語</M>
</ML>

資料表結構圖

SQL Server XML 查詢語法

操作XQuery 語法
取值欄位名.value('(/ML/M[@L="zh-CN"])[1]', 'nvarchar(max)')
取節點欄位名.query('/ML/M[@L="en"]')
判斷存在欄位名.exist('/ML/M[@L="zh-CN"]')
排序先取值再 ORDER BY

處理流程架構

多語言處理流程

  1. 前端傳遞語言代碼
  2. Service 層依語言代碼組裝 XQuery
  3. Repository 執行查詢回傳強型別實體
  4. Controller 回傳視圖或 JSON

此設計相容舊系統 XML 欄位,且查詢效能優於多表 JOIN 方案。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved