@neil 답변이 늦어서 죄송합니다. 하지만 위에서 제가 제시한 기능 집합을 구현하기 위해 현재 개발 중인 새로운 플러그인에서 님의 작업을 활용했습니다. 이 플러그인은 사이트 설정이 활성화된 경우 모든 주제가 언어 태그를 가져야 하도록 요구하는, 님이 추가한 구조의 수정된 버전을 사용합니다. 감사합니다!
“Base” 목록의 일부 언어에 "번역 없음"으로 표시되어 있는 것을 볼 수 있습니다. 이는 Discourse에서 지원하는 로케일 목록이 names.yml의 언어 목록의 부분집합이라는 사실을 반영한 것입니다. 의심할 여지 없이 목표는 시간이 지남에 따라 더 많은 지원 로케일을 추가하는 것이지만, 이는 Discourse의 다양한 로케일 번역(Transifex에서 관리됨)에 따라 달라집니다.
다음 형식의 .yml 파일을 업로드하여 새 언어를 추가할 수 있습니다:
iso_code: native name
iso_code: native name
...
파일에 원하는 만큼의 언어를 포함할 수 있습니다. "언어 업로드"를 클릭하고 .yml 파일을 선택하여 파일을 업로드합니다. 목록에는 추가된 새 언어가 자동으로 새로고침됩니다. 이 방식으로 추가된 언어는 유형 "Custom"으로 표시됩니다.
제목(“Actions” 제외)을 클릭하여 목록을 정렬할 수 있습니다. 왼쪽 상단의 필터 입력을 사용하여 목록을 필터링할 수도 있습니다(이 기능의 작은 문제 중 하나는 입력된 문자마다 새로고침이 된다는 것이며, 나중에 이 문제를 수정할 예정입니다).
Content 및 Locale 열의 체크박스는 해당 언어가 콘텐츠 필터 및/또는 로케일로 사용되어야 하는지를 나타냅니다. 로케일 관리 기능은 아직 완료되지 않았기 때문에 해당 열의 체크박스는 제대로 작동하지 않습니다(또한 로케일 번역이 없는 사용자 정의 언어는 “번역 없음” 대신 체크박스가 표시됩니다).
Content 열의 체크박스는 사용자가 사용할 수 있는 콘텐츠 언어의 가용성을 변경합니다. 즉, 이 체크박스가 비활성화되어 있는 경우:
작성기(composer)의 콘텐츠 언어 선택기에 해당 언어의 콘텐츠 언어 태그가 목록에 표시되지 않습니다.
사용자는 프로필에서 콘텐츠 언어를 선택할 수 없습니다.
사용자의 콘텐츠 언어 및 로케일 선택기가 인터페이스 설정의 상단에 그룹화되어 있는 점도 참고하세요.
사이트 설정 multilingual require language tag가 언어 태그가 필수인지 여부를 결정한다는 점도 참고하세요. 이 설정에는 세 가지 가능한 값이 있습니다: no(누구에게도 필수 아님), yes(모두에게 필수), non-staff(비스태프에게 필수).