问题标签 [ember-i18n]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ember.js - 如何在 emberjs 中的 i18n 键中使用操作助手
如何在 i18n 键中使用动作助手。例如, i18n 键是
如何使用 ember 运行时正确翻译此内容(即车把未编译版本)
ember.js - Prevent addition of span tag
I have the following markup in a template:
#xA;And this is rendered as:
#xA;I would like to completely remove the <span>
for the translated text (it messes-up my styling). I have tried with:
But has no effect. The strange thing is that, according to the documentation, the following {{t}}
:
Renders no <span>
:
(I haven't tried this, I just trust the docs)
What can I do to get rid of the <span>
?
ember.js - 如何在 emberjs 中通知PropertyChange 以重新呈现视图
当应用程序语言更改时,我需要重新呈现我的主应用程序视图。我正在使用不支持观察的 ember-i18n,所以我做了一些工作来在语言和 lang 属性更改时更新视图。我在 ApplicationRoute 中的以下操作中切换 lang :
但我不知道如何通知ProperyChange 来更新或重新呈现我的“applicationView”和模板?
ember.js - Javascript (Ember) I18N for a block, not just a string
We're using ember-i18n to do i18n in our Ember app, and so far it's been fine. We've got a bunch of keys for strings like "Cancel" and "Save" and "Please don't do that", but I'm not sure if string-based i18n is the right way to approach the section I hit today, which is basically a warning (I'm inventing this text, but the sentiment is the same):
Stop! What you're about to do cannot be undone. If you click the next button, you accept responsibility for:
- Three small children
- The Greek sovereign debt crisis
- Windows 98
If you agree, click "I Agree" to continue.
Should I just put a bunch of keys in the language file for that block? One key for the whole shebang, HTML and all? Or is there another way?
ember.js - 使用具有属性的后期评估的应用程序本地化
我有一堆控制器,其中一些属性是由翻译库生成的:
问题是语言文件还没有加载(这需要一些时间),所以在定义时,Ember.I18n.t
没有数据,所有的翻译都失败了。有几种解决方案,但对我来说似乎更简单的一个是:
我不会直接调用,而是调用Ember.I18n.t
a delayedT
,它基于一个属性:
只要设置了应用程序标志,就会计算此属性:App.languageLoaded。每当语言文件完成加载时,我都会这样做App.set('languageLoaded', true)
,这会触发所有翻译。这样,翻译只会在正确的时间(当语言数据到达时)为应用程序执行一次。
这有意义吗?我将如何实现延迟T?
javascript - 从控制器属性中获取 ember-i18n.js 翻译键
我刚刚开始研究使用 ember-i18n.js 进行本地化的现有 Ember.js 项目。
我定义了另一个帮助器,它让我从上下文属性中获取翻译键,而不是直接传递它,例如我可以使用{{tr someContext.someProperty}}
而不是{{t "my.translation.key"}}
.
我对 Ember 还很陌生,所以我的想法是我可以简单地将{{somePropertyName}}
模板中的替换替换为{{tr somePropertyName}}
. 那没有用。当我在帮助程序中设置断点时,我发现它property
总是未定义的。
我还尝试修改我的帮助器以按照此处Ember.Handlebars.get()
演示的方式使用,但这也解决了未定义的问题。
假设我无法更改翻译密钥的来源,是否有适当的方法将翻译密钥从控制器获取到助手?
javascript - ember-i18n - 内部化支持
我目前正在使用 jamesarosen/ember-i18n 为我的 ember 1.5.1 应用程序提供内部化支持。
我有两种语言。英语和法语。
在我的车把模板中,我有:-
但是我收到消息:
缺少翻译:animal.cat。
如果我放置它会起作用:
让它工作并使其在两种语言之间自动切换的最佳实践是什么?我试过在我的文件顶部设置这个:
ember.js - 车把助手 i18n
如果我使用的是 Ember.js 内置帮助程序input
我想用该字符串的翻译版本替换占位符字符串“Search”。
通常,如果我还没有使用input
帮助程序,我会像这样访问翻译后的字符串:
ember.js - 带有 Handlebars Runtime 的 ember-i18n 预编译翻译
如果您还没有预编译翻译,则需要在应用程序中包含完整的 Handlebars,而不仅仅是 handlebars-runtime.js。
问题是即使使用预编译的模板,一旦我们像下面这样使用函数Em.I18n.t,它仍然调用 Handlebars 编译函数,需要完整的 Handlebars。
有人知道解决方案吗?即使对于函数调用,也可能有预编译翻译的最佳实践?
ember.js - 在子表达式中使用链接
我经常使用这个ember-i18n
库,有时我想在翻译中输出一个链接。
给定这个例子:
我的翻译是Read more on the {{ link }} page.
但是输出并不像我预期的那样,生成的链接不在翻译跨度中,而是在它之前:
我希望它是这样的:
有没有办法解决这个问题?