API Docs for:
Show:

Ember.I18n

Summary

Ember国际化支持

Ember.I18n更多内容查看...

在Ember.I18n.translations中存入你所需要的国际化信息键值对,
对于值的类型为字符串的键值对,将会通过Ember.I18n.compile编译为模板
*默认使用Handlebars.compile进行模板编译(在项目中需要引入完整的Handlebars功能,换言之,需引入Handlebar.js 而不是Handlebar.runtime.js)

Example

给定以下的国际化信息

 Em.I18n.translations = {
    "user.edit.title": "Edit User",
    "user.followers.title.one": "One Follower",
    "user.followers.title.other": "All {{count}} Followers",
    "button.add_user.title": "Add a user",
    "button.add_user.text": "Add",
    "button.add_user.disabled": "Saving..."
  };

在模板中只需引入

 <h2>{{t "user.edit.title"}}</h2>

编译后结果

 <h2><span id="i18n-123">Edit User</span></h2>

默认情况下,t助手将使用span作为标签作为渲染,如果需要进行标签进行自定义,只需特别声明标签

 {{t "user.edit.title" tagName="h2"}}

编译后结果

 <h2 id="i18n-123">Edit User</h2>
信息重载

默认情况下,可为t助手绑定一个count属性,cout属性将在运行时替换I18n信息

EXample

直接设置count的值

 <h2>{{t "user.followers.title" count="2"}}</h2>

编译结果为

 <h2><span id="i18n-123">All 2 Followers</span></h2>

绑定Count的值

 <h2>{{t "user.followers.title" count="2"}}</h2>

编译结果为

 <h2><span id="i18n-123">All 2 Followers</span></h2>

任意对象信息国际化 Ember.I18n.TranslateableProperties mixin 会转换所有以Translation开头的属性

 userButton = Em.Object.extend(Em.I18n.TranslateableProperties, {
    labelTranslation: 'button.add_user.title'
  });
userButton.get('label');  // "Add a user"

对于html类型标签,可以使用TranslateAttr 助手进行语言字段绑定

 <a {{translateAttr title="button.add_user.title" data-disable-with="button.add_user.disabled"}}>
 {{t "button.add_user.text"}}
 </a>

编译结果:

 <a title="Add a user" data-disable-with="Saving...">
 Add
 </a>

复杂类型国际化语法 Em.I18n.translations同样支持复杂JSON对象的定义

 Em.I18n.translations = {
    'user': {
      'edit': {
        'title': 'Edit User'
      },
      'followers': {
        'title': {
          'one': 'One Follower',
          'other': 'All {{count}} Followers'
        }
      }
    },
    'button': {
      'add_user': {
        'title': 'Add a user',
        'text': 'Add',
        'disabled': 'Saving...'
      }
    }
  };
 {{t "button.edit.text"}}

编译结果:

 <span id="i18n-123">Edit User</span>

Item Index