2016-09-16 4 views
0

В документе Support Statement for Visual Basic 6.0 on Windows... говорится:Что такое бинарные файлы поддержки локализации VB6?

Локализация Бинарные Поддержка

следующие двоичные файлы необходимы для поддержки 6.0 приложений Visual Basic, работающих на локализованных версиях Windows, операционная система . Они поддерживаются, но не поставляются в Windows. Эти файлы обязательны для заполнения, которые будут отправлены с настройкой вашего приложения.

Например, mfc42jpn.dll требуется для Японии, mfc42ita.dll для Италии и т.д.

Но что эти файлы локализации на самом деле? Зачем их нужно включать?

Мы поставляем программное обеспечение на международном уровне в течение многих лет, не включая эти файлы, и, AFAIK, у него не было никаких проблем из-за этого.

+0

См. Соответствующий вопрос http://stackoverflow.com/questions/39518024/where-to-get-vb6-localization-support-binaries о том, где можно получить эти двоичные файлы. – DaveInCaz

+1

У меня нет времени на проверку, но AFAICR содержат переводы. Поэтому, если вы отправляете японский файл, ваши японские пользователи будут видеть японский язык для некоторого текста из среды выполнения VB6. Например, если вы неявно конвертируете 'True' в строку, это будет японский язык для« True », а не для английского. Если вы не отправляете японский файл (и если файл еще не установлен на ПК пользователя), это будет английский «True». Так что это зависит от вашего кода, не имеет значения. На самом деле это может даже выставить ошибки, если вы отправляете файлы: я видел это, когда устаревший код строит строки SQL из Booleans. – MarkJ

ответ

2

Это спутниковые библиотеки DLL, содержащие строковые ресурсы на разных языках для OCX и DLL, которым они соответствуют. По большей части это текстовые значения описания исключений или другие текстовые значения здесь и там в зависимости от задействованного элемента управления. Я полагаю, что они также могут содержать значения строки справки, также отображаемые, например, в средстве просмотра объектов IDE во время разработки.

AFAIK, неявный и преобразование старого стиля (например, Str$()) булевых значений всегда использовать американский английский (The Инвариантной Locale), но соответствующие операции явного преобразования (например, CStr()) будут использовать преобразование OLE с текущей сессией локала. Эти спутниковые библиотеки DLL там не задействованы. Также можно напрямую ссылаться на функции форматирования OLE, передавая конкретные идентификаторы LCID.

Смежные вопросы