Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translate Static Type Checking #88

Merged
merged 6 commits into from
Apr 11, 2019

Conversation

jiwonkirn
Copy link
Contributor

@jiwonkirn jiwonkirn commented Apr 2, 2019

@netlify
Copy link

netlify bot commented Apr 2, 2019

Deploy preview for ko-reactjs-org ready!

Built with commit d0456a3

https://deploy-preview-88--ko-reactjs-org.netlify.com

@tesseralis tesseralis mentioned this pull request Apr 2, 2019
98 tasks

Flow extends the JavaScript language with a special syntax for type annotations. However, browsers aren't aware of this syntax, so we need to make sure it doesn't end up in the compiled JavaScript bundle that is sent to the browser.
Flow는 코드 주석을 위한 특별한 문법과 함께 JavaScript 언어를 확장합니다. 하지만 브라우저는 이 문법을 알아차리지 못하기 때문에 컴파일된 JavaScript Bundle을 브라우저에 보내기만 하고 끝내서는 안됩니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Bundle을" -> "번들을" 로 제안드려요.


#### Babel {#babel}

>Note:
> Note:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Note:" -> "주의" 로 수정 부탁드려요.


If you manually configured Babel for your project, you will need to install a special preset for Flow.
직접 Babel 설정을 하려고 하신다면 Flow를 위해 특별한 프리셋을 설치해야합니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Babel 설정을 하려고 하신다면" -> "Babel 설정을 한다면" 으로 제안드려요.


```bash
npm install --save-dev babel-preset-flow
```

Then add the `flow` preset to your [Babel configuration](https://babeljs.io/docs/usage/babelrc/). For example, if you configure Babel through `.babelrc` file, it could look like this:
설치가 됐다면, `flow` 프리셋을 [Babel configuration](https://babeljs.io/docs/usage/babelrc/)에 추가해줍니다. 예를 들어 Babel을 `.babelrc` 파일을 통해 설정하려고 하신다면, 다음과 같이 설정할 수 있습니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"추가해줍니다." -> "추가합니다." 로 제안드려요.

Copy link
Collaborator

@simsim0709 simsim0709 Apr 9, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"예를 들어 Babel을 .babelrc 파일을 통해 설정하려고 하신다면, 다음과 같이 설정할 수 있습니다."
->
"예를 들어 Babel을 .babelrc 파일에서 설정한다면, 다음과 같이 할 수 있습니다."
로 제안드려요.


>Note:
> Note:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Note:" -> "주의" 로 수정 부탁드려요.


If you followed the instructions above, you should be able to run Flow for the first time.
위의 설명을 잘 따라왔다면, Flow를 당장 사용할 수 있습니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"당장" -> "바로" 로 제안드려요.


```bash
npm run flow
```

You should see a message like:
다음 가은 메세지가 보여야 합니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"가은" -> "같은" 오타요~


There is also [an option](https://flow.org/en/docs/config/options/#toc-all-boolean) to force Flow to check *all* files regardless of the annotation. This can be too noisy for existing projects, but is reasonable for a new project if you want to fully type it with Flow.
주석에 상관없이 모든 파일들을 체크하는 _[옵션]_(https://flow.org/en/docs/config/options/#toc-all-boolean)도 있습니다. 이미 존재하는 프로젝트에 적용하는 것은 어렵겠지만 모든 타입을 체크하고자 하는 새로운 프로젝트에는 적합합니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[옵션] -> "_" 는 일부러 추가하신건가요?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

제거했습니다^^


>Note:
> Note:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

" Note:" -> "주의"

The compiler is of no help to us until we tell it what to do. In TypeScript, these rules are defined in a special file called `tsconfig.json`. To generate this file:
### TypeScript 컴파일러 설정하기 {#configuring-the-typescript-compiler}

컴파일러는 무엇을 해야할지 설정해주지 않는다면 아무 도움도 주지 않습니다. TypeScript는 `rsconfig.json`이라는 특별한 파일에 설정을 정의해줘야합니다. 이 파일을 생성하려면 아래의 명령어를 입력해야합니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"rsconfig.json" -> "tsconfig.json" 오타요.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"설정을 정의해줘야합니다." -> "설정을 해야 합니다." 로 제안드려요.

Great! Now when we run our build script the compiler will output the generated javascript to the `build` folder. The [TypeScript React Starter](https://github.com/Microsoft/TypeScript-React-Starter/blob/master/tsconfig.json) provides a `tsconfig.json` with a good set of rules to get you started.
좋습니다! 이제 빌드 스크립트를 실행하면 컴파일러가 생성된 JavaScript를 `build` 폴더에 위치시킬 것입니다. [TypeScript React Starter](https://github.com/Microsoft/TypeScript-React-Starter/blob/master/tsconfig.json)는 시작하기에 좋은 규칙들을 정의한 `tsconfig.json`파일을 제공합니다.

일반적으로 생성된 JavaScript 코드를 소스 관리에 두고싶어하지 않습니다. 때문에 `build` 폴더를 `.gitignore` 파일에 추가하도록 합니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"두고싶어하지" -> "두고 싶어 하지" 띄어쓰기 오타요.


### Type Definitions {#type-definitions}
To be able to show errors and hints from other packages, the compiler relies on declaration files. A declaration file provides all the type information about a library. This enables us to use javascript libraries like those on npm in our project.
다른 패키지의 오류와 힌트를 출력하기 위해 컴파일러는 선언 파일에 의존합니다. 선언 파일은 라이브러리에 대한 모든 타입 정보를 제공합니다. 프로젝트의 npm에 라이브러리에 대한 선언파일이 있다면 해당하는 자바스크립트 라이브러리를 사용할 수 있습니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"자바스크립트" -> "Javascript"

@jiwonkirn
Copy link
Contributor Author

코멘트 달아주신 부분 모두 수정해서 커밋했습니다!


>Note:
> 주의:
Copy link
Collaborator

@simsim0709 simsim0709 Apr 11, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"주의:" -> "주의" 콜론 제거 부탁드려요. 몇 군데 있는데 같이 수정 부탁드립니다.


JetBrains develops and maintains several tools specifically for the React community: [React bindings](https://github.com/JetBrains/kotlin-wrappers) as well as [Create React Kotlin App](https://github.com/JetBrains/create-react-kotlin-app). The latter helps you start building React apps with Kotlin with no build configuration.
JetBrains은 React 커뮤니티를 위해 [React bindings](https://github.com/JetBrains/kotlin-wrappers)나 [Create React Kotlin App](https://github.com/JetBrains/create-react-kotlin-app)와 같은 몇몇 툴들을 개발, 유지하고 있습니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"툴들을" -> "도구를" 로 제안드려봅니다.


## Reason {#reason}

[Reason](https://reasonml.github.io/) is not a new language; it's a new syntax and toolchain powered by the battle-tested language, [OCaml](https://ocaml.org/). Reason gives OCaml a familiar syntax geared toward JavaScript programmers, and caters to the existing NPM/Yarn workflow folks already know.
[Reason](https://reasonml.github.io/)은 새로운 언어가 아닙니다. battle-tested 언어인 [OCaml](https://ocaml.org/)을 기반으로한 새로운 문법이자 툴체인입니다. Reason은 JavaScript 개발자들을 위해 익숙한 문법을 OCaml을 통해 제공하며, NPM/Yarn 워크플로우를 제공합니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"battle-tested 언어인 OCaml" -> "OCaml" 로 제안드려요. battle-tested는 굳이 번역 안해도 되지 않을까해서요.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"NPM/Yarn 워크플로우를 제공합니다." -> "익숙한 NPM/Yarn을 그대로 사용 할 수 있습니다." 로 제안드려요.

__Local Declarations__
Sometimes the package that you want to use doesn't bundle declarations nor is it available on DefinitelyTyped. In that case, we can have a local declaration file. To do this, create a `declarations.d.ts` file in the root of your source directory. A simple declaration could look like this:
**Local Declarations**
때때로 사용하고 싶은 패키지가 선언 파일을 번들하지 않거나 DefinitelyTyped에서 사용할 수 없을 수 있습니다. 이러한 경우 로컬 선언 파일을 가질 수 있습니다. 이 방법을 사용하려면 `declarations.d.ts` 파일을 sourse 디렉토리의 루트 경로에 생성합니다. 간단한 선언은 다음과 같이 할 수 있습니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"루트 경로에 " -> "루트에"로 제안드려요.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"선언 파일" -> "타입 선언 파일" 좀 더 명확하게 번역하는게 어떨까요?

Copy link
Collaborator

@simsim0709 simsim0709 Apr 11, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"번들하지 않거나 DefinitelyTyped에서 사용할 수 없을 수 있습니다."
->
"번들하지도 않고 DefinitelyTyped에서 제공하지도 않을 수 있습니다."
로 제안드려요


__Bundled__ - The library bundles its own declaration file. This is great for us, since all we need to do is install the library, and we can use it right away. To check if a library has bundled types, look for an `index.d.ts` file in the project. Some libraries will have it specified in their `package.json` under the `typings` or `types` field.
**Bundled** - 라이브러리가 자신의 선언 파일을 번들합니다. 이 후 해야할 일은 그저 라이브러리를 다운받고 올바르게 사용하는 것 밖에 할 일이 없기 때문에 사용자에게 좋습니다. 라이브러리가 번들된 타입을 가지고있는지 확인하려면 프로젝트 내에 `index.d.ts` 파일이 존재하는지 찾아보세요. 몇몇 라이브러리는 `typings` 혹은 `types` 아래에 있는 `package.json` 파일에 정의합니다.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"몇몇 라이브러리는 typings 혹은 types 아래에 있는 package.json 파일에 정의합니다."
->
"어떤 라이브러리는 package.json 파일의 typings 혹은 types 필드 아래에 정의되어 있습니다."
로 제안드려요.

"outDir": "build"
// ...
},
"compilerOptions": {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 블럭은 변경된게 없는데 인덴트가 변경 된거 같네요. 원복 부탁드려요.

@simsim0709
Copy link
Collaborator

@jiwonkirn 님. md 파일이 아무래도 자동으로 lint 된 거 같은데, 코드 블록이랑 리스트 (* -> -) 등이 다 변경되어 있는데, 이 부분 원복 되는게 좋을 거 같습니다. 그리고 중간 중간 원본 라인 번호랑 번역된 부분 라인번호가 안맞는 부분이 있는데, 이 부분도 확인 부탁드립니다.

감사합니다.

@jiwonkirn
Copy link
Contributor Author

네 확인해서 수정하도록 하겠습니다 감사합니다 :-)

@jiwonkirn
Copy link
Contributor Author

말씀해주신 코드블록, 리스트 기호, 라인 넘버 원본과 맞추고 확인해서 커밋했습니다 :-)
꼼꼼하게 봐주셔서 감사합니다!

Copy link
Member

@gnujoow gnujoow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Collaborator

@simsim0709 simsim0709 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

정말 고생 많으셨습니다~ 👍

@simsim0709 simsim0709 merged commit a98c0d1 into reactjs:master Apr 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants