Mikael,
We have our own classes for error messages and other messages. The classes
has all string definitions in Arrays and using public constants for the
array elements.
Something like this:
Set oMsg = New MessageObject
oMsg.Display sLang, ID_MSGTXT_NAMEMISSING, ID_MSGCAPT_ALERT
-----------------
Public Sub Display(sLng As String, nMsg As Long, nCaption as Long) ' In the
Class
If sLng = "SVE" Then
sTxt = aSETxt(nMsg)
sCaption = aSECap(nCaption)
Else
sTxt = aENTxt(nMsg)
sCaption = aENCap(nCaption)
End If
MsgBox sTxt, vbInformation, sCaption
End Sub
This is quite similar to using String Resources in DLL files in more low
level dev tools for internationalized applications. There you reference all
strings by numeric constants. Load the appropriate language Resource and
referense the strings by the same numeric constants as used in the Resource.
When we use Win Api calls that fails we usually call Win API's to get the
correct error message in the same language as the OS.