이 문서는 지원되지 않는 버전의 스포츠 토토 베트맨stgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다토토 베이 : 문서 : 17 : 55 장 모국어 지원버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9 장 모국어 지원하다

9.1. 번역기를 위해

스포츠 토토 베트맨stgresql프로그램 (서버 그리고 고객)은 좋아하는 언어로 메시지를 발급 할 수 있습니다. - 메시지가 번역 된 경우. 창조 및 번역 된 메시지 세트를 유지하려면 사람들의 도움이 필요합니다 자신의 언어를 잘 말하고에 기여하고 싶은 사람스포츠 토토 베트맨stgreSQL노력. 당신은 그렇지 않습니다 이 작업을 수행하려면 프로그래머가되어야합니다. 이 섹션 도와주는 방법을 설명합니다.

9.1.1. 요구 사항

우리는 귀하의 언어 능력을 판단하지 않을 것입니다 -이 섹션은 다음과 같습니다. 소프트웨어 도구 정보. 이론적으로 텍스트 만 있으면됩니다 편집자. 그러나 이것은 당신이 할 가능성이 거의없는 이벤트 일뿐입니다. 번역 된 메시지를 시도하고 싶지 않습니다. 당신이 소스 트리를 구성하고 사용하십시오.--enable-nls옵션. 이것은 또한 확인합니다 libintl 라이브러리와msgfmt프로그램. 모든 최종 사용자가 어쨌든 필요합니다. 시험해 보려면 귀하의 작업은 설치의 해당 부분을 따르십시오 지침.

새로운 번역 노력을 시작하거나 원하는 경우 메시지 카탈로그 병합 (나중에 설명)을 작성하면 필요합니다. 프로그램XGETTEXTandmsgmerge각각 a GNU 호환 구현. 나중에 우리는 준비하려고 노력할 것입니다 패키지 소스 배포를 사용하는 경우 필요하지 않습니다XGETTEXT. (CVS에서, 당신 여전히 필요할 것입니다.) GNU GetText 0.10.36 이상입니다. 현재 권장됩니다.

로컬 GetText 구현에는 자체적으로 제공되어야합니다 선적 서류 비치. 그 중 일부는 아마도 무엇에서 복제되어있을 것입니다 다음에 따르면 자세한 내용은 살펴 봐야합니다 거기.

9.1.2. 개념

원본 (영어) 메시지와 그 쌍 (아마도) 번역 된 등가물에 보관됩니다메시지 카탈로그, 각 프로그램 당 하나 (관련 프로그램은 메시지 카탈로그를 공유 할 수 있지만) 및 각 대상 언어에 대해. 두 가지 파일 형식이 있습니다 메시지 카탈로그 : 첫 번째는입니다."스포츠 토토 베트맨"파일 (휴대용 객체의 경우) 번역가가 편집하는 특수 구문이있는 일반 텍스트 파일. 두 번째는입니다."Mo"파일 (for Machine Object), 이것은 각각의 PO 파일이며 국제화 중에 사용됩니다 프로그램이 실행됩니다. 번역자는 MO 파일을 다루지 않습니다. ~에 사실은 거의 없습니다.

메시지 카탈로그 파일의 확장자는 아니오입니다. 놀람.스포츠 토토 베트맨또는.mo. 기본 이름은 이름입니다 첨부 된 프로그램 또는 파일의 언어, 상황에 따라. 이것은 약간 혼란 스럽습니다. 예 이다psql.스포츠 토토 베트맨(PO 파일에 대한 PO 파일) 또는fr.mo(프랑스어의 MO 파일).

스포츠 토토 베트맨 파일의 파일 형식이 여기에 설명되어 있습니다 :

# 댓글

msgid "원래 문자열"
msgstr "번역 된 문자열"

msgid "더 독창적"
msgstr "다른 번역"
"이렇게 문자열이 분해 될 수있다"

...

MSGID는 프로그램 소스에서 추출됩니다. (그들 할 필요는 없지만 이것은 가장 일반적인 방법입니다.) msgstr 선은 처음에는 비어 있고 유용한 것으로 채워집니다. 번역기의 줄. 문자열에는 C 스타일이 포함될 수 있습니다 캐릭터를 탈출하며 라인을 통해 계속 될 수 있습니다 삽화가 든. (다음 줄은 시작 부분에서 시작해야합니다 라인.)

# 문자는 주석을 소개합니다. Whitespace 인 경우 즉시 # 문자를 따르는 경우 댓글입니다. 번역가가 유지합니다. 자동도있을 수도 있습니다 즉시 비 스페이스 캐릭터가있는 의견 다음 #. 이들은 다양한 도구로 유지됩니다 PO 파일에서 작동하며 역자.

#. 자동 의견
#: filename.c : 1023
#, 깃발, 깃발

#. 스타일 댓글은 소스 파일에서 추출됩니다 메시지가 사용되는 곳. 아마도 프로그래머는 About와 같은 번역기에 대한 삽입 된 정보 예상 정렬. #: 댓글은 정확한 것을 나타냅니다 소스에서 메시지가 사용되는 위치. 그만큼 번역가는 프로그램 소스를 볼 필요는 없지만 올바른 번역에 대한 의심이 있습니다. #, 댓글 메시지를 어떤 식 으로든 묘사하는 플래그를 포함합니다. 거기 현재 두 깃발입니다 :퍼지is 메시지가 구식으로 설정된 경우 설정 프로그램 소스의 변경. 그런 다음 번역기가 확인할 수 있습니다 이것은 퍼지 플래그를 제거 할 수 있습니다. 퍼지 최종 사용자가 메시지를 사용할 수 없습니다. 다른 하나 플래그는c- 포름메시지가 Aprintf-스타일 형식 템플릿. 이것은 의미합니다 번역은 또한 형식 문자열이어야합니다. 동일한 수와 유형의 자리 표시 자. 그 도구가 있습니다 c- 형식 플래그에서 어떤 키를 끄는지 확인할 수 있습니다.

9.1.3. 메시지 카탈로그 작성 및 유지 관리

좋아요"blank"메시지 카탈로그? 먼저, 들어갑니다 메시지가 원하는 프로그램을 포함하는 디렉토리 번역. 파일이있는 경우nls.mk,이 프로그램이 준비되었습니다 번역 용.

이미 일부가있는 경우.스포츠 토토 베트맨파일이면 누군가 이미 일부 번역 작업을 수행했습니다. 파일의 이름이언어.스포츠 토토 베트맨, 여기서언어ISO 639-12 글자 언어 코드 (in 소문자), 예 :fr.스포츠 토토 베트맨프랑스 국민. 실제로 둘 이상이 필요한 경우 언어 당 번역 노력은 파일도 이름언어_지역.스포츠 토토 베트맨여기서지역ISO 3166-12 글자 국가 코드 (in 대문자), 예 :pt_br.스포츠 토토 베트맨브라질의 포르투갈어. 당신이 원한 언어를 찾으면 그 파일에서 작업을 시작할 수 있습니다.

새로운 번역 노력을 시작 해야하는 경우 먼저 명령 실행

Gmake init-스포츠 토토 베트맨

파일 생성Progname.스포츠 토토 베트맨t. (.스포츠 토토 베트맨t스포츠 토토 베트맨 파일과 구별하려면"생산". t 대기? 모르겠어요.)이 파일을에 복사합니다.언어.스포츠 토토 베트맨편집하십시오. 새로운 언어라는 것을 알리기 위해 사용 가능하고 파일 편집nls.mk그리고 언어 (또는 언어 및 컨트리) 모양의 코드 :

avail_languages ​​: = de fr

(물론 다른 언어가 나타날 수 있습니다.)

기본 프로그램 또는 라이브러리가 변경됨에 따라 메시지가 변경 될 수 있습니다 프로그래머가 변경하거나 추가합니다. 이 경우 당신은 그렇게합니다 처음부터 시작할 필요가 없습니다. 대신, 명령을 실행

Gmake update-스포츠 토토 베트맨

새 빈 메시지 카탈로그 파일을 생성합니다 ( 당신이 시작한 냄비 파일) 기존 PO 파일. 병합 알고리즘이 확실하지 않은 경우 a 특별한 메시지는 그것을 표시합니다"퍼지"위에서 설명한대로. 경우 어디에 뭔가 잘못되었고, 오래된 스포츠 토토 베트맨 파일은 a로 저장됩니다..스포츠 토토 베트맨.old확장.

9.1.4. PO 파일 편집

PO 파일은 일반 텍스트 편집기로 편집 할 수 있습니다. 그만큼 번역기는 따옴표 사이의 영역 만 변경해야합니다 msgstr 지시문 후에 의견을 추가하고 변경할 수 있습니다. 퍼지 깃발. EMAC에 대한 PO 모드가 (의심 할 여지없이) 꽤 유용하다고 생각합니다.

PO 파일을 완전히 채울 필요는 없습니다. 소프트웨어는 자동으로 원래 문자열로 돌아갑니다 번역 (또는 빈 번역)이없는 경우. 그것 불완전한 번역을 제출하는 데 문제가 없습니다 소스 트리의 포함; 그것은 다른 사람을위한 공간을 제공합니다 사람들이 당신의 작품을 집어 들었습니다. 그러나 당신은 권장됩니다 병합 후 퍼지 항목을 제거하는 데 우선 순위를 부여하십시오. 퍼지 항목은 설치되지 않습니다. 그들은 단지 올바른 번역이 될 수있는 참조 역할을합니다.

편집하는 동안 명심해야 할 사항이 있습니다. 번역 :

  • 원본이 Newline으로 끝나면 번역도 마찬가지입니다. 탭 등과 유사하게

  • 원본이 printf 형식 문자열 인 경우 번역도 필요합니다. 번역도 필요합니다 동일한 순서로 동일한 형식 지정자를 갖습니다. 때로는 언어의 자연스러운 규칙이 이것을 만듭니다 불가능하거나 적어도 어색합니다. 이 경우 사용할 수 있습니다 이 형식 :

    msgstr "die datei %2 $ s 모자 %1 $ U Zeichen."

    그러면 첫 번째 자리 표시자는 실제로 사용합니다 목록에서 두 번째 인수. 그만큼Digits$%를 따라야하고 다른 형식보다 앞서야합니다. 조작기. (이 기능은 실제로에 있습니다printf기능 가족. 사용이 거의 없기 때문에 들어 본 적이 없을 수도 있습니다. 메시지 국제화 외부에서.)

  • 원래 문자열에 언어 실수가 포함 된 경우 보고 (또는 프로그램 소스에서 직접 수정하십시오) 정상적으로 번역하십시오. 수정 된 문자열이 될 수 있습니다 프로그램 소스가 업데이트되었을 때 병합되었습니다. 만약에 원래 문자열에는 사실적인 실수가 포함되어 있습니다 그 (또는 직접 고치고) 번역하지 마십시오. 대신, 당신은 문자열을 PO에서 주석으로 표시 할 수 있습니다. 파일.

  • 원래 문자열의 스타일과 톤을 유지합니다. 구체적으로 문장이 아닌 메시지 (파일을 열 수 없음 %s)는 아마도 안됩니다 대문자로 시작하십시오 (언어가있는 경우 문자 케이스를 구별) 또는 기간 ( 언어는 문장 부호를 사용합니다).

  • 메시지가 무엇을 의미하는지 모르거나 모호하고 개발자의 메일 링리스트를 문의하십시오. 기회 영어를 사용하는 최종 사용자도 그렇지 않을 수도 있습니다 그것을 이해하거나 모호한 것을 찾으므로 메시지 개선.