我正在开发一个Web应用程序.
我需要正确显示一些十进制数据,以便可以将其复制并粘贴到GUI不受我控制的某个应用程序中.
GUI应用程序是区域设置敏感的,它只接受在系统中设置的正确的小数分隔符.
我可以猜测小数分隔符Accept-Language和猜测在95%的情况下是正确的,但有时它会失败.
有没有办法在服务器端(最好是我可以收集统计数据),或在客户端?
更新:
任务的重点是自动完成.
事实上,这个webapp是一种传统GUI的在线界面,有助于正确填写表单.
使用它的用户大多不知道小数分隔符是什么.
该Accept-Language解决方案的实施和工作,但我想改善它.
UPDATE2:
我需要检索一个非常具体的设置:小数分隔符设置Control Panel / Regional and Language Options / Regional Options / Customize.
我处理四种操作系统:
所有100%的客户都在俄罗斯,遗留申请涉及俄罗斯政府发布的表格,因此要求一个国家将收取100%的俄罗斯联邦,GeoIP将收益80%的俄罗斯联邦和20%的其他(不正确)答案.
Windows Vista引入了三种伪语言环境的概念:
Pseudo Locale Locale Name LCID
=================== =========== ======
Base qps-ploc 0x0501
Mirrored qps-mirr 0x09ff
East Asian-language qps-asia 0x05fe
Run Code Online (Sandbox Code Playgroud)
启用Base语言环境非常有用,因为您可以检查应用程序是否使用当前语言环境来设置日期,时间,数字,金钱等项目的格式.
例如,当前区域设置设置为Base时,日期将格式化为:
[Шěđлеśđαỳ!!!],8ōf[Μäŕςћ!!]ōf2006

使用这些语言环境的另一个值:它测试您的应用程序不会假设16位PRIMARYLANGID由以下内容组成:
或图形化:
+-----------------------+-------------------------+
| Sublanguage ID | Primary Language ID |
+-----------------------+-------------------------+
15 10 9 0 bit
Run Code Online (Sandbox Code Playgroud)
这三个伪语言环境终于走到了第8位的末尾(微软一直厌倦了打破错误的应用程序).
如何在Windows中启用伪语言环境?
windows localization internationalization windows-7 pseudolocalization
如何使用命令行参数启动具有特定区域设置的Google Chrome?
根据http://peter.sh/experiments/chromium-command-line-switches/
chrome.exe --lang DE
Run Code Online (Sandbox Code Playgroud)
应该工作,但事实并非如此.