최근 업데이트에서는 카운트가 1인 경우 복수화 문자열의 one 버전을 사용한다는 것을 알게 되었습니다. 문제는 지금까지 복수화 문자열이 카운트가 1이어도 항상 other 버전을 사용했다는 점입니다. 또한 /admin/customize/site_texts/ 페이지에서는 예를 들어 헝가리어의 경우 문자열의 one 버전을 찾을 수 있는 옵션이 없습니다. 그러나 헝가리어에서는 one과 other 두 버전을 모두 사용할 이유가 거의 없으며, 두 버전은 거의 동일하기 때문입니다.
재현 방법:
로케일을 변경합니다. 예를 들어 헝가리어로 설정합니다.
/admin/customize/site_texts/로 이동합니다.
예를 들어 js.topic_count_latest를 검색하고 텍스트를 변경합니다.
See new or updated topics 배너에서 확인합니다.
업데이트가 하나만 있을 때, 편집한 문자열이 other 버전이므로 기본 값이 사용됩니다. 새 또는 업데이트된 주제가 더 많으면 이전에 추가한 텍스트로 변경됩니다.
헝가리어에는 복수형이 있지만 항상 사용되는 것은 아니어서 다소 어렵습니다. 하지만 몇 가지 간단한 예를 설명해 드리겠습니다.
헝가리어 단어의 대부분은 복수형이 있습니다.
비계산 가능(uncountable)인 경우입니다.
예:
Group → Groups = Csoport → Csoportok
Topic → Topics = Téma → Témák
따라서 우리가 복수형을 가지고 있다는 점에서 외부 라이브러리가 정확하다고 생각합니다.
하지만 단어 앞에 숫자(개수)가 있는 경우에는 복수형을 사용하지 않습니다.
계산 가능(countable)인 경우입니다.
예:
1 group → 2 groups = 1 csoport → 2 csoport
1 topic → 2 topics = 1 téma → 2 téma
헝가리어 언어 파일을 확인해 보시면 복수형이 항상 동일하게 처리되고 있음을 알 수 있습니다.
그러나 one 형식에 count를 사용하지 않는 문자열들이 있음을 발견했습니다.
아래와 같습니다:
이 경우 1개의 주제일 때 숫자가 필요 없으므로 상당히 명확하기 때문에 문제없습니다. 하지만 여기의 다른 차이점은 other 형식에만 숫자가 나타난다는 점입니다. 숫자가 있든 없든 텍스트는 동일합니다.
따라서 제 의견을 물어보신다면 저는 단순히 one 형식을 제거하겠습니다.
하지만 이는 제가 정확하다고 생각하는 외부 라이브러리에서 비롯된 것입니다. 헝가리어에는 복수형이 있지만 Discourse가 사용하는 대부분의 경우에서는 그렇지 않기 때문입니다. 따라서 문제를 방지하기 위해 가장 쉬운 해결책은 커스터마이징할 수 있도록 one 형식을 추가하는 것입니다. 네, 대부분은 동일하지만 적어도 관리자에서 커스터마이징할 수 있습니다.
이것이 어려운 질문인지 모르겠습니다. 헝가리어 포럼을 운영하며 관리자에서 커스터마이징을 수행한 모든 사람은 other 형식만 수정해 왔습니다. one 형식에서 항상 other 형식으로 폴백(fall back)되기 때문입니다. 따라서 one 형식을 추가하면 관리자가 other 형식과 동일하도록 해당 버전도 수정해야 하는 모든 복수 문자열을 다시 검토해야 합니다.
괜찮다고 생각합니다. %{count}는 영어 로케일과 잘 맞습니다. 영어도 일부 복수 문자열의 one 형태에서 %{count}를 사용하지 않거든요. 이번 변경 사항은 관리자에서도 one 형태를 편집할 수 있게 된 것뿐인데, 이 경우에는 충분하다고 생각합니다. 올바르게 작동한다면 다른 변경은 필요하지 않을 것 같습니다. 곧 업데이트해서 테스트하겠습니다.
모든 것이 훌륭하게 작동하는 것 같습니다. 이 모든 것을 변경하는 것은 즐거운 시간이었지만, 거의 다 끝냈습니다. 다시 한번 감사드리고, 이 부분을 지적해 주신 @Moin 님에게도 감사합니다.