이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 55.1. 스포츠 토토 결과를 위해버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

47.1. 토토 핫를 위해

PostgreSQL프로그램 (서버 그리고 고객)은 좋아하는 언어로 메시지를 발행 할 수 있습니다. 메시지가 토토 핫 된 경우. 창조 및 유지 토토 핫 된 메시지 세트는 자신의 말을하는 사람들의 도움이 필요합니다. 자신의 언어를 잘하고에 기여하고 싶습니다PostgreSQL노력. 당신은 할 필요가 없습니다 이 작업을 수행 할 프로그래머. 이 섹션에서는 방법을 설명합니다 돕다.

47.1.1. 요구 사항

우리는 당신의 언어 능력을 판단하지 않을 것입니다 -이 섹션은 소프트웨어 도구. 이론적으로 텍스트 편집기 만 있으면됩니다. 하지만 이것은 당신이 시도하고 싶지 않을 가능성이없는 이벤트에만 있습니다. 토토 핫 된 메시지를 제거하십시오. 소스를 구성 할 때 나무, 반드시를 사용하십시오--enable-nls옵션. 이것은 또한를 확인합니다.libintl도서관 및msgfmt프로그램, 모든 최종 사용자에게 필요한 프로그램 그래도. 작업을 시도하려면 해당 부분을 따르십시오. 설치 지침.

새로운 토토 핫 노력을 시작하거나하고 싶다면 메시지 카탈로그 병합 (나중에 설명)이 필요합니다. 프로그램XGETTEXTmsgmerge각각 GNU 호환 구현. 나중에, 우리는 당신이 포장 된 소스 배포를 사용하면 필요하지 않습니다XGETTEXT. (CVS에서 일하는 경우에도 여전히 가능합니다 필요합니다.)gnu gettext 0.10.36또는 나중에 현재 권장됩니다.

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

47.1.2. 개념

원본 (영어) 메시지와 그 쌍 (아마도) 토토 핫 된 등가물에 보관됩니다메시지 카탈로그, 각 프로그램 당 하나 (관련 프로그램은 메시지 카탈로그를 공유 할 수 있지만) 각 대상 언어. 메시지에는 두 가지 파일 형식이 있습니다 카탈로그 : 첫 번째는입니다."PO"파일 (휴대용 객체의 경우), 특별한 텍스트 파일입니다. 토토 핫가가 편집 한 구문. 두 번째는입니다."Mo"파일 (기계 오브젝트의 경우) 각 PO 파일에서 생성 된 이진 파일은 사용됩니다. 국제화 된 프로그램이 운영되는 동안. 토토 핫가는 그렇지 않습니다 MO 파일을 다루십시오. 실제로 아무도하지 않습니다.

메시지 카탈로그 파일의 확장은 놀라운 일이 아닙니다. 어느 하나.po또는.mo. 기본 이름은 이름입니다 첨부 된 프로그램 또는 파일의 언어, 상황에 따라. 이것은 약간 혼란 스럽습니다. 예 이다psql.po(PO 파일에 대한 PO 파일) 또는fr.mo(프랑스어의 MO 파일).

PO 파일의 파일 형식이 여기에 설명되어 있습니다.

# 댓글

msgid "원래 문자열"
msgstr "토토 핫 된 문자열"

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

...

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

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

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

#. 스타일 댓글은 소스 파일에서 추출됩니다 메시지가 사용되는 곳. 아마도 프로그래머가 삽입했을 것입니다 예상 소개와 같은 토토 핫에 대한 정보 조정. #: 댓글은 정확한 위치를 나타냅니다 메시지는 소스에 사용됩니다. 토토 핫는 볼 필요가 없습니다 프로그램 소스에서는 의심의 여지가 있다면 올바른 번역. #, 주석에는 그 깃발이 포함되어 있습니다 어떤 식 으로든 메시지를 설명하십시오. 현재 두 가지가 있습니다 깃발 :퍼지메시지가있는 경우 설정됩니다 프로그램의 변화로 인해 구식 일 수 있습니다 원천. 그런 다음 번역기는 이것을 확인하고 제거 할 수 있습니다 퍼지 깃발. 퍼지 메시지를 사용할 수 없습니다 최종 사용자에게. 다른 깃발은C-Format, 메시지가 a임을 나타냅니다.printf-스타일 형식 템플릿. 이것은 토토 핫이 형식 문자열이어야 함을 의미합니다. 동일한 수와 유형의 자리 표시 자. 도구가 있습니다 C- 형식 플래그에서 어떤 키를 제거하는지 확인할 수 있습니다.

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

OK, 어떻게 A를 만드는 방법"blank"메시지 카탈로그? 먼저, 들어갑니다 메시지를 원하는 프로그램을 포함하는 디렉토리 번역하다. 파일이있는 경우nls.mk, 그런 다음이 프로그램은 번역을 위해 준비되었습니다.

이미있는 경우.po파일이면 누군가가 이미 일부 토토 핫 작업을 수행했습니다. 그만큼 파일은 이름이언어.po, 여기서언어ISO 639-1 2 글자 언어 코드 (소문자), 예 :fr.po프랑스어. 있다면 언어 당 하나 이상의 번역 노력이 필요합니다. 그런 다음 파일의 이름도언어_지역.po여기서지역ISO 3166-1 2 글자 국가 코드 (상단 사례), 예 :pt_br.po브라질의 포르투갈어. 당신이 원한 언어를 찾으면 그 파일에서 작업을 시작할 수 있습니다.

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

Gmake init-po

파일 생성Progname.pot. (.potPO 파일과 구별하려면"생산". 그만큼t"템플릿".)이 파일을에 복사하십시오.언어.po및 편집하십시오. 새로운 언어를 사용할 수 있다는 것을 알리기 위해 또한 파일 편집nls.mk를 추가하십시오 언어 (또는 언어 및 국가) 코드가 보이는 줄에 코드 좋다:

avail_languages ​​: = de fr

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

기본 프로그램 또는 라이브러리가 변경됨에 따라 메시지가 변경 될 수 있습니다 프로그래머가 변경하거나 추가합니다. 이 경우에는 그렇지 않습니다 처음부터 시작해야합니다. 대신, 명령을 실행하십시오 :

Gmake update-po

새 빈 메시지 카탈로그 파일을 생성합니다 (냄비 시작한 파일)) 및 기존 PO와 병합합니다. 파일. 병합 알고리즘이 특정에 대해 확실하지 않은 경우 메시지가 표시됩니다"퍼지"AS 위에서 설명했습니다. 새 PO 파일은 a로 저장됩니다..po.new확장.

47.1.4. PO 파일 편집

PO 파일은 일반 텍스트 편집기로 편집 할 수 있습니다. 그만큼 번역기는 따옴표 사이의 영역 만 변경해야합니다. msgstr 지시문, 주석을 추가하고 퍼지 플래그를 변경하십시오. EMAC에 대한 PO 모드가 (당연히) 있습니다. 매우 유용합니다.

PO 파일을 완전히 채울 필요는 없습니다. 소프트웨어 아니오이면 자동으로 원래 문자열로 돌아갑니다. 번역 (또는 빈 번역)을 사용할 수 있습니다. 아니요 내포물에 대한 불완전한 번역을 제출하는 문제 소스 트리; 다른 사람들이 당신의 일하다. 그러나 제거에 우선 순위를 부여하는 것이 좋습니다 병합 후 퍼지 항목. 퍼지 항목을 기억하십시오 설치되지 않습니다. 그들은 무엇에 대한 참조 역할을합니다 올바른 번역 일 수 있습니다.

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

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

  • 원본이 a 인 경우printf형식 문자열, 번역 또한해야합니다. 번역에도 필요합니다 동일한 순서의 동일한 형식 지정자. 때때로 언어의 자연스러운 규칙은 이것을 불가능하게 만듭니다. 최소한 어색합니다. 이 경우 형식을 수정할 수 있습니다 다음과 같은 지정자 :

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

    그러면 첫 번째 장소 보유자는 실제로 두 번째 장소를 사용합니다 목록에서 논쟁. 그만큼Digits$%를 따라야합니다. 즉시 다른 형식 조작기 앞에. (이것 기능은 실제로에 존재합니다.printf기능 가족. 당신은 그렇지 않을 수도 있습니다 사용이 거의 없기 때문에 전에 들어 보았습니다. 메시지 국제화 외에.)

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

  • 원래 문자열의 스타일과 톤을 유지하십시오. 구체적으로 문장이 아닌 메시지 (파일을 열 수 없음 %s)는 아마도 안됩니다 대문자로 시작하십시오 (언어가 구별되는 경우 문자 케이스) 또는 기간으로 끝나십시오 (언어가 사용하는 경우 구두점 마크). 읽는 데 도움이 될 수 있습니다섹션 46.3.

  • 메시지가 무엇을 의미하는지, 또는 모호하고 개발자의 메일 링리스트를 문의하십시오. 기회입니다 영어를 사용하는 최종 사용자도 이해하지 못할 수도 있습니다 그것은 모호하거나 모호하다고 생각하므로 개선하는 것이 가장 좋습니다. 메시지.