Ton*_*een 11 lotus-notes lotusscript lotus-domino
我正在编写向用户发送邮件的代码.邮件文本包含日期.正确计算日期时,即使所有用户都使用德语Windows操作系统并在Notes首选项中将德语设置为其语言,日期也会以英语显示.这是我的代码:
Set dt = New NotesDateTime(doc.GetItemValue("abc")(0))
dts = Format$(dt.LSLocalTime, "dddd, dd. MMMM yyyy")
mailText = replaceSubstring(mailText, "Datum", dts, True)
Run Code Online (Sandbox Code Playgroud)
在邮件中,日期显示为,例如,
2015年12月9日星期三
什么时候应该出现
Mittwoch,09.Dezember 2015
用户单击Notes客户端中的按钮后执行代码.并非所有邮件都有此问题,但我无法在遇到此问题的用户的操作系统和Notes首选项设置中检测到任何错误.我怎样才能让这个日期以德语而不是英语出现?
我经常在电脑受到限制的敏感客户端遇到类似的问题。
我的回答并不准确,仅供参考:
基本上,FormatLotus Notes 客户端功能执行以下操作:
它尝试读取用户的区域设置。(“locale”,而不是“local”)它们存储在注册表中的HKEY_CURRENT_USER\Control Panel\International.
如果步骤 1 失败,则该函数将读取所谓的DefaultFallback。这存储在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages. 如果仔细观察,您会发现德语的 DefaultFallBack“英语”
如果步骤 2 也失败,则该函数将使用所谓的Neutral Language,该语言始终为英语,并且在 API 中硬编码。
在正常环境下,步骤 1 总是成功的。然而,在敏感区域,可能会出现注册表过度安全的情况,这些数据要么没有存储在注册表中,要么客户端没有足够的权限来访问它。然后,使用默认的英语后备。
另外,不要忘记,还有漫游配置文件和默认配置文件,它们也可能会产生交叉影响!
最后,访问注册表的方法有多种。因此,Excel 可能会在步骤 1 中成功并正确设置日期格式,而 Lotus Notes 会出现错误并使用默认回退。
在 Windows 中,存在一个可怕的复杂 API 用于访问国际设置。这已经增长了20多年了!在 MSDN 参考中,您可以在关键字“locale”、“international”和“MUI”(多语言用户界面)下找到所有这些功能,这可能会为您提供进一步帮助。
| 归档时间: |
|
| 查看次数: |
479 次 |
| 最近记录: |