我正在构建一个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"
}
任何帮助将是非常感激!
如果没有,你可以像这样写自己的管道。
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
你可以将格式和你使用的管道一起传递。
https:/github.comangularangularblobmasterpackagescommonlocalesar-SA.ts)。
date: format
像'dateVariableFromts'一样。