uk.react.dev icon indicating copy to clipboard operation
uk.react.dev copied to clipboard

New Ukrainian Translation Progress

Open gaearon opened this issue 2 years ago • 103 comments

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:

  1. 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!
  2. Comment below with the name of the page you would like to translate.
  3. 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

  • [x] Quick Start (@stanislavcodes) #466

    • [ ] Tutorial: Tic Tac Toe (partially @BlindKai, help is needed to finish) #532
    • [ ] Thinking in React
  • [x] Installation (@alinkedd) #500

    • ~~Start a New React Project (@undead404) #547~~
    • [x] Creating a React App (mainly a copy from Start a New React Project; @alinkedd) #591
    • ~~Building a React Framework (@alinkedd) #591~~
    • [x] Build a React app from Scratch (partially a copy from Building a React Framework; @alinkedd) #593
    • [x] Add React to an Existing Project (@bwv847) #459
  • [x] Setup (@alinkedd) #591

    • [x] Editor Setup (@undead404) #548
    • [x] Using TypeScript (@alinkedd) #507
    • [x] React Developer Tools (@alinkedd) #498
  • [ ] React Compiler - DO NOT TRANSLATE UNTIL SUBPAGES ARE TRANSLATED!

    • [ ] Introduction
    • [ ] Installation
    • [ ] Incremental Adoption
    • [ ] Debugging and Troubleshooting
  • [x] Describing the UI (@alinkedd) #513

    • [x] Your First Component (@litovskii-s) #458
    • [x] Importing and Exporting Components (@vadym-oliinyk) #464
    • [x] Writing Markup with JSX (@ltlaitoff) #485
    • [x] JavaScript in JSX with Curly Braces (@ltlaitoff) #487
    • [x] Passing Props to a Component (@ltlaitoff) #495
    • [x] Conditional Rendering (@ltlaitoff) #497
    • [x] Rendering Lists (@alinkedd) #511
    • [ ] Keeping Components Pure
    • [x] Your UI as a Tree (@alinkedd) #512
  • [x] Adding Interactivity (@MinichMykyta) ~#539~ #595

    • [x] Responding to Events (@alinkedd) #515
    • [x] State: A Component's Memory (@alinkedd) ~#535~ #593
    • [x] Render and Commit (@kpripper) #534
    • [x] State as a Snapshot (@undead404) #549
    • [x] Queueing a Series of State Updates (@undead404) #552
    • [ ] Updating Objects in State (@Stanislav-prog) #631
    • [x] Updating Arrays in State (@astropsy999) #553
  • [ ] Managing State (@tpostolyuk) #588 - waiting for subpages to be translated

    • [x] Reacting to Input with State (@undead404) ~~#555~~ #581
    • [ ] Choosing the State Structure (@undead404) ~~#557~~ #582
    • [x] Sharing State Between Components (@Dmytrii248) #594
    • [ ] Preserving and Resetting State (@Dmytrii248) #627
    • [ ] Extracting State Logic into a Reducer (@dolgachio)
    • [ ] Passing Data Deeply with Context
    • [x] Scaling Up with Reducer and Context (@astropsy999) #561
  • [ ] 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@19 Overview

  • [x] react@19: Hooks (@pavlosambur) #598

    • [ ] useActionState (useFormState) (@mokhovyk)
    • [ ] useCallback (@mokhovyk) #634
    • [x] useContext (@astropsy999) #560
    • [ ] useDebugValue (@tysiachnyi) #635
    • [ ] useDeferredValue
    • [ ] useEffect (@Andrii256) #641
    • [ ] useEffectEvent (@Andrii256) #642
    • [x] useId (@LeoMorgan113) #633
    • [x] useImperativeHandle (@MaksymMohyla) #592
    • [ ] useInsertionEffect
    • [ ] useLayoutEffect
    • [ ] useMemo
    • [x] useOptimistic (@TanuhaUA) #637
    • [ ] useReducer
    • [ ] useRef
    • [ ] useState (@pavlosambur) #601
    • [ ] useSyncExternalStore
    • [ ] useTransition
  • [ ] react@19: Components

    • [ ] <Fragment> (<>) (needs additional translations!) (@syavik2001) (#460)
    • [x] <Profiler> (@GeorgeShvab) (#564)
    • [ ] <StrictMode>
    • [ ] <Suspense> (@GeorgeShvab) #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>
  • [ ] react-dom@19: APIs

    • [x] createPortal (@GeorgeShvab) (#468)
    • [ ] flushSync
    • ~~findDOMNode~~
    • ~~hydrate (@GeorgeShvab) (#503)~~
    • [ ] preconnect
    • [ ] prefetchDNS
    • [ ] preinit
    • [ ] preinitModule
    • [ ] preload
    • [ ] preloadModule
    • ~~render~~
    • ~~unmountComponentAtNode~~
  • [ ] react-dom@19/client: Client APIs

    • [ ] createRoot
    • [ ] hydrateRoot
  • [ ] react-dom@19/server: Server APIs

    • ~~renderToNodeStream~~
    • [ ] 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.

  • [x] Homepage (currently in HomeContent.js) (@alinkedd) #596, #602
  • [ ] Sidebars (currently in src/sidebar*.json) (@undead404) #551 + every next article should be shipped with its title changed in the sidebar and/or footer; #596 - in progress
  • [x] Top-level navigation (currently in TopNav.tsx) (@alinkedd) #596
  • [x] Other UI ~~#562~~ (@alinkedd) #596 #609 #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
    • [x] forwardRef (@GeorgeShvab) (#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:

  • [x] Versions (@alinkedd) #610
  • [ ] Community
    • ...
    • [x] Translations (@alinkedd) #597
  • [x] Blog (intro) (@alinkedd) #610
    • articles
  • [x] Banner (@alinkedd) #607
  • [ ] Warnings

gaearon avatar Apr 25 '23 04:04 gaearon

Hi, I would like to translate useLayoutEffect

eugenetree avatar Apr 25 '23 06:04 eugenetree

Hi! I would like to translate Reusing Logic with Custom Hooks

PavelVyny avatar Apr 25 '23 08:04 PavelVyny

Hi, there. I would like to translate Start a New React Project

sergii-zhuravel avatar Apr 25 '23 10:04 sergii-zhuravel

Hi! I would like to translate Your First Component


Done in #458

litovskii-s avatar Apr 25 '23 10:04 litovskii-s

I would like to translate Tutorial: Tic Tac Toe

dolynchuk avatar Apr 25 '23 10:04 dolynchuk

I'd like to take Thinking in React

gymnasy55 avatar Apr 25 '23 11:04 gymnasy55

Hi! I would like to translate react: Components: Fragment (<>)


Done in #460

syavik2001 avatar Apr 25 '23 13:04 syavik2001

@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!

gaearon avatar Apr 25 '23 15:04 gaearon

Hi, I'd like to take Keeping Components Pure

EngiN33R avatar Apr 25 '23 21:04 EngiN33R

Hi there. I would like to translate createPortal page


Done in #468

heshvab avatar Apr 26 '23 16:04 heshvab

Hi, I'd like to translate Add React to an Existing Project


Done in #459

bwv847 avatar Apr 26 '23 20:04 bwv847

Hi, I'd like to translate react: APIs: lazy

tesla-oss avatar Apr 27 '23 12:04 tesla-oss

Hey! I'd like to translate Quick Start and Tutorial: Tic Tac Toe


#466

stanislavcodes avatar Apr 29 '23 05:04 stanislavcodes

@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!

gaearon avatar May 03 '23 16:05 gaearon

I'll start translating Editor Setup page

Kamilius avatar May 04 '23 12:05 Kamilius

Hi, I'll start translating Importing and Exporting Components page.


It's done in https://github.com/reactjs/uk.react.dev/pull/464

vadym-oliinyk avatar May 11 '23 16:05 vadym-oliinyk

Hi folks,

While I appreciate everyone’s requests to take a piece of the translation, the main issue right now is that it doesn’t appear that anyone on the original maintainer team is able to steer this translation effort.

Would anyone like to volunteer to do that?

gaearon avatar May 16 '23 19:05 gaearon

Hi folks,

While I appreciate everyone’s requests to take a piece of the translation, the main issue right now is that it doesn’t appear that anyone on the original maintainer team is able to steer this translation effort.

Would anyone like to volunteer to do that?

Well, then I'd like to try

bkatsevych avatar May 17 '23 18:05 bkatsevych

@bkatsevych Do you have some experience doing translations? We'd like to ideally either have maintainers who've done translations before, or to have more than one maintainer per translation.

gaearon avatar May 18 '23 13:05 gaearon

@gaearon No, unfortunately I don't. But I'm willing to do my best

bkatsevych avatar May 18 '23 14:05 bkatsevych

Alright, let's give it a try. I've added you to the repo. Thanks!

gaearon avatar May 18 '23 15:05 gaearon

Hi, I would like to translate useLayoutEffect

@eugenetree, go for it!

bkatsevych avatar May 19 '23 13:05 bkatsevych

Hi! I would like to translate Reusing Logic with Custom Hooks

@PavelVyny go for it!

bkatsevych avatar May 19 '23 13:05 bkatsevych

Hi, there. I would like to translate Start a New React Project

@sergii-zhuravel it's yours, go for it!

bkatsevych avatar May 19 '23 13:05 bkatsevych

I would like to translate Tutorial: Tic Tac Toe

@dolynchuk Sounds good, go for it!

bkatsevych avatar May 19 '23 13:05 bkatsevych

I'd like to take Thinking in React

@gymnasy55 Go for it!

bkatsevych avatar May 19 '23 13:05 bkatsevych

@bkatsevych Please also edit the post to include who's working on what.

gaearon avatar May 19 '23 13:05 gaearon

I think it would be a good idea to come up with a solid naming convention for PRs. My version is something like "Finished translation of %page_name_in_quotes% page". Any suggestions are highly welcome

bkatsevych avatar May 19 '23 14:05 bkatsevych

Hi, I'd like to take Keeping Components Pure

@EngiN33R Go for it!

bkatsevych avatar May 19 '23 14:05 bkatsevych

Hi there. I would like to translate createPortal page

@GeorgeShvab go for it!

bkatsevych avatar May 19 '23 14:05 bkatsevych