【问题标题】:put new line in string to translate在字符串中放入新行以进行翻译
【发布时间】:2018-01-30 19:44:36
【问题描述】:

我正在使用 ngx-translate。

如何在要翻译的字符串中添加换行符?

在我的模板中:

{{'STRING_TO_TRANSLATE' | translate}}

在我的 en.json 中:

{
"STRING_TO_TRANSLATE": "text on first line. <br> or \n don't work. Text on second line"
}

【问题讨论】:

  • 我的解决方案有帮助吗?在这种情况下考虑将其标记为已接受,谢谢!

标签: angular translation ngx-translate


【解决方案1】:

有效!但不是

{{'STRING_TO_TRANSLATE' | translate}}

你应该这样做

<div [innerHTML]="'STRING_TO_TRANSLATE' | translate"></div>

&lt;br/&gt;s 应该可以正常工作,但在其他情况下,您可能需要一些额外的“安全 html 管道”,即:

import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';

@Pipe({name: 'mySafeHtmlPipe'})
export class SafeHtmlPipe implements PipeTransform {
  constructor(private sanitizer: DomSanitizer) {
  }

  public transform(htmlContent) {
    return this.sanitizer.bypassSecurityTrustHtml(htmlContent);
  }
}

【讨论】:

    【解决方案2】:

    如果你想要&lt;p&gt;&lt;/p&gt; 对应\n\n&lt;br /&gt; 对应\n,这是我的解决方案:

    第一步:照我说的做in this comment

    第 2 步:像这样链接你的管道:

    <div [innerHTML]="'YOUR_TRANSLATE_WITH_\n_OR_\n\n_GOES_HERE' | translate | nl2pbr"></div>
    

    有关链接管道的更多信息:https://angular.io/guide/pipes#chaining-pipes

    【讨论】:

      【解决方案3】:

      您可以使用 \n,但您必须提供一些样式。

      所以在你的模板中使用这个:

      <div class="my-translated-paragraph">
          {{'STRING_TO_TRANSLATE' | translate}}
      </div>
      

      你的 en.json:

      {
      "STRING_TO_TRANSLATE": "text on first line.\nText on second line"
      }
      

      您的 (s)CSS 文件:

      .my-translated-paragraph{
          white-space: pre-wrap;
      }
      

      更多信息以及空白背后的魔力:https://stackoverflow.com/a/42354356/3757110

      另请参阅关于此的 github 问题:https://github.com/angular-translate/angular-translate/issues/595

      【讨论】:

        【解决方案4】:

        这种情况可以通过某种方式解决,但恕我直言,真正的解决方案是:

        .container {
            white-space: pre-line;
        }
        

        pre-wrap 和 pre-line 之间存在显着差异。预包装将导致浏览器保留所有空格,因此您将获得第一行缩进。前置行会将我们的空格序列折叠成一个空格,并且不会出现缩进。

        您可以在 MDN 文档中阅读更多内容,实际链接如下:

        https://developer.mozilla.org/en-US/docs/Web/CSS/white-space

        【讨论】:

          猜你喜欢
          • 2016-07-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多