번역가를 위한 가이드라인
Discourse에서는 모든 Message Format 문자열의 키가 "_MF"로 끝납니다. Crowdin 에디터에는 다양한 값을 실험해 볼 수 있는 미리보기 기능이 있어 번역을 확인하는 데 매우 유용합니다.
중요: 언어가 "one"과 “other” 외에 다른 단수/복수 형태를 사용하는 경우, 번역의 복수 형태를 수정해야 합니다. 언어에 맞게 동작하도록 { FOO, plural, ... } 블록 내에서 형태를 추가하거나 제거할 수 있습니다. 번역에 문제가 있으면 Crowdin 에디터의 미리보기에 “Syntax error”(구문 오류)가 표시됩니다.
사용 가능한 복수 형태는 다음과 같습니다:
- zero
- one
- two
- few
- many
- other (필수 — 일반적인 복수 형태 — 단수와 복수를 구분하지 않는 언어에서도 사용)
영어 원문 문자열에서 빈 =0 {} 블록을 볼 수 있는 경우가 있는데, 이는 변수가 0 값을 가질 수 없음을 의미합니다.
개발자를 위한 가이드라인
Message Format 문자열은 현재 클라이언트 측 번역에서만 사용할 수 있습니다. 문자열에 숫자가 하나 이상이거나, 조합이 많아지는 많은 변수가 포함되어 있을 때 유용합니다.
-
Message Format 문자열의 키는 "_MF"로 끝나야 합니다.
-
숫자에는 다음 형식을 사용하세요 (
#는 숫자로 대체됩니다):{ variable_name, plural, one: {# singular text} other: {# plural text} } -
**선택지(choices)**에는 다음 형식을 사용하세요:
{ variable_name, select, foo: {This is foo} bar: {This is bar} baz: {This is baz} } -
JavaScript에서 사용하는 방법은 다음과 같습니다:
I18n.messageFormat("key_MF", { variable1: "foo", variable2: 42, }); -
권장 사항: 가능할 경우 복잡한 인수를 메시지의 가장 바깥쪽 구조로 사용하고, 하위 메시지에는 완전한 문장을 작성하세요. select와 plural 인자가 중첩된 경우, select 인자(고정된 선택지 집합)를 바깥쪽에 배치하고, plural 인자(가능하면 최대 하나)를 안쪽에 중첩하세요. Formatting Messages | ICU Documentation 참조 -
가독성을 확보하세요 – client.en.yml의 기존 예시를 참조하세요
나쁜 예There {currentTopics, plural, one {is <strong>#</strong> topic} other {are <strong>#</strong> topics}}. Visitors need more to read and reply to – we recommend at least { requiredTopics, plural, one {<strong>#</strong> topic} other {<strong>#</strong> topics}}. Only staff can see this message.
좋은 예There { currentTopics, plural, one {is <strong>#</strong> topic} other {are <strong>#</strong> topics} }. Visitors need more to read and reply to – we recommend at least { requiredTopics, plural, one {<strong>#</strong> topic} other {<strong>#</strong> topics} }. Only staff can see this message.
도구 및 추가 정보
-
Crowdin 에디터에 문제가 있는 경우 Message Format 문자열을 테스트할 수 있는 도구: Online ICU Message Editor “Parse simple xml/html tags” 옵션을 비활성화하지 않으면 오류 메시지가 표시될 수 있습니다.
이 문서는 버전 관리됩니다 - 변경 사항을 github에서 제안해 주세요.
