ResourceProvider 多語言實現

2021-05-21 18:28:26 字數 1115 閱讀 3716

1. 在在web.config定義特定的culture和uiculture, 如果應用自定義resource prodiver的話, 加上resourceprovide***ctorytype的設定:

如:culture和uiculture也可以設定成auto, 這樣就會取瀏覽器首選區域設定, dbresourceprovide***ctory為provider factory類的命名空間加上類名, common 則為dll的名字。**就不作詳解!

2. 執行中更改語言類別。對瀏覽器首選語言區域的檢測是在頁面什麼週期早期, 可以在basepage基類中overirde initializeculture, 並且修改thread.currentthread.currentuiculture和thread.currentthread.currentculture。 如:

3. 可以在後台也可以在頁面上直接呼叫資源

- 後台方法呼叫: getlocalresourceobject 或 getglobalresourceobject,

- 直接在頁面有兩種方法: 隱式和顯式, 下面簡單說說他們倆的區別。

a. 呼叫方法不同

顯示表示式:

呼叫全域性資源 " runat="server">, 其中riskcommon是resource type欄位, ltrriskstatus是resource key

呼叫本地資源">

隱式表示式:

呼叫本地資源

b. 隱式表示式只可以呼叫本地資源

c. 隱式表示式儲存值方式不一樣, 在database裡面如lblprovidertype.text是text屬性的resource key。當然也可以配置其他屬性, 如visible的resource key 是lblprovidertype.visible

d. 隱式表示式是通過resourcereader去取資源的, 也就是說會一次把該resource type下的所有資源一次拿出來, 更有利於效能。而顯式表示式是一條一條取的。(通過驗證, 隱式表示式還是會乙個乙個跑一次)

e. 隱式表示式通過resource provider取不到值時會用預設值, 如上例中的text="default value", 而顯式表示式會有編譯錯誤(有點煩)。

注意:如果只是為了顯示值,請使用控制項

WPF 多語言實現

原文 wpf 多語言實現 很多國際化的程式都提供了多語言的選項,這樣方便不同國家的使用者更方便的使用軟體。這篇部落格中將介紹在wpf中實現多語言的方式。方式一,使用wpf動態資源的方式實現。先簡單介紹下staticresource和dynamicresource,這兩者的區別在於動態資源改變後會實時...

WPF 多語言實現

原文 wpf 多語言實現 很多國際化的程式都提供了多語言的選項,這樣方便不同國家的使用者更方便的使用軟體。這篇部落格中將介紹在wpf中實現多語言的方式。方式一,使用wpf動態資源的方式實現。先簡單介紹下staticresource和dynamicresource,這兩者的區別在於動態資源改變後會實時...

Flutter多語言實踐

flutter的多語言文件 英文版 中文版簡單來講,流程圖如下 簡單講一下整個流程 string order list waiting for review intl.message waiting for the review name order list waiting for review ...