我正在使用ngx-translate在Angular 7中开发应用程序以实现国际化和基于引导的AdminLTE 3。 我有两个CSS:
当我选择阿拉伯语作为RTL方向时,如何加载bootstrap_rtl.css和如何卸载bootstrap_ltr.css。
<div class="dropdown-menu dropdown-menu-sm dropdown-menu-right">
<a class="dropdown-item" (click)="useLanguage('en')">
English
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" (click)="useLanguage('ar')">
Arabic
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" (click)="useLanguage('ta')">
Russian
</a>
</div>
export class NavbarComponent implements OnInit {
constructor(private translate: TranslateService) { }
ngOnInit() {
}
useLanguage(language: string) {
this.translate.use(language);
}
}
答案 0 :(得分:2)
如果是rtl
或ltr
,则可以在翻译文件中创建一个作为当前主题标志的键,并且该值将更改您选择的语言的基础
style.scss
.ltr {
@import 'themes/_en';
}
.rtl {
@import 'themes/_ar';
}
_ar.json
{
"currentTheme":"rtl"
}
_en.json
{
"currentTheme":"ltr"
}
app.template
<div [ngClass]="'currentTheme' | translate"> // ?
{{'currentTheme' | translate}}
<p class="base-align">
<hello name="{{ name }}"></hello>
Start editing to see some magic happen :)
</p>
theme <button (click)="useLanguage('en')">English</button>
<button (click)="useLanguage('ar')">Arabic</button>
</div>
当languae改变currentTheme的值时,样式会改变并且样式也会改变