Skip to content

Korean Translation Progress #1

Description

@tesseralis

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:

- [ ] Some Page (@exampleusername) #12345

When PRs are merged, make sure to mark that page as completed like this:

- [x] Some Page (@exampleusername) #12345

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

  • Quick Start

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

    • Start a New React Project
    • Add React to an Existing Project
    • Editor Setup
    • React Developer Tools
  • 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
    • useContext
    • 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

Maintainer List

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.


Click here to see reactjs.org legacy progress

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. Take only one page at a time.
  3. Check out prior works in Prior works #4 before you get started.
  4. Clone this repo, translate your page using with this checker, and submit a pull request!

Before contributing, read the glossary and this wiki page 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 any more, let the maintainers know so they can assign the page to someone else.

Please join in React Korea Slack #translation channel if you are interested in the translation.

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!

Core Pages

To do before releasing as an "official" translation. Please translate these pages first.

Basics

API Reference

Navigation

These are the navigation links that appears in the sidebar. Possibly wait until
the corresponding sections are translated to do these.

Next Steps

These are the next most important translations, ordered by importance:

Installation

Hooks

Everyone is hooked on hooks! People are really excited for these and it would be great for them to be translated.

Warnings

These are the pages that you get when you click the links in the console (e.g. https://reactjs.org/warnings/dont-call-proptypes.html). People tend to search these, so please don't translate the error message itself.

Advanced Guides

FAQ

Contributing

Priority: Low

Components

Components in src/components that have some text in them.

Additional Translations

These are not the primary translation targets.

  • Blog
  • Community

Translations added after this issue creation

Testing

Concurrent Mode (Experimental)

Activity

  1. taehwanno commented on Feb 8, 2019

    @taehwanno
    Contributor

    @tesseralis Hi. Thanks for kind explanation.
    Can you change the glossary link in issue description to this reactjs.org link?
    This link may change if a style guide for Korean translation is created.

  2. taehwanno commented on Feb 8, 2019

    @taehwanno
    Contributor

    For new translators 🏃, Please first check out #4

  3. tesseralis commented on Feb 8, 2019

    @tesseralis
    ContributorAuthor

    @taehwanno you should be able to edit the issue directly! Just click the ellipsis > "Edit"

  4. taehwanno commented on Feb 8, 2019

    @taehwanno
    Contributor

    @tesseralis I tried, but I do not seem to have the authority :)

    image

  5. tesseralis commented on Feb 8, 2019

    @tesseralis
    ContributorAuthor

    Ah! Sorry, I thought you were already one of the maintainers. I can add you to the list! You've done a lot of good work already finding all those resources!

  6. taehwanno commented on Feb 8, 2019

    @taehwanno
    Contributor

    @tesseralis Sweet, Thanks.

  7. seungha-kim commented on Feb 8, 2019

    @seungha-kim

    @tesseralis I am a contributor of React Crowdin project, but there is no progression for a long time at all. Is really able to work in crowdin project? And what's your plan for merging PRs & Crowdin translations?

  8. tesseralis commented on Feb 8, 2019

    @tesseralis
    ContributorAuthor

    Hi @seungha-kim .

    Please see the original issue here: reactjs/react.dev#1605

    Long story short, we decided that doing the translations directly on Github was the better approach since:

    • Developers are more likely to understand git version control
    • People are interested in contributing to the React repo

    As for integrating Crowdin, we're encouraging people to use the Crowdin translations as a base. So you can just copy-paste your work from Crowdin, verify that it's up to date, and submit a pull request!

  9. seungha-kim commented on Feb 8, 2019

    @seungha-kim

    I think there is no motivation to use Crowdin then :( I am likely to do job once using Git, rather than twice.

  10. chatoo2412 commented on Feb 8, 2019

    @chatoo2412
    Contributor

    I have a translation of Hooks at a Glance page. I will polish and submit PR.

    PR submitted: #6

  11. tesseralis commented on Feb 8, 2019

    @tesseralis
    ContributorAuthor

    @chatoo2412 thank you for you PR! In the future, please let us know in a comment here when you're working on a page, so that we don't duplicate work with others. Also, we'd like to focus on the sections listed under "Core Pages"!

  12. pinned this issue on Feb 9, 2019
  13. chatoo2412 commented on Feb 9, 2019

    @chatoo2412
    Contributor

    @tesseralis I wanted to contribute using my prior work.

    I'll continue with Home Page refer to the prior works.
    PR submitted: #8

  14. 256 remaining items

  15. hapumee commented on Nov 17, 2021

    @hapumee
    Contributor

    https://ko.reactjs.org/docs/legacy-context.html

    혹시 이 페이지는 새로 추가된 페이지일까요.?
    번역이 진행되고 있는 페이지일까요.?

  16. taggon commented on Nov 24, 2021

    @taggon
    Collaborator

    @hapumee 작업 목록에서 빠진 문서인 듯 해서 별도 이슈( #370 )로 생성했습니다. cc @reactjs/reactjs-org-korean-translation

  17. unpinned this issue on Dec 1, 2021
  18. taehwanno commented on Dec 6, 2021

    @taehwanno
    Contributor

    안녕하세요, 이슈에 참여 중인 분들께 알려드립니다.
    React의 공식 문서가 새롭게 beta로 공개되었고 아직 완성되진 않았지만, 번역을 시작할 수 있는 단계로 공유받아서 시작해보려 합니다.
    각 페이지별로 번역 작업 추적을 위해 #374 이슈를 만들어뒀으며 코멘트로 작업을 원하시는 페이지를 코멘트로 요청해주시면 감사하겠습니다 🚀

  19. gnujoow commented on Dec 12, 2021

    @gnujoow
    Member

    close due to #374

  20. added a commit that references this issue on Jan 14, 2022
  21. added a commit that references this issue on Apr 19, 2023
  22. hcooch2ch3 commented on Sep 24, 2024

    @hcooch2ch3
    Contributor

    @gnujoow @taggon @b9words

    https://translations.react.dev/ 에 한국어 진행상황만 누락되어있는데, 이 이슈가 닫혀서 그런것 같습니다. Reopen 요청드립니다.

    Once the PR is accepted, a member of the React team will run a script which will:

    • Create a new repository for you at reactjs/{lang-code}.react.dev
    • Add/invite all maintainers you provided in the PR comment as administrators of the new repo
    • Create an issue from PROGRESS.template.md in the new repository to track your translation progress

    출처: https://github.com/reactjs/translations.react.dev

    async function getProgressList(langs) {
      const { search } = await graphql(
        `
          query($limit: Int!) {
            search(
              type: ISSUE
              query: "org:reactjs Translation Progress in:title is:open"
              first: $limit
            ) {`
    ... 이하 생략
    

    위 내용은 translations.react.dev의 번역 진행사항을 가져오는 코드 중 일부인데 getProgressList 메서드 내에서 graphql API를 이용하여 깃헙의 ISSUE 내에 Translation Progress이라는 제목을 가지면서 open 상태인 데이터를 가져오게 합니다. 즉, 이 이슈가 closed 상태라 해당 페이지에서 데이터를 가져오지 못하여 나타나지 않는것 같습니다. 이 Issue를 Reopen하면 다시 정상적으로 나타날것 같습니다.

    출처: https://github.com/reactjs/translations.react.dev/blob/4e85e8dcc1069e8b5d58e1c0db21104471e54b96/website/src/LangList.js#L4

  23. lumirlumir commented on Sep 24, 2024

    @lumirlumir
    Collaborator

    오오 저도 translations.react.dev 이슈 확인하면서 korea 번역본만 나타나지 않는게 의아했는데 이런 문제였군요

    바로 오픈하도록 하겠습니다. 좋은 지적 감사합니다🙇‍♂️ @hcooch2ch3

    github workflow 내용 확인하니 하루에 한번씩 동기화 작업이 진행되는 것 같은데,
    내일쯤 확인해보시면 반영되어 있을 것 같습니다. 만약 안되어 있으면 다시 한번 말씀해주세요..!


    translations.react.dev 번역 진행 사항 이슈로 현재 이슈 다시 오픈하도록 하겠습니다.

  24. pinned this issue on Sep 24, 2024
  25. hcooch2ch3 commented on Sep 24, 2024

    @hcooch2ch3
    Contributor

    @lumirlumir
    의견 반영해주셔서 감사드립니다. 페이지에 한국어가 정상적으로 나타났습니다. 다만 진행 퍼센티지 계산이 아직 작동하지 않는 것 같습니다.

    image

    원인을 찾아보니, 이 이슈의 체크리스트는 예전 버전 체크리스트라 translations.react.dev에 정상적으로 퍼센테이지가 반영되지 않는것 같습니다.

    다음 링크 (https://github.com/reactjs/translations.react.dev/blob/main/PROGRESS.template.md)의 마크다운 파일로 새로 수정하거나, 임의로 <!-- MAIN_CONTENT --> 라는 주석과 <!-- SECONDARY_CONTENT -->의 주석을 중간에 추가해 주시면 퍼센테이지도 반영될 것 같습니다.

    function getLangProgress(lang, issue) {
      const { body, createdAt, lastEditedAt = createdAt, ...issueProps } = issue
      let coreCompletion = 0;
      let otherCompletion = 0;
      body.split(/^##\s+/gm).forEach(section => {
        const [heading, ...content] = section.split('\n')
        const items = content.filter(line => {
          return /[-*] *\[[ x]\]/.test(line)
        })
        const finishedItems = items.filter(line => /[-*] \[x\]/.test(line));
        if (/MAIN_CONTENT/.test(heading)) {
          coreCompletion = finishedItems.length / items.length;
        } else if (/SECONDARY_CONTENT/.test(heading)) {
          otherCompletion = finishedItems.length / items.length;
        }
      });
      return {
        ...lang,
        ...issueProps,
        createdAt,
        lastEditedAt,
        coreCompletion,
        otherCompletion,
      }
    }

    위 코드는 진행상황률을 계산하는 메서드 인데, ## 이하의 MAIN_CONTENT가 포함된 부분의 체크박스를 카운팅해서 coreCompletion을 계산하고, SECONDARY_CONTENT가 포함된 부분의 체크박스를 카운트해서 otherCompletion을 계산합니다.

    간단하게 수정한다면, ## Core Pages 옆에 <!-- MAIN_CONTENT --> 라는 주석과 ## Additional Translations 옆에 <!-- SECONDARY_CONTENT -->의 주석을 중간에 추가해 주시면 퍼센테이지도 반영될 것 같습니다. 감사합니다.

  26. lumirlumir commented on Sep 24, 2024

    @lumirlumir
    Collaborator

    @hcooch2ch3 @hg-pyun @gnujoow

    해결 완료하였습니다👍 이제 완료율 100%로 해서 페이지에 정상적으로 표시됩니다

    image

    진작 100%로 표기되었어야 하는데, 좀 늦은감이 없지 않아 있네요.

    react.dev에도 아래와 같이 PR 넣어놨으니 영문 공식 문서에서도 곧 정상 반영되지 않을까 합니다.

    reactjs/react.dev#7185

    신경써주셔서 감사합니다🙇‍♂️

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

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions