Repository navigation
New Ukrainian Translation Progress #457
Description
Maintainer List
This list of maintainers and active translators was updated on 2025/12/15. uk.react.dev is looking for a maintainer to help review, translate and maintain the documentation!
@vldmrkl@ithompson4@oleksii-polovyi@bkatsevych- @alinkedd (Discord l10n community) ('Apologies for the delayed reviews. I’m doing reviews completely asynchronously and sporadically at the moment.')
For New Translators
To translate a page:
- Check that no one else has claimed your page in the checklist and comments below. AND PLEASE, TAKE A PAGE WHICH IS LOWER IN HIERARCHY, NOT AN INDEX OR INTRO ONE--THESE DEPEND ON INNER PAGES!
- 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.
(This list of topics was updated on 2025/10/17)
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- Creating a React App (mainly a copy from Start a New React Project; @alinkedd) Sync with react.dev @ 49284218 #591
Building a React Framework (@alinkedd) Sync with react.dev @ 49284218 #591- Build a React app from Scratch (partially a copy from Building a React Framework; @alinkedd) Sync with react.dev @ fc296034 #593
- Add React to an Existing Project (@bwv847) Finished translation of add-react-to-existing-project page #459
-
Setup (@alinkedd) Sync with react.dev @ 49284218 #591
- 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 - DO NOT TRANSLATE UNTIL SUBPAGES ARE TRANSLATED!
- Introduction
- Installation
- Incremental Adoption
- Debugging and Troubleshooting
-
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 #539Sync with react.dev @ 6326e7b1 #595- 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 #535Sync with react.dev @ fc296034 #593 - 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 (@Stanislav-prog) Translated "Updating Objects in State" page #631
- Updating Arrays in State (@astropsy999) Updating arrays in state #553
-
Managing State (@tpostolyuk) Translate Managing State page #588 - waiting for subpages to be translated
- 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 (@Dmytrii248) Translate sharing state between components #594
- Preserving and Resetting State (@Dmytrii248) Translate preserving and resetting state #627
- Extracting State Logic into a Reducer (@dolgachio)
- 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 - DO NOT TRANSLATE UNTIL SUBPAGES ARE TRANSLATED!
- 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@19Overview -
react@19: Hooks (@pavlosambur) docs(uk): translate hooks.md to Ukrainian #598-
useActionState(useFormState) (@mokhovyk) -
useCallback(@mokhovyk) docs(uk): translate useCallback.md to Ukrainian #634 -
useContext(@astropsy999) useContext.md finished #560 -
useDebugValue(@tysiachnyi) docs(uk): translate useDebugValue.md to Ukrainian #635 -
useDeferredValue -
useEffect(@Andrii256) docs(uk): translate useEffect.md to Ukrainian #641 -
useEffectEvent(@Andrii256) docs(uk): translate useEffectEvent.md to Ukrainian #642 -
useId(@LeoMorgan113) docs: translation for useId page #633 -
useImperativeHandle(@MaksymMohyla) Translated useImperativeHandlePage #592 -
useInsertionEffect -
useLayoutEffect -
useMemo -
useOptimistic- (prev version - @TanuhaUA translate useOptimistic to Ukrainian #637)
useOptimisticpage requires a new translation because of revamp (Sync with react.dev @ bd87c394 #656)
- (prev version - @TanuhaUA translate useOptimistic to Ukrainian #637)
-
useReducer -
useRef -
useState(@pavlosambur) docs: ✨ translate useState.md + minor terminology fixes #601 -
useSyncExternalStore -
useTransition
-
-
react@19: Components-
<Fragment> (<>)(needs additional translations!) (@syavik2001) (Finished translation of Fragment page #460) -
<Profiler>(@GeorgeShvab) (Finished translation of Profiler page #564) -
<StrictMode> -
<Suspense>(@GeorgeShvab) Finished translation of Suspense page #556 -
<Activity>(@Grenvals) -
<ViewTransition>(canary)
-
-
react@19: APIs-
act -
addTransitionType(canary) -
cache -
captureOwnerStack -
createContext -
lazy -
memo -
startTransition -
use - experimental
experimental_taintObjectReference - experimental
experimental_taintUniqueValue
-
-
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 findDOMNodehydrate(@GeorgeShvab) (Finished translation of hydrate page #503)-
preconnect -
prefetchDNS -
preinit -
preinitModule -
preload -
preloadModule renderunmountComponentAtNode
-
-
react-dom@19/client: Client APIs-
createRoot -
hydrateRoot
-
-
react-dom@19/server: Server APIsrenderToNodeStream-
renderToPipeableStream -
renderToReadableStream -
renderToStaticMarkup renderToStaticNodeStream-
renderToString -
resume -
resumeToPipeableStream
-
react-dom@19/server: Static APIs-
prerender -
prerenderToNodeStream -
resumeAndPrerender -
resumeAndPrerenderToNodeStream
-
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) (@alinkedd) Sync with react.dev @ ab18d2f0 #596, Sync with react.dev @ 2859efa0 #602 - 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 and/or footer; Sync with react.dev @ ab18d2f0 #596 - in progress - Top-level navigation (currently in
TopNav.tsx) (@alinkedd) Sync with react.dev @ ab18d2f0 #596 - Other UI
Added Ukrainian localization for Quick Start page #562(@alinkedd) Sync with react.dev @ ab18d2f0 #596 Sync with react.dev @ a3e9466d #609 Sync with react.dev @ 65d297e9 #610
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:
React Compiler
- Configuration
-
compilationMode -
gating -
logger -
panicThreshold -
target
-
- Directives
-
'use memo' -
'use no memo'
-
- Compiling Libraries
React Dev Tools
- React Performance tracks
Lints
- Lints (eslint-plugin-react-hooks)
- exhaustive-deps
- rules-of-hooks
- component-hook-factories
- config
- error-boundaries
- gating
- globals
- immutability
- incompatible-library
- preserve-manual-memoization
- purity
- refs
- set-state-in-effect
- set-state-in-render
- static-components
- unsupported-syntax
- use-memo
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 -
forwardRef(@GeorgeShvab) (Finished translation of forwardRef page #473) -
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:
- Versions (@alinkedd) Sync with react.dev @ 65d297e9 #610
- Community
- ...
- Translations (@alinkedd) Sync with react.dev @ f6d762cb #597
- Blog (intro) (@alinkedd) Sync with react.dev @ 65d297e9 #610
- articles
- Banner (@alinkedd) Sync with react.dev @ 55986965 #607
- Warnings
Activity
eugenetree commentedon Apr 25, 2023
Hi, I would like to translate
useLayoutEffectPavelVyny commentedon Apr 25, 2023
Hi! I would like to translate
Reusing Logic with Custom Hookssergii-zhuravel commentedon Apr 25, 2023
Hi, there. I would like to translate
Start a New React Projectlitovskii-s commentedon Apr 25, 2023
Hi! I would like to translate
Your First ComponentDone in #458
dolynchuk commentedon Apr 25, 2023
I would like to translate
Tutorial: Tic Tac Toegymnasy55 commentedon Apr 25, 2023
I'd like to take
Thinking in Reactsyavik2001 commentedon Apr 25, 2023
Hi! I would like to translate
react: Components: Fragment (<>)Done in #460
gaearon commentedon Apr 25, 2023
@vldmrkl @ithompson4 @oleksii-polovyi @MargarytaChepiga
Can you please confirm whether you'd be able to steer and maintain this translation? If not, please let us know by updating https://github.com/reactjs/translations.react.dev/blob/main/langs/uk.json so that we know who is active and can set the GH permissions right. Thank you!
EngiN33R commentedon Apr 25, 2023
Hi, I'd like to take
Keeping Components Pureheorhiiss commentedon Apr 26, 2023
Hi there. I would like to translate
createPortalpageDone in #468
bwv847 commentedon Apr 26, 2023
Hi, I'd like to translate
Add React to an Existing ProjectDone in #459
tesla-oss commentedon Apr 27, 2023
Hi, I'd like to translate
react: APIs: lazystanislavcodes commentedon Apr 29, 2023
Hey! I'd like to translate
Quick StartandTutorial: Tic Tac Toe#466
gaearon commentedon May 3, 2023
@vldmrkl @ithompson4 @oleksii-polovyi @MargarytaChepiga
Can you please confirm whether you'd be able to maintain this translation? Totally understand if not, but in that case we'd need to form a new maintainer team first. Thank you!
75 remaining items
alinkedd commentedon Mar 27, 2025
@pavlosambur please, next time take a page which is lower in the hierarchy, a subpage, not an intro or index one, 'cause the last depend on those inner subpages. I won't make your PR a draft, 'cause it is small and easier to review now than to wait, but next time, please, be aware of it
pavlosambur commentedon Mar 27, 2025
can I take
useStatepage?alinkedd commentedon Mar 28, 2025
@pavlosambur sure
Dmytrii248 commentedon May 5, 2025
Hi! I would like to translate
Preserving and Resetting Statedimal-dev commentedon Jun 17, 2025
@alinkedd I'm sorry, I won't be able to finish the "Extracting State Logic into a Reducer" topic. Could you please unassign me so that others could pick it up?
Stanislav-prog commentedon Oct 3, 2025
Hi, I would like to translate
Updating Objects in Statetopicdolgachio commentedon Oct 12, 2025
Hi, I would like to take
Extracting State Logic into a ReducerGrenvals commentedon Oct 14, 2025
Hi! I would like to translate "Activity"
Andrii256 commentedon Oct 17, 2025
Hi!
I would like to translate
useEffectEventanduseEffectLeoMorgan113 commentedon Oct 17, 2025
Hi!
I would like to transtate
useIdpagemokhovyk commentedon Oct 18, 2025
Hi there! I would like to translate
useCallbackDone in #634
mokhovyk commentedon Oct 23, 2025
Hi there! I would like to translate
useActionStatetysiachnyi commentedon Oct 26, 2025
Hey! I would like to translate useDebugValue
TanuhaUA commentedon Oct 29, 2025
Hi! I would like to translate
useOptimisticpage.riddman commentedon Aug 21, 2026
Hello! I would like to translate
Synchronizing with Effectspage