2010-01-22 45 views
1

我即將開始翻譯我的vb.net應用程序,並且我不想使用Visual Studio提供的默認方法來執行此操作。我需要我的應用程序非常輕巧,並且使用資源選項的容量幾乎增加了一倍。VB.Net中的國際化:選擇正確的結構類型

因此,我打算使用一些類似於某個類的東西,其中每個語言都有一個實例。由於我不想將語言文件作爲單獨的文件分發(我寧願讓它們使用硬編碼),我希望找到一種簡單的方法來檢查類的每個字段是否已初始化。我在想的東西像一個界面,在這裏我會做這樣的事情:

Public Interface Language 
    Dim HelloMsg As String 
    Dim GoodbyeMsg As String 
End Interface 

Public class English Implements Language 
    HelloMsg = "Hello!" 
    GoodbyeMsg = "Goodbye!" 
End Class 

這顯然不這樣做(雖然我可以使用屬性,而不是增值經銷商)以正確的方式,但我想知道是否是讓編譯器檢查一切都已翻譯並警告它的方法,否則。

無論如何,也許有更好的方法來處理這個問題?

非常感謝! CFP。

回答

0

我決定使用一個加載翻譯文件的單例類,使用一種循環遍歷表單上的所有項目和即時翻譯的方法。有關更多詳細信息,請參閱Create Synchronicity源代碼(更具體地說,是this code file

CFP。

+0

儘管此方法不允許自動檢查未翻譯的字符串。 – 2010-02-20 13:10:48

1

我不相信你應該拋棄基於資源的本地化方法,只是因爲你的應用程序的規模已經擴大。事實上,它可能已經從100Kb增長到200Kb,但是就是這樣!它不會增長得更多。現在沒有什麼200 Kb了。

所以我的建議是重新考慮和走基於資源的路線。

+1

我當然可以,但對我來說,增加我的應用程序的大小並不是真正的選擇...... 無論如何,我不太喜歡基於資源的本地化選項。他們覺得尺寸過大,而且對我來說效率很低,特別是如果它們使得在沒有Visual Studio的情況下編輯代碼變得非常複雜。 你有沒有這個功能我可以如何管理的想法? – 2010-01-22 15:46:07