简体   繁体   English

Angular使翻译全球化

[英]Angular make translation global

I use TranslateService from @ngx-translate and every tutorial I found is pretty much the same. 我使用@ ngx-translate的 TranslateService ,发现的每个教程都差不多

The problem is.. I have in root AppComponent this: 问题是..我在根AppComponent中有以下内容:

import { TranslateService } from '@ngx-translate/core';

constructor(private translate: TranslateService) {
    translate.addLangs(["en", "fr"]);
    translate.setDefaultLang('en');

    let browserLang = translate.getBrowserLang();
    translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');
}

In header event which change language: 在标题事件中更改语言:

<select #langSelect (change)="translate.use(langSelect.value)">
    <option *ngFor="let lang of translate.getLangs()" [value]="lang" [selected]="lang === translate.currentLang">{{ lang }}</option>
</select>

and I want this to be global, the change event to propagate into my all modules, components etc. Is there a way to do that, or I must inject this service every place I use it? 并且我希望这是全局的,更改事件会传播到我的所有模块,组件等中。有没有办法做到这一点,或者我必须在使用它的每个位置注入该服务?

Thanks. 谢谢。

您需要将其包装在模块中并包含在每个页面中,或者您可以将该组件完全隔离在不同的控制器中,并将其作为标题的一部分进行渲染,以便从布局中进行渲染。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM