抽象出語言幫助類,作為中介軟體,實現類思路如下:
public static class multilanguagesupport //靜態多語言支援類
private static string _keyculture, _alternativeculture;
private static dictionary> _resdic;//語言字典
private static list_culturetable; //所有支援語種
///
/// 新增區域資源描述,
/// 這裡將把key和culture都轉換為小寫並在以後的比較中忽略大小寫
///
/// 語言資源集合
/// 資源主鍵語言
/// 備用語言,如果非資源主鍵語言的其它語言找不到資源,則使用備用語言繼續查詢
public static void setresource(ienumerableresources, string keyculture, string alternatvieculture = null)
///
/// 獲取區域資源描述,未找到返回null,
///
/// 語言區域名稱
/// 訪問主鍵
///
public static string getresource(string culturename, string key)
使用時先初始化:
var table = cultureservice.getculturetable();
var ress = cultureservice.getcultureresources(isibsystem ? "ib" : "office");
multilanguagesupport.setculturetable(table);
multilanguagesupport.setresource(ress, "zh-cn", "en");
getcultureresources 和 setculturetable從資料庫持久層獲取。執行緒語言型別可用:thread.currentthread.currentuiculture.name 獲取 一般值==zh-cn
使用時通過二次封裝public static string getresource(string culturename, string key) 呼叫
簡單的文字少的固定的系統直接用就可以,例如erp,cms,但是如果是**的話,這種方式就不太合適了,因為**需要大塊文字替換,需要結合layout,viewengine動態生成不同語言的後台頁面
WPF 多語言實現
原文 wpf 多語言實現 很多國際化的程式都提供了多語言的選項,這樣方便不同國家的使用者更方便的使用軟體。這篇部落格中將介紹在wpf中實現多語言的方式。方式一,使用wpf動態資源的方式實現。先簡單介紹下staticresource和dynamicresource,這兩者的區別在於動態資源改變後會實時...
WPF 多語言實現
原文 wpf 多語言實現 很多國際化的程式都提供了多語言的選項,這樣方便不同國家的使用者更方便的使用軟體。這篇部落格中將介紹在wpf中實現多語言的方式。方式一,使用wpf動態資源的方式實現。先簡單介紹下staticresource和dynamicresource,這兩者的區別在於動態資源改變後會實時...
WPF 多語言實現
很多國際化的程式都提供了多語言的選項,這樣方便不同國家的使用者更方便的使用軟體。這篇部落格中將介紹在wpf中實現多語言的方式。方式一,使用wpf動態資源的方式實現。先簡單介紹下staticresource和dynamicresource,這兩者的區別在於動態資源改變後會實時的體現出來,而靜態資源只載...