InfoGrab DocsInfoGrab Docs

GitLab 국제화(i18n)

GitLab에서 국제화(i18n)를 위해 GNU gettext를 사용하는 방법과 번역 가능한 문자열을 외부화하는 절차를 설명합니다.

국제화(i18n) 작업에는 GNU gettext 를 사용합니다. 이는 이 작업에 가장 널리 쓰이는 도구이며, 이를 활용해 작업을 돕는 다양한 애플리케이션이 있기 때문입니다. Note 이 페이지에서 설명하는 모든 rake 명령어는 GitLab 인스턴스에서 실행해야 합니다. 이 인스턴스는 일반적으로 GitLab Development Kit(GDK)입니다. GitLab Development Kit(GDK) 설정 # GitLab Community Edition 프로젝트에서 작업하려면 GDK 를 통해 다운로드하고 설정해야 합니다. GitLab 프로젝트가 준비되면 번역 작업을 시작할 수 있습니다. 도구 # 다음 도구를 사용합니다: 번역 관련 일상적인 개발 작업을 돕기 위해 직접 작성한 도구: tooling/bin/gettext_extractor locale/gitlab.pot : 모든 소스 파일을 스캔하여 번역할 새 콘텐츠 를 찾습니다 rake gettext:compile : PO 파일의 내용을 읽어 프론트엔드에서 사용 가능한 모든 번역이 담긴 JS 파일을 생성합니다. rake gettext:lint : PO 파일 유효성 검사 gettext_i18n_rails : 이 gem을 사용하면 모델, 뷰, 컨트롤러의 콘텐츠를 번역할 수 있습니다. 내부적으로 fast_gettext 를 사용합니다. 또한 일상적으로는 거의 필요하지 않은 다음 Rake 태스크에 대한 접근도 제공합니다: rake gettext:add_language[language] : 새 언어 추가 rake gettext:find : Rails 애플리케이션의 거의 모든 파일을 파싱해 번역 대상으로 표시된 콘텐츠를 찾습니다. 그런 다음 이 콘텐츠로 PO 파일을 업데이트합니다. rake gettext:pack : PO 파일을 처리하여 애플리케이션이 사용하는 바이너리 MO 파일을 생성합니다. PO 편집기: PO 파일 작업에 도움이 되는 다양한 애플리케이션이 있습니다. 좋은 선택으로는 macOS, GNU/Linux, Windows에서 사용할 수 있는 Poedit 이 있습니다. 번역을 위한 페이지 준비 # 다음에 제공되는 헬퍼를 사용해 문자열을 번역 가능으로 표시합니다. 문자열은 사용 맥락이 명확하지 않은 도구에서 번역된다는 점에 유의합니다. 번역자에게 더 많은 맥락을 제공하려면 도메인별 문자열에 네임스페이스 적용을 고려합니다. 파일 유형은 네 가지입니다: Ruby 파일: 모델과 컨트롤러. HAML 파일: 뷰 파일. ERB 파일: 이메일 템플릿에 사용합니다. JavaScript 파일: 주로 Vue 템플릿으로 작업합니다. Ruby 파일 # 원시 문자열을 다루는 메서드나 변수가 있는 경우, 예를 들어: def hello "Hello world!" end 또는: hello = "Hello world!" 다음과 같이 해당 콘텐츠를 번역 대상으로 표시할 수 있습니다: def hello _( "Hello world!" ) end 또는: hello = _( "Hello world!" ) 클래스나 모듈 수준에서 문자열