Moment JS를 사용하여 아랍어 또는 힌디어와 같은 다른 언어로 날짜를 현지화하면서 숫자를 영어로 표시 [중복]

Nov 30 2020

moment js를 사용하여 날짜를 현지화하고 싶지만 다른 언어가 아닌 영어로만 숫자를 표시합니다.

힌디어 (hi)로 된 날짜가 있다고 가정합니다.

नव. ३०, २०

나는 이것을 다음과 같이 보여주고 싶다.

नव. 30, 20

FromNow() , calendar() and humanize()설명적인 방식으로 날짜를 제공하는 함수 에서도 작동 하기를 바랍니다. 예)

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

다음과 같이 표시되어야합니다.

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

답변

SomeoneSpecial Nov 30 2020 at 13:05

이 방법으로 사용자 정의 할 수 있습니다 . 몇 가지 주석을 추가했지만 일반적으로 텍스트와 관련된 모든 것을 원하는 방식으로 사용자 지정할 수 있습니다. (일반 숫자를 표시하려면 로케일을 'en'으로 설정)

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