모든 사이트에는 Crowdin을 통해 국제화(i18n) 처리된 시드 배지가 몇 가지 있습니다.
커스텀 배지는 데이터베이스에 이름/설명을 일반 텍스트로 저장합니다. I18n.t(국제화 기능)가 badges.my_custom_badge.name과 같은 키로 호출되면 일치하는 번역이 없으므로 저장된 DB 값으로 폴백(fallback)됩니다. 즉, 모든 로케일에서 동일한 텍스트가 표시됩니다.
관리자가 로케일별로 커스텀 배지 키에 대한 번역을 수동으로 추가할 수 있는 우회 방법이 있습니다.
<your site>/admin/customize/site_texts에서 사이트 텍스트를 사용자 정의할 수 있습니다.
구체적인 단계
- 배지 생성
- /admin/badges → New Badge로 이동
- 이름, 설명, 아이콘 등을 정상적으로 설정
- i18n 키 파생
- 키 패턴은
badges.{snake_case_name}.name입니다 - snake_case_name은 배지 이름을 소문자로 변경하고 공백을 밑줄로 대체한 것입니다
- 따라서 “Pokémon Master” →
badges.pokémon_master.name
- 번역 오버라이드 추가
- /admin/customize/site_texts로 이동
badges.pokémon_master검색- 다음과 같은 키를 볼 수 있습니다:
badges.pokémon_master.namebadges.pokémon_master.descriptionbadges.pokémon_master.long_description
- 대상 로케일(예: 简体中文)로 전환하고, 키를 클릭한 후 번역된 텍스트를 입력
- 로케일별 반복
- 드롭다운에서 로케일을 전환하고 필요한 각 언어에 대해 번역을 추가
.name- 배지 제목.description- 배지 카드에 표시되는 짧은 설명.long_description- 배지 상세 페이지에 표시되는 전체 설명


