我正在尝试将中文本地化添加到脚手架 Yesod 网站。我zh.msg
在 Windows 中使用记事本将消息文件保存为 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 字符。这显然是一个壮举。)