------------------------------------------ 嗯,到了最后,便是调用了……注意,下面出现的代码都是偶自己写的……大家完全没有必要照偶的方式做…… Imports GNU.Gettext Public Class lh lh = language Helper Public Shared catalog As GettextResourceManager Public Shared Sub init(ByVal name As String, ByVal dictpath As String) catalog = New GettextResourceManager(name, dictpath) End Sub End Class 在Global.asax的Application Start中调用一下: lh.initcate("blogwind", Server.MapPath("langs")) 恩,这样子,他便会去网站根目录下langs目录寻找他需要的各种语言dll了……当然,blogwind这个类名及langs这个目录能随意改成别的…… 最先偶写到的那个ph.g(..)函数其实是: Public Function g(ByVal word As String) As String Dim cu As New System.Globalization.CultureInfo(langs.getLangString(Me.lang)) Return lh.catalog.GetString(word, cu) End Function ph是pagehelper……呃……我知道,我起类名非常规范……总之,我在pagehelper里面还自己保存了当前浏览者的语言信息放在langs / pagehelper里面……通过: Dim cu As New System.Globalization.CultureInfo(langs.getLangString(Me.lang)) 来获得相应的CultureInfo,再传给Gettext…… 比方说,语系是zh-CHS,待寻找翻译的word是“编写网志”,Gettext便会去webroot/langs/zh-CHS目录中寻找blogwind.resources.dll这文件……找到了,便Load他,再寻找"编写网志"等等…… 因为这些翻译的dll是动态读取的…… 其实完万能做到让程式在app_start中自动去遍历langs中的子目录,看看都有哪些语系……然后自动生成一个菜单在网页中供用户选择……以后添加语言,其实就简单到往这个目录中建立目录扔dll了……程式本身,丝毫不必做所有修改……