ionic 多语言 JSON 问题
ionicMultilingual JSON issue
我在从一种语言翻译成另一种语言时遇到问题。当我使用代码
this.translate.use('en'); // for any language
我无法翻译,我从 JSON 文件中得到的是 -
"{\n \"Status\": \"Task Status\"\n}\n"
问题是 json 文件。它以 stringify 格式读取,附加反斜杠和 \n.
如果我使用
setTranslation()
例如
this.translate.setTranslation('en', { "Status": "Task Status" });
语言翻译成功
截至目前,我正在使用印地语和英语进行翻译。所以 this.translate 结果是:
this.translate.use('hi');
hi: Object { _body: "{\n \"Task Listing\": \"कार्य सूची\",\n \"Task Type\": \"कार्य प्रकार\",\n \"Task Status\": \"कार्य स्थिति\",\n \"Mobile\": \"मोबाइल\",\n \"Type\": \"प्रकार\",\n \"Status\": \"स्थिति\"\n}\n", status: 200, ok: true, … }
你需要解析JSON
eg. JSON.parse(jsonString);
var tempJson="{\n \"Status\": \"Task Status\"\n}\n" //this is ur string
Eg. var data=JSON.parse(tempJson)
console.log(data)
通过在 app.module.ts 中添加 HttpClientModule 解决了我的问题。
之前我用的是Http,但是angular4+用的是HttpClient,所以我改了。
app.module.ts
imports: [
BrowserModule,
HttpClientModule,
HttpModule,
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot(),
TranslateModule.forRoot({
loader : {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
}
})
],
我在从一种语言翻译成另一种语言时遇到问题。当我使用代码
this.translate.use('en'); // for any language
我无法翻译,我从 JSON 文件中得到的是 -
"{\n \"Status\": \"Task Status\"\n}\n"
问题是 json 文件。它以 stringify 格式读取,附加反斜杠和 \n.
如果我使用
setTranslation()
例如
this.translate.setTranslation('en', { "Status": "Task Status" });
语言翻译成功
截至目前,我正在使用印地语和英语进行翻译。所以 this.translate 结果是:
this.translate.use('hi');
hi: Object { _body: "{\n \"Task Listing\": \"कार्य सूची\",\n \"Task Type\": \"कार्य प्रकार\",\n \"Task Status\": \"कार्य स्थिति\",\n \"Mobile\": \"मोबाइल\",\n \"Type\": \"प्रकार\",\n \"Status\": \"स्थिति\"\n}\n", status: 200, ok: true, … }
你需要解析JSON
eg. JSON.parse(jsonString);
var tempJson="{\n \"Status\": \"Task Status\"\n}\n" //this is ur string
Eg. var data=JSON.parse(tempJson)
console.log(data)
通过在 app.module.ts 中添加 HttpClientModule 解决了我的问题。
之前我用的是Http,但是angular4+用的是HttpClient,所以我改了。
app.module.ts
imports: [
BrowserModule,
HttpClientModule,
HttpModule,
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot(),
TranslateModule.forRoot({
loader : {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
}
})
],