Localization VB6本地化支持二进制文件的用途是什么?

Localization VB6本地化支持二进制文件的用途是什么?,localization,vb6,Localization,Vb6,该文件指出: 本地化支持二进制文件 以下二进制文件是支持Visual Basic 6.0所必需的 在本地化版本的Windows操作系统上运行的应用程序 系统。它们受支持,但不在Windows中提供。这些文件 需要随应用程序设置一起提供 例如,日本需要mfc42jpn.dll,意大利需要mfc42ita.dll,等等 但是这些本地化文件实际上是做什么的呢?为什么需要包括它们 多年来,我们一直在国际上发布软件,但没有包含这些文件,而且,据我所知,没有人因此而出现任何问题。这些是卫星DLL,包含各种语

该文件指出:

本地化支持二进制文件

以下二进制文件是支持Visual Basic 6.0所必需的 在本地化版本的Windows操作系统上运行的应用程序 系统。它们受支持,但不在Windows中提供。这些文件 需要随应用程序设置一起提供

例如,日本需要
mfc42jpn.dll
,意大利需要
mfc42ita.dll
,等等

但是这些本地化文件实际上是做什么的呢?为什么需要包括它们


多年来,我们一直在国际上发布软件,但没有包含这些文件,而且,据我所知,没有人因此而出现任何问题。

这些是卫星DLL,包含各种语言的字符串资源,用于OCX和它们对应的DLL。大多数情况下,这些都是异常描述文本值,或其他文本值,具体取决于所涉及的控件。我想它们也可能包含帮助字符串值,例如在设计时在IDE的对象浏览器中显示


布尔值的AIK、隐式和旧式转换(例如,
Str$()
)始终使用美式英语(不变区域设置),但适当的显式转换操作(例如,
CStr()
)将使用当前会话区域设置的OLE转换。这些卫星DLL不在其中。也可以直接调用OLE格式化函数,传递特定的LCID。

这些是附属DLL,包含各种语言的字符串资源,用于对应的OCX和DLL。大多数情况下,这些都是异常描述文本值,或其他文本值,具体取决于所涉及的控件。我想它们也可能包含帮助字符串值,例如在设计时在IDE的对象浏览器中显示


布尔值的AIK、隐式和旧式转换(例如,
Str$()
)始终使用美式英语(不变区域设置),但适当的显式转换操作(例如,
CStr()
)将使用当前会话区域设置的OLE转换。这些卫星DLL不在其中。也可以直接调用OLE格式化函数,传递特定的LCID。

请参阅有关从何处实际获取这些二进制文件的相关问题。我没有时间检查,但它们包含翻译。因此,如果您提供日语文件,您的日语用户将从VB6运行时看到一些日语文本。例如,如果将
True
隐式转换为字符串,则表示“True”的将是日语,而不是英语。如果您没有提供日文文件(并且如果该文件尚未安装在用户的PC上),则该文件的英文版本为“True”。因此,这取决于您的代码是否有任何区别。事实上,如果您确实提供了这些文件,它甚至可能会暴露错误:我在遗留代码从布尔值构建SQL字符串时看到了这一点。请参阅有关实际从何处获取这些二进制文件的相关问题。我没有时间检查,但它们包含翻译。因此,如果您提供日语文件,您的日语用户将从VB6运行时看到一些日语文本。例如,如果将
True
隐式转换为字符串,则表示“True”的将是日语,而不是英语。如果您没有提供日文文件(并且如果该文件尚未安装在用户的PC上),则该文件的英文版本为“True”。因此,这取决于您的代码是否有任何区别。事实上,如果您发送文件,它甚至可能会暴露bug:我在遗留代码从布尔值构建SQL字符串时看到过这一点。