У меня возникла проблема при переводе с одного языка на другой. когда я использую код

this.translate.use('en');  // for any language

Я не могу перевести, из файла JSON я получаю -

"{\n  \"Status\": \"Task Status\"\n}\n"

Проблема в файле json. Его чтение в строковом формате с добавлением обратной косой черты и \ 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, … }
1
Lalita Gupta 24 Сен 2018 в 13:01

2 ответа

Лучший ответ

Путем добавления HttpClientModule в app.module.ts решает мою проблему.

Раньше я использовал Http, но angular 4+ использует HttpClient, поэтому я изменился.

App.module.ts

imports: [ BrowserModule, HttpClientModule, HttpModule, IonicModule.forRoot(MyApp), IonicStorageModule.forRoot(), TranslateModule.forRoot({ loader : { provide: TranslateLoader, useFactory: (createTranslateLoader), deps: [HttpClient] } }) ],

0
Lalita Gupta 25 Сен 2018 в 07:50

Вам нужно разобрать 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)
0
Maheshvirus 24 Сен 2018 в 12:26