首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么会导致L20N不处理实体变量和包含?

什么会导致L20N不处理实体变量和包含?
EN

Stack Overflow用户
提问于 2015-01-01 21:51:39
回答 1查看 365关注 0票数 1

L20N是在我的ReactJS项目中设置的,在contextready事件启动后,我调用了context上的getSync (所以事情应该进行得很好)。但是,我得到的是原始实体字符串,而不是包含其他实体值和变量展开的预期字符串。

我得到的字符串是这样的:

{{$user.name}} - {{appName}}

但当然,我期待着这样的事情:

Ben Taylor - My Cool App

我已经试过在这个柱塞中重新创建问题了。不幸的是,它工作得很好!运行它时,警报框将显示预期的L20N展开字符串。

什么会导致实体值原始地返回?I有一个有效的context,检查器中没有错误,所以它看起来都配置得很好。我想知道是否与我正在做的其他事情有一些交互,那就是破坏L20N。任何想法都值得赞赏!

我无法包括我正在工作的应用程序,但不用说,它有更多的移动部分。这是一个基于https://github.com/tcoopman/react-es6-browserify的React应用程序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-02 22:09:26

如果您的.l20n文件(以前称为.lol)中有某种错误,那么getSync调用将返回原始字符串值。在我的例子中,错误是引用L20n字典中的键。

如果您有类似于context{ user: { type: "Awesome" } }数据,那么下面的不工作,调用getSync for useTheShout将返回未处理的字符串值(包括文本{{shout}}):

代码语言:javascript
复制
<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}}">

从字典键名中删除引号将完成这项工作,如下所示:

代码语言:javascript
复制
<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更新:您可以通过使用和进行日志记录来避免这种痛苦。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27735019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档