Discourse 다국어 게시글

discourse-multilingual-post

게시물 콘텐츠의 여러 언어 버전을 허용하는 Discourse 플러그인입니다.

이 플러그인은 개념 증명(PoC)입니다 : 주제 제목을 현지화할 수 없으므로 유용성이 높지 않습니다.

사용 방법

게시물에서 [lang=xx] 블록을 사용하세요:

[lang=en]
Hello World!
[/lang]
[lang=fr]
Bonjour monde !
[/lang]
[lang=de]
Hallo Welt !
[/lang]

결과:

Hallo Welt !

국가 코드는 2글자여야 합니다(지역은 지원되지 않음).

작동 원리

게시물을 렌더링할 때 플러그인은 표시할 [lang=xx] 블록을 찾습니다. 다음 중 하나를 찾으면 탐색을 중단합니다:

  1. 사용자의 언어(Discourse에서 선택된 값)로 설정된 블록
  2. Discourse 인스턴스의 기본 언어로 설정된 블록
  3. 첫 번째 블록

저장소

https://github.com/sylque/discourse-multilingual-post

13개의 좋아요

Discourse 팀, 주제 제목을 로컬라이즈하는 방법에 대해 아이디어가 있을까요?

제가 하고 싶은 것은 다음과 같습니다:

  • 언어 순서를 정의합니다. 예를 들어 “en,fr,de”
  • 사용자가 주제 제목을 다음과 같은 형식으로 작성할 수 있도록 합니다: Hello World#Bonjour monde#Hallo Welt
  • Discourse가 주제 제목을 표시할 때, 올바른 언어만 남도록 제목을 수정합니다

하지만 제목을 수정할 수 있는 클라이언트 측 훅을 찾지 못했습니다. 어떤 아이디어가 있을까요?

6개의 좋아요

Rails에서 제목을 처리하는 방안을 고려해 보셨나요? 기본 언어는 기존 언어를 사용하며, 추가 제목은 사용자 정의 주제 필드로 처리합니다. 그런 다음 직렬화기를 수정하여 페이로드에 선택된 언어의 제목을 전송하도록 하면 됩니다.

8개의 좋아요

훌륭한 작업입니다!

저도 이 의견에 동의합니다. 제목은 서버 측에서 처리하는 것이 적절하다고 생각합니다.

저는 실제로 다국어 플러그인을 개발 중이며(거의 마무리 단계) 이 플러그인은 다음 항목의 번역을 지원합니다:

  1. 태그
  2. 카테고리 이름
  3. 카테고리 설명

또한 언어와 로케일을 관리하는 관리자 패널과 사용자별 언어 콘텐츠 필터 등 다양한 기능을 포함하고 있습니다.

여기서 힘을 합칠 여지가 있을 것 같습니다.

14개의 좋아요

안녕하세요! 이 플러그인을 정말 좋아합니다. 사용법이 간단해서 좋았고, 제목은 어차피 번역되니까 FAQ/가이드라인, 약관, 개인정보처리방침 같은 디스커스 페이지에도 적용할 수 있다면 더 유용할 것 같다는 생각이 듭니다. 직접 포크해서 확장해 보려고 시도했지만, 솔직히 말하면 저는 완전 초보입니다. 다만 decorateCooked() 대신 decorateWidget()을 중심으로 다시 작성해야 할 것 같은 느낌이 듭니다.

1개의 좋아요

Discourse의 정적 페이지(FAQ/지침, 이용약관, 개인정보 처리방침)를 꾸밀 수 있다면 좋은 기능이 될 것 같습니다. 다만 decorateWidget이 정적 페이지에 대한 훅을 지원하는지 확실하지 않습니다. 이 부분에 대해 힌트를 주실 수 있는 분 있으신가요?