Description
Maintainer List
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. Please take only one page at a time.
- Clone this repo, translate your page, and submit a pull request!
Before contributing, read the glossary and style guide (once they exist) 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.
Learn React
-
Quick Start (@Yarob50) [DONE]: Translating "Quick Start / Index Page" #465
- Tutorial: Tic Tac Toe (@AhmedBaset) [DONE] Translate tutorial-tic-tac-toe into Arabic #469
- Thinking in React (@hAbuMustafa) [DONE] Translated "Thinking in React" #466
-
Installation (@AbdulrehmanSuliman) [DONE]: Translation of Installation #475
- Start a New React Project
- Add React to an Existing Project (@AhmedBaset) [DONE] Translate
Add React to an existing project
#473 - Editor Setup (@AhmedBaset) Translating
Editor-Setup.md
#479 - Using TypeScript (@mahmood601) Translation ts page #526
- React Developer Tools (@AhmedBaset) [Done] Translate
React Developer tools
#476 - React Compiler
-
Describing the UI (@algorizr ) [DONE]: Translate
Describing the UI
page #472- Your First Component (@eihabkhan) [DONE]: Translate
Your First Component
#488 - Importing and Exporting Components (@AhmedBaset) Translating
Importing and Exporting Compoenents
#481 - Writing Markup with JSX (@AhmedBaset) Translateing
Writing-markup-with-jsx.md
#480 - JavaScript in JSX with Curly Braces (@eihabkhan) [DONE]: Translate
JavaScript in JSX with Curly Braces
#498 - Passing Props to a Component (@tmtm8976) translating Passing Props to a Component #515
- Conditional Rendering (@mrlahmar) [DONE] translate conditional rendering page #503
- Rendering Lists (@mahmood601) Translate rendering list page #504
- Keeping Components Pure (@tmtm8976) Traslating keeping components pure #518
- Your UI as a Tree
- Your First Component (@eihabkhan) [DONE]: Translate
-
Adding Interactivity (@abdllahdev) [DONE]: Translate
Adding Interactivity
#516- Responding to Events (@bil3zy)
- State: A Component's Memory (@tmtm8976) Translated State: A Component's Memory #527
- Render and Commit (@AhmedBaset) [Done] Translate
Render and Commit
#478 - State as a Snapshot (@Mhmd3ssam)
- Queueing a Series of State Updates
- Updating Objects in State
- Updating Arrays in State
-
Managing State (@Rumbustious) Translate
Managing State
page #522- Reacting to Input with State (@Rumbustious) Translation of (Reacting to input) #532
- Choosing the State Structure (@Rumbustious)
- Sharing State Between Components
- Preserving and Resetting State
- Extracting State Logic into a Reducer
- Passing Data Deeply with Context
- Scaling Up with Reducer and Context
-
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
-
Overview
-
react
: Hooks (@aalhommada) translate reference react index page #477-
use
-
useCallback
-
useContext
-
useDebugValue
(@remahmoud) [Done] TranslatinguseDebugValue
#489 -
useDeferredValue
-
useEffect
-
useId
(@remahmoud) useId page translation #483 -
useImperativeHandle
-
useInsertionEffect
-
useLayoutEffect
-
useMemo
-
useOptimistic
-
useReducer
-
useRef
-
useState
(@r-m169) -
useSyncExternalStore
-
useTransition
-
-
react
: Components (@AhmedBaset) Translating Reference: React/Components #509-
<Fragment> (<>)
-
<Profiler>
-
<StrictMode>
-
<Suspense>
-
-
react
: APIs (@AhmedBaset) Translating: APIs index page #507-
createContext
-
cache
-
forwardRef
-
lazy
-
memo
-
startTransition
-
act
-
-
RSC
- Server Components
- Server Actions
- Directives (@AhmedBaset) Translating directives,
'use client'
and'use server'
. #505 -
"use client"
-
"use server"
(@AhmedBaset) Translating directives,'use client'
and'use server'
. #505 -
experimental_taintObjectReference
-
experimental_taintUniqueValue
-
Rules
- Components and Hooks must be pure
- React calls Components and Hooks
- Rules of Hooks
-
Hooks
-
useFormState
-
useFormStatus
-
-
react-dom
: Components- Common (e.g.
<div>
) -
<form>
-
<input>
-
<option>
(@muh-osman) Translate<option>
page [UPDATED] #487 -
<progress>
(@mrlahmar) [DONE] translate <progress> page #491 -
<select>
-
<textarea>
-
<script>
-
<meta>
-
<link>
-
<style>
-
<title>
- Common (e.g.
-
react-dom
: APIs (@AhmedBaset) Translating: Reference/react-dom/index #508-
createPortal
-
flushSync
-
findDOMNode
-
hydrate
-
preconnect
-
prefetchDNS
-
preinit
-
preinitModule
-
preload
-
preloadModule
-
render
-
unmountComponentAtNode
-
-
react-dom/client
: Client APIs (@AhmedBaset) Translating: Client section in the react-dom reference #510-
createRoot
(@AhmedBaset) Translating: Client section in the react-dom reference #510 -
hydrateRoot
-
-
react-dom/server
: Server APIs-
renderToNodeStream
-
renderToPipeableStream
-
renderToReadableStream
-
renderToStaticMarkup
-
renderToStaticNodeStream
-
renderToString
-
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
) - 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
Activity