c 的erp多語言實現思路框架

2021-09-29 04:48:49 字數 1296 閱讀 9500

抽象出語言幫助類,作為中介軟體,實現類思路如下:   

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,這兩者的區別在於動態資源改變後會實時的體現出來,而靜態資源只載...