L20N是在我的ReactJS项目中设置的,在context的ready事件启动后,我调用了context上的getSync (所以事情应该进行得很好)。但是,我得到的是原始实体字符串,而不是包含其他实体值和变量展开的预期字符串。
我得到的字符串是这样的:
{{$user.name}} - {{appName}}
但当然,我期待着这样的事情:
Ben Taylor - My Cool App
我已经试过在这个柱塞中重新创建问题了。不幸的是,它工作得很好!运行它时,警报框将显示预期的L20N展开字符串。
什么会导致实体值原始地返回?I有一个有效的context,检查器中没有错误,所以它看起来都配置得很好。我想知道是否与我正在做的其他事情有一些交互,那就是破坏L20N。任何想法都值得赞赏!
我无法包括我正在工作的应用程序,但不用说,它有更多的移动部分。这是一个基于https://github.com/tcoopman/react-es6-browserify的React应用程序。
发布于 2015-01-02 22:09:26
如果您的.l20n文件(以前称为.lol)中有某种错误,那么getSync调用将返回原始字符串值。在我的例子中,错误是引用L20n字典中的键。
如果您有类似于context的{ user: { type: "Awesome" } }数据,那么下面的不工作,调用getSync for useTheShout将返回未处理的字符串值(包括文本{{shout}}):
<shout[$user.type] {
"Awesome": "HEY AWESOME USER!",
"Loser": "i can't be bothered to shout at you loser..."
}>
<useTheShout "I'm gonna shout the following: {{shout}}">从字典键名中删除引号将完成这项工作,如下所示:
<shout[$user.type] {
Awesome: "HEY AWESOME USER!",
Loser: "i can't be bothered to shout at you loser..."
}>
<useTheShout "I'm gonna shout the following: {{shout}}">error更新:您可以通过使用和进行日志记录来避免这种痛苦。
https://stackoverflow.com/questions/27735019
复制相似问题