首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改我的"language.json“文件(键和值)而不必重新编译angular应用程序?

如何更改我的"language.json“文件(键和值)而不必重新编译angular应用程序?
EN

Stack Overflow用户
提问于 2018-02-02 22:27:13
回答 1查看 794关注 0票数 1

我刚刚安装了ngx-translate模块,它正在工作,我的问题是:在我部署我的angular 4应用程序后,我如何才能更改json文件(键和值),而不必重新编译和重新开发。

每个例子:我当前的'en.json‘文件:

代码语言:javascript
复制
{
    "hello": "Hello World"
}

我的app.module.ts:

<div>{{"hello" | translate}}</div>

在部署我的应用程序后,我想将"Hello World“更改为"Good Morning”,而无需重新编译和重新部署!如果可能的话

我的app.module:

代码语言:javascript
复制
import {TranslateModule, TranslateLoader} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';
import { HttpClientModule, HttpClient } from "@angular/common/http";

export function createTranslateLoader(http: HttpClient) {
    return new TranslateHttpLoader(http, './assets/i18n/', '.json');

}

代码语言:javascript
复制
@NgModule({
    declarations: [
        AppComponent,
        LoginComponent,
        LogoutComponent,
    ],
    imports: [
        HttpModule,
        // StoreModule.provideStore(createNetevenReducer, INITIAL_GLOBAL_APP_STATE),
        // StoreDevtoolsModule.instrumentOnlyWithExtension(),
        StoreModule.forRoot([]),
        EffectsModule.forRoot([]),
        !environment.production ? StoreDevtoolsModule.instrument({ maxAge: 50 }) : [],
        BrowserModule,
        BrowserAnimationsModule, // required for ng2-tag-input
        CoreModule,
        LayoutModule,
        SharedModule.forRoot(),
        RoutesModule,
        HttpClientModule,
        TranslateModule.forRoot({
            loader: {
                provide: TranslateLoader,
                useFactory: (createTranslateLoader),
                deps: [HttpClient]
            }
        })
    ],
    providers: [
        AuthHttp,
        {
            provide: AuthHttp,
            useFactory: authHttpServiceFactory,
            deps: [ Http, RequestOptions ]
        },
        AuthSecurityService,
        AuthenticationService,
        UserService,
        HttpClientModule,
    ],
    bootstrap: [AppComponent]

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-02-02 23:10:03

您可以使用多个language.json文件(en.json、de.json、fr.json)部署您的应用程序,并按如下方式切换它们:

代码语言:javascript
复制
constructor(private translate: TranslateService) {
    this.translate.use('en');
    // this.translate.use('fr');
    // ...
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48584783

复制
相关文章

相似问题

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