【问题标题】:UTF-8 i18n fileUTF-8 i18n 文件
【发布时间】:2013-09-14 04:49:54
【问题描述】:

我正在尝试将中文本地化添加到搭建的 Yesod 网站。我在 Windows 中使用记事本将zh.msg 消息文件保存为 UTF-8 格式,但是当我在项目目录中运行 cabal install 时,我得到了这个:

Handler\Home.hs:15:11:
    Not in scope: data constructor `MsgHello'
    Perhaps you meant `Msg<stderr>: hPutChar: invalid argument (invalid character)

有问题的行是我呈现主页的位置:

$(widgetFile "homepage")

我将两个消息文件都更改为 Unicode 格式而不是 UTF-8,并改为获取此消息:

Foundation.hs:1:1:
    Exception when trying to run compile-time code:
    Cannot decode byte '\xff': Data.Text.Encoding.Fusion.streamUtf8: invalid UTF-8 stream

所以我猜想 UTF-8 是要走的路……不知何故。

(我使用记事本是因为我还没有设置 gVim 来呈现 Unicode 字符。这显然是一项壮举。)

【问题讨论】:

    标签: internationalization yesod


    【解决方案1】:

    当我提交更改时,我发现了问题。我的英文文件的差异如下所示:

    -Hello: Hello
    +<U+FEFF>Hello: Hello
    

    我猜记事本添加了字符,它正在进入 Haskell 代码。我使用 vim according to this answer 解决了它。

    【讨论】:

      猜你喜欢
      • 2012-03-04
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多