愿平安降临于你们所有人!
我一直致力于国际化工作,我想要VBScript的指导方针。关于Java和JavaScript的资料很多,但在对VBS进行了广泛的研究后,除了格式、formatDate等一些零碎的功能之外,我什么也找不到,也没有最佳实践/指南。
我该怎么办?
发布于 2011-09-07 17:57:55
其中一个重要的事情是使用已经存在的东西,例如,您可以使用GetLocaleInfo应用程序接口。
类似于下面的代码:
' Return a piece of locale information.
Private Function LocaleInfo(ByVal locale As Long, ByVal _
lc_type As Long) As String
Dim length As Long
Dim buf As String * 1024
length = GetLocaleInfo(locale, lc_type, buf, Len(buf))
LocaleInfo = Left$(buf, length - 1)
End Function
Private Sub Form_Load()
Dim locale_id As Long
'...
locale_id = GetUserDefaultLCID()
' Load the values.
' Country.
AddRow "Country"
AddRow "Abbreviated Country Name", _
LocaleInfo(locale_id, LOCALE_SABBREVCTRYNAME)
AddRow "Native Name of Country", LocaleInfo(locale_id, _
LOCALE_SNATIVECTRYNAME)
'...
End Sub
' Add a row to the FlexGrid. If the second parameter
' is missing, color the row as a header.
Private Sub AddRow(ByVal item_name As String, Optional _
ByVal item_value As Variant)
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 0) = _
item_name
If IsMissing(item_value) Then
MSFlexGrid1.Row = MSFlexGrid1.Rows - 1
MSFlexGrid1.Col = 0
MSFlexGrid1.CellBackColor = _
MSFlexGrid1.BackColorFixed
MSFlexGrid1.Col = 1
MSFlexGrid1.CellBackColor = _
MSFlexGrid1.BackColorFixed
Else
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = _
item_value
End If
End SubAs found here
一般来说,我在VBS国际化方面没有太多经验,但你可以在here上找到一些灵感。
https://stackoverflow.com/questions/7330400
复制相似问题