복수형 처리 후 오버라이드된 번역이 유지되는 문제

안녕하세요 :wave:

최근 js.badges.awarded 문자열에서 비슷한 문제가 발생했습니다. 제 사이트는 헝가리어로 되어 있습니다.

js.badges.awarded가 구현되었을 때 /admin/customize/site_texts에서 번역을 진행했는데, 복수형 버전이 오버라이드될 때 단수형 버전인 js.badges.awarded가 그대로 남아 /admin/customize/site_texts에서 찾을 수 없게 되었습니다.
/admin/customize/site_texts에서 사용 가능한 문자열은 js.badges.awarded.one과 js.badges.awarded.other만 있었기 때문입니다.

왜 이런 일이 발생했는지 정확하지는 않지만, js.badges.awarded에는 보간(interpolation) 키가 없었던 반면, 새로운 복수형 버전에는 %{number}가 포함되어 있기 때문일 수 있습니다. :thinking:

따라서 텍스트가 오버라이드된 경우, 업데이트된 버전이 이를 대체하지 못하고 이전에 오버라이드된 텍스트가 유지되는 것처럼 보입니다.

저는 rails에서 이를 삭제했습니다.

TranslationOverride.where(translation_key: "js.badges.awarded").delete_all

참고로, 일반적으로 문자열이 번역된 후 복수형 버전이 도입되면 헝가리어의 경우 other 형식을 사용합니다.

이것이 버그인지 확실하지 않습니다. 그리고 복수형 버전에서 이런 일이 발생하는 것이므로, 복수형 변경 없이도 발생할 수 있을 것입니다. :thinking:

감사합니다 :slightly_smiling_face:

3개의 좋아요

최근 복수형 처리 관련해서 일부 작업이 이루어져서 이 문제가 해결되었을 수 있습니다. 여전히 재현이 되나요?

2개의 좋아요

아니요, 하지만 그런 종류의 변경 사항 없이 재현할 수는 없습니다. 다만 이 문제는 아마도 이 이슈와 관련이 있을 것 같습니다: Issue with pluralized (count) translation override 아마도 복수형을 올바르게 편집할 수 없었던 것이 문제였던 것 같습니다. 이제 작동합니다! :slightly_smiling_face:

3개의 좋아요

좋아요. :slight_smile: 유망해 보이니 당분간 이 이슈를 닫겠습니다. 하지만 다시 발생하면 알려주세요. 다시 열겠습니다. :+1:

3개의 좋아요