首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >`ng2-translate` -始终设置为‘`english`’其他语言不设置

`ng2-translate` -始终设置为‘`english`’其他语言不设置
EN

Stack Overflow用户
提问于 2018-04-25 10:11:51
回答 1查看 343关注 0票数 1

我正在使用ng2-translate -进行翻译。但是,当我更改语言时,翻译仍然使用en。但我正在寻找fr,这是我的默认设置,根本不加载。下面是我的代码:

代码语言:javascript
复制
export class HomeComponent implements OnInit {

  data:any;

  constructor(private router:Router, private route: ActivatedRoute, private translate:TranslateService ) {

    translate.addLangs(["fr","en"]);
    translate.setDefaultLang("fr");//french not loading!!

    let browserlang = translate.getBrowserLang();
    translate.use(browserlang.match(/fr|en/) ? browserlang:"fr");

    console.log('browserlang', browserlang );

  }

}

我的模板:

代码语言:javascript
复制
<h1>{{ 'home.title' | translate }} </h1>
EN

回答 1

Stack Overflow用户

发布于 2018-04-25 10:31:05

您可能需要添加一行以将当前语言设置为法语:

代码语言:javascript
复制
constructor(private router:Router, private route: ActivatedRoute, private translate:TranslateService ) {

    translate.addLangs(["fr","en"]);
    translate.setDefaultLang("fr");//french not loading!!

    // Actually set the current language to French
    translate.use("fr").subscribe(() => {
        // Code here runs after language is set to French
        let browserlang = translate.getBrowserLang();

        console.log('browserlang', browserlang );
        console.log(`currentLang`, translate.currentLang);
    });

  }

ng2-translate文档中:

字符串(lang:setDefaultLang):设置用作回退字符串的默认语言

use( lang : string):Observable:更改当前使用的语言

因此,仅当设置lang失败时才使用默认lang。

有关详细信息,请参阅https://github.com/ngx-translate/core

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50013065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档