Exibir números em inglês enquanto localiza a data em outro idioma, como árabe ou hindi, usando o Moment JS [duplicado]

Nov 30 2020

Quero localizar a data usando o momento js, ​​mas mostrar números em inglês, não em qualquer outro idioma.

Suponha que eu tenha um encontro em hindi (oi).

नव. ३०, २०

Eu quero mostrar isso como

नव. 30, 20

Eu quero que isso funcione também em FromNow() , calendar() and humanize()funções que fornecem a data de formas descritivas. por exemplo)

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

deve ser exibido como

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

Respostas

SomeoneSpecial Nov 30 2020 at 13:05

você pode personalizá-lo desta forma . adicionou alguns comentários, mas geralmente você pode personalizar tudo em relação ao texto da maneira que quiser. (defina o local como 'en' para exibir os números normais)

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.
    }
});