Skip to content

New React Docs Translation Progress #280

Open

Description

@galnir

Maintainer List

For New Translators

To translate a page:

  1. Check that no one else has claimed your page in the checklist and comments below.
  2. Comment below with the name of the page you would like to translate. Please take only one page at a time.
  3. 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:

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

    • Tutorial: Tic Tac Toe
    • Thinking in React
  • Installation

  • Describing the UI

    • Your First Component
    • Importing and Exporting Components
    • Writing Markup with JSX
    • JavaScript in JSX with Curly Braces
    • Passing Props to a Component
    • Conditional Rendering
    • Rendering Lists
    • Keeping Components Pure
  • Adding Interactivity

    • Responding to Events
    • State: A Component's Memory
    • Render and Commit
    • State as a Snapshot
    • Queueing a Series of State Updates
    • Updating Objects in State
    • Updating Arrays in State
  • Managing State

    • Reacting to Input with State
    • Choosing the State Structure
    • 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

  • react: Hooks

    • useCallback (@lidoravitan)
    • useContext (@AvielBitton)
    • useDebugValue
    • useDeferredValue
    • useEffect
    • useId
    • useImperativeHandle
    • useInsertionEffect
    • useLayoutEffect
    • useMemo
    • useReducer
    • useRef
    • useState
    • useSyncExternalStore
    • useTransition
  • react: Components

    • <Fragment> (<>)
    • <Profiler>
    • <StrictMode>
    • <Suspense>
  • react: APIs

    • createContext
    • forwardRef
    • lazy
    • memo
    • startTransition
  • react-dom: Components

    • Common (e.g. <div>)
    • <input>
    • <option>
    • <progress>
    • <select>
    • <textarea>
  • react-dom: APIs

    • createPortal
    • flushSync
    • findDOMNode
    • hydrate
    • render
    • unmountComponentAtNode
  • react-dom/client: Client APIs

    • createRoot
    • 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

  1. navesadeh commented on Sep 27, 2022

    @navesadeh

    I can translate ״Escape Hatches״

  2. galnir commented on Sep 27, 2022

    @galnir
    ContributorAuthor

    I can translate ״Escape Hatches״

    edit: actually the first 2 pages are okay, would you like to translate "Referencing Values with Refs" or "Manipulating the DOM with Refs" at this time?

  3. navesadeh commented on Sep 27, 2022

    @navesadeh
  4. galnir commented on Sep 27, 2022

    @galnir
    ContributorAuthor

    I have no problem translating something else as well, whatever is needed

    Okay so I'm assigning "Your First Component" to you. This is the page, and this is the file

  5. hannanel100 commented on Sep 28, 2022

    @hannanel100
    Contributor

    i can help with translation, you can assign me to whatever is needed...

  6. galnir commented on Sep 28, 2022

    @galnir
    ContributorAuthor

    i can help with translation, you can assign me to whatever is needed...

    Awesome, I'm assigning "Importing and Exporting Components" to you.
    page
    file

  7. AlonKz1 commented on Sep 30, 2022

    @AlonKz1

    I can help with translation,
    Assign me to whatever is needed .

  8. galnir commented on Sep 30, 2022

    @galnir
    ContributorAuthor

    I can help with translation,
    Assign me to whatever is needed .

    Thanks! "Writing Markup with JSX" is yours
    page
    file

  9. LeviEyal commented on Oct 6, 2022

    @LeviEyal

    I can translate:
    "Reusing Logic with Custom Hooks"
    And other pages if needed.

  10. galnir commented on Oct 6, 2022

    @galnir
    ContributorAuthor

    @LeviEyal Can you first translate "JavaScript in JSX with Curly Braces"?

    page
    file

  11. AlonKz1 commented on Oct 11, 2022

    @AlonKz1
  12. galnir commented on Oct 11, 2022

    @galnir
    ContributorAuthor

    היי ניר, אני פעם ראשונה תורם קודם ואשמח לעזרה. עשיתי FORK לפרויקט וניסיתי להבין לאן אני מתרגם את הדף שביקשתם ולא הבנתי לאן. אשמח לכיוון\עזרה בנושא. תודה מראש ניר וערב נהדר! ‫בתאריך יום ו׳, 30 בספט׳ 2022 ב-13:22 מאת ‪Nir‬‏ @.*** ‬‏>:‬
    …

    Fork the project, then you have 2 options:

    1. Open the fork repo on your browser, create a new branch for your contribution, go to the file of the page you want to translate, hit 'edit' on the top right bar. Now you can translate on the web browser. You can also open a word document and translate there, then copy to the browser.
    2. Clone the repo to your PC, create a new branch using Git on your terminal and then translate the file in your code editor

    אם עדיין לא מובן תעדכן אותי

  13. AlonKz1 commented on Oct 11, 2022

    @AlonKz1
  14. gaearon commented on Apr 24, 2023

    @gaearon
    Member

    Hi folks,

    Just a heads-up that we've done our best to bring main and legacy branches up-to-date with upstream. This brings you to the latest visual design and sets up all the redirects. We don't anticipate more changes necessary on legacy. For main, there's a few things you need to be aware of:

    • Keep in mind translating UI is best done closer to the end. We plan to make non-trivial code changes to the repo over the next few months. So it's best to focus on the content rather than on UI components.
    • The homepage is untranslated so ideally it would be good if you could do a pass at that. For now, unfortunately it requires messing with the code file.
    • A few rewritten pages (from Installation) are currently untranslated.

    Thank you so much for your cooperation!

  15. changed the title [-]Beta React Docs Translation Progress[/-] [+]New React Docs Translation Progress[/+] on Apr 25, 2023
  16. 9 remaining items

  17. lidoravitan commented on May 17, 2023

    @lidoravitan

    @gaearon Who is responsible for managing this project? We are eager to drive its progress. Additionally, Hebrew is an RTL language, so we are curious if there is RTL support available in other projects (i.e Arabic, Hebrew, Persian, Urdu, Kashmiri, Pashto, Uighur, Sorani Kurdish, Punjabi, and Sindhi)

  18. Yaronglp commented on May 17, 2023

    @Yaronglp

    Do we support dir="rtl" attribute to make the documentation readable?

  19. galnir commented on May 17, 2023

    @galnir
    ContributorAuthor

    I'm still here just didn't have the time to review your PRs. I'll see if I can find how we supported RTL in the old version of the docs

  20. galtalmor commented on May 18, 2023

    @galtalmor
    Collaborator

    It is mentioned in the thread description that there's still work being done in the main project on the UI and the recommendation was We suggest to leave most of the UI translation until the end.. To me this means we should focus on translating first and only once most content is translated start focusing on the UI and RTL improvements.

  21. Sa-ar commented on May 22, 2023

    @Sa-ar

    Hi, I would like to help with the translation.
    You can assign me to whatever is needed.

  22. galtalmor commented on May 23, 2023

    @galtalmor
    Collaborator

    @Sa-ar please choose any of the unassigned pages (ones that do not have a user name in parenthesis next to them), go ahead and start translating and submit an MR once ready. Thanks!

  23. Yaronglp commented on Jul 24, 2023

    @Yaronglp

    Hi @galtalmor,

    Would it be possible to take off my name from the useLayoutEffect section? The repository appears to be relatively inactive (I'm waiting with PR for almost 4 months ).
    Thank you for your understanding :)

  24. YehudaMenahem commented on Dec 14, 2023

    @YehudaMenahem

    Hi,
    @galtalmor
    @itayyehezkel
    @galnir

    Is it still relevant to offer a translation?
    I can see that a lot of the pages are still available
    but no activity for a long time.

  25. MiryamMann commented on Apr 30, 2025

    @MiryamMann

    I'll be happy to help.
    Is it still relevant?

  26. galtalmor commented on Apr 30, 2025

    @galtalmor
    Collaborator

    Well, the problem is that we did not have enough resources to keep up to date with the developments in the main repo.
    So I'd say it's still relevant, but there's a lot of catching up to do, and if we don't have the manpower, we'd probably be stuck in the same situation.

  27. Zevis-ai commented on May 23, 2025

    @Zevis-ai

    Hi!

    @galtalmor

    I’d be happy to join the translation effort.
    Is it okay to start translating one of the available pages ?
    I’d also be glad to invite some friends who can help too, I think this project is very important and I’d love to see it completed soon.
    Please let me know how I can contribute and if there are any guidelines I should follow.

    Thanks in advance!

  28. MiryamMann commented on May 23, 2025

    @MiryamMann
  29. galtalmor commented on May 23, 2025

    @galtalmor
    Collaborator

    @Zevis-ai sure, please feel free to go ahead and start translating any of the available pages.

    Make sure you use the latest version from the English site.

    Thanks!

  30. Zevis-ai commented on May 25, 2025

    @Zevis-ai

    Thank you so much, @galtalmor !

    I want to start by translating the “Installation” page as a small test to get started.

    @MiryamMann I’ll first see how the translation goes for me, and if all goes well, I’d be happy to collaborate and work together!

  31. MiryamMann commented on May 25, 2025

    @MiryamMann
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions