※ 引述《Cypresslin (啊哈哈~~)》之銘言:
: 請參考:http://www.dotblogs.com.tw/larrynung/archive/2009/04/24/8158.aspx
: 你語系切過去之後就會抓對應的資源檔下的變數
: 題外話:之前我是直接點兩下修改 .resx的內容,後來發現當我做了與資源檔
: 有關的修改之後那些先前所做的修改都會被洗掉,所以如果要這樣做
: 可能要把新增內容的動作放在程式碼中(例如Form_Load)。
: 用資源檔的方式好處是可以獨立調整各種語言所用的介面配置,但這
: 也有個缺點就是一旦動到某語系底下的配置,該物件往後都會與預設
: 語言的配置脫勾,所以要調整介面時就得對一種語言要調一次。
: 最後我跑去用XML的方式了
完全了解你說的部份了
為了這個還曾經把原本新增的東西重打一次
真的是有夠血淚的
後來就學著把resx獨立出來
而不要掛在Form的語系resx裡面了
: 要
: 除了上面那個「點部落」之外,另外兩個網站給你參考
: http://www.dotnetcurry.com/ShowArticle.aspx?ID=174
: http://www.vb-helper.com/howto_net_localize.html
: : ==
: : 最後,如果字串中間想要夾變數
: : 像是msgbox("123" & a & "456")
: : 那麼存入resx的活用方式是?
: : 應該不能將string直接套用進去對吧?
: : 需要讀入兩串string然後加在一起?
: : 還是利用符號作索引,讀入之後先replace成變數插入
: : 然後再輸出成msgbox吧?感覺很麻煩的樣子
: 同你的問題一,語系切換時會自動抓對應的變數
目前已經完成msgbox的語系對應
判定方法是Thread.CurrentThread.CurrentUICulture.ToString.Substring(0, 2)
希望可以抓出國籍以外的語系就好,而且以使用者介面而非地區為準
現在有個很大的問題
明明設定localizable了
而且設定language之後就分別設定語言
但是反而介面的語系判定有很大的問題
換句話說,丟給別人的中文Windows卻無法正確顯示繁體中文台灣的介面
有什麼問題作錯嗎?
還是如前面所說,因為實在太難搞了,所以建議直接跟著獨立resx宣告?
得要一個一個設定text之類的?
這樣的情況是正確的嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 27.105.52.36
※ 編輯: KawasumiMai 來自: 27.105.52.36 (08/22 10:28)