Author:
    Creation:2026-09-02Last update:2026-09-27

    Intl рдХреЗ рд╕рд╛рде рд▓реЛрдХреЗрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рджрд┐рдирд╛рдВрдХ рдФрд░ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдлреЙрд░реНрдореЗрдЯ рдХрд░рдирд╛

    рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг (i18n) рдХрд╛ рдХреЗрд╡рд▓ рджреГрд╢реНрдпрдорд╛рди рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рджреВрд╕рд░рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ: рдПрдХ рдЬрд░реНрдорди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 1.234,56 рдХреЗ рдмрдЬрд╛рдп 1,234.56 рджреЗрдЦрддрд╛ рд╣реИ, рдПрдХ рдЬрд╛рдкрд╛рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 08/02/2026 рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЕрдЧрд╕реНрдд рд╕рдордЭрддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рддрд╛рд░реАрдЦ рдЬреЛ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реЗрдВрдбрд░ рд╣реЛрддреА рд╣реИ рдФрд░ React рдХреЗ рд╣рд╛рдЗрдбреНрд░реЗрд╢рди рдХреЛ рд╡рд┐рдлрд▓ рдХрд░ рджреЗрддреА рд╣реИред

    рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред Intl рдкреНрд░рддреНрдпреЗрдХ рдЖрдзреБрдирд┐рдХ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИред

    рд╡рд┐рд╖рдп рд╕реВрдЪреА

    рдЕрдкрдиреЗ рд╣рд╛рде рд╕реЗ рд▓рд┐рдЦреЗ рджрд┐рдирд╛рдВрдХ рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВ

    рд▓рдЧрднрдЧ рд╣рд░ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдПрдХ formatDate рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд▓реЛрдХреЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░рдо, рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рдорд╣реАрдиреЗ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд░рддрд╛ рд╣реИред

    ts
    // рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
    const formatDate = (d: Date) =>
      `${d.getMonth() + 1}/${d.getDate()}/${d.getFullYear()}`;
    

    Intl.DateTimeFormat рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╣рд░ рд▓реЛрдХреЗрд▓ рдореЗрдВ рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ:

    ts
    new Intl.DateTimeFormat("de-DE", { dateStyle: "long" }).format(date);
    // "2. August 2026"
    new Intl.DateTimeFormat("ja-JP", { dateStyle: "long" }).format(date);
    // "2026х╣┤8цЬИ2цЧе"
    

    рдпрд╣реА рдмрд╛рдд рд╕рдВрдЦреНрдпрд╛рдУрдВ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред toFixed(2) рд╣рд░ рдЬрдЧрд╣ 1234.56 рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдпреВрд░реЛрдк рдореЗрдВ рдЧрд▓рдд рд╣реИред

    Intl рдХреНрдпрд╛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ

    APIрдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
    Intl.DateTimeFormatрджрд┐рдирд╛рдВрдХ рдФрд░ рд╕рдордп, dateStyle / timeStyle рдкреНрд░реАрд╕реЗрдЯ рдХреЗ рд╕рд╛рде
    Intl.NumberFormatрджрд╢рдорд▓рд╡, рдореБрджреНрд░рд╛, рдкреНрд░рддрд┐рд╢рдд, рдЗрдХрд╛рдЗрдпрд╛рдБ, рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдВрдХреЗрддрди
    Intl.RelativeTimeFormat"3 рджрд┐рди рдкрд╣рд▓реЗ", "2 рдШрдВрдЯреЗ рдореЗрдВ"
    Intl.ListFormat"рдХ, рдЦ рдФрд░ рдЧ" рдХреА рд╕реВрдЪреА рдлреЙрд░реНрдореЗрдЯрд┐рдВрдЧ
    Intl.PluralRulesрдпрд╣ рддрдп рдХрд░рдирд╛ рдХрд┐ рдХреЛрдИ рд╕рдВрдЦреНрдпрд╛ рдХрд┐рд╕ рдмрд╣реБрд╡рдЪрди рд╢реНрд░реЗрдгреА рдореЗрдВ рдЖрддреА рд╣реИ
    Intl.Collatorрднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛

    Intl.Collator рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рд▓реЛрдЧ рдЕрдХреНрд╕рд░ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдкрд░ рд╕рд╛рджрд╛ array.sort() рдпреВрдирд┐рдХреЛрдб рдХреЛрдб рдкреЙрдЗрдВрдЯ рдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЙрдЪреНрдЪрд╛рд░рдг рд╡рд╛рд▓реЗ рдЕрдХреНрд╖рд░ z рдХреЗ рдмрд╛рдж рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрд╢рд╛ рдПрдХ collator рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

    ts
    ["zebra", "├йdouard", "apple"].sort(new Intl.Collator("hi").compare);
    // ["apple", "├йdouard", "zebra"]
    

    рд╣рд╛рде рд╕реЗ рдмрдирд╛рдП рдЧрдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░реАрд╕реЗрдЯ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ

    dateStyle рдФрд░ timeStyle рд▓реЛрдХреЗрд▓ рдХреЛ рдХреНрд░рдо рдФрд░ рд╡рд┐рднрд╛рдЬрдХ рддрдп рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред year, month рдФрд░ day рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЖрдкрдХреЛ рдРрд╕рд╛ рдирд┐рдпрдВрддреНрд░рдг рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╣реА рдХреНрд░рдо рд▓реЛрдХреЗрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЕрдкрдиреА рдорд╛рдиреНрдпрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде CLDR рдбреЗрдЯрд╛ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВред

    ts
    // рд▓реЛрдХреЗрд▓ рд╕рдВрд░рдЪрдирд╛ рддрдп рдХрд░рддрд╛ рд╣реИ:
    new Intl.DateTimeFormat(locale, { dateStyle: "medium" }).format(d);
    
    // рдЬрдм рдЖрдк рд╕рдВрд░рдЪрдирд╛ рддрдп рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдиреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:
    new Intl.DateTimeFormat(locale, {
      year: "numeric",
      month: "2-digit",
      day: "2-digit",
    }).format(d);
    

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

    рдлрд╝реЙрд░реНрдореЗрдЯрд░ рдмрдирд╛рдирд╛ рдорд╣рдВрдЧрд╛ рд╣реИ

    рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╡рд░рдг рд╣реИ рдЬреЛ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред Intl.NumberFormat рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд▓реЛрдХреЗрд▓ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдмрд╛рдж рдХреЗ .format() рдХреЙрд▓ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рд╣реИред рдПрдХ рд╣рдЬрд╛рд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рд▓реВрдк рдХреЗ рдЕрдВрджрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдзреАрдорд╛рдкрди рдЖрддрд╛ рд╣реИред

    ts
    // рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдкрд░ рдлрд╝реЙрд░реНрдореЗрдЯрд░ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг (рдзреАрдорд╛):
    rows.map((r) => new Intl.NumberFormat(locale).format(r.total));
    
    // рдПрдХ рдмрд╛рд░ рдмрдирд╛рдПрдВ, рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рддреЗрдЬрд╝):
    const nf = new Intl.NumberFormat(locale);
    rows.map((r) => nf.format(r.total));
    

    toLocaleDateString() рдФрд░ toLocaleString() рдХреЗ рдЕрдВрджрд░ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдЫрд┐рдкреА рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдПрдХ рдирдпрд╛ рдлрд╝реЙрд░реНрдореЗрдЯрд░ рдмрдирд╛рддрд╛ рд╣реИред рд╡реЗ рдПрдХ рдорд╛рди рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИрдВ рдФрд░ рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рд╣реИрдВред

    рд▓реЛрдХреЗрд▓ рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рджреНрд╡рд╛рд░рд╛ рдХреИрд╢ рдХрд░реЗрдВ:

    ts
    const cache = new Map<string, Intl.NumberFormat>();
    
    const getNumberFormat = (
      locale: string,
      options: Intl.NumberFormatOptions = {}
    ) => {
      const key = `${locale}:${JSON.stringify(options)}`;
      let formatter = cache.get(key);
      if (!formatter) {
        formatter = new Intl.NumberFormat(locale, options);
        cache.set(key, formatter);
      }
      return formatter;
    };
    

    рдЯрд╛рдЗрдордЬрд╝реЛрди рдмрдЧ рдЬреЛ рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ

    рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрдИ рдбреЗрд╡рд▓рдкрд░ рдШрдВрдЯреЗ рдмрд░реНрдмрд╛рдж рдХрд░рддреА рд╣реИред рд╕рд░реНрд╡рд░ SSR рдХреЗ рджреМрд░рд╛рди рдПрдХ рддрд╛рд░реАрдЦ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕реЗ рд╣рд╛рдЗрдбреНрд░реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ React рдПрдХ рд╣рд╛рдЗрдбреНрд░реЗрд╢рди рдмреЗрдореЗрд▓ рдлреЗрдВрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рджреЛрдиреЛрдВ рдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд╛рда рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рд╣реИред

    рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ Intl.DateTimeFormat рдкрд░рд┐рд╡реЗрд╢реА рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдк рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдирд╛рдо рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рдЖрдкрдХрд╛ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ UTC рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред рдЖрдкрдХрд╛ рд▓реИрдкрдЯреЙрдк рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрдЧ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдЕрджреГрд╢реНрдп рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╣реА рд╕рд╛рдордиреЗ рдЖрддрд╛ рд╣реИред

    ts
    // UTC рдореЗрдВ рд╕рд░реНрд╡рд░ рдФрд░ UTC+5:30 рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрд╕рд╣рдордд рд╣реИрдВред рд╣рд╛рдЗрдбреНрд░реЗрд╢рди рдмреЗрдореЗрд▓:
    new Intl.DateTimeFormat(locale, { dateStyle: "short" }).format(d);
    
    // рджреЛрдиреЛрдВ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реИрдВ:
    new Intl.DateTimeFormat(locale, { dateStyle: "short", timeZone: "UTC" }).format(
      d
    );
    

    рддреАрди рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг:

    • рд╕рд░реНрд╡рд░ рдкрд░ рдЯрд╛рдЗрдордЬрд╝реЛрди рдХреЛ рдкрд┐рди рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рд╕ рдХрд░реЗрдВред рд╕рдЯреАрдХ рдФрд░ рдирд┐рдпрддрд╛рддреНрдордХ, рд▓реЗрдХрд┐рди рд╣рд░ рдХреЛрдИ UTC рджреЗрдЦрддрд╛ рд╣реИред
    • рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд░реЗрдВрдбрд░ рдХрд░реЗрдВ, рд╕рд░реНрд╡рд░ рдкрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд┐рд░ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рдеред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ, рд▓реЗрдХрд┐рди рд╣рд▓реНрдХрд╛ рдлрд╝реНрд▓реИрд╢ рд╣реЛрддрд╛ рд╣реИред
    • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЯрд╛рдЗрдордЬрд╝реЛрди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдкрд░ рдкрд╛рд╕ рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо, рдЕрдзрд┐рдХ рдХрд╛рдоред

    рдЖрдк рдЬреЛ рднреА рдЪреБрдиреЗрдВ, рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рджреЛрдиреЛрдВ рдкрд░ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рдХрд┐рд╕реА рднреА рддрд╛рд░реАрдЦ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ timeZone рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рд╕ рдХрд░реЗрдВред рдмрд┐рдирд╛ рдЯрд╛рдЗрдордЬрд╝реЛрди рдХреА рддрд╛рд░реАрдЦ рджреЛ рдорд╛рдиреЛрдВ рд╡рд╛рд▓реА рддрд╛рд░реАрдЦ рд╣реЛрддреА рд╣реИред

    рдореБрджреНрд░рд╛ рдХреЛ рдореБрджреНрд░рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЛрдХреЗрд▓ рдХреА рдирд╣реАрдВ

    рд▓реЛрдХреЗрд▓ рдФрд░ рдореБрджреНрд░рд╛ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВред fr-FR рдХрд╛ рдЕрд░реНрде рдпреВрд░реЛ рдирд╣реАрдВ рд╣реИ: рдПрдХ рдлреНрд░рд╛рдВрд╕реАрд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ USD рдЗрдирд╡реЙрдЗрд╕ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИред

    ts
    new Intl.NumberFormat("fr-FR", { style: "currency", currency: "USD" }).format(
      1234.5
    );
    // "1 234,50 $US"
    

    рд▓реЛрдХреЗрд▓ рд╡рд┐рднрд╛рдЬрдХ, рдЕрдВрдХ рд╕рдореВрд╣реАрдХрд░рдг рдФрд░ рдкреНрд░рддреАрдХ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореБрджреНрд░рд╛ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рд╕реЗ рдЖрддреА рд╣реИред рдПрдХ рд╕реЗ рджреВрд╕рд░реЗ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдПрдХ рдмрдЧ рд╣реИ рдЬреЛ рд▓реЗрдЦрд╛рдВрдХрди рддрдХ рдкрд╣реБрдБрдЪрддрд╛ рд╣реИред

    currencyDisplay рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдВред рдРрд╕реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЬрд╣рд╛рдБ рдХрдИ рдбреЙрд▓рд░ рдореБрджреНрд░рд╛рдПрдБ рд╕рд╣-рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реИрдВ, "code" рдЕрдореЗрд░рд┐рдХреА, рдХрдирд╛рдбрд╛рдИ рдФрд░ рдСрд╕реНрдЯреНрд░реЗрд▓рд┐рдпрд╛рдИ рдбреЙрд▓рд░ рдХреЗ рдмреАрдЪ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЛ рджреВрд░ рдХрд░рддрд╛ рд╣реИред

    рд╕рд╛рдкреЗрдХреНрд╖ рд╕рдордп рдкреВрд░реНрдг рд╕рдордп рд╕реЗ рдмреЗрд╣рддрд░ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ

    рдХрд┐рд╕реА рднреА рд╣рд╛рд▓рд┐рдпрд╛ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП, "2 рдШрдВрдЯреЗ рдкрд╣рд▓реЗ" рдПрдХ рд╕рдЯреАрдХ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ Intl.RelativeTimeFormat рдЗрд╕реЗ рдареАрдХ рд╕реЗ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдХрд░рддрд╛ рд╣реИред

    ts
    new Intl.RelativeTimeFormat("hi", { numeric: "auto" }).format(-1, "day");
    // "рдХрд▓"
    

    numeric: "auto" рд╡рд╣ рд╣реИ рдЬреЛ "1 рджрд┐рди рдкрд╣рд▓реЗ" рдХреЗ рдмрдЬрд╛рдп "рдХрд▓" рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред

    Intlayer рдХреНрдпрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ

    Intlayer рдЗрдиреНрд╣реЗрдВ рдХреИрд╢реНрдб рд╣реЗрд▓реНрдкрд░реНрд╕ рдореЗрдВ рд▓рдкреЗрдЯрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдореИрдк рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рди рдХрд░рдирд╛ рдкрдбрд╝реЗ, рдФрд░ рд╕рдХреНрд░рд┐рдп рд▓реЛрдХреЗрд▓ рд╣рд░ рдХреЙрд▓ рд╕рд╛рдЗрдЯ рдкрд░ рдкрд╛рд╕ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛред

    ts
    import {
      number,
      currency,
      date,
      relativeTime,
      units,
      compact,
      list,
    } from "intlayer";
    
    number(1234.5); // "1,234.5"
    currency(1234.5, { currency: "EUR" }); // "тВм1,234.50"
    date(new Date(), "short");
    relativeTime(now, twoHoursAgo, { unit: "hour", numeric: "auto" }); // "2 рдШрдВрдЯреЗ рдкрд╣рд▓реЗ"
    units(5, { unit: "kilometer", unitDisplay: "long" }); // "5 рдХрд┐рд▓реЛрдореАрдЯрд░"
    compact(1200); // "1.2K"
    list(["рд╕реЗрдм", "рдХреЗрд▓рд╛", "рд╕рдВрддрд░рд╛"]); // "рд╕реЗрдм, рдХреЗрд▓рд╛ рдФрд░ рд╕рдВрддрд░рд╛"
    

    date() рдлрд╝рдВрдХреНрд╢рди рдкреНрд░реАрд╕реЗрдЯ ("short", "long", "dateOnly", "timeOnly", "full") рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред React рдФрд░ Vue рдХреЗ рд╕рдордХрдХреНрд╖ рд╣реБрдХ рдФрд░ рдХрдВрдкреЛрдЬрд╝реЗрдмрд▓ рд╕рдВрджрд░реНрдн рд╕реЗ рд╕рдХреНрд░рд┐рдп рд▓реЛрдХреЗрд▓ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред

    рдпрд╣ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо API рдкрд░ рдПрдХ рдХреБрд╢рд▓ рдХреИрд╢рд┐рдВрдЧ рдкрд░рдд рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ Intl рд╣реИред рдкреВрд░реНрдг рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдлрд╝реЙрд░реНрдореЗрдЯрд░реНрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рджреЗрдЦреЗрдВред

    рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпрд╛рдБ

    • рдмрд┐рдирд╛ рд▓реЛрдХреЗрд▓ рдХреЗ toLocaleDateString(). рд░рдирдЯрд╛рдЗрдо рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдХрдВрдЯреЗрдирд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
    • рдмрд┐рдирд╛ рдХреИрд╢ рдХреЗ рд▓реВрдк рдореЗрдВ рдлрд╝реЙрд░реНрдореЗрдЯ рдХрд░рдирд╛ред рдлрд╝реЙрд░реНрдореЗрдЯрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓рд╛рдЧрдд рд▓реЗрддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдмрдирд╛рдПрдВред
    • рдЖрдЗрд╕реЛрдореЙрд░реНрдлрд┐рдХ рддрд┐рдерд┐рдпреЛрдВ рдкрд░ рдХреЛрдИ timeZone рдирд╣реАрдВред рд╣рд╛рдЗрдбреНрд░реЗрд╢рди рдмреЗрдореЗрд▓ рдЬреЛ рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрднреА рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ред
    • рд▓реЛрдХреЗрд▓ рд╕реЗ рдореБрджреНрд░рд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ред fr-FR рд╣рдореЗрд╢рд╛ рдпреВрд░реЛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
    • рджреГрд╢реНрдпрдорд╛рди рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдкрд░ рд╕рд╛рджрд╛ sort(). рд╣рдореЗрд╢рд╛ Intl.Collator рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
    • рдорд╣реАрдиреЗ рдпрд╛ рджрд┐рди рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд░рдирд╛ред рд╡реЗ рд╣рд░ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП CLDR рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
    • рд╕рд╛рдкреЗрдХреНрд╖ рд╕рдордп рдХреЗ рд▓рд┐рдП numeric: "always" рдмрдирд╛рдП рд░рдЦрдирд╛ред рдЗрд╕рд╕реЗ "рдХрд▓" рдХреЗ рдмрдЬрд╛рдп рдЕрдкреНрд░рд╛рдХреГрддрд┐рдХ "1 рджрд┐рди рдкрд╣рд▓реЗ" рдорд┐рд▓рддрд╛ рд╣реИред

    рдЖрдЧреЗ рдкрдврд╝реЗрдВ

    рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

    рдЕрднреА рддрдХ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВред рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд╣рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдмрдиреЗрдВред

    рд╕рдВрдмрдВрдзрд┐рдд рдкреЛрд╕реНрдЯ

    рдирд╡реАрдирддрдо рдкреЛрд╕реНрдЯ