我想在Ionic 2项目中使用Angular 2的国际化(i18n).不幸的是,我无法使用ng-xi18n工具尝试以下命令创建翻译源文件:
./node_modules/.bin/ng-xi18n
Run Code Online (Sandbox Code Playgroud)
出现以下TypeError:
TypeError: Cannot read property 'create' of undefined
at Function.Extractor.create (/Users/user/Development/app/node_modules/@angular/compiler-cli/src/extractor.js:69:45)
at extract (/Users/user/Development/app/node_modules/@angular/compiler-cli/src/extract_i18n.js:7:34)
at Object.main (/Users/user/Development/app/node_modules/@angular/tsc-wrapped/src/main.js:47:16)
at Object.<anonymous> (/Users/user/Development/app/node_modules/@angular/compiler-cli/src/extract_i18n.js:14:9)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
Extraction failed
Run Code Online (Sandbox Code Playgroud)
我尝试升级我的软件包但没有成功.这里是我在文件中的依赖项package.json
"dependencies": {
"@angular/common": "2.0.0-rc.4",
"@angular/compiler": "2.0.0-rc.4",
"@angular/compiler-cli": "^2.4.0",
"@angular/core": "2.0.0-rc.4",
"@angular/forms": "0.2.0",
"@angular/http": "2.0.0-rc.4",
"@angular/platform-browser": "2.0.0-rc.4",
"@angular/platform-browser-dynamic": "2.0.0-rc.4",
"@angular/platform-server": "^2.4.0",
"es6-shim": "0.35.1",
"ionic-angular": "2.0.0-beta.11",
"ionic-native": "1.3.10",
"ionicons": "3.0.0",
"reflect-metadata": "0.1.8",
"rxjs": "5.0.0-beta.6",
"typescript": "^2.1.4",
"zone.js": "0.6.12"
},
Run Code Online (Sandbox Code Playgroud)
也许有人在过去已经解决了这个问题.感谢先进的答案.
小智 7
根据Angular.io,您只需指定翻译格式(不依赖于默认值).
例如:
./node_modules/.bin/ng-xi18n --i18nFormat xlf
Run Code Online (Sandbox Code Playgroud)
你应该得到一个message.xlf文件.