Transloco-如何在运行时添加语言

问题描述 投票:-2回答:1

我正在使用Angular 8和NativeScript 6.4.1编写应用程序。

我正在考虑将Transloco用于我的翻译库。

我需要能够在运行时更改语言以及在运行时添加新语言。

我该如何在Transloco中做到这一点?

我在文档中看到它说您可以使用setLanguage函数添加语言:https://ngneat.github.io/transloco/docs/language-api

我自己尝试过,但不起作用。

这是我的示例项目:https://github.com/aubrey-fowler/Transloco-Test

这里是代码段:

export class ItemsComponent implements OnInit {

    constructor(private translate: TranslocoService) { }

    ngOnInit(): void {
        console.log(' ItemsComponent ', this.translate.getActiveLang());
        console.log(' ItemsComponent 2 ', this.translate.getAvailableLangs());
    }

    switchLang(lang: string) {
        this.translate.setActiveLang(lang);
        console.log(' setActiveLang ', this.translate.getActiveLang());
    }

    useLanguage(language: string) {
        this.translate.setActiveLang(language);
        console.log(' setActiveLang ', this.translate.getActiveLang());
    }

    add() {
        console.log(' a ');
        this.translate.setTranslation({ Sitetitle : "bonjour"}, 'fr', { merge: true });
        console.log(' ItemsComponent ', this.translate.getActiveLang());
        console.log(' ItemsComponent 3 ', this.translate.getAvailableLangs());
    }

}
angular nativescript transloco
1个回答
0
投票

您可以定义选择和可用语言,请参见下文:

  <ion-select [(ngModel)]="Locale"
        interface="action-sheet" (ionChange)="SetLanguage()">
        <ion-select-option value="en-US">{{'language.englishUsa' | transloco}}</ion-select-option>
        <ion-select-option value="pt-BR">{{'language.portugueseBrasil' | transloco}}</ion-select-option>
      </ion-select>

并设置用户选择的语言。保存到存储并默认定义为语言。

  public SetLanguage() {
    this._Storage.set('Locale', Locale);
    this._TranslocoService.setActiveLang(Locale);
  }
© www.soinside.com 2019 - 2024. All rights reserved.