테마(컴포넌트) 번역 공유하기

:information_source: 요약 Discourse 인터페이스에서 수행된 번역을 쉽게 공유하여 테마 및 테마 구성 요소 번역에 도움을 줍니다
:eyeglasses: 미리 보기 현재 테마 생성기에서 테마 공유는 불가능합니다
:hammer_and_wrench: 리포지토리 GitHub - moin-Jana/share-theme-translations
:question: 설치 가이드 테마 또는 테마 구성 요소 설치 방법
:open_book: Discourse 테마를 처음 사용하시나요? Discourse 테마 사용 입문가 가이드

이 테마 구성 요소 설치

Discourse는 테마 및 테마 구성 요소 번역을 쉽게 수행할 수 있도록 지원합니다. 하지만 이러한 번역은 종종 로컬 사이트에만 머물러 있습니다.
이 구성 요소는 리포지토리에 풀 리퀘스트를 보내거나 Meta의 이 토픽에 게시하여 커뮤니티와 작성자에게 번역을 공유하는 데 도움이 됩니다.


작동 방식

이 구성 요소는 원격 테마 또는 구성 요소에 번역 가능한 텍스트가 있을 때 번역 인터페이스 아래에 섹션을 추가합니다. оттуда, 다양한 방식으로 번역을 공유하는 데 도움이 되는 모달을 열 수 있습니다.

:warning: 기본 브랜치에 대한 참고 사항
이 구성 요소는 리포지토리의 기본 브랜치 이름이 main이라고 가정합니다. 리포지토리가 다른 이름(예: master)을 사용하는 경우 일부 링크가 올바르게 작동하지 않을 수 있으며 수동 조정可能需要할 수 있습니다.

GitHub에서 새 번역 파일 생성

테마가 GitHub에 호스팅되어 있고 해당 언어의 번역 파일이 아직 없는 경우, 버튼은 다음을 수행합니다:

  • 올바른 경로(예: locales/de.yml)로 GitHub 편집기를 엽니다
  • 번역을 올바르게 포맷팅하여 편집기에 미리 채웁니다
  • 테마 설명 및 설정을 포함합니다(선택 사항)

설명은 Discourse UI에서 번역할 수 없지만, 저장하기 전에 GitHub 편집기에서 직접 편집할 수 있습니다. 번역하고 싶지 않다면 체크박스를 해제하여 제외할 수도 있습니다.

상세 단계
  1. 번역 후 모달을 열려면 버튼을 클릭합니다
  2. "풀 리퀘스트 생성"을 클릭합니다
  3. 리포지토리를 포크합니다
  4. 번역이 미리 채워진 편집기가 열립니다. 원한다면 파일 내에서 설명을 직접 번역할 수 있습니다.

    설명 제외를 위해 체크박스를 비활성화한 경우, 해당 내용은 포함되지 않아 편집기의 텍스트가 단순해집니다.
  5. 준비가 되면 "변경사항 커밋…"을 클릭한 다음 "변경사항 제안"을 클릭하고, 마지막으로 "풀 리퀘스트 생성"을 두 번 클릭합니다.
  6. :partying_face: 끝났습니다 - 번역을 공유했습니다!

GitHub에서 번역 개선 및 추가

해당 언어의 번역이 이미 존재하더라도, 여전히 이를 개선하고 누락된 번역을 추가할 수 있습니다. 이 과정은 다소 덜 체계적입니다. 버튼은 다음을 수행합니다:

  • 올바른 경로(예: locales/en_GB.yml)로 GitHub 편집기를 엽니다
  • GitHub 편집기에 미리 채우지 않고, 번역을 클립보드에 복사하여 쉽게 붙여넣을 수 있도록 합니다.
  • 인터페이스 언어가 편집 중인 번역의 언어와 동일한 경우, 테마 설명 및 설정과 같은 추가 정보를 포함하는 것이 가능합니다. 그렇지 않으면 구성 요소가 올바른 언어로 설명을 가져올 수 없어 설명이 제외되고 번역된 텍스트만 복사됩니다. 이 경우, 변경 사항을 붙여넣을 때 설명을 덮어쓰지 않도록 주의하십시오. 구성 요소는 사전에 경고하므로, 설명을 포함하기 위해 인터페이스 언어를 쉽게 전환할 수 있습니다.
상세 단계
  1. 인터페이스 언어가 번역 언어와 일치하지 않는 경우(이 경우 제 인터페이스 언어는 미국 영어이고 영국 영어로 번역 중임) 두 가지 옵션이 있습니다:

    A. 모달을 열기 전에 인터페이스 언어를 변경합니다
    B. 언어를 전환하지 않고 계속하여 모달을 엽니다.
  2. 편집을 강조 표시하는 모달이 표시됩니다
    A. 인터페이스 언어가 번역 대상 언어이기도 한 경우, 체크박스를 사용하여 설명을 제외하도록 선택할 수 있습니다

    B. 그렇지 않으면 체크박스가 비활성화됩니다.
  3. "복사 및 GitHub 열기"를 클릭하고 리포지토리를 포크합니다
  4. 현재 GitHub에 저장된 번역이 포함된 편집기가 표시됩니다.
    A. 설명이 포함된 경우, 전체 파일 내용을 단순히 교체할 수 있습니다.

    B. 로케일을 전환하지 않았거나 체크박스를 해제한 경우, 테마 번역만 복사되었습니다. 따라서 해당 부분만 번역으로 교체하십시오. 모든 것이 올바르게 들여쓰기되었는지 주의하십시오.
  5. 설명을 편집할 수도 있습니다. 준비가 되면 "변경사항 커밋…"을 클릭한 다음 "변경사항 제안"을 클릭하고, 마지막으로 "풀 리퀘스트 생성"을 두 번 클릭합니다.
  6. :partying_face: 끝났습니다 - 번역을 공유했습니다!

:warning: 일부 테마 구성 요소는 번역을 위해 번역 플랫폼을 사용합니다. 예를 들어, 많은 #공식 구성 요소는 Crowdin에서 번역됩니다. 이러한 파일에는 상단에 경고가 있어 대신 번역에 기여할 수 있는 위치를 알려줍니다.

Meta에서 번역 공유

GitHub 계정이 없고 Meta 토픽 링크가 사용 가능한 경우, 번역을 그곳에 게시하고 다음 업데이트에 포함해 달라고 작성자에게 요청할 수도 있습니다. "복사 및 Meta 열기"를 클릭하면 번역이 포맷팅되어 클립보드에 복사되고, 새 탭에서 Meta 토픽이 열립니다. 그런 다음 단순히 답글을 클릭하고 복사된 포맷팅된 번역을 붙여넣으면 됩니다.

상세 단계
  1. 번역 후 모달을 열려면 버튼을 클릭합니다.
  2. "복사 및 Meta 열기"를 클릭합니다.
  3. 작성을 열기 위해 "답글"을 클릭하고 번역을 붙여넣습니다.
  4. 설명을 제외하지 않았다면, 번역을 게시하기 전에 설명을 직접 편집할 수 있습니다.
  5. :partying_face: 번역을 공유했습니다

Meta 토픽 링크가 제공되지 않은 경우, 번역을 복사하고 관련 토픽을 수동으로 검색할 수 있습니다. 이 경우 게시물의 포맷팅을 잊지 마십시오.

기타 플랫폼에서 번역 공유

테마가 GitLab 또는 다른 플랫폼에 호스팅되어 있는 경우, 번역이 클립보드에 복사되고 리포지토리가 새 탭에서 열립니다. GitHub와 달리 GitLab은 파일 편집기 URL에서 미리 채워진 내용을 지원하지 않습니다. 따라서 새 파일인 경우에도 번역을 수동으로 붙여넣어야 합니다.
다른 플랫폼에서 파일 편집 링크가 어떻게 구성되는지는 조사하지 않았습니다. 따라서 해당 경우 리포지토리의 파일이나 디렉터리로 이동하며, 파일을 생성하거나 편집하는 방법을 알아내야 합니다.

설정

이 구성 요소에는 하나의 설정이 포함되어 있습니다: hide_texts
이는 소개 설명을 숨기고, 인터페이스 언어가 번역 대상 언어와 일치하지 않을 때 표시되는 더 짧은 메시지를 표시합니다.

미래에 대한 생각

현재, 이 구성 요소는 테마가 외부에서 번역되는지(예: Crowdin을 통해) 감지할 수 없습니다. about.json 파일에 이미 라이선스나 Meta 토픽 링크를 포함할 수 있는 것처럼 선택적 translation_url 필드가 포함된다면 기술적으로 가능합니다. 예를 들어:

"translation_url": "https://discourse.crowdin.com/discotoc"

이것이 구현되면, 구성 요소는 다음과 같은 작업을 수행할 수 있습니다:

  • 번역이 다른 곳에서 처리될 때 공유 버튼을 숨김
  • 대신 기여할 수 있는 위치를 설명하는 메시지를 표시
  • 불필요한 풀 리퀘스트나 혼란을 방지

이것은 이 구성 요소에만 도움이 되는 것이 아니라, 관리자가 번역에 기여할 수 있는 위치를 찾는 데 일반적으로 유용할 것입니다.

11개의 좋아요

정말 멋진 작업이네요, Moin. 이걸 만들어 주셔서 감사합니다. :astronaut: :clap:

6개의 좋아요