1
和平就在你身上!VBScript國際化準則/最佳實踐
我一直在努力國際化,我想要VBScript的準則。 Java和JavaScript有很多材料,但經過對VBS的廣泛研究之後,除了格式化,formatDate等的一些功能以及沒有最佳實踐/指導原則之外,我找不到任何東西。
我該怎麼辦?
和平就在你身上!VBScript國際化準則/最佳實踐
我一直在努力國際化,我想要VBScript的準則。 Java和JavaScript有很多材料,但經過對VBS的廣泛研究之後,除了格式化,formatDate等的一些功能以及沒有最佳實踐/指導原則之外,我找不到任何東西。
我該怎麼辦?
其中一個重要的事情是使用已存在的內容,例如,您可以使用GetLocaleInfo
API。
事情是這樣的代碼:
' 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 Sub
由於發現here
更一般情況下,我沒有太多的經驗,對VBS國際化,但你可以找到一些靈感here
好,該API包含特定於語言環境的功能。讓我們看看它可以做些什麼.. 謝謝 –
WJK對你在VB Helpder上提到的鏈接的評論,有一些很棒的提示。感謝您的研究。 和平在你身上!保重=) –