※ 引述《KawasumiMai (モウソウ×ボウソウ)》之銘言:
: 完全了解你說的部份了
: 為了這個還曾經把原本新增的東西重打一次
: 真的是有夠血淚的
: 後來就學著把resx獨立出來
: 而不要掛在Form的語系resx裡面了
發現整個要重打真的很令人崩潰
更慘的是我還不知道要怎麼獨立一個resx出來,囧
翻了一下自己之前的發問文發現已經是2010年的文章了...
: 目前已經完成msgbox的語系對應
: 判定方法是Thread.CurrentThread.CurrentUICulture.ToString.Substring(0, 2)
有點好奇為什麼會需要這個判斷呢?如果跟著點部落的作法來做的話,只要在
預設語系以及新增語系的資源檔中都有一共同名稱之變數即可,程式啟動時會
自己抓對應的語系下的變數,你會這樣做不知道跟你是用獨立的resx有沒有關係?
還是說你是想要讓所有zh開頭的語系像是zh-Hant等等都指向使用正體中文這樣?
: 希望可以抓出國籍以外的語系就好,而且以使用者介面而非地區為準
: 現在有個很大的問題
: 明明設定localizable了
: 而且設定language之後就分別設定語言
: 但是反而介面的語系判定有很大的問題
: 換句話說,丟給別人的中文Windows卻無法正確顯示繁體中文台灣的介面
: 有什麼問題作錯嗎?
怎麼個無法正確顯示法?一片空白嗎?
你可以在載入表單時讓程式印出他所使用的CurrentUICulture看看
我記得程式啟動時會抓對應的語言,萬一沒有找到就會用Default
還有如果程式給別人,記得要附上該語系的資料夾(如debug下的zh-TW資料夾)
: 還是如前面所說,因為實在太難搞了,所以建議直接跟著獨立resx宣告?
: 得要一個一個設定text之類的?
: 這樣的情況是正確的嗎?
這段我看不大懂,不過我遇上的問題就如前文所述,將msgbox的內文加入至資源檔
後,只要對該介面有任何的變動那些變數都會被洗掉,最後處理方式是直接在主程
式空白處插入標籤,並將其設定為不可見,這樣不管新增幾種語言,都會有一組對
應的標籤可供修改,而且所有要改的東西都在上面,不用另外去檢查資源檔。
壞處嘛....要找程式空白處來塞這些標籤也不大容易,另外開個表單的話應該就好辦
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.36.229