2010-12-01 3 views
11

C 프로그램 에서 gettext를 사용하여 가장 많이 사용되는 텍스트 항목을 번역하기 시작했지만 조금 파고 들었을 때 비트가 모든 다른 파일 형식에 대해 혼란스러워했습니다. 일부 겹침 부분이있는 것 같습니다. 기능성?다른 gettext 파일 형식은 무엇에 사용됩니까?

나는 다른 형식의 개요

  • .po
  • .pot
  • .mo
  • .gmo
  • 을 얻을 싶습니다 (다른 형식이 내가 제외한?)를

및 알아보기

  • 일반적인 워크 플로는 무엇입니까?
  • 이 파일 형식에는 무엇이 들어 있습니까?
  • 일반적으로 어떤 도구가 사용됩니까?
  • 어떤 "반대"방향 변환이 가능합니까 (1)?

(1) 나는 msgunfmt가와 .po하는 .mo 변환 수 있다는 것을 알고 있지만, .mo 때문에 나는이 무손실 과정이 아니다 가정합니다 마지막 최종 형식입니다. 나는. hello1.mo에서 hello2.po로 변환 한 다음 hello2.po 을 hello3.mo로 변환하면 hello1.mo와 hello3.mo가 동일한 언어 문자열 을 포함하지만 일부 메타 정보가 손실된다고 가정합니다. 이 손실됩니다. 길을 따라, 오른쪽?

답변

12

내가 잘못 그러나 수 :

.POT - 사람이 읽을 수 gettext를 템플릿 파일 - 당신은 (사람?) 번역가에게 줄 것이 무엇이.

.po - 사람이 읽을 수있는 gettext는 POT 기반의 번역 된 파일로 번역사가 제공합니다.

.mo - 실제 번역을 수행 할 때 PHP에서 사용할 수있는 기계 판독 가능 코드 (바이트 코드?). 이 형식은 PHP로 피드하는 것입니다. 대부분의 프로그램에서 이해할 수있는 일반적인 형식이지만 모든 gnu gettext 기능을 지원하지는 않습니다. 이것은 gmo가 들어오는 곳입니다.

.gmo - .gmo로 끝나는 파일은 실제로 이러한 파일이 GNU 형식을 사용하는 것으로 알려진 MO 파일입니다.


당신은 .POT 처리 할 수 ​​poedit을 사용할 수 있습니다 ->와 .po -> .mo

more info

P.S.을 프로그래머들만이 PO 나 XML과 같은 형식을 사람이 읽을 수있는 형식이라고 부릅니다. 또한 - 아마도 .o를 .po로 변환 할 필요가 없습니다 ... 음 .. 적어도이 것은 일반적인 시나리오처럼 보이지 않습니다. :)

+0

좋은 답변입니다! 감사. –

+1

Upvote 단지 "프로그래머 만이 PO 또는 XML과 같은 형식을 사람이 읽을 수있는 형식이라고 부릅니다."종종 잊혀지지 만 사실입니다. – jforberg

관련 문제