【问题标题】:What are VB6 localization support binaries for?VB6 本地化支持二进制文件有什么用?
【发布时间】:2016-09-16 13:33:17
【问题描述】:

在文件Support Statement for Visual Basic 6.0 on Windows... 中声明:

本地化支持二进制文件

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

例如,mfc42jpn.dll 用于日本,mfc42ita.dll 用于意大利等。

但这些本地化文件实际上有什么作用?为什么需要包含它们?

多年来,我们一直在国际上发布软件,但不包括这些文件,而且,AFAIK,没有人因此而遇到任何问题。

【问题讨论】:

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

标签: localization vb6


【解决方案1】:

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

AFAIK、布尔值的隐式和旧式转换(例如Str$())始终使用美国英语(Invariant Locale),但适当的显式转换操作(例如CStr())将使用 OLE当前会话区域设置的转换。那里不涉及这些附属 DLL。也可以直接调用 OLE 格式化函数,传递特定的 LCID。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 2011-07-29
    相关资源
    最近更新 更多