gpt4 book ai didi

internationalization - 使用Renderer做i18n?

转载 作者:太空狗 更新时间:2023-10-29 17:21:09 24 4
gpt4 key购买 nike

我最近看了very interesting article @yearofmoo 关于 Angular2 渲染器。这让我想到可以使用 Renderer 进行国际化.基本上使用这个函数:

  createText(parentElement: any, value: string): any {
// this is called for every text node in the template
}

并通过将其映射到不同的语言来简单地转换 value:

let es = { "Hello": "Hola" }

value = "Hello"
value = es[value]

我简要地查看了 issuesdesign docs ,但在进入这个兔子洞之前,我想检查一下是否有人对此有任何经验。

是否有任何问题可以阻止此工作?我不知道的一些重大变化?对此方法有何看法?

最佳答案

我们使用 Renderer 来设置由属性提供的翻译。

import { Directive, ElementRef, Input, Renderer, OnInit} from '@angular/core';
import { TranslateService } from './translate.service';

@Directive({ selector: '[translate]' })
export class TranslateDirective implements OnInit{

@Input() translate :string;

constructor(private el: ElementRef, private renderer: Renderer, private _translateService : TranslateService) {}

ngOnInit(): void {
this.renderer.setText(this.el.nativeElement,this._translateService.instant(this.translate));
}
}

参见 plunker用于演示

希望这就是您要找的东西。

关于internationalization - 使用Renderer做i18n?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35606880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com