InfoGrab DocsInfoGrab Docs

GitLab 국제화(i18n)

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

국제화(i18n) 작업에는 GNU gettext 를 사용합니다. 이 도구는 해당 작업에서 가장 널리 사용되며, 이를 활용하는 다양한 애플리케이션이 존재합니다. 이 페이지에 설명된 모든 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!") 클래스나 모듈 수준에서 문자열을