如何使用 Transloco 为 Angular 上的多语言网站设置正确的 html 属性“lang”?

问题描述 投票:0回答:1

我使用 Transloco 在 Angular 上制作了多语言网站(3 种语言)。意味着,我没有为每种语言提供不同的页面版本或子域,我只是在 Transloco json 文件中拥有所有文本内容。它只是一个文件index.html,我可以在其中设置html属性“lang”。对于一些不同的语言我该如何做?

还有一个:我翻译标签标题和描述,并为 SPA 中的每个页面设置不同的内容。这足够了还是我应该做点别的事情? 抱歉,我的问题可能很愚蠢,但这是我的第一个“SEO”。

现在看起来像这样:

<html lang="en">

所以这不行。 例如,对于更改标题,我使用 updateTitle 方法,并且我只是使用 Transloco 更改当前标题值。

我在 LocalStorage 中有当前语言的信息,意味着我可以通过 localStorage.getItem("lang") 获取“en”、“it”或“es”,但是如何将其放入

<html lang="">

angular single-page-application multilingual lang transloco
1个回答
0
投票

您可以使用以下代码:

import { DOCUMENT } from '@angular/common';

...

enter code here

export class AppComponent implements OnInit {

  constructor(@Inject(DOCUMENT) private document: Document) {}

  ngOnInit() {
    this.document.documentElement.lang = localStorage.getItem("lang"); 
  }
  ...
}
© www.soinside.com 2019 - 2024. All rights reserved.