게시물 수가 20개 이상인 주제의 로컬라이제이션

게시물이 20개를 넘는 주제에서는 첫 20개 게시글만 번역되어 표시되고, 나머지 게시글은 번역되지 않은 상태로 유지됩니다.

  1. 인터페이스 언어를 영어로 선택합니다(독일어도 작동하므로, 중국어를 제외한 모든 언어가 작동할 것으로 추정됩니다).
  2. 임의의 주제를 열고 번역이 꺼져 있는지 확인합니다.
  3. Discourse-embed-bilibili(在discourse中插入哔哩哔哩视频) 주소를 엽니다.
  4. 마지막 게시글까지 아래로 스크롤합니다.
  5. 첫 번째 게시글로 다시 스크롤합니다.
  6. 언어를 영어로 전환합니다.
  7. 아래로 스크롤합니다.

기대 결과: 모든 게시글이 영어로 표시됩니다.
실제 결과: 첫 20개 게시글은 영어로 표시되지만, 스크롤을 통해 로드된 게시글은 원어로 표시됩니다.

게시물이 20개를 넘는 다른 주제에서도 동일한 현상이 발생합니다. 마지막 게시글들이 영어가 아니므로 영어 인터페이스로 재현할 수 있어 이 게시글을 예시로 선택했습니다. 다른 인터페이스 언어를 선택하면 영어 게시글이 있는 주제에서도 재현할 수 있습니다.

1개의 좋아요

조금 시간이 걸렸지만, 버그의 핵심은 다음과 같습니다:

“원문 보기” 버튼은 현재 게시글 "페이지"에만 적용되며, 스크롤을 통해 다음 페이지를 불러올 때 해당 설정이 무시됩니다.

맞나요?

이 문제는 GET https://meta.discourse.org/t/#{topic.id}/posts.json?post_ids[]=#{posts.id} 라우트에서 content-localization-show-original: "true" 쿠키를 무시하는 것으로 좁혀집니다.

아마도 :eyes:

제 문제는 원어로 주제를 읽다가, 중국어를 못 해서 토글을 사용했다는 점입니다. 그랬더니 첫 번째 게시물로 돌아가게 되더군요 (정확한 이유는 잘 모르겠습니다. 항상 그런 것은 아니기 때문에, 위 단계에서 스크롤을 선택한 것입니다).
그런데 첫 20개 게시물은 영어로 표시되었지만, 마지막 게시물들은 여전히 중국어로 남아 있었습니다.

저는 그 경우 show-original: "false"를 사용해야 모든 게시물을 영어로 볼 수 있다고 생각합니다. 반대 방향에서는 시도해 보지 않았고, 요청 내용도 확인하지 않았습니다. 안드로이드에서 개발자 도구를 사용할 수 있는 Kiwi 브라우저 대안을 찾지 못했습니다.

네트워크 탭을 확인해 보니, 번역을 보기 위한 토글을 사용한 후에도 해당 게시물에 대한 새로운 요청이 생성되지 않는 것 같습니다:

네, 맞습니다.

/posts.json?post_ids는 "원본 표시"를 지원하지만, 문제는 프론트엔드 스토어가 기존 게시글을 로드하기 때문에 발생합니다. 이 수정은 또한 첫 번째 게시글로 돌아가는 짜증나는 문제를 해결합니다.

4개의 좋아요

방금 병합되었습니다. 이 변경 사항은 1시간 내에 메타에 반영될 가능성이 높으므로, 모든 것이 정상인지 모니터링한 후 문제가 없으면 클로징하겠습니다.

수정: 문제없습니다 - 클로징합니다.

1개의 좋아요

이 주제는 2일 후 자동으로 닫혔습니다. 더 이상 답변을 작성할 수 없습니다.