Автор:
    БозданиС:2025-01-02ПослСднСС обновлСниС:2026-09-27

    react-Intl ΠŸΠ ΠžΠ’Π˜Π’ react-i18next ΠŸΠ ΠžΠ’Π˜Π’ intlayer

    Π­Ρ‚ΠΎ руководство сравниваСт Ρ‚Ρ€ΠΈ ΡƒΡΡ‚ΠΎΡΠ²ΡˆΠΈΡ…ΡΡ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° i18n для React: react-intl (FormatJS), react-i18next (i18next) ΠΈ Intlayer. ΠœΡ‹ сосрСдотачиваСмся Π½Π° простых React прилоТСниях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Vite, CRA, SPA). Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Next.js, смотритС нашС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ сравнСниС для Next.js.

    ΠœΡ‹ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅ΠΌ:

    • АрхитСктура ΠΈ организация ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
    • TypeScript ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ²
    • Π‘ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΈ возмоТности форматирования
    • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅
    • ΠžΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° (DX), инструмСнты ΠΈ сопровоТдСниС
    • SEO/ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ (зависит ΠΎΡ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°)
    ΠšΡ€Π°Ρ‚ΠΊΠΎ: ВсС Ρ‚Ρ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ React-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, строгая типизация TypeScript, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π²ΠΎ врСмя сборки, Π΄Π΅Ρ€Π΅Π²ΡŒΡ сТатых словарСй ΠΈ встроСнныС рСдакторскиС инструмСнты (Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€/CMS + ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ AI-ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄), Ρ‚ΠΎ Intlayer - самый ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ для ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… React-ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Π±Π°Π·.

    ΠžΠ±Ρ‰Π΅Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

    • react-intl - Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° ICU ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ стандартам (Π΄Π°Ρ‚Ρ‹/числа/мноТСствСнноС число) с Π·Ρ€Π΅Π»Ρ‹ΠΌ API. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹; Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²ΠΎ врСмя сборки Π² основном Π½Π° вашСй сторонС.
    • react-i18next - Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ популярный ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΉ; пространства ΠΈΠΌΡ‘Π½, Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ мноТСство ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² (ICU, Π±Π΅ΠΊΠ΅Π½Π΄Ρ‹). ΠœΠΎΡ‰Π½Ρ‹ΠΉ, Π½ΠΎ конфигурация ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².
    • Intlayer - модСль ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, ориСнтированная Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ React, строгая типизация TS, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²ΠΎ врСмя сборки, tree-shaking, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€/CMS ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ИИ. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с React Router, Vite, CRA ΠΈ Π΄Ρ€.
    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΎΡ‚ΠΊΡƒΠ΄Π° взялись эти Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ i18n Π² JavaScript.

    ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° возмоТностСй (фокус Π½Π° React)

    ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒreact-intlayer (Intlayer)react-i18next (i18next)react-intl (FormatJS)
    ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ рядом с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈβœ… Π”Π°, ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ располоТСн рядом с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌβŒ ΠΠ΅Ρ‚βŒ НСт
    Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с TypeScriptβœ… ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Π°Ρ, автоматичСски сгСнСрированныС строгиС Ρ‚ΠΈΠΏΡ‹βš οΈ Базовая; Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ настройка для Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΠΈβœ… Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ, Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ строгая
    ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ²βœ… ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° ошибок TypeScript ΠΈ ошибки/прСдупрСТдСния Π²ΠΎ врСмя ΡΠ±ΠΎΡ€ΠΊΠΈβš οΈ Π’ основном строки Π·Π°ΠΌΠ΅Π½Ρ‹ Π²ΠΎ врСмя Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡβš οΈ Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹
    Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ (JSX/Markdown/ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹)βœ… ΠŸΡ€ΡΠΌΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°βš οΈ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ / Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡβš οΈ Бинтаксис ICU, Π½Π΅ настоящий JSX
    ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ с использованиСм Π˜Π˜βœ… Π”Π°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² ИИ. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с собствСнными API-ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ. Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ контСкст вашСго прилоТСния ΠΈ объСм ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°βŒ ΠΠ΅Ρ‚βŒ НСт
    Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€βœ… Π”Π°, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ + ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ CMS; ΠΌΠΎΠΆΠ΅Ρ‚ вынСсти содСрТимоС ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹; Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉβŒ НСт / доступСн Ρ‡Π΅Ρ€Π΅Π· внСшниС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈβŒ НСт / доступСн Ρ‡Π΅Ρ€Π΅Π· внСшниС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ
    Локализованная ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡβœ… Π”Π°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ (Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Next.js ΠΈ Vite)⚠️ НСт встроСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, next-i18next) ΠΈΠ»ΠΈ кастомной настройки Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°βŒ НСт, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сообщСний, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ€ΡƒΡ‡Π½ΠΎΠΉ
    ДинамичСская гСнСрация ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ²βœ… Π”Π°βš οΈ Плагин/экосистСма ΠΈΠ»ΠΈ ручная Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠ°βŒ НС прСдоставляСтся
    ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ Ρ‡ΠΈΡΠ»ΠΎβœ… Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Π½Π° основС ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΉβœ… НастраиваСмыС (ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ i18next-icu)βœ… (ICU)
    Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Π΄Π°Ρ‚Ρ‹, числа, Π²Π°Π»ΡŽΡ‚Ρ‹)βœ… ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€Ρ‹ (Intl ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ)⚠️ Π§Π΅Ρ€Π΅Π· ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ кастомноС использованиС Intlβœ… Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€Ρ‹ ICU
    Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°βœ… .tsx, .ts, .js, .json, .md, .txt, (.yaml Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅)⚠️ .jsonβœ… .json, .js
    ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ICU⚠️ Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅βš οΈ Π§Π΅Ρ€Π΅Π· ΠΏΠ»Π°Π³ΠΈΠ½ (i18next-icu)βœ… Π”Π°
    SEO ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ (hreflang, sitemap)βœ… ВстроСнныС инструмСнты: ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ для sitemap, robots.txt, ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…βš οΈ ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ сообщСства/Ρ€ΡƒΡ‡Π½Ρ‹Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈβŒ НС являСтся ядром
    ЭкосистСма / Π‘ΠΎΠΎΠ±Ρ‰Π΅ΡΡ‚Π²ΠΎβš οΈ МСньшС, Π½ΠΎ быстро растСт ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Π°βœ… Бамая большая ΠΈ Π·Ρ€Π΅Π»Π°Ρβœ… Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅
    Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΈ сСрвСрныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹βœ… Π”Π°, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ для SSR / React Server Components⚠️ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ страницы, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ t-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… сСрвСрных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²βŒ НС поддСрТиваСтся, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ t-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… сСрвСрных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²
    Tree-shaking (Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°)βœ… Π”Π°, Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π²ΠΎ врСмя сборки Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ Babel/SWC⚠️ ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ всё (ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ пространств ΠΈΠΌΡ‘Π½/раздСлСния ΠΊΠΎΠ΄Π°)⚠️ ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ всё
    ΠžΡ‚Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°βœ… Π”Π°, ΠΏΠΎ локалям / ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡΠΌβœ… Π”Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, бэкСнды/нСймспСйсы ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ)βœ… Π”Π° (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π»ΠΎΠΊΠ°Π»Π΅ΠΉ)
    Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°βœ… Π”Π°, ΠΏΠΎ словарям Π²ΠΎ врСмя ΡΠ±ΠΎΡ€ΠΊΠΈβŒ НСт, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ нСймспСйсам❌ НСт, всС ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ сообщСния Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΏΠ°ΠΊΠ΅Ρ‚
    Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈβœ… ΠŸΠΎΠΎΡ‰Ρ€ΡΠ΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π΄ΠΈΠ·Π°ΠΉΠ½-ΡΠΈΡΡ‚Π΅ΠΌβš οΈ Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ дисциплины Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈβš οΈ Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ большими

    Π“Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ сравнСниС

    1) АрхитСктура ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ

    • react-intl / react-i18next: Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ настроСк ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка, ΠΈΠ½ΠΎΠ³Π΄Π° Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΏΠΎ нСймспСйсам (i18next). Π₯ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Ρ€Π°Π½Π½ΠΈΡ… этапах, Π½ΠΎ становится ΠΎΠ±Ρ‰Π΅ΠΉ Π·ΠΎΠ½ΠΎΠΉ пСрСсСчСния ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ роста ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
    • Intlayer: ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Π΅Ρ‚ использованиС словарСй Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ), располоТСнных рядом с UI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚. Π­Ρ‚ΠΎ сохраняСт ΡΡΠ½ΠΎΡΡ‚ΡŒ владСния, ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅/ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ сниТаСт количСство ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. ΠΠ΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π»Π΅Π³Ρ‡Π΅ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.

    ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ: ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ UI. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ React-ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π±Π°Π·Ρ‹ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Ρ‡ΠΈΡ‰Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ ΠΆΠΈΠ²ΡƒΡ‚ вмСстС с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚.

    2) TypeScript ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

    • react-intl: НадСТныС Ρ‚ΠΈΠΏΡ‹, Π½ΠΎ Π½Π΅Ρ‚ автоматичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ; Π²Ρ‹ сами обСспСчиваСтС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ бСзопасности.
    • react-i18next: Бильная типизация для Ρ…ΡƒΠΊΠΎΠ²; строгая типизация ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки ΠΈΠ»ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².
    • Intlayer: АвтоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ строгиС Ρ‚ΠΈΠΏΡ‹ Π½Π° основС вашСго ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. АвтозаполнСниС Π² IDE ΠΈ ошибки Π½Π° этапС компиляции ловят ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ Π΄ΠΎ выполнСния.

    ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ: ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ошибок Π²Π»Π΅Π²ΠΎ (Π½Π° этап сборки/CI) сниТаСт количСство ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ ΠΈ ускоряСт Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

    3) ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ²

    • react-intl / react-i18next: По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ запасныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π²ΠΎ врСмя выполнСния (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° ΠΈΠ»ΠΈ локаль ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ). МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹/ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, Π½ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ Π½Π° этапС сборки Π½Π΅Ρ‚.
    • Intlayer: ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π½Π° этапС сборки с прСдупрСТдСниями ΠΈΠ»ΠΈ ошибками ΠΏΡ€ΠΈ отсутствии Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π»ΠΎΠΊΠ°Π»Π΅ΠΉ/ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

    ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ: Π‘Π±ΠΎΠΉ CI ΠΈΠ·-Π·Π° ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… строк ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ появлСниС Β«Π·Π°Π³Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ английского» Π² нСанглоязычных интСрфСйсах.

    4) Π‘ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

    • react-intl: ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ICU для мноТСствСнного числа, Π²Ρ‹Π±ΠΎΡ€ΠΎΠ², Π΄Π°Ρ‚/чисСл ΠΈ составлСния сообщСний. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JSX, Π½ΠΎ ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ модСль остаСтся ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° сообщСния.
    • react-i18next: Гибкая интСрполяция ΠΈ <Trans> для встраивания элСмСнтов/ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²; ICU доступСн Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π°Π³ΠΈΠ½.
    • Intlayer: Π€Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π±ΠΎΠ³Π°Ρ‚Ρ‹Π΅ ΡƒΠ·Π»Ρ‹ (JSX/Markdown/ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹) ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Intl ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ; ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ мноТСствСнного числа эргономичны.

    ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ: Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ тСксты UI (ссылки, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ части, встроСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹) ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° чисто ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ React-ΡƒΠ·Π»Ρ‹.

    5) ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

    • react-intl / react-i18next: ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ управляСтС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ Π»Π΅Π½ΠΈΠ²ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ (пространства ΠΈΠΌΡ‘Π½/динамичСскиС ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹). Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ дисциплины.
    • Intlayer: ВыполняСт tree-shaking Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… словарСй ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»Π΅Π½ΠΈΠ²ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΠΎ словарям ΠΈ локалям ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ.

    ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ: МСньшиС Π±Π°Π½Π΄Π»Ρ‹ ΠΈ мСньшС Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… строк ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запуска ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ.

    Π“Ρ€Π°Ρ„ΠΈΠΊ Π½ΠΈΠΆΠ΅ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±ΡŠΡ‘ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° для тСорСтичСского прилоТСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ 1 Π΄ΠΎ 10 страниц ΠΈ ΠΎΡ‚ 1 Π΄ΠΎ 10 языков, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΏΠΎ 30 ΠšΠ‘ тСкста Π½Π° страницу. ДинамичСская Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠΎ Π»ΠΎΠΊΠ°Π»ΠΈ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ ось языков, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠΌ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ ось страниц, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ… сочСтаниС сохраняСт ΠΎΠ±ΡŠΡ‘ΠΌ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ.

    ВСорСтичСская ΡƒΡ‚Π΅Ρ‡ΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΏΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅

    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ° Π½Π° React (TanStack Start / Vite)

    Π”Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Benchmark Bloom, ΠΈΠ·ΠΌΠ΅Ρ€ΡΡŽΡ‰ΠΈΠ΅ стандартныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ React Π½Π° TanStack Start:

    ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ°

    ДинамичСская Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° JSON

    ЛСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ² Π²ΠΎ врСмя выполнСния

    ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ JSON (пространства ΠΈΠΌΠ΅Π½)

    ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π° ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницы

    Π§Ρ‚ΠΎ это Π·Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°?

    ΠžΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ gzip. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ извлСчСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° послС tree-shaking ΠΈ ΠΌΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

    ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ?

    МСньший Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ сниТаСт Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ JavaScript, Ρ‡Ρ‚ΠΎ ускоряСт Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.

    Π’ΠΈΠ΄

    LibraryStrategyLib size (gz)Page JS avg (gz)Locale leakPage leakComponent avg (gz)E2E reactivityHydration
    base (no i18n)-0.0 KB111.0 KB0.0%0.0%0.7 KB8.1 ms21.6 ms
    react-i18nextdynamic18.4 KB136.4 KB23.1%89.8%24.8 KB123.1 ms32.9 ms
    intlayerdynamic5.0 KB118.6 KB0.0%0.0%6.3 KB3.6 ms14.1 ms
    Полная Ρ‚Π°Π±Π»ΠΈΡ†Π° Π² ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π΅ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ° TanStack Start ΠΈ Π² ΠΎΠ±Π·ΠΎΡ€Π΅ i18n-Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ².

    6) DX, инструмСнты ΠΈ сопровоТдСниС

    • react-intl / react-i18next: Широкая экосистСма сообщСства; для Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ внСшниС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
    • Intlayer: ΠŸΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ΡΡ с бСсплатным Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ CMS (Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² Git ΠΈΠ»ΠΈ выноситС Π΅Π³ΠΎ). Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для VSCode для создания ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ИИ с использованиСм Π²Π°ΡˆΠΈΡ… собствСнных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°.

    ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ: ВстроСнныС инструмСнты ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ Ρ†ΠΈΠΊΠ» взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° - мСньшС Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, мСньшС зависимостСй ΠΎΡ‚ сторонних поставщиков.

    Когда Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ?

    • Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ react-intl, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ICU-ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ сообщСний с простым, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ стандартам API, ΠΈ ваша ΠΊΠΎΠΌΠ°Π½Π΄Π° Π³ΠΎΡ‚ΠΎΠ²Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ бСзопасности.
    • Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ react-i18next, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΡˆΠΈΡ€ΠΎΠΊΠ°Ρ экосистСма i18next (Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Ρ‹, бэкСнды, ΠΏΠ»Π°Π³ΠΈΠ½ ICU, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ) ΠΈ Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ большСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π΄ΠΈ гибкости.
    • Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Intlayer, Ссли Π²Ρ‹ Ρ†Π΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ TypeScript, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ Π½Π° этапС сборки, tree-shaking ΠΈ встроСнныС инструмСнты рСдактирования - особСнно для Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… React-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

    ВзаимодСйствиС с react-intl ΠΈ react-i18next

    intlayer Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ вашими пространствами ΠΈΠΌΠ΅Π½ react-intl ΠΈ react-i18next.

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ intlayer, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ свой ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ вашСй любимой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ i18n, ΠΈ intlayer Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваши пространства ΠΈΠΌΠ΅Π½ Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ мСстС (ΠΏΡ€ΠΈΠΌΠ΅Ρ€: /messages/{{locale}}/{{namespace}}.json).

    Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΈ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ

    ΠžΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ²:

    Π—Π²Ρ‘Π·Π΄Ρ‹ GitHub

    Π—Π²Ρ‘Π·Π΄Ρ‹ Π½Π° GitHub ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ популярности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, довСрия сообщСства ΠΈ Π΅Π³ΠΎ долгосрочной Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π₯отя ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ прямой ΠΌΠ΅Ρ€ΠΎΠΉ тСхничСского качСства, ΠΎΠ½ΠΈ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚, сколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, слСдят Π·Π° Π΅Π³ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ ΠΈ, вСроятно, Π±ΡƒΠ΄ΡƒΡ‚ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Для ΠΎΡ†Π΅Π½ΠΊΠΈ цСнности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π·Π²Ρ‘Π·Π΄Ρ‹ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ срСди Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² ΠΈ Π΄Π°ΡŽΡ‚ прСдставлСниС ΠΎ ростС экосистСмы.

    Π“Ρ€Π°Ρ„ΠΈΠΊ истории Π·Π²Ρ‘Π·Π΄

    ΠΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

    Π—Π²Ρ‘Π·Π΄Ρ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ. ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, сколько Ρ€Π°Π±ΠΎΡ‚Ρ‹ вкладываСтся Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания Ρƒ Intlayer ΠΎΠΊΠΎΠ»ΠΎ 7 500 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²: большС, Ρ‡Π΅ΠΌ Ρƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° сравниваСмых здСсь Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 5 Ρ€Π°Π· большС, Ρ‡Π΅ΠΌ Ρƒ next-intl ΠΈΠ»ΠΈ next-i18next.

    • formatjs/formatjs
    • i18next/react-i18next
    • aymericzip/intlayer

    ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² основной Π²Π΅Ρ‚ΠΊΠ΅, источник: GitHub API.

    Intlayer это ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, поэтому Π² счёт входят всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², CLI ΠΈ докумСнтация. Π‘Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ активности, Π° Π½Π΅ качСства.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ npm

    • react-i18next
    • react-intl
    • react-intlayer

    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: API Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ рССстра npm.

    Число Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π²ΠΎΠ·Π½Π°Π³Ρ€Π°ΠΆΠ΄Π°Π΅Ρ‚ самыС старыС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π° Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠ΅. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄, Π΄ΠΎ сих ΠΏΠΎΡ€ устанавливаСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π±Ρ€Π°Π» Π΅Ρ‘ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ запуск CI ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ зависящий ΠΎΡ‚ Π½Π΅Ρ‘ ΠΏΠ°ΠΊΠ΅Ρ‚. Π­Ρ‚Π° Ρ†ΠΈΡ„Ρ€Π° измСряСт ΠΈΠ½Π΅Ρ€Ρ†ΠΈΡŽ, Π° Π½Π΅ осознанный Π²Ρ‹Π±ΠΎΡ€.

    ИИ-ассистСнты ΡƒΡΠΈΠ»ΠΈΠ²Π°ΡŽΡ‚ этот эффСкт. next-intl, i18next ΠΈ vue-i18n ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ΄Π΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΎΠ±ΡƒΡ‡Π°Π»ΠΈΡΡŒ, поэтому ассистСнты ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΈΡ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½Π΅ сравнивая Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹. КаТдая подсказка добавляСт Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ. Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΏΠΎ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΡƒ, Π° Π½Π΅ ΠΏΠΎ числу Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ.

    Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

    ВсС Ρ‚Ρ€ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ эффСктивно Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΡƒΡŽΡ‚ React. Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ - сколько инфраструктуры Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ систСму:

    • Π‘ Intlayer ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, строгая типизация TS, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π½Π° этапС сборки, tree-shaking Π±Π°Π½Π΄Π»ΠΎΠ² ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ инструмСнты ΡΠ²Π»ΡΡŽΡ‚ΡΡ стандартом, Π° Π½Π΅ Ρ€ΡƒΡ‚ΠΈΠ½ΠΎΠΉ.
    • Если ваша ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ†Π΅Π½ΠΈΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π² многоязычных, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… React-прилоТСниях, Intlayer ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ сСгодня самый ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.

    ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ см. Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Β«ΠŸΠΎΡ‡Π΅ΠΌΡƒ Intlayer?Β».

    ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

    Пока Π½Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². Π‘ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, ΠΊΡ‚ΠΎ подСлится своими мыслями.

    ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ сообщСния

    ПослСдниС сообщСния