템플릿 오버라이드에서 UI를 사용해 커스텀 버튼의 텍스트를 커스터마이즈할 수 없습니다

로그인 페이지를 커스텀하기 위해 static.hbs 템플릿을 오버라이드하고 있습니다.

회원가입 버튼 대신 커스텀 버튼을 추가하여, 사용자가 Memberful을 통해 멤버십을 구매할 수 있는 가격 페이지로 이동할 수 있도록 했습니다.

문제는 가격 버튼의 텍스트를 커스터마이즈할 수 없다는 것이며, 그 이유를 알지 못하겠습니다.

버튼은 다음과 같이 추가했습니다:

{{d-button href="https://example.com/pricing" class="btn-primary pricing-button" label="pricing_button"}}

하지만 Admin > Customize > Text에서 "pricing_button"을 검색해도 나타나지 않습니다.

Find a translation key with verbose localization 을 실행해 보았더니 콘솔에 Translation #36: pricing_button으로 표시되지만, 다시 Admin > Customize > Text 페이지에서 검색해도 찾을 수 없습니다.

무슨 일이 일어나고 있는지 아이디어가 있으신가요?

업데이트: UI/UX만 사용하는 것이 아니라, 리포지토리가 있는 테마 컴포넌트로 생성해야 하며, 로케일에 pricing-button을 추가해야 하는 것 같습니다.

로케일에 pricing-button을 추가해야 합니다. Add localizable strings to themes and theme components 을 참조하세요.

아, 새 테마 컴포넌트를 Admin 메뉴에서 만들어서 템플릿 오버라이드를 했다는 점을 누락했네요. 별도의 git 저장소가 아닌 곳에서요.

라벨에 theme-prefix를 추가하는 방식으로 시도해 보았습니다:

…하지만 작동하지 않는 것 같습니다.

git 저장소를 생성하지 않고, 관리 페이지에서 만든 테마/컴포넌트에 로케일/사용자 지정 텍스트를 추가할 수 있나요?

UX로는 불가능하다고 생각해요. 그건 정말로 사소한 변경 사항에만 사용하도록 설계되어 있거든요.

Discourse Theme CLI(테마를 빌드하는 데 도움을 주는 콘솔 앱)을 사용해야 할 것 같아요.

하하, 아쉽네요. 이렇게 간단한 건 UX에서 바로 처리할 수 있으면 좋았을 텐데.

그래서 결국 제대로 된 테마 컴포넌트를 만들어야 할 것 같아요. 도움 주셔서 감사합니다!

로케일 추가는 그리 간단한 일이 아니지만, 간단하게 처리하고 싶다면

                translatedLabel="Actual Text!"

을 로케일을 사용하는 label 대신 사용해 볼 수 있습니다.

좋은 지적입니다. 로케일이 훨씬 더 복잡하다는 점에 동의합니다. 제가 '단순하다’고 말한 것은 템플릿 오버라이드를 사용하고 {{d-button}}를 추가하는 맥락에서 한 말입니다.

하지만 님 덕분에 제 문제는 해결되었습니다:

{{d-button href="https://example.com/pricing" class="btn-primary pricing-button" translatedLabel='Pricing'}}

정말 감사합니다!!

아니에요, 반갑습니다! 지난 한 주 동안은 어찌된 일인지 라벨을 로케일에 넣지 않으려고 했거든요. :clinking_glasses:

:clinking_glasses: 당신에게, Discourse에게, 그리고 주말을 위해 :smiley: