Grunt语言环境 - 需要手动翻译吗?

时间:2014-03-05 17:26:27

标签: angularjs internationalization gruntjs

我需要我的应用程序国际化并设置grunt-locales。只需添加data-localize指令,就可以翻译内部文本。我的initConfig配置为 -

locales: {
  options: {
    locales: ['en_US', 'de_DE']
  },
  update: {
    src: 'app/views/*.html',
    dest: 'app/js/locales/{locale}/i18n.json'
  },
  build: {
     src: 'app/js/locales/**/i18n.json',
     dest: 'app/js/locales/{locale}/i18n.js'
  },
  'export': {
    src: 'app/js/locales/**/i18n.json',
    dest: 'app/js/locales/{locale}/i18n.csv'
  },
  'import': {
    src: 'app/js/locales/**/i18n.csv',
    dest: 'app/js/locales/{locale}/i18n.json'
  }
},

此处应用程序中的一个案例中使用了数据本地化 -

<a href="#" data-localize>Forgot your username or password?</a>

构建grunt语言环境时所做的是在app / js / locales / de_DE / i18n.json下创建此文件

{
  "Forgot your username or password?": "Forgot your username or password?"
}

我没有告诉你的是没有翻译。那么我是否需要为每种语言翻译并翻译它,或者我错过了什么?

1 个答案:

答案 0 :(得分:2)

是的,grunt-locales是一个工具,用于从模板和js文件中提取必要的信息,以便为开发人员指定的所有语言环境构建上述json对象。您将需要一个翻译器来完成并翻译json对象中的字符串。

一旦他们这样做了,你只需重新构建i18n.json文件,使用grunt locales:build创建i18n.js文件。 i18n.js文件由localize指令服务和过滤器使用。

答案非常晚,但如果您仍然感兴趣,我希望这会有所帮助。