Пытаюсь реализовать ng2-translate i18n.
dashboard.component.ts
import { Component } from '@angular/core';
import {TranslateService} from 'ng2-translate';
@Component({
selector: 'dashboard-page',
template:`<div>
<h2>{{ 'HOME.TITLE' | translate }}</h2>
<label>
{{ 'HOME.SELECT' | translate }}
<select #langSelect (change)="translate.use(langSelect.value)">
<option *ngFor="let lang of translate.getLangs()" [value]="lang" [selected]="lang === translate.currentLang">{{ lang }}</option>
</select>
</label>
</div>`
})
export class DashboardComponent {
constructor(private translate: TranslateService) {
translate.addLangs(["en", "fr"]);
translate.setDefaultLang('en');
let browserLang = translate.getBrowserLang();
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');
}
}
Путь к этому файлу: src / main / app / dashboard / dashboard.component.ts
Путь к двум файлам JSON - en.json и fr.json - src / main / app / assets / i18n.
Я включил TranslateModule в app.module.ts
Но когда я запускаю приложение, я получаю ошибку en.json file not found-404. Я использую webpack, а в webpack.common.js у меня есть предварительный загрузчик для JSON, подобный этому
preLoaders:[
{
test: /\.json$/,
exclude: /node_modules/,
loader: 'json-loader'
}
]
Тем не менее я получаю ошибку JSON file not found.
И из примеров, которым я следовал, я не понимаю, в каком файле должен быть указан путь Assests \ i18n.json.