diff --git a/src/content/blog/2025/04/21/react-compiler-rc.md b/src/content/blog/2025/04/21/react-compiler-rc.md
index ecbbb87471..cca923889d 100644
--- a/src/content/blog/2025/04/21/react-compiler-rc.md
+++ b/src/content/blog/2025/04/21/react-compiler-rc.md
@@ -2,32 +2,31 @@
title: "React Compiler RC"
author: Lauren Tan and Mofei Zhang
date: 2025/04/21
-description: We are releasing the compiler's first Release Candidate (RC) today.
-
+description: Сегодня мы выпускаем первый Release Candidate (RC) компилятора.
---
-April 21, 2025 by [Lauren Tan](https://x.com/potetotes) and [Mofei Zhang](https://x.com/zmofei).
+21 апреля 2025 г. от [Lauren Tan](https://x.com/potetotes) и [Mofei Zhang](https://x.com/zmofei).
---
-The React team is excited to share new updates:
+Команда React рада поделиться новыми обновлениями:
-1. We're publishing React Compiler RC today, in preparation of the compiler's stable release.
-2. We're merging `eslint-plugin-react-compiler` into `eslint-plugin-react-hooks`.
-3. We've added support for swc and are working with oxc to support Babel-free builds.
+1. Сегодня мы публикуем React Compiler RC в рамках подготовки к стабильному выпуску компилятора.
+2. Мы объединяем `eslint-plugin-react-compiler` в `eslint-plugin-react-hooks`.
+3. Мы добавили поддержку swc и работаем с oxc над поддержкой сборки без Babel.
---
-[React Compiler](https://react.dev/learn/react-compiler) is a build-time tool that optimizes your React app through automatic memoization. Last year, we published React Compiler’s [first beta](https://react.dev/blog/2024/10/21/react-compiler-beta-release) and received lots of great feedback and contributions. We’re excited about the wins we’ve seen from folks adopting the compiler (see case studies from [Sanity Studio](https://github.com/reactwg/react-compiler/discussions/33) and [Wakelet](https://github.com/reactwg/react-compiler/discussions/52)) and are working towards a stable release.
+[React Compiler](https://react.dev/learn/react-compiler) — это инструмент сборки, который оптимизирует ваше React-приложение с помощью автоматического мемоизирования. В прошлом году мы опубликовали [первую бета-версию](https://react.dev/blog/2024/10/21/react-compiler-beta-release) React Compiler и получили множество отличных отзывов и предложений. Мы воодушевлены успехами тех, кто уже использует компилятор (см. примеры использования от [Sanity Studio](https://github.com/reactwg/react-compiler/discussions/33) и [Wakelet](https://github.com/reactwg/react-compiler/discussions/52)), и работаем над стабильным выпуском.
-We are releasing the compiler's first Release Candidate (RC) today. The RC is intended to be a stable and near-final version of the compiler, and safe to try out in production.
+Сегодня мы выпускаем первый Release Candidate (RC) компилятора. RC — это стабильная и почти финальная версия компилятора, которую безопасно использовать в продакшене.
-## Use React Compiler RC today {/*use-react-compiler-rc-today*/}
-To install the RC:
+## Используйте React Compiler RC сегодня {/*use-react-compiler-rc-today*/}
+Чтобы установить RC:
npm
@@ -44,22 +43,22 @@ yarn
{`yarn add --dev --exact babel-plugin-react-compiler@rc`}
-As part of the RC, we've been making React Compiler easier to add to your projects and added optimizations to how the compiler generates memoization. React Complier now supports optional chains and array indices as dependencies. We're exploring how to infer even more dependencies like equality checks and string interpolation. These improvements ultimately result in fewer re-renders and more responsive UIs.
+В рамках RC мы упростили добавление React Compiler в ваши проекты и оптимизировали генерацию мемоизации компилятором. React Compiler теперь поддерживает optional chains и индексы массивов в качестве зависимостей. Мы исследуем способы вывода дополнительных зависимостей, таких как проверки на равенство и интерполяция строк. Эти улучшения в конечном итоге приводят к меньшему количеству повторных рендеров и более отзывчивым пользовательским интерфейсам.
-We have also heard from the community that the ref-in-render validation sometimes has false positives. Since as a general philosophy we want you to be able to fully trust in the compiler's error messages and hints, we are turning it off by default for now. We will keep working to improve this validation, and we will re-enable it in a follow up release.
+Мы также услышали от сообщества, что валидация `ref` в рендере иногда дает ложные срабатывания. Поскольку наша общая философия заключается в том, чтобы вы могли полностью доверять сообщениям об ошибках и подсказкам компилятора, мы временно отключили эту проверку по умолчанию. Мы продолжим работать над улучшением этой валидации и повторно включим ее в следующем выпуске.
-You can find more details on using the Compiler in [our docs](https://react.dev/learn/react-compiler).
+Более подробную информацию об использовании компилятора вы можете найти в [нашей документации](https://react.dev/learn/react-compiler).
-## Feedback {/*feedback*/}
-During the RC period, we encourage all React users to try the compiler and provide feedback in the React repo. Please [open an issue](https://github.com/facebook/react/issues) if you encounter any bugs or unexpected behavior. If you have a general question or suggestion, please post them in the [React Compiler Working Group](https://github.com/reactwg/react-compiler/discussions).
+## Обратная связь {/*feedback*/}
+В течение периода RC мы призываем всех пользователей React попробовать компилятор и предоставить обратную связь в репозитории React. Пожалуйста, [откройте issue](https://github.com/facebook/react/issues), если вы столкнетесь с какими-либо ошибками или неожиданным поведением. Если у вас есть общий вопрос или предложение, пожалуйста, опубликуйте их в [React Compiler Working Group](https://github.com/reactwg/react-compiler/discussions).
-## Backwards Compatibility {/*backwards-compatibility*/}
-As noted in the Beta announcement, React Compiler is compatible with React 17 and up. If you are not yet on React 19, you can use React Compiler by specifying a minimum target in your compiler config, and adding `react-compiler-runtime` as a dependency. You can find docs on this [here](https://react.dev/learn/react-compiler#using-react-compiler-with-react-17-or-18).
+## Обратная совместимость {/*backwards-compatibility*/}
+Как было отмечено в анонсе бета-версии, React Compiler совместим с React 17 и выше. Если вы еще не используете React 19, вы можете использовать React Compiler, указав минимальную целевую версию в конфигурации компилятора и добавив `react-compiler-runtime` в качестве зависимости. Документацию по этому вопросу можно найти [здесь](https://react.dev/learn/react-compiler#using-react-compiler-with-react-17-or-18).
-## Migrating from eslint-plugin-react-compiler to eslint-plugin-react-hooks {/*migrating-from-eslint-plugin-react-compiler-to-eslint-plugin-react-hooks*/}
-If you have already installed eslint-plugin-react-compiler, you can now remove it and use `eslint-plugin-react-hooks@6.0.0-rc.1`. Many thanks to [@michaelfaith](https://bsky.app/profile/michael.faith) for contributing to this improvement!
+## Миграция с eslint-plugin-react-compiler на eslint-plugin-react-hooks {/*migrating-from-eslint-plugin-react-compiler-to-eslint-plugin-react-hooks*/}
+Если вы уже установили `eslint-plugin-react-compiler`, вы можете удалить его и использовать `eslint-plugin-react-hooks@6.0.0-rc.1`. Большое спасибо [@michaelfaith](https://bsky.app/profile/michael.faith) за вклад в это улучшение!
-To install:
+Для установки:
npm
@@ -89,40 +88,40 @@ export default [
];
```
-To enable the React Compiler rule, add `'react-hooks/react-compiler': 'error'` to your ESLint configuration.
+Чтобы включить правило React Compiler, добавьте `'react-hooks/react-compiler': 'error'` в вашу конфигурацию ESLint.
-The linter does not require the compiler to be installed, so there's no risk in upgrading eslint-plugin-react-hooks. We recommend everyone upgrade today.
+Линтер не требует установки компилятора, поэтому нет риска при обновлении `eslint-plugin-react-hooks`. Мы рекомендуем всем обновиться сегодня.
-## swc support (experimental) {/*swc-support-experimental*/}
-React Compiler can be installed across [several build tools](/learn/react-compiler#installation) such as Babel, Vite, and Rsbuild.
+## Поддержка swc (экспериментальная) {/*swc-support-experimental*/}
+React Compiler можно установить с помощью [различных инструментов сборки](/learn/react-compiler#installation), таких как Babel, Vite и Rsbuild.
-In addition to those tools, we have been collaborating with Kang Dongyoon ([@kdy1dev](https://x.com/kdy1dev)) from the [swc](https://swc.rs/) team on adding additional support for React Compiler as an swc plugin. While this work isn't done, Next.js build performance should now be considerably faster when the [React Compiler is enabled in your Next.js app](https://nextjs.org/docs/app/api-reference/config/next-config-js/reactCompiler).
+В дополнение к этим инструментам мы сотрудничали с Kang Dongyoon ([@kdy1dev](https://x.com/kdy1dev)) из команды [swc](https://swc.rs/) над добавлением дополнительной поддержки React Compiler в качестве плагина swc. Хотя эта работа еще не завершена, производительность сборки Next.js должна значительно возрасти при [включении React Compiler в вашем приложении Next.js](https://nextjs.org/docs/app/api-reference/config/next-config-js/reactCompiler).
-We recommend using Next.js [15.3.1](https://github.com/vercel/next.js/releases/tag/v15.3.1) or greater to get the best build performance.
+Мы рекомендуем использовать Next.js [15.3.1](https://github.com/vercel/next.js/releases/tag/v15.3.1) или выше для достижения наилучшей производительности сборки.
-Vite users can continue to use [vite-plugin-react](https://github.com/vitejs/vite-plugin-react) to enable the compiler, by adding it as a [Babel plugin](https://react.dev/learn/react-compiler#usage-with-vite). We are also working with the [oxc](https://oxc.rs/) team to [add support for the compiler](https://github.com/oxc-project/oxc/issues/10048). Once [rolldown](https://github.com/rolldown/rolldown) is officially released and supported in Vite and oxc support is added for React Compiler, we'll update the docs with information on how to migrate.
+Пользователи Vite могут продолжать использовать [vite-plugin-react](https://github.com/vitejs/vite-plugin-react) для включения компилятора, добавив его как [плагин Babel](https://react.dev/learn/react-compiler#usage-with-vite). Мы также работаем с командой [oxc](https://oxc.rs/) над [добавлением поддержки компилятора](https://github.com/oxc-project/oxc/issues/10048). Как только [rolldown](https://github.com/rolldown/rolldown) будет официально выпущен и добавлена поддержка oxc для React Compiler, мы обновим документацию информацией о том, как выполнить миграцию.
-## Upgrading React Compiler {/*upgrading-react-compiler*/}
-React Compiler works best when the auto-memoization applied is strictly for performance. Future versions of the compiler may change how memoization is applied, for example it could become more granular and precise.
+## Обновление React Compiler {/*upgrading-react-compiler*/}
+React Compiler лучше всего работает, когда применяемое авто-мемоизирование строго направлено на повышение производительности. Будущие версии компилятора могут изменить способ применения мемоизации, например, она может стать более гранулярной и точной.
-However, because product code may sometimes break the [rules of React](https://react.dev/reference/rules) in ways that aren't always statically detectable in JavaScript, changing memoization can occasionally have unexpected results. For example, a previously memoized value might be used as a dependency for a useEffect somewhere in the component tree. Changing how or whether this value is memoized can cause over or under-firing of that useEffect. While we encourage [useEffect only for synchronization](https://react.dev/learn/synchronizing-with-effects), your codebase may have useEffects that cover other use-cases such as effects that needs to only run in response to specific values changing.
+Однако, поскольку код продукта иногда может нарушать [правила React](https://react.dev/reference/rules), которые не всегда статически обнаруживаются в JavaScript, изменение мемоизации может иногда приводить к неожиданным результатам. Например, ранее мемоизированное значение может использоваться как зависимость для `useEffect` где-то в дереве компонентов. Изменение способа мемоизации этого значения или его мемоизации вообще может привести к чрезмерному или недостаточному срабатыванию этого `useEffect`. Хотя мы рекомендуем использовать [useEffect только для синхронизации](https://react.dev/learn/synchronizing-with-effects), в вашем коде могут быть `useEffect`, которые охватывают другие варианты использования, такие как эффекты, которые должны срабатывать только при изменении определенных значений.
-In other words, changing memoization may under rare circumstances cause unexpected behavior. For this reason, we recommend following the Rules of React and employing continuous end-to-end testing of your app so you can upgrade the compiler with confidence and identify any rules of React violations that might cause issues.
+Другими словами, изменение мемоизации в редких случаях может привести к неожиданному поведению. По этой причине мы рекомендуем следовать Правилам React и использовать непрерывное сквозное тестирование вашего приложения, чтобы вы могли с уверенностью обновлять компилятор и выявлять любые нарушения правил React, которые могут вызвать проблемы.
-If you don't have good test coverage, we recommend pinning the compiler to an exact version (eg `19.1.0`) rather than a SemVer range (eg `^19.1.0`). You can do this by passing the `--save-exact` (npm/pnpm) or `--exact` flags (yarn) when upgrading the compiler. You should then do any upgrades of the compiler manually, taking care to check that your app still works as expected.
+Если у вас нет хорошего тестового покрытия, мы рекомендуем закрепить версию компилятора на точной версии (например, `19.1.0`), а не на диапазоне SemVer (например, `^19.1.0`). Вы можете сделать это, передав флаги `--save-exact` (npm/pnpm) или `--exact` (yarn) при обновлении компилятора. Затем вы должны обновлять компилятор вручную, уделяя особое внимание проверке того, что ваше приложение по-прежнему работает должным образом.
-## Roadmap to Stable {/*roadmap-to-stable*/}
-*This is not a final roadmap, and is subject to change.*
+## Дорожная карта к стабильному выпуску {/*roadmap-to-stable*/}
+*Это не окончательная дорожная карта, и она может быть изменена.*
-After a period of final feedback from the community on the RC, we plan on a Stable Release for the compiler.
+После периода получения окончательной обратной связи от сообщества по RC мы планируем стабильный выпуск компилятора.
-* ✅ Experimental: Released at React Conf 2024, primarily for feedback from application developers.
-* ✅ Public Beta: Available today, for feedback from library authors.
-* ✅ Release Candidate (RC): React Compiler works for the majority of rule-following apps and libraries without issue.
-* General Availability: After final feedback period from the community.
+* ✅ Экспериментальный: Выпущен на React Conf 2024, в основном для получения обратной связи от разработчиков приложений.
+* ✅ Публичная бета-версия: Доступна сегодня для получения обратной связи от авторов библиотек.
+* ✅ Release Candidate (RC): React Compiler работает для большинства приложений и библиотек, следующих правилам, без проблем.
+* Общая доступность: После периода получения окончательной обратной связи от сообщества.
-Post-Stable, we plan to add more compiler optimizations and improvements. This includes both continual improvements to automatic memoization, and new optimizations altogether, with minimal to no change of product code. Each upgrade will continue to improve performance and add better handling of diverse JavaScript and React patterns.
+После стабильного выпуска мы планируем добавить больше оптимизаций и улучшений компилятора. Это включает как постоянные улучшения автоматического мемоизирования, так и совершенно новые оптимизации, с минимальными или нулевыми изменениями в коде продукта. Каждое обновление будет продолжать повышать производительность и улучшать обработку различных шаблонов JavaScript и React.
---
-Thanks to [Joe Savona](https://x.com/en_JS), [Jason Bonta](https://x.com/someextent), [Jimmy Lai](https://x.com/feedthejim), and [Kang Dongyoon](https://x.com/kdy1dev) (@kdy1dev) for reviewing and editing this post.
+Спасибо [Joe Savona](https://x.com/en_JS), [Jason Bonta](https://x.com/someextent), [Jimmy Lai](https://x.com/feedthejim) и [Kang Dongyoon](https://x.com/kdy1dev) (@kdy1dev) за рецензирование и редактирование этой публикации.