For New Translators
To translate a page:
- Check that no one else has claimed your page in the linked issues below.
- Comment on the linked issue that you would like to translate said page. 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 translation guidelines 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
Make sure to link to the exact page being translated on the first comment of the issue. Ex:
Page: https://id.react.dev/learn
When PRs are created, make sure that it's linked to the correct issue! This will make sure the issue is closed automatically when the PR is merged.
This ensures your translation's progress is tracked correctly at https://translations.react.dev/.
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 (High Priority)
API Reference (High Priority)
Navigation and UI (Medium Priority)
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.
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 (Medium Priority)
These API pages should ideally be translated too, but they're less urgent and can be done after the others:
Optional Content (Low Priority)
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:
Maintainers
This translation is maintained by:
If you want to become a maintainer, ask them to add you. If the original maintainers are no longer responsive, raise an issue in the main translations repository.
For New Translators
To translate a page:
Before contributing, read the glossary and translation guidelines 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
Make sure to link to the exact page being translated on the first comment of the issue. Ex:
When PRs are created, make sure that it's linked to the correct issue! This will make sure the issue is closed automatically when the PR is merged.
This ensures your translation's progress is tracked correctly at https://translations.react.dev/.
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 (High Priority)
Quick Start #372
Installation #375
Describing the UI #464
Adding Interactivity #452
Managing State #378
Escape Hatches #386
API Reference (High Priority)
react: Hooks #397
useCallback#398useContext#463useDebugValue#399useDeferredValue#400useEffect#401useId#402useImperativeHandle#403useInsertionEffect#404useLayoutEffect#405useMemo#406useReducer#407useRef#408useState#409useSyncExternalStore#410useTransition#411react: Components #412
<Fragment> (<>)#413<Profiler>#414<StrictMode>#415<Suspense>#416react: APIs #468
createContext#469forwardRef#470lazy#471memo#418startTransition#420react-dom: Components #421
<div>) #422<input>#423<option>#424<progress>#426<select>#427<textarea>#433react-dom: APIs #434
createPortal#436flushSync#438findDOMNode#439hydrate#440render#441unmountComponentAtNode#443react-dom/client: Client APIs #453
createRoot#454hydrateRoot#455react-dom/server: Server APIs #456
renderToNodeStream#457renderToPipeableStream#458renderToReadableStream#459renderToStaticMarkup#460renderToStaticNodeStream#461renderToString#462Navigation and UI (Medium Priority)
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.
HomeContent.js) #579src/sidebar*.json) #583TopNav.tsx) #584When You're Ready...
After everything above is translated, add your language to
deployedLanguagesinSeo.tsxof the original reactjs/react.dev repository.Secondary Content (Medium Priority)
These API pages should ideally be translated too, but they're less urgent and can be done after the others:
Children#546cloneElement#547Component#548createElement#549createFactory#550createRef#551isValidElement#552PureComponent#553Optional Content (Low Priority)
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:
Maintainers
This translation is maintained by:
If you want to become a maintainer, ask them to add you. If the original maintainers are no longer responsive, raise an issue in the main translations repository.