【问题标题】:i18n Polish characters issuei18n 波兰语字符问题
【发布时间】:2012-12-03 21:35:22
【问题描述】:

我在 mvc4 中有一个带有 i18n 内部化的 Web 应用程序,使用:

https://github.com/danielcrenna/i18n#readme

一切正常,直到我开始添加波兰语字符,如:ś、ź、ć 等。

字符被替换为: � 标记。

并且在运行时 xgettext.exe 的参数设置为:

var args = string.Format("-LC# -k_ --omit-header --from-code=UTF-8 -o\"{0}\\locale\\messages.pot\" -f\"{1}\"", path, manifest);

有人知道吗?

【问题讨论】:

  • 原来“智能国际化”并不是那么聪明。任何特殊原因,为什么你不能使用 I18n 的内置机制并尝试使用一些轮子重新发明的东西?顺便说一句,“基于 i18n 最佳实践”对我来说听起来像是一个天大的笑话。
  • 我知道这不是 .net 应用程序中翻译的标准方式,但我使用它是因为我需要为很多平台(网络、桌面、电话等)提供相同的翻译通过 *.po 文件,标准 *.resx 文件不提供这种能力。
  • 明白了,有道理。我怀疑您要使用的库存在一些问题。目前,唯一可能对您有用的(丑陋的)解决方法是将波兰语变音符号编写为 HTML 实体,即&#F3;。然而,从翻译者的角度来看,这将是可怕的,并且没有必要通用,即手机和桌面可能无法正常工作。
  • 是的,我正在考虑这样的包装器,因为当您传递字母的数字代码时它可以工作,但如果我没有找到其他任何东西,这是最终的解决方案,现在我正在调查这个i18n 问题(我希望错误会在那里)如果我发现了什么我会写。无论如何感谢您的帮助:)

标签: c# internationalization asp.net-mvc-4 translation polish


【解决方案1】:

也许尝试在您的文档的 HTML 中包含以下标记。

当我尝试从 C 中的 char 数组中的错误起始位置显示纯十六进制时,我看到弹出问号。浏览器可能不知道如何处理给出的 char 十六进制。

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

【讨论】:

    猜你喜欢
    • 2013-10-10
    • 2016-01-27
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    相关资源
    最近更新 更多