私のプロジェクトは Angular CLI でセットアップされているため、webpack でビルドされていますが、webpack 構成ファイルは非表示になっています。
と の 2 つのファイルをnl.json
取得しましたが、正しいフォルダーに移動するように見えますが、両方の をfr.json
取得します: 。404
http://localhost:4200/i18n/nl.json
それらの構造は次のとおりです。
{
"SEARCH_PAGE": {
"searchPerson": "Zoek een persoon",
"search": "Zoek"
}
}
でapp.module
:
...
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [Http]
}
}),
...
と
export function HttpLoaderFactory(http: Http) {
return new TranslateHttpLoader(http, "/i18n/", ".json");
}
私はまた、翻訳を使用[しようとする]サブモジュールにこれらを含め.forChild
ます.forRoot
.
私のコンポーネントでは:
constructor(translate: TranslateService) {
translate.addLangs(["nl", "fr"]);
translate.setDefaultLang('nl'); // this language will be used as a fallback when a translation isn't found in the current language
let browserLang: string = translate.getBrowserLang();
translate.use(browserLang.match(/nl|fr/) ? browserLang : 'nl');
}
リンクされていないものngx-translate
でしょうか?パイプ<h1>{{ 'SEARCH_PAGE.searchPerson' | translate}}</h1>
を使用すると画面に何も表示されませんが、ディレクティブ<h1 translate]="'SEARCH_PAGE.searchPerson'"></h1>
を使用すると文字通り文字列が表示されます。