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

"Iterate"를 순회로 번역하는 이유 #14044

Closed
SnowMarble opened this issue Jul 5, 2023 · 11 comments
Closed

"Iterate"를 순회로 번역하는 이유 #14044

SnowMarble opened this issue Jul 5, 2023 · 11 comments
Labels
l10n-ko Issues related to Korean content.

Comments

@SnowMarble
Copy link
Contributor

SnowMarble commented Jul 5, 2023

안녕하세요, 용어 안내서에 따르면 "Iterate"는 "순회"로 번역하라고 명시되어있습니다.

image

하지만 이번에 Iteration protocol을 작업하면서 해당 번역에 대한 의문을 가지게 되었습니다.

사전에 따르면 "iterate"는 "반복하다" 라는 뜻을 가지고 있습니다. 그에따라 iteration, iterator도 각각 반복, 반복자로 나와있습니다.

반면 "순회"의 사전적 의미는 다음과 같습니다.

여러 곳을 돌아다님. (표준국어대사전)
여러 곳을 두루 돌아다님. (고려대한국어대사전)
여러 곳을 돌아다님. (우리말샘)

이를 봤을 때 iterate를 순회로 번역하는 것은 독자들에게 혼란을 줄 여지가 있어보입니다.

일본어 번역에서도 iterate와 iterable를 反復(반복)과 反復可能(반복 가능)으로 번역하고 있더라고요.

하지만 iterate를 "반복" 이라고 번역한 문서도 있어 저도 혼란스럽네요.

이 부분에 대해 다른 분들과 의견을 나눠보고 싶습니다! 만약 iterate에 대한 번역이 수정된다면 iterable과 iterator에 대한 기준도 정하면 좋을 것 같아요 😸

@jasonren0403 jasonren0403 added the l10n-ko Issues related to Korean content. label Jul 5, 2023
@SnowMarble
Copy link
Contributor Author

@hochan222 안녕하세요:) 기여자 분들과 조금 의견을 나눠보고 PR을 만들려 했지만, 특별한 의견이 없어 바로 용어집에 대한 PR을 만들까 하는데, 괜찮을까요? 😓

@wisedog
Copy link
Contributor

wisedog commented Jul 25, 2023

아이고.. 제가 이걸 지금 봤군요. 저도 반복이 좋다고 생각합니다.

@hochan222
Copy link
Member

hochan222 commented Jul 30, 2023

@SnowMarble 님 안녕하세요.

먼저, 등록 당시에는 iterate만 예외적으로 순회로 정의했습니다. 히스토리는 #878 (review) 입니다. 제가 단어 안내서에 링크를 안남겨 놓았네요ㅜㅜ..

아래와 같은 이유들이 있었습니다.

  1. 반복("반복 가능한 객체")과 순회("순회 가능한 객체")의 검색 결과 차이가 정말 상당함.
  2. Loop/Repeat과 구별하기 위해서 "순회"로 번역. ("배열을 반복합니다." 대신 "배열을 순회합니다.")
  3. 그 당시 반복이 더 어색하다는 의견 존재.

하지만 iterate를 "반복" 이라고 번역한 문서도 있어 저도 혼란스럽네요.

PR 올라오는것만 반영을 했어서 '반복'이 남아있을 수 있습니다.

만약 iterate에 대한 번역이 수정된다면 iterable과 iterator에 대한 기준도 정하면 좋을 것 같아요 😸

Iterator의 경우 반복자로의 인식이 압도적이여서 나머지는 '반복'으로 이야기 나눴었습니다.

의견 부탁드립니다 🙇🙇 (cc. @mdn/yari-content-ko)

@SnowMarble
Copy link
Contributor Author

@hochan222 알려주셔서 감사합니다! 예전에 한 번 다뤘던 문제군요. 흠.. 하지만 개념적인 부분에서 접근하더라고 iterate를 순회로 번역하는것이 적절한지 다시 논의해봐야할 것 같습니다.

@pje1740
Copy link
Collaborator

pje1740 commented Aug 1, 2023

저는 개인적으로 배열을 '순회' 한다는 표현을 더 많이 들어서 반복자/순회 (iterator/iterate)가 좀 더 익숙한데요, 이건 개인마다 조금씩 차이가 있으신가보네요! 궁금해서 Deep Dive 같은 책을 찾아보니 이터레이터/순회 로 번역하고 있네요 🤔

@SnowMarble
Copy link
Contributor Author

@pje1740 혹시 "순회"가 어떤 의미로 쓰였는지 여쭤봐도 괜찮을까요?

@pje1740
Copy link
Collaborator

pje1740 commented Aug 1, 2023

책에서는 forEach 같은 반복문을 설명할 때 '배열을 순회한다'고 표현하고 있습니다. 제가 사용한 표현도 배열의 요소를 하나하나 접근한다는 의미에서의 '순회'였습니다!
국어사전적 정의를 보면 '순회'가 조금 잘못된 맥락으로 쓰이고 있나 싶기는 한데, 익숙하게 쓰였던 단어라 코멘트 남겨봤습니다! (물론 제 개인의 경험 기준입니다! 😂)

@swimjiy
Copy link
Member

swimjiy commented Aug 1, 2023

우선 좋은 disscussion인 것 같습니다!

조심스레 의견 내보자면 반복과 순회 중 어느 것이 맞는지에 대한 답변은 개인마다 다를 것 같습니다. 뭔가가 틀렸다기보다는 어떤 맥락으로 접근하느냐의 차이일 것 같아서요..!
예시로 앞서 @hochan222님이 링크 걸어주신 내용검색 결과 차이 이슈도, 배열을 반복하다배열을 순회하다로 구글 검색을 했을 때에는 반대로 반복이 더 많은 검색 결과가 나오고 있어서요. 앞뒤 맥락에 어떤 것을 넣느냐의 차이에 따라 달라지는 것 같습니다.

그래서 제 의견은 두개 다 맥락에 따라 주로 사용하는 단어가 달라지는 것 같아 어느 것을 선택하든 큰 차이가 없을 것 같은데, 꼭 하나를 골라야 한다면 iterator와 동일하게 반복으로 가져가는 것이 통일감 있지 않을까 싶습니다.👀

@007han
Copy link

007han commented Sep 4, 2023

iterate 를 영영 사전으로 찾아보면 repeat로 설명을 하고 있습니다.
저는 MDN을 찾아보시는 분들이 대부분이 javascript에 대해 잘 모르고 찾아오시고, 사용법을 궁금해 하시기 때문에 찾아오신다고 생각합니다. 이미 능숙하신분들은 순회나 반복이냐 에 대해 관심이 크지 않으실거라고 생각됩니다.
for 문 에 대해 "조건을 만족할때 까지 반복한다"는 괄호 안에 있는 것들을 반복하지만,
map같이 "배열 안의 모든 요소에 대해 실행한다" 는 "순회하다" 가 한국어 사용자들이 느끼기에 조금 더 자연스럽게 느껴질 것입니다.
["서울", "대전", "대구", "부산"] 공연을 한다고 했을때 가장 적합한 한국어는 전국 "순회"공연이라고 느껴지는 것처럼요.
반복은 같은 책을 한번 더 보거나 수능을 한번 더 치루고, 같은 영화를 반복해서 본다 라는 표현에 조금 더 자연스럽게 느껴집니다. 사전적 의미도 중요하지만, 주요한 독자가 어떠한 사람들인가? 언어 사용자들이 사용하는 뉘앙스에 어떤 단어가 더 적합한가? 를 생각했을 때 순회가 조금 더 어울리다고 생각합니다!
다음은 chatGPT 3.5 에게 순회와 반복의 차이를 물었을때 의 답변입니다!
순회하다 (Iterate):
순회하다는 주로 어떤 집합, 목록, 데이터 구조 등을 한 번씩 모두 방문하거나 처리하는 동작을 나타냅니다.
이것은 주로 어떤 것을 하나씩 차례로 확인하거나 검사할 때 사용됩니다.
순서대로 모든 항목을 살펴보는 것을 강조합니다.
예를 들어, "리스트를 순회하면서 각 항목을 출력한다"는 것은 리스트의 모든 항목을 한 번씩 확인하며 출력한다는 의미입니다.

반복하다 (Repeat):
반복하다는 어떤 동작이나 일련의 동작을 여러 번 실행하는 것을 나타냅니다.
특정한 조건이나 횟수를 충족할 때까지 동일한 작업을 반복적으로 수행하는 것을 강조합니다.
예를 들어, "조건을 만족할 때까지 작업을 반복한다"는 특정 조건이 충족될 때까지 작업을 계속 반복한다는 것을 의미합니다.

요약하면, "순회하다"는 주로 어떤 집합의 모든 항목을 한 번에 확인하는 동작을 강조하고, "반복하다"는 어떤 동작을 여러 번 실행하는 동작을 강조합니다. 이 두 용어의 의미는 문맥에 따라 약간 다를 수 있으며, 사용되는 맥락에 따라 더 정확한 해석이 필요할 수 있습니다.
감사합니다!

@1ilsang
Copy link
Member

1ilsang commented Mar 24, 2024

저도 @007han 님의 의견에 동의합니다.

실제 문서를 읽는 분들을 고려했을 때, 문서의 문맥이 "모든 요소에 대한 접근"으로 쓰였다면 iterate가 "순회하다"로 번역되는 게 맞을 것 같습니다.

@hochan222
Copy link
Member

2024년 4월 28일 yari-content-ko 회의에서 관련 용어에 대한 논의를 진행했습니다. 충분한 논의 끝에, 아래와 같이 MDN에서 사용하기로 결정했습니다.

[결정된 용어]

  • iterate: 순회하다 (iterate만 순회하다로 번역)
  • iterable: 반복가능한
  • iterator: 반복자

[변경 이유]

상기에 충분히 설명되어 있으므로 생략합니다.

모두 의견 주셔서 감사합니다. 🙇🙇

cc. @mdn/yari-content-ko

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
l10n-ko Issues related to Korean content.
Projects
None yet
Development

No branches or pull requests

8 participants