在Moment阿拉伯语本地化中自定义数值

时间:2018-03-21 08:16:40

标签: localization momentjs

我想在moment.js中创建自己的语言环境,其父级应该是阿拉伯语本地,但我只想更改为数字格式以显示0-9,而不是默认显示。

根据文件,我可以从那开始:

moment.defineLocale('ar-sa-mine', {
  parentLocale: 'ar-sa',
  /*
     here I need to specify the numeric: change **this ٢٩ to 29**
  */
});

1 个答案:

答案 0 :(得分:2)

如果您查看locale/ar-sa.js代码,则会注意到该时刻会使用preparsepostformat将数字字符转换为阿拉伯语。

您只需恢复重置preparsepostformat的默认行为(例如,请查看时刻代码:function preParsePostFormat (string) { return string; }

这是一个实时样本:



console.log( moment().format() );
console.log( moment().format('dddd DD MMMM YYYY') );

moment.defineLocale('ar-sa-mine', {
  parentLocale: 'ar-sa',
  preparse: function (string) {
    return string;
  },
  postformat: function (string) {
    return string;
  }
});

console.log( moment().format() );
console.log( moment().format('dddd DD MMMM YYYY') );

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/locale/ar-sa.js"></script>
&#13;
&#13;
&#13;