日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

纠结于wpf 多国语言方案,希望各位指点-softbar

發布時間:2025/3/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 纠结于wpf 多国语言方案,希望各位指点-softbar 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近糾結于wpf 多國語言處理的問題,先說說找到的以下幾種方案。

1.借用vc的處理方式,編譯完了以后每個語言產生一個dll,分別放在語言文件夾里面,

Wpf 使用dllImport調用win32 api中的loadstring方法提取MUI資源,然后賦值為ui。

微軟自己去判斷該用哪個語言,不用自己操心。

優點:可靠,畢竟那么多地方都這么干的。

缺點:麻煩了點

2. 微軟給出的解決方案,地址如下:

softbar

?http://www.softbar.com/?

其中里面有一句,讓我很失望:

用 XAML 編寫 UI;避免在代碼中創建 UI。當您使用 XAML 創建 UI 時,應通過內置的本地化 API 來對其進行公開。

避免在代碼中創建 UI !!!我的代碼里面確實有創建UI的地方,這個可以避免,但是有時候避免不了。

而且編譯過程太復雜了,我用這里面提供的方法,主語言沒問題,第二語言沒有成功過,也可能是我自己的問題了。

優點:微軟給的,可能比較靠譜

缺點:限制多,也有些麻煩。

3.采用資源引用的方法。

Xaml里面這么寫:

?? <MenuItem ?Header="{DynamicResource MAINWINDOW_HELP}" Name="miHelp" ? Command="Help"/>

資源文件這樣子的:

<s:String x:Key="MAINWINDOW_HELP">Help</s:String>

每個語言一個xaml,然后放在一個類庫項目里面,編譯為dll。

啟動時,獲取操作系統語言,加載相應的xaml,如下:

var threadUICulture = System.Threading.Thread.CurrentThread.CurrentUICulture.Parent;

string language = @"pack://application:,,,/ MUIRes;component/" + threadUICulture.EnglishName + ".xaml";

?? ? ? ? ? ?var currentLanguageResource = App.Current.Resources.MergedDictionaries.FirstOrDefault(o => o.Source.ToString().Contains("Language"));

?? ? ? ? ? ?try

?? ? ? ? ? ?{

?? ? ? ? ? ? ? ?ResourceDictionary resourceDictionary = new ResourceDictionary();

?? ? ? ? ? ? ? ?resourceDictionary.Source = new Uri(language);

?? ? ? ? ? ? ? ?currentLanguageResource.Source = new Uri(language);

?? ? ? ? ? ?}

?? ? ? ? ? ?catch (System.Exception ex)

?? ? ? ? ? ?{

?? ? ? ? ? ? ? ?Debug.Write(ex);

?? ? ? ? ? ? ? ?return;

?? ? ? ? ? ?}

我采用的是第三種辦法,遇到了一個問題:

香港地區,

System.Threading.Thread.CurrentThread.CurrentUICulture 獲取到zh-HK,但是香港是繁體中文,應該是zh-TW, 所以我加了Parent,為:System.Threading.Thread.CurrentThread.CurrentUICulture.Parent 獲取到zh-TW.

如果 做MUI的時候,香港地區的翻譯和臺灣的翻譯不一樣,咋辦?不加Parent?如果一樣呢?

或許可以這么做:如果有zh-HK,就用zh-HK,如果沒有,使用zh-TW,再沒有,就En。

這是目前發現的問題,鬼知道世界上那么多國家和語言,會不會有別的問題?況且這辦法不是微軟推薦的,領導說你能保證沒問題嗎?不敢…..

另外,每增加或刪除一種語言,都要重新編譯資源dll,不可能一個語言建一個項目吧?

不知道第一種方案里面的MUI處理邏輯,如果知道,照著做就放心了。

希望各位指點一下,謝謝。

總結

以上是生活随笔為你收集整理的纠结于wpf 多国语言方案,希望各位指点-softbar的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 青青在线视频观看 | 天天躁日日躁狠狠很躁 | 国产福利一区在线 | 精品午夜一区二区三区 | 97在线观看免费高清 | 男人天堂久久久 | 免费av高清| 亚洲综合涩 | 青娱网电信一区电信二区电信三区 | 成人小视频免费观看 | 成人毛片在线 | 自慰无码一区二区三区 | 羞羞羞网站 | 传媒一区二区 | 久草福利资源在线 | 欧美一区高清 | 精品一区二区三区无码视频 | 午夜精彩视频 | 视色影视 | 欧美群妇大交乱 | 3d动漫啪啪精品一区二区中文字幕 | 久久久久久免费视频 | 国产男女猛烈无遮挡免费视频 | 午夜爽爽影院 | 婷婷九月丁香 | 久热中文字幕 | 亚洲精品.www | 韩国黄色网 | 91日本视频 | 精品黄色片| 又黄又刺激的视频 | 日本人添下边视频免费 | 国产图区 | 久久一区二区电影 | 污网址在线观看 | 黄色大片免费的 | 亚洲欧洲国产日韩 | 未满十八岁勿进 | 国产亚洲电影 | 日本美女性生活视频 | 久久久永久久久人妻精品麻豆 | 国产主播精品 | 九九久久99| 精品欧美一区二区久久久久 | 第一章豪妇荡乳黄淑珍 | 丰满双乳秘书被老板狂揉捏 | 男女那个视频 | 国产女人18毛片水真多 | 一级爱爱片 | 大桥未久av一区二区三区中文 | 午夜影院网站 | 一区二区三区爱爱 | 中文字幕人妻一区二 | 亚洲综合图片一区 | 91av视频在线免费观看 | 一本色道久久综合无码人妻 | 在线观看免费日韩av | 久久久无码精品亚洲国产 | 国产免费a级片 | 亚洲av日韩av高潮潮喷无码 | 久久人人爽人人爽人人片亚洲 | 亚洲天堂自拍 | 中文字幕在线观 | 在线观看欧美一区二区三区 | 久久亚洲影院 | 国产一区二区久久久 | av av在线| 中文字幕五区 | www,久久久 | 亚洲欧美变态另类丝袜第一区 | 欧美日韩国产免费一区二区三区 | 草久久av | 91黄在线观看 | 天天操免费视频 | 97人妻精品一区二区三区免 | 欧美毛茸茸 | 在线观看国产欧美 | 亚洲综合五月 | 日日日日日日bbbbbb | 西西44rtwww国产精品 | 亚洲乱码一区 | 成人午夜毛片 | 九色丨蝌蚪丨成人 | 国产尤物网站 | 黄色网页网站 | 天天爽影院 | 免费看的av网站 | 四虎影城库 | 91精品视频网 | 亚洲欧美在线视频 | 黄色网战在线观看 | 在线亚洲综合 | 成人免费高清 | 男人的天堂av网站 | 久久精品国产亚洲AV熟女 | 亚洲天堂中文 | 又色又爽又黄gif动态图 | av一区二区三区四区 | 三级黄色片网站 |