背景
对于angular的插件我以前的做法就是上网找个例子然后拿过来就用,用完了框架怎么搭建进来的,后期升级怎么处理就要重新去看去找。而且如果想优化时一头雾水。
写代码就像电视剧请回答1988中的台词一样,人这一辈子,在自己的人生之纸上涂抹颜料,五彩斑斓、浓墨重彩,最终叠加成一纸漆黑。回忆模糊,再也想不出来当时那些红粉蓝绿的笔痕,是以怎样的姿态划过白纸,又发出了何种声响,沙哑还是清脆。都记不清了。仿佛那些多彩的故事,从来都没有发生过,只是我美好的想象。
我理解关于程序的大意是程序本来就像一张白纸,你画一些,他画一些,最终变成一张黑纸,我们都看不清彼此的痕迹。
插件使用
导入ngx-translate
运行下面命令安装@ngx-translate/core和@ngx-translate/http-loader:
npm install @ngx-translate/core --save
npm install @ngx-translate/http-loader --save
然后在根模块(一般是app.module.ts)下引入TranslateModule
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import {HttpClient} from "@angular/common/http";
import {TranslateLoader, TranslateModule} from "@ngx-translate/core";
import {TranslateHttpLoader} from "@ngx-translate/http-loader";
import { AppComponent } from './app.component';
// 为AOT(Ahead-of-Time,预编译)准备
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
这里使用了TranslateHttpLoader 来加载我们定义好的语言文件。"/assets/i18n/[lang].json"这里的lang就是当前正在使用的语言。这里"/assets/i18n/[lang].json"在前后分离的项目中,如果想通过访问后台接口,可以在这里替换为以下。
//用于根据语言类型获取页面所有该语言的键值
export function createTranslateLoader(http: Htt