Description
Текущий список мейнтейнеров
Если у вас есть время и желание, и вы уже участвуете в развитии проекта, то можете создать пулреквест с добавлением своего логина в список мейнтейнеров в этом репозитории.
Как помочь с переводом
Вы можете перевести страницу из документации! Это делается в три шага:
- Проверьте, что её никто не застолбил в чеклисте или комментариях под ним (они не сразу отражаются в чеклисте)
- Напишите, какую страницу вы ходите перевести. Пожалуйста, не берите больше одной страницы за раз.
- Когда страница готова, отредактируйте ваш комментарий, чтобы добавить номер пулреквеста.
Прежде чем переводить, обязательно прочитайте местные правила перевода!
Пожалуйста, не тяните с переводами! Если у вас не получается или нет времени, отпишитесь, чтобы кто-то другой мог подхватить эту страницу.
For maintainers
When someone volunteers, edit this issue with the username of the volunteer, and with the PR. Ex:
- Home Page (@tesseralis) #12345
When PRs are merged, make sure to mark that page as completed!
Main Content
To do before releasing as an "official" translation. Please translate these pages first.
Note that each section has an index page, which needs to be translated too.
Learn React
-
Quick Start (@pblyp) Rutranslation/quick start #846
- Tutorial: Tic Tac Toe (@SmaylikYoutuber) Обновить tutorial-tic-tac-toe.md #953
- Thinking in React (@dignit28) Translate "Thinking in React" #876
-
Installation (@Palidos) Installation translation #842
- Start a New React Project (@titovmx) translate Start a new React project page #850
- Add React to an Existing Project (@rkashigin)
- Editor Setup (@Hellnar) Writing Markup with JSX and Setup page #845
- Using TypeScript (@n1ckdevops)
- React Developer Tools (@xxtereshko) Translation for "React Developer Tools" #863
- React Compiler
-
Describing the UI (@titovmx) Translate Describing the UI page #880
- Your First Component (@wadzari) Translate You First Component page #852
- Importing and Exporting Components (@avarlamova) Update importing-and-exporting-components.md #853
- Writing Markup with JSX (@Hellnar) Writing Markup with JSX and Setup page #845
- JavaScript in JSX with Curly Braces (@wadzari) translate JavaScript in JSX with Curly Braces #879
- Passing Props to a Component (@titovmx) translate Passing props to a component page #874
- Conditional Rendering (@rainyEra) conditional-rendering.md ru #844
- Rendering Lists (@Laroikin) Translation for "Rendering Lists" #855
- Keeping Components Pure (@EngiN33R)
- Understanding Your UI as a Tree (@L1ghT0) Translation for Understanding Your UI as a Tree #927
-
Adding Interactivity (@AnotherJulila)
- Responding to Events (@xxtereshko) Translation for "Responding to Events" #861
- State: A Component's Memory (@sakhnyuk) Translate for "State: A Component's Memory" #888
- Render and Commit (@rainyEra) Render and commit #862
- State as a Snapshot (@bofeof) Translation for State as a Snapshot page #877
- Queueing a Series of State Updates (@isakura313) Queueing a series of state updates #881
- Updating Objects in State (@bofeof) Translation for Updating Objects in State page #886
- Updating Arrays in State (@isakura313) draft of update arrays in state #896
-
Managing State
- Reacting to Input with State (@titovmx) translate reacting to input with state #899
- Choosing the State Structure (@mike-minchenko)
- Sharing State Between Components (@arturdedela) Translation for "Sharing State Between Components" #872
- Preserving and Resetting State (@AnastasyaAntonova) translate file: Preserving-and-resetting-state #895
- Extracting State Logic into a Reducer (@avganka)
- Passing Data Deeply with Context (@Pyplee) Translate passing data deeply with context #973
- Scaling Up with Reducer and Context (@x1agy) Scaling up with reducer and context ru #981
-
Escape Hatches
- Referencing Values with Refs (@maridoroshuk) Add translation Referencing values with refs #875
- Manipulating the DOM with Refs (@Vo-one) translate file: Manipulating the DOM with Refs #889
- Synchronizing with Effects (@Tata-Sysueva) Add Russian translation for synchronizing-with-effects page #988
- You Might Not Need an Effect (@boldurean) Translation for "You Might Not Need an Effect" #854
- Lifecycle of Reactive Effects (@DarkDomian)
- Separating Events from Effects (@gybber-dev) Translate separating-events-from-effects #971
- Removing Effect Dependencies
- Reusing Logic with Custom Hooks (@exymore)
API Reference
-
react
: Hooks-
useActionState
-
useCallback
(@khikmatjonazizov) Translate/use callback #965 -
useContext
(@hellcattc) Translation for Hooks / useContext #878 -
useDebugValue
(@kmpeeduwee) -
useDeferredValue
(@mekarthedev) Translate useDeferredValue #866 -
useEffect
(@mekarthedev) Translate useEffect #897 -
useId
(@mekarthedev) Translate useId #856 -
useImperativeHandle
(@kmpeeduwee) -
useInsertionEffect
(@kmpeeduwee) Translate useInsertionEffect #948 -
useLayoutEffect
(@khikmatjonazizov) Translate/use layout effect #961 -
useMemo
(@jewhyena) Translation for Hooks / useMemo #870 -
useReducer
(@kmpeeduwee) Add translate useReducer #893 -
useOptimistic
(@maridoroshuk) Translate useOptimistic #928 (@rLukoyanov) Translate useOptimistic #974 -
useRef
(@jewhyena) Translation for Hooks / useRef #885 -
useState
(@qweered) -
useSyncExternalStore
(@khikmatjonazizov) -
useTransition
(@Palidos) useTransition translation #892
-
-
react
: Components (@fpetrakov) Перевод referece/react/components #841-
<Fragment> (<>)
(@XamzatJR) Translation for Fragment.md #848 -
<Profiler>
-
<StrictMode>
(@jkorichneva) Translation forStrict Mode
#871 -
<Suspense>
-
-
react
: APIs-
act
-
cache
-
createContext
(@naknumberone) add createContext translation #901 -
forwardRef
(@maxtulupov) -
lazy
(@YashinaAnastasia) Translation for "lazy" #869 -
memo
(@maridoroshuk) Add translationmemo
#894 -
startTransition
(@ianreas) Translate startTransition #867 -
use
-
-
react-dom
: Hooks-
useFormState
-
useFormStatus
-
-
react-dom
: Components (@ramiiil)- Common (e.g.
<div>
) -
<form>
-
<input>
-
<option>
(@dimentoree) -
<progress>
-
<select>
-
<textarea>
- Common (e.g.
-
react-dom
: APIs (@xxtereshko) Translation for "React DOM APIs" #864-
createPortal
-
flushSync
-
findDOMNode
-
hydrate
-
render
-
unmountComponentAtNode
-
-
react-dom/client
: Client APIs-
createRoot
(@xxtereshko) -
hydrateRoot
-
-
react-dom/server
: Server APIs-
renderToNodeStream
(@GoncharovaAnna) Translation for "renderToNodeStream" #868 -
renderToPipeableStream
-
renderToReadableStream
-
renderToStaticMarkup
-
renderToStaticNodeStream
-
renderToString
(@TibidoX) Translation for "renderToString" #884
-
-
rsc/server-components
: Server Components (@vikaborel) -
rsc/server-actions
: Server Actions -
rsc/directives
: Directives-
use-client
-
use-server
-
Navigation and UI
We suggest to leave most of the UI translation until the end. We plan to do some invasive changes to the website folder layout and components, so postponing this until your translation is almost complete would make it easier to merge the changes from our side later. It might make sense to translate the homepage above the fold early, but leave the rest for later. As individual pages get translated, you can change the page titles in the corresponding sidebar files. Finally, when you're translating the navigation, make sure to test both desktop and mobile layouts.
- Homepage (currently in
HomeContent.js
) (@Zukhrik) enhancement: translated home page #909 - Sidebars (currently in
src/sidebar*.json
) - Top-level navigation (currently in
TopNav.tsx
)
When You're Ready...
After everything above is translated, add your language to deployedLanguages
in Seo.tsx
of the original reactjs/react.dev repository.
Secondary Content
These API pages should ideally be translated too, but they're less urgent and can be done after the others:
- Legacy React APIs
-
Children
-
cloneElement
-
Component
-
createElement
-
createFactory
-
createRef
-
isValidElement
-
PureComponent
-
Optional Content
These aren't the main translation targets, but if you'd like to do them, feel free to expand the list to include their subpages:
- Community
- Blog
- Warnings (@FrMks) Transalte catalog: Warnings #890