标签: ember-i18n

我在哪里可以将Ember-I18n的翻译放在Ember-CLI中?

我是ember,ember-cli的新手,我还在学习一切顺利的地方.我正在尝试使用ember-i18n模块添加多语言支持.

我有与bower一起安装的依赖项

bower install cldr ember-i18n --save
Run Code Online (Sandbox Code Playgroud)

而且我的进口工作正在进行中 Brocfile.js

app.import('vendor/cldr/plurals.js');
app.import('vendor/ember-i18n/lib/i18n.js');
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,i18n车把助手正在工作

{{t hello}} 给我"缺少翻译:你好"

我不知道在包含翻译的ember-cli文件夹结构中放置或引用文件的位置.

根据ember-i18n文档,它看起来像这样

Ember.I18n.translations = {
    hello: "Hello World",
}
Run Code Online (Sandbox Code Playgroud)

我试着坚持app.js只是为了看它工作,但得到了错误:

Uncaught TypeError: Cannot set property 'translations' of undefined
Run Code Online (Sandbox Code Playgroud)

ember-i18n ember-cli

14
推荐指数
2
解决办法
4376
查看次数

把手帮助i18n

如果我使用内置帮助器的Ember.js input

{{input value=query class="form-input" placeholder="Search"}}
Run Code Online (Sandbox Code Playgroud)

我想用该字符串的翻译版本替换占位符字符串"Search".

通常,如果我还没有使用input帮助器,我会像这样访问翻译后的字符串:

{{ t "home.search" }}
Run Code Online (Sandbox Code Playgroud)

internationalization ember.js ember-i18n

3
推荐指数
1
解决办法
1926
查看次数

如何在Ember-i18n中翻译控制器成员数组?

在我的客户控制器中,我定义了一些用于填充选择输入(下拉)选项的常量数组.

import Ember from 'ember';

export default Ember.Controller.extend({
    occupations: [
        {code: 'student', name: "Student"},
        {code: 'worker', name: "Worker"},
        {code: 'retired', name: "Retired"},
        {code: 'other', name: "Other"}
    ]
});
Run Code Online (Sandbox Code Playgroud)

正常的解决方案是使用translationMacro函数t()或this.get('i18n').t()围绕翻译键,但它们不能用于这种情况,因为"this"内部对象或数组不会引用控制器.

解决这种情况的最佳做法是什么?

ember.js ember-i18n

2
推荐指数
1
解决办法
453
查看次数