Moment: рд╕реНрдерд╛рдиреАрдп рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдлрд╝рд░ре░ 2016  ┬╖  22рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: moment/moment

рдЬрдм рдореИрдВ рд▓реЛрдХреЗрд▓ рдорд╛рди рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреНрд░реБрдЯрд┐ рднреА рдирд╣реАрдВред

      this.$log.log(moment.locale()); // returns 'en'
      this.$log.log(moment.locale('fr')); // set to french but returns 'en'
      this.$log.log(moment.locale()); // of course, still returns 'en' instead of 'fr'

рдореИрдВрдиреЗ рдХреНрд░реЛрдо рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдХрдВрд╕реЛрд▓ рд╕реЗ рднреА рдХреЛрд╢рд┐рд╢ рдХреА:

> moment.locale('fr')
-> "en"

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВрдиреЗ рдХрд╣рд╛:
import 'moment/locale/fr';

рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
moment.locale('fr')

рдЕрдм рд▓реЛрдХреЗрд▓ рдХреЛ рдлреНрд░реЗрдВрдЪ рдореЗрдВ рдареАрдХ рд╕реЗ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдЧрддрд┐рд╢реАрд▓ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдореИрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдЙрддреНрддрд░ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ/рдХреЛрдгреАрдп/рдЬреЗрдПрд╕рдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдЧреАред

рд╕рднреА 22 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреНрдпрд╛ рдЖрдк рдПрдХ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдкрд▓ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддрд╛ рд╣реИ?

import m from 'moment';

this.$log.log(m.locale());
this.$log.log(m.locale('fr'));
this.$log.log(m.locale());

this.$log.log(window.moment.locale());
this.$log.log(window.moment.locale('is'));
this.$log.log(window.moment.locale());

рдореИрдВ рдПрдХ рдХреЛрдгреАрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣реВрдБ, рдореЙрдбреНрдпреВрд▓ JSPM рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд▓ рд░рд╣реЗ рд╣реИрдВред
рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ "рдЬреЛ рдЖрдкрдХреЛ рдкрд▓ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддрд╛ рд╣реИ"

3 рд▓рд╛рдЗрдиреЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЙрд╕реА рд╡рд┐рдзрд┐ рдореЗрдВ рдЙрд╕реА рдХреНрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЬрдорд╛рдпрд╛ рдерд╛ред
рдпрджрд┐ рдореИрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рд╣реЛрддрд╛ рд╣реИред

import * as moment from 'moment';

export function registerDateFormatService(appModule: angular.IModule) {
   appModule.service('dateFormatService', DateFormatService);
}

export class DateFormatService {
   constructor(private $log: ng.ILogService) {
   }

   public format(value: moment.Moment, displayFormat: string): string {
      this.$log.log(value.locale());
      this.$log.log(value.locale('fr'));
      this.$log.log(value.locale());
      return value.format(displayFormat);
   }
}

рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:

angular.js:13239 Moment {_isAMomentObject: true, _i: "2010-10-20 4:30", _f: "YYYY-MM-DD", _isUTC: false, _pf: ObjectтАж}_d: Wed Oct 20 2010 00:00:00 GMT+0200 (CEST)_f: "YYYY-MM-DD"_i: "2010-10-20 4:30"_isAMomentObject: true_isUTC: false_isValid: true_locale: Locale_abbr: "en"_ordinalParse: /\d{1,2}(th|st|nd|rd)/_ordinalParseLenient: /\d{1,2}(th|st|nd|rd)|\d{1,2}/ordinal: (number)__proto__: Locale_pf: Object__proto__: Moment
angular.js:13239 en

рдХреНрдпрд╛ рдЖрдк рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдЖрдк рдХрд┐рд╕ .js рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд▓рд╛рдЗрди рдХреЗ рдмрд╛рдж рдПрдХ рдФрд░ рдЖрдпрд╛рдд рдЬреЛрдбрд╝рдирд╛ рд╣реИ:
рдЖрдпрд╛рдд * 'рдкрд▓' рд╕реЗ рдкрд▓ рдХреЗ рд░реВрдк рдореЗрдВ;

рдпрд╛ рдореЙрдбреНрдпреВрд▓ рд╕реЗрдВрд╕ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░реЗрдВ, рдпрд╣рд╛рдВ JSPM рдХреЗ рд╕рд╛рдеред
(рдореЗрд░реЗ рдкрд╛рд╕ рдкрд▓ рд╣реИред рдЬреЗрдПрд╕ рдФрд░ рдЬреЗрдПрд╕рдкреАрдПрдо рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ fr.js рдХреА рддрд░рд╣ localexx.js рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред)

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ "рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ рдХрд░реЗрдВ" рдЕрдиреБрднрд╛рдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдкрд░рд┐рджреГрд╢реНрдп рдЖрдк рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдкрдХреЛ рдпрд╛ рддреЛ moment-with-locales.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдбрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдЙрдард╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдореВрд▓ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдРрд╕реЗ рд╕реНрдерд╛рди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд▓реЛрдб рдирд╣реАрдВ рд╣реИ, рддреЛ рдкрд▓ en рд▓реЛрдХреЗрд▓ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреЛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЙрд╕рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред
рдореИрдВ package.json рдореЗрдВ рдЬреЛрдбрд╝реА рдЧрдИ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж jspm рджреНрд╡рд╛рд░рд╛ npm рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
"moment": "github:moment/moment@^2.11.2"

рдореИрдВ рдлрд┐рд░ рдЗрд╕реЗ рдПрдХ рдЖрдпрд╛рдд рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:
import * as moment from 'moment';

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдХ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╕рдорд╛рди рдЙрдкрдпреЛрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ рдЕрдкрдиреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред
рдзрдиреНрдпрд╡рд╛рдж

рдореИрдВрдиреЗ рдХрд╣рд╛:
import 'moment/locale/fr';

рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
moment.locale('fr')

рдЕрдм рд▓реЛрдХреЗрд▓ рдХреЛ рдлреНрд░реЗрдВрдЪ рдореЗрдВ рдареАрдХ рд╕реЗ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдЧрддрд┐рд╢реАрд▓ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдореИрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдЙрддреНрддрд░ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ/рдХреЛрдгреАрдп/рдЬреЗрдПрд╕рдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдЧреАред

рд╢рд╛рдпрдж рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧ рдмреЛрд╡рд░ рдХреЗ рдмрдЬрд╛рдп рдЬреЗрдПрд╕рдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддреЗ рд╣реИрдВред

рдореИрдВ рдЦреБрд╢ рд╣реВрдВ рдХрд┐ рдЖрдкрдХрд╛ рдпрд╣ рдЪрд▓рдиреЗ рд▓рдЧрд╛! рдореИрдВрдиреЗ рдбреЙрдХреНрд╕ рд░реЗрдкреЛ рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рдЬреЛрдбрд╝рд╛ред рд╡рд╣рд╛рдВ рдПрдХ рдкреАрдЖрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХрд░реЗрдВ
рдЖрдпрд╛рдд 'рдХреНрд╖рдг/src/рд▓реЛрдХреЗрд▓/fr-ca';
рдЖрдпрд╛рдд 'рдХреНрд╖рдг/src/рд▓реЛрдХреЗрд▓/рдПрди-рд╕реАрдП';

рдзрдиреНрдпрд╡рд╛рдж @younss , рдЖрдкрдХреА рд╡рд┐рдзрд┐ рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рдореИрдВ рдЖрдпреЛрдирд┐рдХ 2 рдЖрд░рд╕реА 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@younss рддреБрдо рдореЗрд░реЗ
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!

рдЬрдм рдореИрдВрдиреЗ 2.19.1 . рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рддреЛ рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереА
рд╢рд╛рдпрдж рдпрд╣ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

рд╣рдЯрд╛рдирд╛ :

  • рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░
  • рдкреИрдХреЗрдЬ-lock.json

рдкреБрди: рд▓реЙрдиреНрдЪ:
рдПрдирдкреАрдПрдо рдЗрдВрд╕реНрдЯреЙрд▓

рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ 'рдХреНрд╖рдг' рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рд▓реЛрдХреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ @younss рдиреЗ рдХрд┐рдпрд╛ рдерд╛ред
VueJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ pb package-lock.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛ рдЬреЛ рдкрд▓ рдиреЛрдб рдбреЗрдЯрд╛ рдХреЛ рдареАрдХ рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рд╣рдЯрд╛рдХрд░ рдФрд░ npm рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдХреЗ рдпрд╣ рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ-lock.json рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рд╣реЛрддреЗ рд╣реИрдВред

@younss , рдзрдиреНрдпрд╡рд╛рдж, рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдкрд╛рд░реНрд╕рд▓-рдмрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

рдпрд╣ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ .. рдпрд╣рд╛рдБ

рдореИрдВрдиреЗ рдХрд╣рд╛:
рдЖрдпрд╛рдд 'рдХреНрд╖рдг/рд╕реНрдерд╛рди/fr';

рдХреНрдпрд╛ рдпрд╣ рдлрд┐рд░ рд╕реЗ рдмрджрд▓ рдЧрдпрд╛?
рдореИрдВрдиреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд▓рд┐рдпрд╛:

npm i moment-with-locales-es6
npm i moment

рдореИрдВ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдпрд╛:

import * as moment from 'moment';
import 'moment/locale/pt-br';
import 'moment/locale/fr-ca';

export class DatetimeFormatPipe
    transform(date: string): string {
        moment.locale('pt-BR');
        console.log(moment.locale()); 
        console.log('pt-BR', moment(date).toLocaleString());

        moment.locale('fr-CA');
        console.log(moment.locale());
        console.log('fr-CA', moment(date).toLocaleString());

        return "";
    }
}

рд▓реЙрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:

рдкреАрдЯреА рдмреАрдЖрд░
рдкреАрдЯреА-рдмреАрдЖрд░ рдордВрдЧрд▓ 20 рджрд┐рд╕рдВрдмрд░ 2016 10:45:12 рдЬреАрдПрдордЯреА+0100
fr-рд╕реАрдП
рдПрдлрдЖрд░-рд╕реАрдП рдордВрдЧрд▓ 20 рджрд┐рд╕рдВрдмрд░ 2016 10:45:12 рдЬреАрдПрдордЯреА+0100

рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХрд░реЗрдВ
рдЖрдпрд╛рдд 'рдХреНрд╖рдг/src/рд▓реЛрдХреЗрд▓/fr-ca';
рдЖрдпрд╛рдд 'рдХреНрд╖рдг/src/рд▓реЛрдХреЗрд▓/рдПрди-рд╕реАрдП';

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

import moment from 'moment/dist/moment';
import fr from 'moment/dist/locale/fr';

moment.locale('fr', fr);

рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рдХрд╛рдо рдирд╣реАрдВ рдЖрдПред

import moment from 'moment/dist/moment';
import 'moment/dist/locale/ru';

moment.locale('ru');

рдореЗрд░реЗ рд▓рд┐рдП рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред @ ligne13 рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдкрд▓ 2.25.2

рдирдорд╕реНрддреЗ,

'рдЗрдореНрдкреЛрд░реНрдЯ' рдореЛрдореЗрдВрдЯ/рд▓реЛрдХреЗрд▓/рдПрдлрдЖрд░' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп;' рдореЗрд░реЗ рдиреЛрдб/рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдРрдк рдореЗрдВ, рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА: "рд╕рд┐рдВрдЯреИрдХреНрд╕ рддреНрд░реБрдЯрд┐:

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЧреБрдЧрд▓ рдХрд┐рдпрд╛ рдФрд░ рдореИрдВ

рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рдЖрдпрд╛рдд рдХреЛ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддрд╛, рддреЛ рдХреНрдпрд╛ рд╕реНрдерд╛рди рдмрджрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж

рдкреЙрд▓


рдРрдирдХ :

  • рдУрдПрд╕: рдЙрдмрдВрдЯреВ 20.04 WSL2 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
  • рдиреЛрдб: резреи.резрео.рей
  • рдПрдирдкреАрдПрдо: 6.14.6
  • рдПрдХреНрд╕рдкреНрд░реЗрд╕: тАЛтАЛ4.16.1
  • рдореЛрдореЗрдВрдЯрдЬреЗрдПрд╕ : 2.27

рдирдорд╕реНрддреЗ,

'рдЗрдореНрдкреЛрд░реНрдЯ' рдореЛрдореЗрдВрдЯ/рд▓реЛрдХреЗрд▓/рдПрдлрдЖрд░' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп;' рдореЗрд░реЗ рдиреЛрдб/рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдРрдк рдореЗрдВ, рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА: "рд╕рд┐рдВрдЯреИрдХреНрд╕ рддреНрд░реБрдЯрд┐:

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЧреБрдЧрд▓ рдХрд┐рдпрд╛ рдФрд░ рдореИрдВ

рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рдЖрдпрд╛рдд рдХреЛ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддрд╛, рддреЛ рдХреНрдпрд╛ рд╕реНрдерд╛рди рдмрджрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж

рдкреЙрд▓

рдРрдирдХ :

  • рдУрдПрд╕: рдЙрдмрдВрдЯреВ 20.04 WSL2 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
  • рдиреЛрдб: резреи.резрео.рей
  • рдПрдирдкреАрдПрдо: 6.14.6
  • рдПрдХреНрд╕рдкреНрд░реЗрд╕: тАЛтАЛ4.16.1
  • рдореЛрдореЗрдВрдЯрдЬреЗрдПрд╕ : 2.27

@pbrissaud

рдЖрдк рдЕрднреА рддрдХ node.js рдореЗрдВ 'рдЖрдпрд╛рдд' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛:

require('moment/locale/fr')
moment.locale('fr');
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

4rg0n picture 4rg0n  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

RobinvanderVliet picture RobinvanderVliet  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dogukankotan picture dogukankotan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ninigix picture ninigix  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ