我正在编写向用户发送邮件的代码。邮件文本包含日期。虽然日期计算正确,但日期仍以英语显示,即使所有用户都使用德语 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 客户端功能执行以下操作:
HKEY_CURRENT_USER\Control Panel\International
下. 这存储在
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages
下.如果仔细观察,您会发现 对于德语,DefaultFallBack“英语” 在正常环境中,步骤 1 总是会成功。但是,在敏感区域,可能会发生注册表过于安全并且这些数据未存储在注册表中,或者客户端没有足够的权限访问它的情况。然后,使用英语的默认后备。
另外,不要忘记,还有漫游配置文件和默认配置文件,它们也可能具有交叉影响!
最后,有多种方法可以访问注册表。因此,可能会发生 Excel 在步骤 1 中成功并正确设置日期格式,而 Lotus Notes 出现错误并使用默认回退的情况。
在 Windows 中,存在一个可怕的复杂 API 来访问国际设置。这已经发展了 20 多年!在 MSDN 引用中,您可以在关键字“locale”、“international”和“MUI”(多语言用户界面)下找到所有这些功能,这可能会对您有所帮助。
关于lotus-notes - Lotus Notes/LotusScript - 如何用德语而不是英语设置日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34178974/