相关疑难解决方法(0)

使用浏览器,我如何知道操作系统使用哪个小数分隔符?

我正在开发一个Web应用程序.

我需要正确显示一些十进制数据,以便可以将其复制并粘贴到GUI不受我控制的某个应用程序中.

GUI应用程序是区域设置敏感的,它只接受在系统中设置的正确的小数分隔符.

我可以猜测小数分隔符Accept-Language和猜测在95%的情况下是正确的,但有时它会失败.

有没有办法在服务器端(最好是我可以收集统计数据),或在客户端?

更新:

任务的重点是自动完成.

事实上,这个webapp是一种传统GUI的在线界面,有助于正确填写表单.

使用它的用户大多不知道小数分隔符是什么.

Accept-Language解决方案的实施和工作,但我想改善它.

UPDATE2:

我需要检索一个非常具体的设置:小数分隔符设置Control Panel / Regional and Language Options / Regional Options / Customize.

我处理四种操作系统:

  1. 俄语Windows用逗号作为DS(80%).
  2. 英文版Windows,期间为DS(15%).
  3. 俄罗斯Windows用一段时间作为DS来制作写得不好的英文应用程序(4%).
  4. 使用逗号作为DS的英文Windows可以使写得不好的俄语应用程序正常工作(1%).

所有100%的客户都在俄罗斯,遗留申请涉及俄罗斯政府发布的表格,因此要求一个国家将收取100%的俄罗斯联邦,GeoIP将收益80%的俄罗斯联邦和20%的其他(不正确)答案.

html locale internationalization

72
推荐指数
7
解决办法
4万
查看次数

如何向Chrome添加自定义Accept-Languages以进行伪定位测试?

我正在测试一个网站的伪本地化.

我可以将Internet Explorer配置为具有自定义接受语言:

  1. 单击工具,Internet选项
  2. 常规选项卡上单击语言
  3. 语言首选项对话框中单击添加.
  4. 输入用户定义的语言qps-ploc(即Pseudo(Base)语言环境)
  5. 单击确定

在此输入图像描述

现在,当Internet Explorer发出http请求时,接受语言将引导qpc-ploc:

GET https://stackoverflow.com/ HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
Accept-Language: qps-ploc,en-US;q=0.5
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: stackoverflow.com
Run Code Online (Sandbox Code Playgroud)

如何对Chrome执行相同的更改?到Firefox?


更新

还应注意,Internet Explorer 尊重我的Windows首选项.我的Windows配置为使用 …

localization google-chrome internationalization pseudolocalization http-accept-language

41
推荐指数
2
解决办法
5万
查看次数

.NET Date to string在Vista Pseudo-cultures中提供无效字符串

我的电脑配置的文化不是en-US.

使用本机Win32 GetDateFormat函数时,我得到了正确格式化的日期:

  • 22 // 11 // 2011 4 :: 42 ::53P̰M]

这是对的; 以及Windows呈现它的方式:

  • 任务栏

    在此输入图像描述

  • 区域和语言设置

    在此输入图像描述

  • Windows资源管理器

    在此输入图像描述

  • 外表

    在此输入图像描述

当我尝试使用我当前的语言环境将日期转换为.NET中的字符串时,例如:

DateTime.Now.ToString();
DateTime.Now.ToString(CultureInfo.CurrentCulture);
Run Code Online (Sandbox Code Playgroud)

我得到一个不正确的日期:

  • 22 //// 11 //// 2011 4 :::: 42 :::: 53P̰M]

在使用有缺陷的.NET代码的Windows中,.NET中的这个错误很明显:

  • Windows事件查看器:

    在此输入图像描述

  • 任务计划程序:

    在此输入图像描述

  • SQL Server Management Studio:

    在此输入图像描述

我如何使.NET没有错误?

如何使用当前文化(正确)将日期和时间转换为字符串?

:允许用户设置自己的Windows任何区域的喜好,他们想要的.就像现在一样,我的程序将无法正确处理 有效设置.告诉用户,"不要这样做"是非常卑鄙的.

类似的例子来自Delphi,它假设日期分隔符永远不能超过一个字符.当Windows配置了使用多个字符作为日期分隔符的区域设置时,例如:

  • sk-SK(斯洛伐克 - 斯洛伐克): .

日期应格式化为:

22. 11. 2011
Run Code Online (Sandbox Code Playgroud)

代码库无法接受长于一个字符的日期分隔符,并回退到:

22/11/2011
Run Code Online (Sandbox Code Playgroud)

在过去,有些人可能会建议你不要打扰这种边缘情况.这些建议对我没有任何影响.

我会避免与想要通过更改标题来改变我的问题含义的人进行一场惹人喜爱的比赛.但问题不仅限于伪语言环境,专门用于查找应用程序中的错误.

奖金Chatter

以下是来自世界各地的日期格式的唯一列表:

  • 25年11月11日
  • 2011年11月25日
  • 2011/11/25
  • 2011.11.25
  • 2011.11.25.
  • 2011/11/25
  • 2011-11-25
      1. 2011
  • 11年11月25日
  • 25.11.2011 …

.net localization internationalization datetime-format pseudolocalization

22
推荐指数
1
解决办法
926
查看次数

你如何测试你的应用程序Iñtërnâtiônàlizætiøn?(国际化?)

你如何测试你的应用程序Iñtërnâtiônàlizætiøn合规性?我告诉人们将Unicode字符串Iñtërnâtiônàlizætiøn存储到每个字段中,然后查看它是否在输出中正确显示.

---包括在Excel报告中作为单元格内容的输出,以及用于docs,xml文件等的rtf格式.

还应该做哪些其他测试?

来自@Paddy的想法:

还可以尝试从右到左的语言.例如,שלוםירושלים([耶路撒冷的和平]).应该是这样的:

שלוםירושליםhttp://sandbox.kluger.com/shalom.jpg

注意:Stackoverflow正确实现.如果文本与图像不匹配,则说明浏览器,操作系统或代理可能存在问题.

另请注意:您不必更改或"设置"已在运行的应用程序以接受W欧洲字符或希伯来语示例.您应该只需在应用程序中键入这些字符,并让它们在输出中正确返回.如果您没有放置希伯来语键盘,请将此问题中的示例复制并粘贴到您的应用中.

testing internationalization

19
推荐指数
2
解决办法
2824
查看次数

顺序GUID

我希望有人能回答这个问题.

rpcrt4.dll类中的UuidCreateSequential方法如何用于播种它的guid?

我知道的很多:Microsoft更改了UuidCreate函数,因此它不再使用机器的MAC地址作为UUID的一部分.由于CoCreateGuid调用UuidCreate来获取其GUID,因此其输出也发生了变化.如果您仍然希望按顺序生成GUID(有助于在系统注册表中将相关的GUID组保持在一起),则可以使用UuidCreateSequential函数.

问题背后的原因是.如果我使用此函数在Web群集中生成顺序GUID,如何确保GUID接近一系列GUID而不会重复GUID?

c# windows dll guid

12
推荐指数
1
解决办法
9693
查看次数