Repository navigation
New Vietnamese Translation Progress #345
Description
Maintainers
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. 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 to understand how to translate various technical and React-specific terms.
You can use the Crowdin as a base for your translation. Make sure to compare the content with the current React website to make sure everything is up to date! (NOTE: delete this if the language doesn't have any Crowdin contributions)
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:
* [x] Some Page (@somebody) #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 (@ltmylinh) Translate quick start page #415
- Tutorial: Tic Tac Toe (@huongpx) WIP: starting translate #346
- Thinking in React (@NghiaDangTran) Translate: Thinking in React #362
-
Installation (@ninh-nd) Add translation to Installation index page #347
- Start a New React Project (@ltmylinh) Translate Start a new React Project page #416
- Add React to an Existing Project (@leduc1901) Translation: Add React to an existing project #349
- Editor Setup (@leduc1901) Translation: Editor Setup #350
- React Developer Tools (@leduc1901) Translation: React Developer Tools #351
-
Describing the UI (@KotonoSora) feat(i18n): translate src/content/learn/describing-the-ui.md from English to Vietnamese #475
- Your First Component (@ninh-nd) Translation: Your First Component #354
- Importing and Exporting Components (@chriskhoa) translating import and export components #460
- Writing Markup with JSX (@bboy114crew) Translation: Writing Markup with JSX #392
- JavaScript in JSX with Curly Braces (@ltmylinh) Translate the javascript in jsx with curly braces page #467
- Passing Props to a Component (@ltmylinh) Translate passing props in to a component page #493
- Conditional Rendering (@kienngo98) Translation for Conditional Rendering #348
- Rendering Lists
- Keeping Components Pure
-
Adding Interactivity (@KotonoSora) feat(i18n): translate src/content/learn/adding-interactivity.md from English to Vietnamese #471
- Responding to Events (@phuc1nguyen) Translation: Responding to Events #359
- State: A Component's Memory (@KotonoSora) feat(i18n): translate src/content/learn/state-a-components-memory.md from English to Vietnamese #472
- Render and Commit (@hminh2027) Translation: Render and Commit #358
- State as a Snapshot (@ThangHuuVu) feat: translate "State as a snapshot" #360
- Queueing a Series of State Updates (@KotonoSora) feat(i18n): translate src/content/learn/queueing-a-series-of-state-up dates.md from English to Vietnamese #474
- Updating Objects in State (@chrisvn188) Translation: Updating Objects in State #419
- Updating Arrays in State (@chrisvn188) Translation: Updating Arrays in State #421
-
Managing State (@KotonoSora) feat(i18n): translate src/content/learn/managing-state.md from English to Vietnamese #476
- Reacting to Input with State (@ltmylinh)
- Choosing the State Structure (@thangved) Translation: Choosing the State Structure #436
- 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 -
useContext -
useDebugValue(@viettrung9012) Translation: useDebugValue #364 -
useDeferredValue -
useEffect -
useId -
useImperativeHandle -
useInsertionEffect -
useLayoutEffect -
useMemo -
useReducer -
useRef -
useState -
useSyncExternalStore(@hoangtrung99) Translate useSyncExternalStore #413 -
useTransition
-
-
react: Components-
<Fragment> (<>)(@leduc1901) Translation: Fragment #352 -
<Profiler>(@leduc1901) Translation: Profiler #355 -
<StrictMode> -
<Suspense>
-
-
react: APIs-
createContext -
forwardRef -
lazy(@leduc1901) Translation: Lazy #361 -
memo -
startTransition
-
-
react-dom: Components- Common (e.g.
<div>) -
<input> -
<option> -
<progress> -
<select> -
<textarea>
- Common (e.g.
-
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
Quynh-Nguyen commentedon Apr 25, 2023
Hi all, I will pick
useCallbackhook pagehttps://vi.react.dev/reference/react/useCallback
huongphamx commentedon Apr 25, 2023
Hi all, I will translate
Tutorial: Tic-Tac-Toepagehttps://vi.react.dev/learn/tutorial-tic-tac-toe
I've added a draft PR: #346
ninh-nd commentedon Apr 25, 2023
Hi all, I will pick the
Installationindex pagehttps://react.dev/learn/installation
NghiaDangTran commentedon Apr 25, 2023
Hi guys, I will pick the
Thinking in Reactpagehttps://vi.react.dev/learn/thinking-in-react
gaearon commentedon Apr 25, 2023
@nampdn @ltmylinh @cuongtran8 @Ryan-LT
Can you please confirm whether you'd be able to steer and maintain this translation? We'd like to get https://github.com/reactjs/translations.react.dev/blob/main/langs/vi.json updated to list active maintainers. Thank you!
ltmylinh commentedon Apr 25, 2023
Hi @gaearon, yes I will be able to do it.
Ryan-LT commentedon Apr 26, 2023
@gaearon I can help with that.
bboy114crew commentedon Apr 26, 2023
Hi guys, I will pick the
Writing Markup with JSXpage.https://react.dev/learn/writing-markup-with-jsx
ltmylinh commentedon Apr 26, 2023
Hi @gaearon , There are some texts that are being rendered in English from the React components.
So
Should we translate these texts in the component itself - I mean we modify these texts in components directly?orShould we leave it as English on our website?orShould we modify these components so we can pass these texts as props?Do you have any thoughts on this? Thanks.
viettrung9012 commentedon Apr 26, 2023
Hi all, I would like to pick the
useDebugValuepageThangHuuVu commentedon Apr 26, 2023
Hi all, I would like to pick the State as a Snapshot page
gaearon commentedon Apr 26, 2023
@ltmylinh
I think it's up to individual translations to decide. I'm not sure. I could see it going either way — I suggest to decide this with other translation maintainers.
9 remaining items
leduc1901 commentedon May 5, 2023
Hi, I will translate the
StrictModepage: https://vi.react.dev/reference/react/StrictModeThanks
NghiaDangTran commentedon May 8, 2023
Hi guys i will translate the Reacting to Input with State page
hminh2027 commentedon May 10, 2023
Hi all, I would like to pick the
Rendering Listspage.https://react.dev/learn/rendering-lists
phuc1nguyen commentedon May 20, 2023
Hi, I'm translating
State: A Component's Memorypage next.https://react.dev/learn/state-a-components-memory
ductbuix commentedon Nov 21, 2023
Hi there, I'd like to take the
useEffectapi reference, or anything that I can help with, Code Review maybe. cc @gaearonhoangtrung99 commentedon Apr 3, 2024
Hi all, I would like to translate
useSyncExternalStorepage.anhthien-bic commentedon Apr 22, 2024
Hi there, I'd like to take the
react-dom/server, cc @gaearonchrisvn188 commentedon May 6, 2024
Hi there, I would like to translate the
learn/updating-objects-in-statepage if it's available. Thank you!chrisvn188 commentedon May 7, 2024
Hi there, I would like to translate the
learn/updating-arrays-in-statepage. Thank you!hungcung2409 commentedon Jul 30, 2024
Hi there, I'd like to translate
react-dom/flushSyncpage. Thanks allthangved commentedon Sep 11, 2024
Hi all, I will pick
Choosing the State Structurepage. Thank all.josie9803 commentedon Oct 29, 2024
Hello, I would like to translate page
Sharing State Between Componentshttps://react.dev/learn/sharing-state-between-componentsPlease let me know if I can start translating process
KotonoSora commentedon Jun 4, 2025
Hi guys, I have translated some of the files below. Kindly review and evaluate them. Thank you!
KotonoSora commentedon Jun 21, 2025
Hey everyone!
I’ve just finished translating the rest of the Learn React section today (June 21, 2025). I’d love to hear any thoughts or suggestions to make it better. I might come back to continue translating after July 15, so don’t hesitate to drop a comment—I’ll check in when I can!
thangved commentedon Jan 1, 2026
Hi all, I will pick the
useIdpage to translate. Thank you all.