【问题标题】:NativeScript with Angular - ngx-translate how to add translations after the application has initializedNativeScript with Angular - ngx-translate 如何在应用程序初始化后添加翻译
【发布时间】:2020-05-22 16:10:30
【问题描述】:

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

我想在我的项目中使用 ngx-translate 库:https://github.com/ngx-translate/core

这是我的示例存储库:https://github.com/aubrey-fowler/translationsTest1

它工作正常,但我需要能够在应用程序初始化后添加翻译。这是因为它是后端开发人员实现该功能的方式。当用户登录到应用程序时,他们会从他们的个人资料中获得更多翻译。我知道这很奇怪,但这是他们想要的工作方式。

**问题:我的示例代码正在运行,但我如何使用 ngx-translate 库添加新语言及其关联的子语言? **

例如this.translate.add('fr', { "greeting": "bonjour"});

是否可以在运行时添加语言 json,如果可以,我该怎么做?

代码sn-p:

export class AppComponent {

    constructor(public translate: TranslateService) {

        translate.addLangs(['en', 'nl']);
        translate.setDefaultLang('en');
        translate.use('en');

    }

}

【问题讨论】:

    标签: angular internationalization nativescript ngx-translate


    【解决方案1】:

    你必须关注documentation,使用setTranslation方法

    this.translateService.setTranslation("your-lang-code", { key : "value"}, true);
    

    【讨论】:

    • 这确实有效,但出现错误:JS: ERROR SyntaxError: Unexpected end of JSON input
    • 这听起来与您的代码/参数有关。它可以正常工作并经过我的测试。
    • 为什么我的应用程序再次启动时需要重新设置“your-lang-code”?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-23
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    相关资源
    最近更新 更多