Trans(cookbook/dynamic-component-loader.jade)#40
Trans(cookbook/dynamic-component-loader.jade)#40enoxaiming wants to merge 4 commits intoangular:masterfrom
Conversation
|
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed, please reply here (e.g.
|
tiratano
left a comment
There was a problem hiding this comment.
아직 전체 리뷰를 해보지 못했는데요,
로컬에서 한번 돌려보시고 오타와 띄어쓰기 검토 부탁 드리고
잘 이해되지 않는 문장들이 보이고 있습니다.. 다시 한번 확인 부탁 드립니다.
| include ../_util-fns | ||
|
|
||
| :marked | ||
| 템플릿의 컴포넌트는 항상 고정되어 있지 않습니다. 애플리케이션은 런타임마다 새로운 컴포넌트를 로딩해야 할지도 모릅니다. |
There was a problem hiding this comment.
컴포넌트가 늘 유동적이어서 매번 동적 로딩이 필요한 것은 아니므로
"템플릿의 컴포넌트가 항상 고정되어 있지는 않습니다. 애플리케이션은 런타임시 새로운 컴포넌트를 로딩해야 할지도 모릅니다."
로 하면 좋을 것 같습니다.
|
|
||
| Component templates are not always fixed. An application may need to load new components at runtime. | ||
|
|
||
| 이 요리책은 우리가 컴포넌트를 동적으로 추가하는 `ComponentFactoryResolver` 를 어떻게 사용하는지 보여줍니다. |
There was a problem hiding this comment.
원문에 we 라는 말이 상당히 많이 나오는데요
오히려 제외하면 더 매끄러운 경우가 많으므로
여기서도 "우리가" 라는 말을 제외하면 더 좋을 것 같습니다.
| ## 컨텐츠 목차 | ||
| ## Table of contents | ||
|
|
||
| [동적 컴포넌트 로딩](#dynamic-loading) |
There was a problem hiding this comment.
한글과 영문 사이에는 한줄 내려쓰기를 해주셔야 합니다. : )
로컬에서 gulp serve-and-sync로 꼭 화면 테스트를 부탁 드립니다.
| ## 동적 컴포넌트 로딩 | ||
| ## Dynamic Component Loading | ||
|
|
||
| 하단의 예시는 어떻게 동적 광고 배너를 빌드할 수 있는지 보여줍니다. |
There was a problem hiding this comment.
"하단의" 라는 표현도 전혀 단어는 아니지만 지금까지 "다음의" 라는 용어로 통일하여 쓰고 있으므로
"다음의"로 번역 부탁 드립니다. : )
|
|
||
| Before components can be added we have to define an anchor point to mark where components can be inserted dynamically. | ||
|
|
||
| 광고 배너는 템플릿에서 가능한 삽입 포인트를 표시하기 위해서 `AdDirective` 라고 불리는 방향 지시어를 사용합니다. |
There was a problem hiding this comment.
directive는 "지시자"로 통일하여 쓰고 있고 문맥상 아래 정도로 하면 좋을 것 같습니다.
"광고 배너는 템플릿에 유효한 삽입지점을 표시하기 위해 AdDirective라는 헬퍼 지시자를 사용합니다."
|
|
||
| :marked | ||
| `AdDirective` | ||
| `AdDirective` |
There was a problem hiding this comment.
한글과 영문 사이에는 한글 내려쓰기를 해주셔야 됩니다.
그렇지 않으면 AdDirective AdDirective 처럼 동일한 문장이 반복 출력됩니다. ^^;
|
|
||
| The next step is to implement the ad banner. Most of the implementation is in `AdBannerComponent`. | ||
|
|
||
| 우리는`template` 엘리먼트에 `AdDirective` 지시어를 추가하는 것으로 시작합니다. |
There was a problem hiding this comment.
"우리는"과 template 사이의 띄어쓰기가 빠졌습니다.
그런데 "우리는"을 빼는 것이 괜찮을 것 같습니다.
There was a problem hiding this comment.
directive는 "지시자"로 부탁 드립니다.
|
|
||
| The `template` element decorated with the `ad-host` directive marks where dynamically loaded components will be added. | ||
|
|
||
| `template` 요소를 사용하는 것은 추가 출력을 렌더링하지 않을 때 추천된다. |
There was a problem hiding this comment.
전체적으로 존칭을 사용하고 있으므로 "추천됩니다." 부탁 드립니다.
There was a problem hiding this comment.
element는 "엘리먼트로" 부탁 드립니다.
There was a problem hiding this comment.
문맥상 하필 왜 template 태그를 사용해야 했는지 설명하고 있으므로
since를 이유를 설명하는 접속사로 번역하여
"어떠한 추가 출력도 렌더링하지 않으므로 template 엘리먼트를 사용할 것을 추천합니다."
로 번역하면 좋을 것 같습니다.
| ### 컴포넌트 해결 | ||
| ### Resolving Components | ||
|
|
||
| `AdBanner` 는 `AdItem` 객체의 배열을 입력으로 받습니다. 'AdItem` 객체는 로드 할 컴포넌트의 유형과 컴포넌트에 바인딩 할 데이터를 지정합니다. |
There was a problem hiding this comment.
출력된 화면을 보면 "는" 조사가 주어와 띄어쓰기 되어 있어서
"AdBanner는" 처럼 띄어쓰기를 하지 않아야 할 것 같습니다.
|
|
||
| The ad components making up the ad campaign are returned from `AdService`. | ||
|
|
||
| 'AdBannerComponent`에 구성 요소의 배열을 전달하는 것은 템플릿에 정적 요소가 없는 광고의 동적 목록이 허용됩니다. |
There was a problem hiding this comment.
'AdBannerComponent` 따옴표 오타가 있습니다.
There was a problem hiding this comment.
component는 컴포넌트로 통일하여 번역하고 있습니다.
There was a problem hiding this comment.
"A하는 것은 B에 C 목록이 허용됩니다." 라는 문장의 의미가 잘 이해되지 않습니다.
|
CLAs look good, thanks! |
|
리뷰 감사합니다. |
tiratano
left a comment
There was a problem hiding this comment.
수고하셨습니다. 👍
추가 리뷰 몇개 더 했습니다.
통일성은 유지를 해야 하는데 정리된 가이드 문서가 없다보니 애로사항이 많으셨을 것 같습니다.
가이드 문서를 작성 중이니 다음에 참고해주세요. : )
| include ../_util-fns | ||
|
|
||
| :marked | ||
| 템플릿의 컴포넌트는 항상 고정되어 있지 않습니다. 애플리케이션은 런타임시 새로운 컴포넌트를 로딩해야 할지도 모릅니다. |
There was a problem hiding this comment.
컴포넌트가 항상 동적인 것은 아니므로 다음처럼 수정해야 할 것 같습니다.
이전: "템플릿의 컴포넌트는 항상 고정되어 있지 않습니다."
이후: "템플릿의 컴포넌트가 항상 고정되어 있는 것은 아닙니다."
| ) | ||
|
|
||
| :marked | ||
| `ad-host` 지시자로 장식 된 `template` 엘리먼트는 동적으로 추가 될 컴포넌트가 로드될 곳을 표시합니다. |
There was a problem hiding this comment.
중간에 잘못된 공백이 포함되어 있습니다.
"장식 된" > "장식된"
|
|
||
| `ComponentFactoryResolver` is used to resolve a `ComponentFactory` for each specific component. The component factory is need to create an instance of the component. | ||
|
|
||
| `ComponentFactories`는 앵귤러 컴파일러에 의해 생성됩니다. |
There was a problem hiding this comment.
Angular는 번역하지 않고 영문 그대로 사용하고 있으므로 통일하는게 좋을 것 같습니다.
"앵귤러" > "Angular"
|
|
||
| Generally the compiler will generate a component factory for any component referenced in a template. | ||
|
|
||
| 동적으로 로드된 컴포넌트에는 런타임에 컴포넌트가 로드되므로 템플릿에 셀렉터가 없습니다. 컴파일러가 여전히 팩토리를 생성하게 하려면 동적으로 로드된 컴포넌트를 `NgModule` 의 `entryComponents` 배열에 추가해야합니다. |
There was a problem hiding this comment.
띄어쓰기가 빠져있습니다.
"추가해야합니다" > "추가해야 합니다."
|
|
||
| Components are added to the template by calling `createComponent` on the `ViewContainerRef` reference. | ||
|
|
||
| `createComponent`는 로드 된 컴포넌트에 대한 레퍼런스를 반환합니다. 컴포넌트 레퍼런스는 입력 데이터를 전달하거나 메소드를 호출하여 컴포넌트와 상호 작용하는 데 사용될 수 있습니다. |
There was a problem hiding this comment.
영어라 이상하지만 "로드되다"를 한 단어로 본다면 붙여써야 할 것 같습니다.
다른 곳은 "로드된"으로 되어 있으니 통일하는게 좋을 것 같습니다.
"로드 된" > "로드된"
| ) | ||
|
|
||
| :marked | ||
| 결과는 아래와 같습니다: |
There was a problem hiding this comment.
원문의 느낌이 크게 부자연스럽지 않으므로 원문의 느낌을 살려 번역을 해주면 좋을 것 같습니다.
이전: "결과는 아래와 같습니다:"
이후: "최종 광고 배너는 다음과 같은 모습입니다:"
| +makeExample('cb-dynamic-component-loader/ts/src/app/ad-banner.component.ts', 'ad-host' ,'src/app/ad-banner.component.ts (template)')(format='.') | ||
|
|
||
| :marked | ||
| ### 컴포넌트 해결 |
There was a problem hiding this comment.
toh-pt6.jade에서도 resolve 번역이 어려워 고민을 하다가 "결정"으로 번역을 했었고,
일부 Mozilla 페이지의 Promise 등에서 "결정"으로 번역을 하고 있는 것 같습니다.
(https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve)
여기서도 "컴포넌트 해결" 이라고 하면 갑자기 무엇을 해결한다는 것인지 잘 느낌이 오지 않으므로,
ComponentFactoryResolver가 여러 ComponentFactory 중에 어떻게 최종 선택하여 확정 짓는지 설명하는 것이므로 "컴포넌트 결정" 이라고 하면 어떨까요?
|
|
||
| `AdBannerComponent` cycles through the array of `AdItems` and loads the corresponding components on an interval. Every 3 seconds a new component is loaded. | ||
|
|
||
| `ComponentFactoryResolver`는 각각의 특정 컴포넌트에 대한 `ComponentFactory`를 해결하기 위해 사용됩니다. 컴포넌트 팩토리는 컴포넌트의 인스턴스를 생성 할 필요가 있습니다. |
There was a problem hiding this comment.
위와 동일한 이유로 "결정"으로 하면 어떨까요?
|
|
||
| The following example shows how to build a dynamic ad banner. | ||
|
|
||
| Hero Agency는 배너를 통해 여러 광고가 돌아가는 광고 캠페인을 기획하는 중입니다. |
There was a problem hiding this comment.
"돌아가는" 이라고 하여 단순히 광고가 구동되는/실행중인 것이라고 생각했는데
글을 읽어보니 정말 3초마다 rotation 되는 광고 배너이군요!
그렇다면 several different ads cycling의 의도를 좀 더 명확히 번역해줘야 할 것 같습니다.
그리고 이미 페이지에서 Hero를 '히어로'로, Agency를 '에이전시'로 번역해서 통일을 해주면 좋을 것 같습니다.
이전: "Hero Agency는 배너를 통해 여러 광고가 돌아가는 광고 캠페인을 기획하는 중입니다."
이후: "히어로 에이전시는 배너를 통해 여러가지 다른 광고가 순환되는 광고 캠페인을 기획하고 있습니다."
cookbook/dynamic-component-loader.jade 번역
첫 번역이라 실수가 많을 수도 있는데요, 피드백 부탁드립니다!
감사합니다