If only 1 post is unpublished, you would say “Publish %{count} unpublished post in Topic #%{topic_id}. Post will not be delivered to the followers of the Group Actors.”
“%{min_length} to %{max_length} letters, numbers, dashes or underscores.”
11자로 이루어진 사용자명을 가진 사이트는 어떻게 처리하나요? 1에 사용되는 형태가 11에도 사용되는 언어들이 있습니다. 영어에 제공하지 않는 복수 형태가 여러 개 있는 언어의 경우, 이 기능은 어떻게 작동하나요? 번역자가 여전히 이러한 다양한 복수 형태를 입력할 수 있나요?
숫자가 1로 끝나는 경우에도 "하나"라는 형태를 사용하는 언어들이 있습니다. (11이 가장 좋은 예시였는지는 잘 모르겠습니다.) 또한 "하나"와 "기타"를 넘어 더 많은 형태가 존재하므로, 1보다 큰 서로 다른 개수만으로도 정확한 개수에 따라 서로 다른 번역이 필요합니다.
번역하는 데 조금 애를 먹고 있습니다: Discourse는 count를 기준으로 단수/복수를 선택하나요, 아니면 total을 기준으로 하나요?
제 이해로는 보통 count를 기준으로 합니다.
하지만 count가 1이고 total이 3인 경우를 어떻게 처리해야 할지 모르겠습니다. "1 of 3 post in this topic is published"과 같은 결과가 나오게 됩니다. "posts"를 사용하여 "1 of 3 posts in this topic is published"로 수정할 수는 있습니다. 하지만 그러면 total이 1인 경우 작동하지 않습니다.
이것은 우리가 '엔지니어 영어’라고 부르는 것입니다. 이러한 형태는 절대 사용해서는 안 됩니다. the/this post is published와 같이 작성해야 합니다. 아니면 가능하면 topic으로, 이후의 게시물들이 자동으로 게시되도록 해야 합니다.
비슷한 상황으로, 핀란드어에서는(어쨌든) 숫자 1(실제로는 0..9 사이의 모든 숫자)은 숫자 기호가 아닌 단어로 적어야 합니다. 하지만 꽤 일반적인 개념은 one은 단어로, 더 큰 숫자는 숫자로 작성하는 것입니다.
1 post 같은 표현은 영어권 개발자들이 인간적인 스타일을 사용하는 게 귀찮아서 자주 사용하는, 결국 실패로 끝나는 표현입니다 — 이렇게 말하기가 거의 미안할 정도입니다. 그리고 더 일반적으로: 이것은 헤더나 텍스트에서 이렇게 사용하는 것(American Way)보다 미국식이라고 여겨집니다.
게으름에 관한 문제가 아닙니다. 숫자를 위한 플레이스홀더를 사용하는 것이 매우 중요합니다. 위에서 설명했듯이, "1 post"라고 말하는 것과 마찬가지로 "21 post"라고 말하는 언어도 있습니다. 영어 텍스트가 %{count} 대신 "one"을 사용했다면, 번역가가 이를 번역하기가 매우 쉽지만, 그러면 실제 개수로 숫자가 대체되지 않아 실제 개수가 21일 때에도 “one post”(한 개의 게시글)로 표시됩니다.
따라서 숫자가 사용되는 데에는 이유가 있습니다. 참고: Always use %{count} variable when translating pluralized strings
%(count)가 1일 때 %(count)를 단어로 대체하는 것이 불가능할 정도로 코딩 수준이 낮다고 믿기엔 너무 어렵습니다. 현지 번역에서 단수와 복수 옵션이 다른 경우, 해당 플레이스홀더를 순수 텍스트로 변경한 경험이 여러 번 있습니다.
제가 말하는 게으름과 엔지니어 영어가 바로 이것입니다. 내부적으로는 변수와 플레이스홀더를 사용해야 하지만, 최종적으로는 사람이 읽고 이해할 수 있는 자연스러운 형태(원어민이 읽는 형태)로 변환되어야 합니다. 결국 소프트웨어를 사용하는 것은 엔지니어가 아니라 악명 높은 일반 사용자들입니다…
네, 알고 있습니다. 1 of 3…이나 1 of 1…을 어떻게 번역할지 고려하는 것보다 훨씬 더 넓고 큰 문제입니다. 하지만 제 핵심 주장은, 수천 가지 언어의 차이 aside, 이런 것들을 고민할 필요가 없어야 한다는 것입니다.
하지만 분명, 복잡한 AI를 만들 수 있는 세상에서 1 of 1과 같은 상황을 피하는 해결책이 없는 모순된 세상에 살고 있는지도 모릅니다
이 주제는 해당 텍스트에 대해 단수와 복수 형태를 다르게 사용할 수 있는 방법을 허용하는 것에 관한 것이었기 때문에, 이 내용은 다소 주제에서 벗어난 것입니다.
하지만 영어 인터페이스에서 1을 모두 *“one”*으로 대체하는 것은 어떨까요?
그러나 독일어에서는 그렇게 쉽게 작동하지 않습니다. 문제는 독일어에서 “하나”를 나타내는 단어가 격, 성, 문법적 역할에 따라 변한다는 것입니다.
예를 들어:
이 주제는 한 달 동안 열려 있을 것입니다. → Das Thema ist noch einen Monat geöffnet.
이 주제는 한 달 후에 닫힐 것입니다. → Das Thema wird in einem Monat geschlossen.
한 달이 지났습니다. → Ein Monat ist vergangen.
즉, 독일어에서도 숫자를 단어로 표기하는 것이 일반적이지만, 이를 올바르게 처리하는 것은 문법적으로 복잡합니다.
숫자 “1”을 단순히 단어 “eins”로 대체할 수 없는데, 이 형태는 절대 명사 앞에 사용되지 않으며, 올바른 단어 형태는 문법적 격에 따라 달라지기 때문입니다.
换句话说, 숫자 대신 단어를 사용하면 번역가에게 훨씬 더 많은 작업을 부과하게 됩니다.
모든 문맥에서 “one month”, “one week”, “one day”로 확장되는 %{duration} 같은 플레이스홀더를 단순히 사용할 수 없습니다.
세 가지 기간과 세 가지 문장에 대해, 가능한 모든 문법적 조합마다 별도의 버전이 필요하며, 이는 텍스트 양을 몇 배로 늘릴 수 있습니다.
링크를 보내줘서 감사합니다. 코드를 읽고 아랍어 같은 다른 언어를 살펴본 결과, 영어 문자열이 모든 변형에서 동일하더라도 각 언어가 자체 오버라이드를 제공할 수 있다는 것을 알 수 있었습니다. 예를 들어, 아랍어는 개수가 2일 때 별도의 규칙을 가지며, 영어에 정의되지 않은 아랍어 문자열에서 two: 가 사용되고 있음을 확인했습니다. 따라서 1/11과 같은 경우, 해당 규칙이 있는 언어가 그 변형을 제공할 수 있습니다. 제가 파악한 바로는 영어에서 별도로 정의할 필요가 없습니다.
이 문제를 깊이 파헤쳐 주셔서 감사합니다. 이 문자열에 대한 맥락은 없지만, 변경 사항이 담긴 PR을 제출하고 싶으시면 기꺼이 검토하겠습니다. 감사합니다.
하지만 제 경험상, 영어에서 복수형이 정의되어 있을 때만 이러한 다른 버전을 추가할 수 있습니다.
저도 마찬가지입니다. ActivityPub 텍스트를 마지막으로 살펴본 시점은 이 주제를 만든 4월이었습니다. 당시에는 단순히 번역하면서 플레이스홀더를 교체했습니다. 그렇지 않으면 단어를 선택하기가 매우 어려웠기 때문입니다. 그때 "1 of 3 post in this topic is published"라는 문장이 제게 이상해 보였습니다. 독일어뿐 아니라 영어에서도 그랬습니다.