Description
Maintainer List
(Updated on 2025/01/14)
@vldmrkl@ithompson4@oleksii-polovyi- @bkatsevych (under the question)
- @alinkedd (Discord l10n community) ('Apologies for the delayed reviews. I have a heavy workload at the moment.')
Active translators:
- @undead404 (maintainer candidate)
- @GeorgeShvab
- @astropsy999
@MinichMykyta
For New Translators
To translate a page:
- Check that no one else has claimed your page in the checklist and comments below.
- Comment below with the name of the page you would like to translate.
- Fork and clone this repo, translate your page, and submit a pull request back here!
Please take only one page at a time.
Before contributing, read the glossary and style guide to understand how to translate various technical and React-specific terms.
Please be prompt with your translations! If you find that you can't commit anymore, let the maintainers know so they can assign the page to someone else.
For Maintainers
When someone volunteers, edit this issue with the username of the volunteer, and with the PR. Ex:
- Quick Start (@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.
(Updated on 2025/01/14)
Learn React
-
Quick Start (@stanislavcodes) Finished translation of Quick Start page #466
- Tutorial: Tic Tac Toe (partially @BlindKai, help is needed to finish) Translate tutorial tic tac toe #532
- Thinking in React
-
Installation (@alinkedd) Finished translation of Installation page #500
- Start a New React Project (@undead404) Finished translation of Start a New React Project #547
- Add React to an Existing Project (@bwv847) Finished translation of add-react-to-existing-project page #459
- Editor Setup (@undead404) Finished translation of Editor Setup #548
- Using TypeScript (@alinkedd) Finished translation of Using Typescript page #507
- React Developer Tools (@alinkedd) Finished translation of React Developer Tools page #498
- React Compiler (under construction)
-
Describing the UI (@alinkedd) Finished translation of Describing the UI page #513
- Your First Component (@litovskii-s) Finished translation of your first component page #458
- Importing and Exporting Components (@vadym-oliinyk) Add translation for "Importing and Exporting Components" page #464
- Writing Markup with JSX (@ltlaitoff) Finished translation of "Writing markup with JSX" page #485
- JavaScript in JSX with Curly Braces (@ltlaitoff) Finished translation of "JavaScript in JSX with Curly Braces" page #487
- Passing Props to a Component (@ltlaitoff) Finished translation of "Passing Props to a Component" page #495
- Conditional Rendering (@ltlaitoff) Finished translation of "Conditional rendering" page #497
- Rendering Lists (@alinkedd) Finished translation of Rendering Lists page #511
- Keeping Components Pure
- Your UI as a Tree (@alinkedd) Finished translation of Understanding Your UI as a Tree page #512
-
Adding Interactivity (@MinichMykyta) Translated "adding interactivity" page #539 - waiting for subpages to be translated
- Responding to Events (@alinkedd) Finished translation of Responding to Events page #515
- State: A Component's Memory (@alinkedd) Finished translation of State A Component's Memory #535
- Render and Commit (@kpripper) Translation of the "Render and Commit" #534
- State as a Snapshot (@undead404) Finished translation of State as a Snapshot #549
- Queueing a Series of State Updates (@undead404) Finished translation of Queueing a Series of State Updates #552
- Updating Objects in State
- Updating Arrays in State (@astropsy999) Updating arrays in state #553
-
Managing State
- Reacting to Input with State (@undead404)
Finish translation of Reacting to Input with State #555Finish translation of Reacting to Input with State #581 - Choosing the State Structure (@undead404)
Finished translating Choosing the state structure #557Finish translation of Choosing the State Structure #582 - Sharing State Between Components
- Preserving and Resetting State
- Extracting State Logic into a Reducer (@dimal-dev)
- Passing Data Deeply with Context
- Scaling Up with Reducer and Context (@astropsy999) Finished translation of "Scaling up with reducer and context" #561
- Reacting to Input with State (@undead404)
-
Escape Hatches
- Referencing Values with Refs
- Manipulating the DOM with Refs
- Synchronizing with Effects
- You Might Not Need an Effect
- Lifecycle of Reactive Effects
- Separating Events from Effects
- Removing Effect Dependencies
- Reusing Logic with Custom Hooks
API Reference
-
react@19
Overview -
react@19
: Hooks-
useActionState
(useFormState
) -
useCallback
-
useContext
(@astropsy999) useContext.md finished #560 -
useDebugValue
-
useDeferredValue
-
useEffect
-
useId
-
useImperativeHandle
-
useInsertionEffect
-
useLayoutEffect
-
useMemo
-
useOptimistic
-
useReducer
-
useRef
-
useState
-
useSyncExternalStore
-
useTransition
-
-
react@19
: Components-
<Fragment> (<>)
(@syavik2001) (Finished translation of Fragment page #460) -
<Profiler>
(@GeorgeShvab) (Finished translation of Profiler page #564) -
<StrictMode>
-
<Suspense>
(@GeorgeShvab) Finished translation of Suspense page #556
-
-
react@19
: APIs-
act
- experimental
cache
-
createContext
-
forwardRef
(@GeorgeShvab) (Finished translation of forwardRef page #473) -
lazy
-
memo
-
startTransition
-
use
- experimental
experimental_taintObjectReference
(under construction) - experimental
experimental_taintUniqueValue
(under construction)
-
-
react-dom@19
: Hooks-
useFormStatus
-
-
react-dom@19
: Components- Common (e.g.
<div>
) -
<form>
-
<input>
-
<option>
-
<progress>
-
<select>
-
<textarea>
-
<link>
-
<meta>
-
<script>
-
<style>
-
<title>
- Common (e.g.
-
react-dom@19
: APIs-
createPortal
(@GeorgeShvab) (Finished translation of createPortal page #468) -
flushSync
findDOMNode
hydrate
(@GeorgeShvab) (Finished translation of hydrate page #503)-
preconnect
-
prefetchDNS
-
preinit
-
preinitModule
-
preload
-
preloadModule
render
unmountComponentAtNode
-
-
react-dom@19/client
: Client APIs-
createRoot
-
hydrateRoot
-
-
react-dom@19/server
: Server APIsrenderToNodeStream
-
renderToPipeableStream
-
renderToReadableStream
-
renderToStaticMarkup
renderToStaticNodeStream
-
renderToString
-
react-dom@19/server
: Static APIs-
prerender
-
prerenderToNodeStream
-
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
) - Sidebars (currently in
src/sidebar*.json
) (@undead404) Translate titles in sidebar for pages already in Ukrainian #551 + every next article should be shipped with its title changed in the sidebar; in progress - Top-level navigation (currently in
TopNav.tsx
) - Other UI
Added Ukrainian localization for Quick Start page #562
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:
Rules of React
- Rules of React
- Components and Hooks must be pure
- React calls Components and Hooks
- Rules of Hooks
React Server Components
- Server Components
- Server Functions
- Directives
-
'use client'
-
'use server'
-
Legacy APIs
- 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