标签: pseudolocalization

如何向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
查看次数

如何在Windows中使用enable pseudo-locale进行测试?

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

Windows的构建实际上是用伪完成的,然后本地化为英文:

在此输入图像描述

使用这些语言环境的另一个值:它测试您的应用程序不会假设16位PRIMARYLANGID由以下内容组成:

  • 8位主要语言ID
  • 8位子语言id

在现实中PRIMARYLANGID是:

  • 一个10位的主要语言ID
  • 一个6位的子语言id

或图形化:

+-----------------------+-------------------------+
|     Sublanguage ID    |   Primary Language ID   |
+-----------------------+-------------------------+
 15                   10 9                       0   bit
Run Code Online (Sandbox Code Playgroud)

这三个伪语言环境终于走到了第8位的末尾(微软一直厌倦了打破错误的应用程序).

如何在Windows中启用伪语言环境?

也可以看看

windows localization internationalization windows-7 pseudolocalization

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

让 Visual Studio 构建伪语言 (qps-ploc) 附属程序集

我已经生成了应用程序资源文件的伪本地化版本(例如Order Summary and Payment本地化为[[[[[O?r?d?e?r? S?u?m?m?a?r?y? a?n?d? P?a?y?m?e?n?t?]]]]]),以便我们可以在获得实际翻译之前测试本地化错误。

我使用 qps-ploc 资源标识符命名它们以匹配现有的伪语言环境标识符,例如我的伪本地化版本Details.resx是 named Details.qps-ploc.resx

但是,当我将这些 resx 文件添加到项目时,Visual Studio 会忽略它们。如果我使用“真实”语言代码(例如Details.fr-FR.resx)重命名它们,那么 Visual Studio 会创建一个以该语言代码命名的子文件夹并构建附属程序集。

所以在我看来,Visual Studio 拒绝 qps-ploc(甚至没有构建警告)。我是否遗漏了什么,或者有人可以建议一种方法来将这些 qps-ploc 资源构建为我的 Visual Studio 项目的一部分吗?

resources localization resx visual-studio pseudolocalization

5
推荐指数
1
解决办法
2387
查看次数

伪本地化无法在语言中找到英语 (XA)

我正在尝试使用伪本地化,如官方 android 文档中所示:

https://developer.android.com/guide/topics/resources/pseudolocales

我遵循每个步骤:

  • 添加pseudoLocales true到 debug buildconfig 下的 gradle 文件中
  • 运行应用程序
  • 转到设置 -> 语言

但不幸的是我找不到英语(XA)。也许我错过了一些东西。

在三星 Galaxy A7 上测试

android pseudolocalization

5
推荐指数
0
解决办法
316
查看次数