2012-12-03 90 views
1

我有一个Web应用程序中mvc4与国际化的内在使用:国际化的波兰字符问题

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

Everyting正常工作,直到我开始addnig波兰字符,如:S,Z,C等

这些字符被替换为: 标记。

和运行xgettext.exe的ARGS时被设置为:

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

有任何人的想法?

+0

原来,“智能国际化”并不那么聪明。任何特定的原因,为什么你不能使用I18n的内置机制,并试图使用一些轮子重新发明的东西?顺便说一下,“基于国际最佳实践”听起来像是一个很大的笑话。 –

+0

我知道它不是在.net应用程序中翻译的标准方式,但是我使用它是因为我需要通过* .po文件为很多平台(网页,桌面,电话等)提供相同的翻译,以及标准* .resx文件不给这种能力。 – Kamael90

+0

明白了,有道理。我怀疑你想使用的库有一些问题。目前唯一(丑陋的)解决方法可能适用于您,将波兰的变音符号写成HTML实体,即'&#F3;'。然而,从翻译者的角度来看,这将是非常糟糕的,并且不是必需的,即电话和桌面可能工作不正确。 –

回答

1

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

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

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

抱歉,但它没有帮助:/ – Kamael90