응용 프로그램 국제화에 ng2-translate 라이브러리를 사용하기로 결정 했으므로 기본 구현이 더 좋습니다. 그러나 나는 다음과 같은 문제들에 직면 해있다.루트 구성 요소의 하위 구성 요소에서 Angular ng2-translate가 작동하지 않습니다.
app.module.ts : 여기
내 코드입니다import { TranslateModule } from 'ng2-translate';
@NgModule({
imports: [
BrowserModule,
HttpModule,
TranslateModule.forRoot(),
appRoutes
],
app.component.ts
@Component({
selector: 'fiv-app',
templateUrl: './app.fivtemplate.html',
providers: [TranslateService]
})
.....
constructor(private _translateService: TranslateService) {
this.langs= ['fi','en'];
_translateService.addLangs(["en", "fi"]);
_translateService.setDefaultLang('fi');
let browserLang = _translateService.getBrowserLang();
_translateService.use('fi');
}
.....
app.component.html
<fiv-hello></fiv-hello>
<h2>{{ 'HOME.TITLE' | translate }}</h2>
및 fivhello.component.ts
<h2>{{ 'HOME.TITLE' | translate }}</h2>
<div [translate]="'HOME.TITLE'"> Test</div>
- 나는 최신 버전을 사용하려고 5.0.0는하지만이 오류 얻을 : 나는 그래서-각 CLI, 각 2.0.0과 NPM 을 사용하고
Uncaught TypeError: ctorParameters.map is not a function at ReflectionCapabilities.parameters (http://localhost:4200/main.bundle.js:40295:47)
을 4.2.0으로 바꿨는데 내 구성에서 제대로 작동하는 것 같습니다.
app.component.html의 텍스트가 번역되었습니다. 그러나 fivhello 구성 요소 중 하나는 현지화되지 않았습니다. HOME.TITLE 만 표시합니다. 디버깅 할 때 렌더링 후 TranslateService의 get 함수가 나중에 호출되지만 텍스트가 업데이트 될 것으로 예상됩니다.
사용할 언어를 변경 한 후에는 dom도 업데이트되지 않습니다. 언어를 변경하는 데 사용되는 구성 요소는 다음과 같습니다.
@Component({ selector: 'language-option', templateUrl: './languageoption.component.html', styleUrls: ['./languageoption.component.css'], providers: [ TranslateService ] }) export class LanguageoptionComponent implements OnInit { langs : String []; constructor(private _translateService: TranslateService) { this.langs = ['fi', 'en']; } ngOnInit() { } public changeLocale = (locale) => { this._translateService.use(locale); } }
누구나 동일한 문제를 경험 했습니까?
감사합니다.
https://github.com/ocombe/ng2-translate/issues/376 – ranakrunal9
감사합니다. 나는 실제 구성으로 실행할 수 있기를 바랬다. 그러나 나는 갱신하려고 노력할 것이고 희망적으로 다른 문제들이 고쳐질 것이다. – csm86