Visual_Basic 板


LINE

※ 引述《Cypresslin (啊哈哈~~)》之銘言: 感謝大大的回應 目前軟體已經大致完成了 解決的方法就是自己獨立一個resx這樣 : 發現整個要重打真的很令人崩潰 : 更慘的是我還不知道要怎麼獨立一個resx出來,囧 : 翻了一下自己之前的發問文發現已經是2010年的文章了... 第一個問題在於,不管新增什麼字串在Form1.resx裡面 只要變更了裡面元件的屬性,就算是text也一樣 為了重編resx,他會把新增的部分全部刪除的 因此才會選擇把resx給獨立出來 方法是新增項目,然後選擇資源檔 多出一個resx之後,重新命名(不能有"."符號) resx = New Resources.ResourceManager("WindowsApplication1.lang_zh", Me.GetType().Assembly) 假設你的程式識別名稱叫做WindowsApplication1 新增的資源檔叫做lang_zh.resx 那麼只要這行程式碼就可以宣告吃哪個resx 接著resx.GetString("String1") 就是資源檔裡面的String1項目的內容 : 有點好奇為什麼會需要這個判斷呢?如果跟著點部落的作法來做的話,只要在 : 預設語系以及新增語系的資源檔中都有一共同名稱之變數即可,程式啟動時會 : 自己抓對應的語系下的變數,你會這樣做不知道跟你是用獨立的resx有沒有關係? : 還是說你是想要讓所有zh開頭的語系像是zh-Hant等等都指向使用正體中文這樣? 是的,會使用Substring的原因 就是想要讓zh等等的都使用正體中文 此外的確是跟獨立resx有關係 原因後述 總之這裡的程式碼是 If(Thread.CurrentThread.CurrentUICulture.ToString.Substring(0, 2) = "zh")Then resx = New Resources.ResourceManager("WindowsApplication.lang_zh", Me.GetType().Assembly) Else resx = New Resources.ResourceManager("WindowsApplication.lang_ja", Me.GetType().Assembly) End If : 怎麼個無法正確顯示法?一片空白嗎? : 你可以在載入表單時讓程式印出他所使用的CurrentUICulture看看 : 我記得程式啟動時會抓對應的語言,萬一沒有找到就會用Default : 還有如果程式給別人,記得要附上該語系的資料夾(如debug下的zh-TW資料夾) 這裡是原因,VS設定的多語系介面真的非常麻煩 就算使用Localizable並且設定language了 不知道因為他判定的標準是CurrentCulture而非CurrentUICulture還是怎樣 (一個是地區,一個是使用語言) 我的預設值是日文,只有繁體中文會用繁體 先別管一開始設定在zh而非zh-TW,結果抓語系出現一堆錯誤以外 就算獨立出resx 留下介面的部分使用language切換製作 但是做好的程式丟給中文版XP的使用者 還是回報使用預設值(日文) 而且msgbox(CurrentUICulture)的結果也跟我說zh-TW 因此這個判定非常的麻煩 再加上每次只要更新之後,就得切換介面然後去找內容修改 而且跟前面所說的一樣,只要修改過就會把新增的給砍掉 最後一氣之下就直接把Form1.zh_TW.resx給砍掉了 直接新增lang_zh.resx自己寫 : 這段我看不大懂,不過我遇上的問題就如前文所述,將msgbox的內文加入至資源檔 : 後,只要對該介面有任何的變動那些變數都會被洗掉,最後處理方式是直接在主程 : 式空白處插入標籤,並將其設定為不可見,這樣不管新增幾種語言,都會有一組對 : 應的標籤可供修改,而且所有要改的東西都在上面,不用另外去檢查資源檔。 : 壞處嘛....要找程式空白處來塞這些標籤也不大容易,另外開個表單的話應該就好辦 我的作法是前面這樣 使用CurrentUICulture判定抓取lang_zh.resx或lang_ja.resx之後 這兩個資源檔裡面有著完全一樣的字串名稱 例如 lang_zh.resx String1 這是中文 lang_ja.resx String1 これは日本語 然後只要跟前面一樣,判定CurrentUICulture之後 後面的程式碼則是類似 Text1.text=resx.GetString("String1") 就會自動切換語系抓取了 缺點是 因為已經放棄依賴language的判定了,目前的程式只有預設值介面 然後Form1_load裡面則會執行所有介面元件的文字指定 Text1.text=resx.GetString("String1") Text2.text=resx.GetString("String2") 這樣.. 感覺整個就很落落長 不過只有需要依據語系判定的內容才要重新宣告 有些像是英文或是符號的,就直接讓他保留預設值 所以其實也還好 優點則是 只要在判定CurrentUICulture之前 加上一行 Thread.CurrentThread.CurrentUICulture = New CultureInfo("zh-tw") 就可以很輕鬆的,直接測試中文語系的執行情況是否正常 而不需要丟給別人測試 或是自己切換中文語系之類的 非常方便 == 順帶一提 上面這種方法製作好的軟體,不會產生任何語系dll 就結論來說 個人一定會選擇將resx全部獨立出來 至於Form1.resx就不管他去死了...... --     「問おう、貴方が私のマスターか。」   http://i.imgur.com/zIIBo.jpg --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.201.210 ※ 編輯: KawasumiMai 來自: 61.62.201.210 (08/22 18:01)
1F:→ Cypresslin:請問關於新增resx是在 專案->加入新項目嗎? 08/23 09:43
2F:→ KawasumiMai:是的,裡面會看到能夠新增資源檔 08/23 11:11
3F:→ KawasumiMai:而且獨立出來之後以後還可能可以選擇既有resx匯入 08/23 11:12
4F:→ Cypresslin:唔...我的沒有 怪哉 http://ppt.cc/-rgU 有啥要設定嗎 08/23 11:45
5F:→ KawasumiMai:沒有耶,剛開始就可以了,在下是Win7+VS 2010 08/23 16:57
6F:→ KawasumiMai:http://i.imgur.com/hclgc.png 看圖案好像真的沒有 08/23 16:57
7F:→ KawasumiMai:不然你可以試著將資料夾內的Form1.resx複製之後 08/23 16:57
8F:→ KawasumiMai:重新命名並且匯入看看能不能用,應該是可以吃才對 08/23 16:58
9F:→ Cypresslin:嗯...謝謝 有機會再來試試看 08/24 21:25







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP