【发布时间】:2016-10-28 18:06:51
【问题描述】:
我们总部位于瑞士,但在德国和奥地利有客户(这是相关的,我们将在下文中看到)。
我们有一个应用程序,我们在其中使用调用各种 JavaScript 的 Applescript 来控制 Photoshop。在某些情况下,我们会立即将 JavaScript 的返回值写入变量中,如
将 myVar 设置为 (do JavaScript "pathToMyScript.jsx) -- 伪代码
这很好用,而且我们总是有字符串。
当返回的字符串表示带有小数点符号的数字(例如“0.0184528”)时,会出现此问题。最简单的方法是乘以 1,如
将 myNextVar 设置为 myVar * 1
只要语言环境是英语或瑞士德语,这一切都很好。但是当语言环境是德语(或法语)时。在这种情况下,Applescript 不再接受输入并引发错误。
在这里,我正在寻找一个处理这种情况的好主意……
• 通过语言和区域系统首选项更改相应计算机上的区域设置 --> 高级... --> 常规 --> 数字分隔符是没有问题的;我们不能指望我们的用户会照顾到这一点。
• 使用控件 Applescript(如果需要,还可以与系统事件一起)临时更改区域设置可能是一种选择。但这会立即生效吗?对于调用更改的脚本?
• 由于使用系统事件来访问活动元素,因此必须使用可访问性安全设置来注册应用程序。相反,使用小程序更容易,因为该小程序不会经常更改。
这就是我想到的。还有其他方法吗? Applescript 中的任何可能(请记住,解决方案必须独立于语言环境工作。
非常感谢任何有用的想法。
提前致谢。
【问题讨论】:
-
您能解释一下为什么在设置为德语或法语时会产生错误吗?我敢肯定还有其他人,像我一样,不明白错误的原因。
-
我要说的一个原因是 Apple 过度本地化了 Applescript 和系统。由于过度本地化,他们失去了它(尽管这并不是什么新鲜事;在过去,由于过度本地化,您可能会拆掉 PostScript 打印机)
标签: internationalization applescript locale