推 MOONRAKER:贊 08/21 15:22
※ 引述《KawasumiMai (モウソウ×ボウソウ)》之銘言:
: 簡單的說,多國語系的問題
: Form1選擇Localizable跟Language之後
: 除了原有的Form1.resx以外
: 另外產生了Form1.zh.resx
: 除了修改表單內容以外
: 因為有msgbox所以想要自訂string
: 那麼,在Form1.vb底下的Form1.zh.resx裡面的字串stringname
: 要怎樣來呼叫他?
請參考:http://www.dotblogs.com.tw/larrynung/archive/2009/04/24/8158.aspx
你語系切過去之後就會抓對應的資源檔下的變數
題外話:之前我是直接點兩下修改 .resx的內容,後來發現當我做了與資源檔
有關的修改之後那些先前所做的修改都會被洗掉,所以如果要這樣做
可能要把新增內容的動作放在程式碼中(例如Form_Load)。
用資源檔的方式好處是可以獨立調整各種語言所用的介面配置,但這
也有個缺點就是一旦動到某語系底下的配置,該物件往後都會與預設
語言的配置脫勾,所以要調整介面時就得對一種語言要調一次。
最後我跑去用XML的方式了
: 網路上的範例都只有擺在外層的Resource
: 此外,這個呼叫法是否會依據語系
: 自動選擇呼叫Form1.zh.resx還是Form1.resx裡面的stringname?
: 還是要另外判斷語系?
要
除了上面那個「點部落」之外,另外兩個網站給你參考
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吧?感覺很麻煩的樣子
同你的問題一,語系切換時會自動抓對應的變數
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.36.229