Angular数字管道可以将数字翻译成阿拉伯语吗?

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

我正在构建一个Angular v9应用程序,需要翻译成几种不同的语言,包括阿拉伯语。我相信项目设置正确,使用ar-SA作为locale ID之一,然而,即使我在整个应用程序中使用数字管道,数字也没有像我期望的那样以阿拉伯语显示。日期管可以翻译日和月,但数字也不能。

在app.module.ts中

import localeAr from '@angular/common/locales/ar-SA';


registerLocaleData(localeAr);

在angular.json中

"ar-SA": {
              "localize": ["ar-SA"],
              "i18nFile": "src/locale/messages.ar.xlf",
              "i18nFormat": "xlf",
              "i18nLocale": "ar-SA",
              "i18nMissingTranslation": "warning"
            }

任何帮助将是非常感激!

angular internationalization pipe locale language
1个回答
0
投票

如果没有,你可以像这样写自己的管道。

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({name: 'anp'})
export class ArabicNumberPipe implements PipeTransform {

  transform(n: number): string {
    if (n === null || n === undefined) {
      return '';
    }
    return new Intl.NumberFormat('ar-SA',{}).format(n);
  }
}

你可以在这里找到使用的formatter的文档。你可以在这里找到使用的格式化文件: IntlNumberFormat


0
投票

你可以将格式和你使用的管道一起传递。

https:/github.comangularangularblobmasterpackagescommonlocalesar-SA.ts)。

date: format

像'dateVariableFromts'一样。

© www.soinside.com 2019 - 2024. All rights reserved.