рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣реА рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
import moment from 'moment'
import 'moment/min/moment-with-locales'
import 'moment-duration-format' // used by moment
componentDidMount () {
console.log(moment.locale())
console.log(moment.locale('zh-cn'))
console.log(moment.locale())
}
рдХрдВрд╕реЛрд▓ рд▓реЙрдЧ рдЖрдЙрдЯрдкреБрдЯ: рдПрди, рдПрди, рдПрди
рдЕрдкреЗрдХреНрд╖рд┐рдд рдХрдВрд╕реЛрд▓ рд▓реЙрдЧ рдЖрдЙрдЯрдкреБрдЯ: en, zh-cn, zh-cn
рдЬрдм рдореИрдВрдиреЗ 'рдкрд▓' рд╕реЗ рдЖрдпрд╛рдд рдкрд▓ рдХреЛ 'рдкрд▓/рдорд┐рдирдЯ/рдкрд▓-рд╕рд╛рде-рд╕реНрдерд╛рдиреАрдп' рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рд▓рд╛рдЗрди рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ:
const total = moment.duration(this.props.stoveUsage.total, 'seconds').format('H:mm', { trim: false })
рддреНрд░реБрдЯрд┐: рдХреНрд╖рдгрд╡рд┐рдерд▓реЛрдХреЗрд▓рд╕2.рдбрд┐рдлрд╝реЙрд▓реНрдЯ.рдЕрд╡рдзрд┐ (...)ред рдкреНрд░рд╛рд░реВрдк рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ
рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рд╣реБрдП рдХрд┐, рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдореЗрдВ moment.locale('es')
рдХрд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИред
import 'moment/min/moment-with-locales'
рдЙрд╕рдиреЗ рдЪрд╛рд▓ рдЪрд▓реА!
moment.locale('fr'); moment().format("ll");
рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ "1 f├йvr. 2018"
рдореЗрдВ рдкрд░рд┐рдгрд╛рдоред
рдпрджрд┐ рдЖрдк moment-with-locales
рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рднреА рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкрд▓-рдкрд▓ рдкрд░ рд╡рд╛рдкрд╕ рд░реЛрд▓рд┐рдВрдЧ v2.18 рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред рдкрд▓ v2.20 рдХреЗ рд╕рд╛рде рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрдЧ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА рдореЗрдВ рд▓реЛрдХреЗрд▓ рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИред
@ рд▓реАрдбреНрд╕-рдИ-рдмреБрдХреНрд╕ рдХреНрдпрд╛ рдЖрдк рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдкрд▓ рдХреИрд╕реЗ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ? рдореИрдВ 2.18 рдкрд░ рд╡рд╛рдкрд╕ рд▓реБрдврд╝рдХ рдЧрдпрд╛ рдФрд░ рдлрд┐рд░ рднреА рдореБрдЭреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдореЗрдВ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдХреЛ рдкрд▓-рдкрд▓-рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдзрдиреНрдпрд╡рд╛рдж
@msvestre рд╣рд╛рдБ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдЕрдм рдкреБрд░рд╛рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рднреА, рдореЗрд░рд╛ рдлрд┐рдХреНрд╕ рд╣реИ:
moment
рдХреЗ рдмрдЬрд╛рдп git рд╕реЗ https://github.com/tqc/moment.git#no-dynamic-import
рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВimport moment from 'moment'
import 'moment/src/locale/en-gb'
import 'moment/src/locale/es'
import 'moment/src/locale/fr'
import 'moment/src/locale/pl'
import 'moment/src/locale/pt'
// ...etc
// bonus trick!
import DeviceInfo from 'react-native-device-info'
const deviceLocale = DeviceInfo.getDeviceLocale()
moment.locale([deviceLocale, 'en'])
рдореИрдВ рдпрд╣реА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
@ рд▓реАрдбреНрд╕-рдИ-рдмреБрдХреНрд╕ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ред рдЖрдкрдХреА рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрдж рдХреА
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛,
https://momentjs.com/docs/#/i18n/instance -locale/
рдЖрдкрдХреЛ App.js рдкрд░ рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рд╕рднреА рд╢рдмреНрджреЛрдВ рдХреЛ рднрд╛рд╖рд╛ рдореЗрдВ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╣ рдЖрдкрдХреЗ рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
@ рд╡реИрдиреЗрд╕рд╛рдЪреВ - рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрднреА рднреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рдпрд╣ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рд╣реЗ рд▓реЛрдЧреЛрдВ, import 'moment/locale/fr';
рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреИрд╕реЗ рд╕рднреА рдореМрдЬреВрджрд╛ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдк import 'moment/locale/[variable]'
рдЬреИрд╕реЗ рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЪрд╛рд▓ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЖрд╡рд╢реНрдпрдХ рднрд╛рд╖рд╛ рд╣реИ?
рддрд╛рдХрд┐ рдпрд╣ рд╣рд░ рджреЗрд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗ... :/
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪрд░реНрдЪрд╛ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдиреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ :) рдзрдиреНрдпрд╡рд╛рдж @Leeds-eBooks
3.x рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЧрддрд┐рд╢реАрд▓ рдЖрдпрд╛рдд/es6 рдХреЗ рд╕рд╛рде/рдмрд┐рдирд╛ рдкрд▓ рдХреЗ рдЕрдзрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдХрдо рд╣реИред
рд╣реИрд▓реЛ @MayeuldP ,
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдк Reactjs/ReactNative рдореЗрдВ рдХреНрд╖рдгреЛрдВ рдХреА рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рдорд╛рдзрд╛рди рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЖрдкрдХреЛ рд╕рдВрд╕реНрдХреГрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕реНрдХреГрддрд┐ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ : import 'moment/min/locales'
рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЖрдк рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рд╕рдВрд╕реНрдХреГрддрд┐ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдХреНрд╖рдг.рд╕реНрдерд╛рдиреАрдп ('') рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ v2.18 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рд╡рд┐рдзрд┐ рдХрд╛рдо рдХрд░рддреА рд╣реИред
import moment from 'moment';
import momentFR from 'moment/src/locale/fr'
moment.locale('fr',momentFR );
рдирдорд╕реНрддреЗ, @KashifAhmed v.2.22.2 рдореЗрдВ рдЖрдкрдХреЛ рдореЛрдореЗрдВрдЯ.рдЕрдкрдбреЗрдЯрд▓реЛрдХреЗрд▓ ('рдПрдлрдЖрд░', рдореЛрдореЗрдВрдЯрдПрдлрдЖрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдкрджрд╛рд╡рдирддрд┐ рдЪреЗрддрд╛рд╡рдиреА: рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╕реНрдерд╛рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдг.рдЕрдкрдбреЗрдЯрд▓реЛрдХреЗрд▓ (рд▓реЛрдХреЗрд▓рдирд╛рдо, рдХреЙрдиреНрдлрд┐рдЧ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдХреНрд╖рдг.defineLocale(localeName, config) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдПрдХ рдирдпрд╛ рд╕реНрдерд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП http://momentjs.com/guides/#/warnings/define -locale/ рджреЗрдЦреЗрдВред
рдЗрд╕реЗ рджреЗрдЦреЛ:
import moment from "moment";
import 'moment/min/locales'
рдЗрд╕рдореЗрдВ рдкрд▓ рд╕реЗ рд╕рднреА рднрд╛рд╖рд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдпрд╣ рдЬреЗрдПрд╕ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕рдорд╕реНрдпрд╛ рдереА рдЬрдм рдХреЛрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрд╛рд╖рд╛ рд╡рд╛рд▓реЗ рдореЛрдмрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдРрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддрд╛ рдерд╛ред
рдЗрд╕рд╕реЗ рдЖрдк рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдкрд▓-рдкрд▓ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЛрдИ рднреА рд▓реЛрдХреЗрд▓ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ,
moment.locale('es');
рдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд┐рдП рдмрд┐рдирд╛ рдбрд┐рд╡рд╛рдЗрд╕ рд▓реЛрдХреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдкрдХреЗ рднрд╛рд╖рд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП @benadamstyles рд╕реЗ
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд▓реЛрдХреЗрд▓ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЖрдпрд╛рддрд┐рдд рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рдкрд╣рд▓реЗ рдЕрдХреНрд╖рд░ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬреЛ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ _
рд╣реИ
import moment from 'moment';
import momentPTBR from 'moment/src/locale/pt-br';
function prepareLocale(locale) {
for (const key in locale) {
if (locale.hasOwnProperty(key)) {
// remove first character underscore fom key, i.e. '_calendar' => 'calendar'
locale[key.substring(1)] = locale[key];
}
}
return locale;
}
moment.defineLocale('pt-br', prepareLocale(momentPTBR));
import 'moment/src/locale/en-gb'
рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди import 'moment/locale/en-gb'
рдиреЗ рдХрд┐рдпрд╛ред
"dependencies": {
"expo": "32.0.0",
"moment": "2.24.0",
"react": "16.5.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz"
},
рдкреЗрдбрд╝ рдореЗрдВ рд╕рдмрд╕реЗ рдКрдкрд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдореЗрд░рд╛ рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИ:
import moment from 'moment'
import 'moment/locale/en-gb'
const momentLocale = moment.locale('en-gb')
if (momentLocale !== 'en-gb') {
throw new Error(`Moment fell back to locale ${momentLocale}`)
}
export default () => null
рдореИрдВ v2.18 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рд╡рд┐рдзрд┐ рдХрд╛рдо рдХрд░рддреА рд╣реИред
`
import moment from 'moment'; import momentFR from 'moment/src/locale/fr' moment.locale('fr',momentFR );
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╕рдВрд╕реНрдХрд░рдг 2.24 рд╕реЗ 2.18 рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдпрд╣ рдЕрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред 2.20 рдХреЗ рдмрд╛рдж рдХрд╣реАрдВ рдПрдХ рдмрдЧ рд╣реИред
рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдХрд╛рдо
import moment from 'moment'
import 'moment/locale/pt-br'
moment.locale('pt-br')
рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдХрд╛рдо
import moment from 'moment' import 'moment/locale/pt-br' moment.locale('pt-br')
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЬреЛ .locale()
рд╕реЗ рд╡рд╛рдкрд╕ рдорд┐рд▓рддрд╛ рд╣реИ рд╡рд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЖрдкрдиреЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдЪреБрдкрдЪрд╛рдк рд╡рд╛рдкрд╕ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
import 'moment/min/moment-with-locales'
рдЙрд╕рдиреЗ рдЪрд╛рд▓ рдЪрд▓реА!
moment.locale('fr'); moment().format("ll");
рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ
"1 f├йvr. 2018"
рдореЗрдВ рдкрд░рд┐рдгрд╛рдоред