lotus-notes - Lotus Notes/LotusScript - 如何用德语而不是英语设置日期?

标签 lotus-notes lotus-domino lotusscript

我正在编写向用户发送邮件的代码。邮件文本包含日期。虽然日期计算正确,但日期仍以英语显示,即使所有用户都使用德语 Windows 操作系统并且在 Notes 首选项中将德语设置为他们的语言。这是我的代码:

Set dt = New NotesDateTime(doc.GetItemValue("abc")(0))          
dts = Format$(dt.LSLocalTime, "dddd, dd. MMMM yyyy")
mailText = replaceSubstring(mailText, "Datum", dts, True)

在邮件中,日期显示为,例如,

2015 年 12 月 9 日,星期三

当它应该显示为

Mittwoch, 09. 2015 年 12 月

该代码在用户单击 Notes Client 中的按钮后执行。并非所有邮件都有此问题,但我无法在遇到此问题的用户的 OS 和 Notes 首选项设置中检测到任何错误。我怎样才能让这个日期以德语而不是英语出现?

最佳答案

我经常在 PC 受限的敏感客户端遇到类似的问题。

我在这里的回答并不准确,只是为了指导您:

基本上,Format Lotus Notes 客户端功能执行以下操作:

  • 它尝试读取 用户的区域设置 . (“locale”,而不是“local”)这些存储在注册表中 HKEY_CURRENT_USER\Control Panel\International 下.
  • 如果步骤 1 失败,则该函数读取所谓的 DefaultFallback .
    这存储在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages 下.如果仔细观察,您会发现 对于德语,DefaultFallBack“英语”
  • 如果第 2 步也失败,则该函数使用所谓的 中性语言 ,始终为英语,并且在 API 中进行了硬编码。

  • 在正常环境中,步骤 1 总是会成功。但是,在敏感区域,可能会发生注册表过于安全并且这些数据未存储在注册表中,或者客户端没有足够的权限访问它的情况。然后,使用英语的默认后备。

    另外,不要忘记,还有漫游配置文件和默认配置文件,它们也可能具有交叉影响!

    最后,有多种方法可以访问注册表。因此,可能会发生 Excel 在步骤 1 中成功并正确设置日期格式,而 Lotus Notes 出现错误并使用默认回退的情况。

    在 Windows 中,存在一个可怕的复杂 API 来访问国际设置。这已经发展了 20 多年!在 MSDN 引用中,您可以在关键字“locale”、“international”和“MUI”(多语言用户界面)下找到所有这些功能,这可能会对您有所帮助。

    关于lotus-notes - Lotus Notes/LotusScript - 如何用德语而不是英语设置日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34178974/

    相关文章:

    performance - 从 IBM Notes 中的两个数据库中搜索文档和子文档

    java - 在 Java 中自动处理电子邮件

    java - 通过 JDBC 瘦驱动程序连接 Oracle 11g 时出现问题 (Domino Java)

    hyperlink - 如何使用 LotusScript 将 Web URL 添加到文档

    java - 从 domino 向 bluemix 发送 https 请求

    lotus-notes - Lotus Notes中agent.runonserver异常

    css - 使用 SSL 将 CSS 资源插入经典 Domino Web 开发页面

    c# - 已超出 Notes 可支持的最大内存段数

    主授权之外的 java.policy 设置不适用于 Apache POI jar