由於專案要加入i18n多國語系又剛好angular2有i18n的功能,所以就來試試看。然後才一開始就撞到牆!直接給你不知道該怎麼解決的錯誤,此時也只能求助google 大神了 XD
版本:
angular-cli: 1.0.0-beta-25.5
@angular/common: "^2.3.1",
@angular/compiler: "^2.3.1",
@angular/core: "^2.3.1",
@angular/forms: "^2.3.1",
@angular/http: "^2.3.1",
@angular/platform-browser: "^2.3.1",
@angular/platform-browser-dynamic: "^2.3.1",
@angular/router: "^3.3.1",
@angular/compiler-cli: "^2.3.1",
@angular/platform-server: "2.4.8",
一開始照著angular.io 的i18n教學在template的tag上面加上i18n這個tagname,然後簡單的試試看node_modules的ng-xi18n這個script
./node_modules/.bin/ng-xi18n
接著就出現錯誤了......
最後在google大神的幫助下找到了解法。
1. 在src/tsconfig.json內加入
"exclude": [
"test.ts",
"**/*.spec.ts"
]
{ "compilerOptions": { "baseUrl": "", "declaration": false, "emitDecoratorMetadata": true, ....... ....... }, "exclude": [ "test.ts", "**/*.spec.ts" ] }2. 然後執行 "./node_modules/.bin/ng-xi18n -p src/tsconfig.json" 就可以在src下產生 messages.xlf檔案了。
好像是因為angular-cli有自己的tsconfig.json然後我們用 -p 轉導去讀我們在src下的tsconfig.json,並且在tsconfig.json下要ng-xi18n跳過 test.ts跟有關*.spec.ts檔案。
接下來在繼續照angular官方教學試試看,有問題再跟大家分享。
Ref:
請問後來還有碰到問題嗎?
回覆刪除沒有了
刪除