Мне нужно как-то "интернационализировать" приложение, написанное на VB6. Это I18n только для нескольких стран, и пользователи знают , что, например, они должны использовать американский десятичный разделитель (.) Вместо запятой (,), например. Сроки также являются большой общей проблемой.
Мой подход при использовании .NET - установить CultureInfo основного потока, когда приложение начинает работать в en-US. Однако в VB6 я не могу этого сделать (насколько я знаю).
Кто-то сталкивался с этой проблемой раньше? Как лучше всего это решить? Простейшим способом из моего POV было бы переопределить региональные настройки пользователя для процесса приложения, но я не знаю, как это сделать в VB6 ...
С уважением,
Żubrówka
-edit-
На этом этапе мне бы хотелось, чтобы у меня был способ переопределить пользовательские региональные настройки, только для моего процесса
-edit2-
Я попробовал это, но это не сработало (мои настройки в pt-PT, десятичный разделитель - запятая, я ожидал получить точку (en-US)):
Private Sub Form_Load()
SetAmerican
Dim caralho As Double
caralho = 1.23
MsgBox (caralho)
Unload Me
End Sub
Declare Function SetThreadLocale Lib "kernel32" (ByVal Locale As Long) As Long
Public Const LANG_EN_US = 1033
Public Sub SetAmerican()
Call SetThreadLocale(LANG_EN_US)
End Sub