2

我想使用 angular-gettext 在我的应用程序上实现 i18n,我遵循了这个http://lostechies.com/gabrielschenker/2014/02/11/angularjspart-12-multi-language-support/ 我使用了这个命令:

  npm install -g grunt-cli
  npm install grunt
  npm install grunt-angular-gettext

我的 Gruntfile.js :

 module.exports=function(grunt){
grunt.loadNpmTasks('grunt-angular-gettext');
//This task will parse all our source files and extract the texts we want to have translated – the ones that have an associated translate directive – and add them to a so called pot file.
grunt.initConfig({
    nggettext_extract:{ //we define the task name we want to configure or initialize
        pot:{
            files:{
                'po/template.pot':['../templates/*.html'] //we want the task to parse all html files in the current directory or any sub directory of it and output the result of the task into a file called template.pot
            }
        }
    },
    nggettext_compile:{
        all:{
            files:{
            'translations.js':['po/*.po'] //we want this task to load all po files in the subfolder po of the current directory and compile them into a resulting file translations.js located in the current directory.
            }
        }
        }
});

  }

当我使用这个命令 grunt nggettext_extract 来提取翻译时,我有这个错误:

  >> Local Npm module "grunt-angular-gettext" not found. Is it installed?
   Warning: Task "nggettext_extract" not found. Use --force to continue.

   Aborted due to warnings.

我不知道为什么?包 grunt-angular-gettext 存在于节点模块中你能帮我处理这个吗?

4

3 回答 3

5

尝试在您的项目文件夹中运行:

npm install grunt-angular-gettext --save-dev

我有一个类似的问题,运行上面的命令对我有用

于 2014-04-25T12:42:02.107 回答
1

我不知道这是否对您有帮助,但是我遇到了同样的错误,经过一段时间的研究,我意识到我在 grunt.initConfig 中的 nggettext_extract 条目不正确,我的级别错误(我不小心把它放在了 shell 中),我知道这不是你的问题,但它可能仍然是 Gruntfile 中的某些内容。

于 2014-03-26T16:08:33.277 回答
1

解决方案是首先确保目录中有 package.json 文件。

运行: npm init 然后 npm install grunt npm install grunt-angular-gettext

这将安装实际的模块。有关此主题的更多信息,请参见:https ://github.com/gruntjs/grunt/issues/232

于 2016-01-14T15:12:26.177 回答