Я пытаюсь использовать пакет ng2-translate с Webpack. В режиме разработки все работает отлично. Когда я начинаю сборку, она не копирует языковые файлы в каталог «dist».ng2-translate + Webpack для производства
Может кто-нибудь дать мне несколько советов, как изменить путь вывода, я пытался следить за https://github.com/ocombe/ng2-translate инструкции, но я оленья кожа обеспечить любой рабочий пример для WebPack в производстве, и его не очень понятно, как использовать TranslateStaticLoader
и изменить 18n/*.json
.
Если добавить это я получаю сообщение об ошибке с библиотеками
@NgModule({
imports: [
BrowserModule,
HttpModule,
TranslateModule.forRoot({
provide: TranslateLoader,
useFactory: (http: Http) => new TranslateStaticLoader(http, '/assets/i18n', '.json'),
deps: [Http]
})
],
bootstrap: [AppComponent]
})
Это мой app.module.ts
import {BrowserModule} from "@angular/platform-browser";
import { NgModule } from '@angular/core';
import {HttpModule} from '@angular/http';
import { AppComponent } from './app.component';
import {TranslateModule} from 'ng2-translate';
@NgModule({
imports: [
BrowserModule,
HttpModule,
TranslateModule.forRoot()
],
declarations: [
AppComponent
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Мои app.component.ts
import { Component } from '@angular/core';
import {TranslateService} from 'ng2-translate';
import '../../public/css/styles.css';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
param: string = "world";
constructor(translate: TranslateService) {
// this language will be used as a fallback when a translation isn't found in the current language
translate.setDefaultLang('en');
// the lang to use, if the lang isn't available, it will use the current loader to get them
translate.use('en');
}
}
My app.component.html
<div>{{ 'HELLO' | translate:{value: param} }}</div>
и мой
JSON{
"HELLO": "hello {{value}}"
}
Спасибо за вашу помощь.
У меня также есть эта работа в разработке, мне удалось заставить импортировать TranslateService, TranslateLoader, TranslateStaticLoader} из 'ng2-translate', но проблема на этом не заканчивается, в AppComponent конструктор должен быть конструктором (частный перевод: TranslateService), добавление частного в примеры не так. Это в конечном итоге работает, но создание приложения - это еще одна история, я застрял там. – Dimitri
btw Я в конечном итоге использую angular2localization и отлично работает, документация более обширна и легко интегрируется в ваше приложение. – Dimitri