Javascript 使用英语显示数字,同时使用其他语言(如阿拉伯语或印地语)使用Moment JS对日期进行本地化

Javascript 使用英语显示数字,同时使用其他语言(如阿拉伯语或印地语)使用Moment JS对日期进行本地化,javascript,momentjs,Javascript,Momentjs,我想本地化日期使用的时刻js,但显示的数字只有英语,而不是任何其他语言 假设我有一个印地语的约会(嗨) नव. ३०, २० 我想把它显示为 नव. 30、20 我希望它也能在FromNow()、calendar()和humanize()函数中工作,这些函数以描述性的方式提供日期。 (例如) कल दोपहर ११:१९ बजे 应显示为 कल दोपहर 11:19 बजे您可以自定义它。添加了一些注释,但您通常可以根据需要定制与文本相关的所有内容。(将区域设置设置为“en”以显示正常数字)

我想本地化日期使用的时刻js,但显示的数字只有英语,而不是任何其他语言

假设我有一个印地语的约会(嗨)

नव. ३०, २०

我想把它显示为

नव. 30、20

我希望它也能在
FromNow()、calendar()和humanize()函数中工作,这些函数以描述性的方式提供日期。
(例如)

कल दोपहर ११:१९ बजे

应显示为

कल दोपहर 11:19 बजे

您可以自定义它。添加了一些注释,但您通常可以根据需要定制与文本相关的所有内容。(将区域设置设置为“en”以显示正常数字)

moment.locale('en'{
//例如月份:“一月、二月、三月、四月……分割(“”)
月份:“janvier_février_mars_avril_mai_juin_juillet_aoút_septembre_octobre_novenbre_décembre”。拆分(“'),
月短:“1月、1月、2月、9月、10月、11月”分割(“分割”),
monthsParseExact:没错,
工作日:“dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi”。拆分(“'),
工作日短:“昏暗、黑暗、黑暗、黑暗、黑暗、黑暗、黑暗、黑暗、黑暗、黑暗、黑暗、黑暗、黑暗、黑暗、黑暗、黑暗”,
工作日的主题是:“迪鲁·马·梅耶·维夫·萨”。分开(“UU”),
工作日SparSeexact:没错,
longDateFormat:{
LT:'HH:mm',
LTS:'HH:mm:ss',
L:'DD/MM/YYYY',
LH:‘D MMMM YYYY’,
LLL:'D MMMM YYYY HH:mm',
LLLL:'dddd D MMMM YYYY HH:mm'
},
日历:{
sameDay:“[Aujourd'huiáLT”,
下一天:“[DemaináLT”,
下一节:'dddd[a]LT',
最后一天:“[Hierá]LT”,
上周:“dddd[dernieráLT”,
萨米尔斯:“我
},
//[]中的文本按原样生成
相对时间:{
future:'dans%s',//在%s秒内
过去:'il y a%s',//%s秒前
s:‘quelques secondes’,//一秒
m:'一分钟',//一分钟
mm:“%d分钟”,
h:'一小时',//一小时
hh:“%d heures”,
d:'一天'//一天
dd:“%d个工作日,//%d天
M:‘一个月//
MM:“%d个月”,//%d个月
y:‘un an’,
yy:“%d ans”
},
dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,,
序号:函数(数字){
返回编号+(编号==1?'er':'e');
},
美国公司:/PD | MD/,
isPM:功能(输入){
返回输入。字符(0)='M';
},
//如果meridiem装置未在12左右分开,则执行以下操作:
//此函数(查看locale/id.js以获取示例)。
//梅里迪姆小时:功能(小时,梅里迪姆){
//返回时间/*0-23小时,给定梅里迪姆代币和1-12小时*/;
// },
梅里迪姆:功能(小时、分钟、岛屿){
返回时间<12小时?'PD':'MD';
},
周:{
道琼斯指数:1,//星期一是一周的第一天。
doy:4//用于确定一年中的第一周。
}
});

找到本地化文件,如果可以的话,将本地化数量更新为正常的一个。这可能适用于1或2种已知语言,但在我的情况下,语言不是预先确定的。它将在运行时设置。啊,那就不起作用了……我想你可以使用这里显示的解决方案:@VincenzoC是的,这正是我想要的,t谢谢你的回答,但是我仍然不知道我在哪里可以用英文数字来代替本地化的数字。你把它设置为en,数字将是en。这可能适用于已知的1或2种语言,但在我的情况下,工作语言是未知的这就是为什么对所有语言进行自定义是不可行的。再说一次,大多数语言都使用罗马数字。
moment.locale('en', {
    // e.g months: "January_febuary_march_april......split('_')
    months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
    monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
    monthsParseExact : true,
    weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
    weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
    weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
    weekdaysParseExact : true,
    longDateFormat : {
        LT : 'HH:mm',
        LTS : 'HH:mm:ss',
        L : 'DD/MM/YYYY',
        LL : 'D MMMM YYYY',
        LLL : 'D MMMM YYYY HH:mm',
        LLLL : 'dddd D MMMM YYYY HH:mm'
    },
    calendar : {
        sameDay : '[Aujourd’hui à] LT',
        nextDay : '[Demain à] LT',
        nextWeek : 'dddd [à] LT',
        lastDay : '[Hier à] LT',
        lastWeek : 'dddd [dernier à] LT',
        sameElse : 'L'
    },
//the text in [] are generated as it is
    relativeTime : {
        future : 'dans %s', //in %s seconds
        past : 'il y a %s', // %s seconds ago
        s : 'quelques secondes', //a second
        m : 'une minute', //a minute
        mm : '%d minutes', 
        h : 'une heure', //an hour
        hh : '%d heures',
        d : 'un jour', //a day
        dd : '%d jours', //%d days
        M : 'un mois', //a month
        MM : '%d mois', //%d months
        y : 'un an',
        yy : '%d ans'
    },
    dayOfMonthOrdinalParse : /\d{1,2}(er|e)/,
    ordinal : function (number) {
        return number + (number === 1 ? 'er' : 'e');
    },
    meridiemParse : /PD|MD/,
    isPM : function (input) {
        return input.charAt(0) === 'M';
    },
    // In case the meridiem units are not separated around 12, then implement
    // this function (look at locale/id.js for an example).
    // meridiemHour : function (hour, meridiem) {
    //     return /* 0-23 hour, given meridiem token and hour 1-12 */ ;
    // },
    meridiem : function (hours, minutes, isLower) {
        return hours < 12 ? 'PD' : 'MD';
    },
    week : {
        dow : 1, // Monday is the first day of the week.
        doy : 4  // Used to determine first week of the year.
    }
});