2010-02-02 7 views
26

gettext에 대한 일반적인 현지화/번역 대안이 있습니까?gettext에 대한 대안?

오픈 소스 또는 독점권은 중요하지 않습니다.

gettext 대신 사용할 수있는 지역화 백엔드가있는 국제화 라이브러리를 말합니다.

내가 묻는 이유는 (다른 것들 중에서) gettext가 일을 약간 번거롭고 정적으로 수행하는 방법을 찾았 기 때문입니다. 주로 대개 백엔드 비트입니다.

+0

무엇 gettext를 사용하면 성가신 찾을 수 있습니까 정확히의? –

+1

특정 항목을 가리 키기는 어렵지만 비효율적 인 워크 플로와 관련이 있습니다. –

+2

나는 당신이 훨씬 더 좋은 것을 발견 할 것이라고 생각하지 않는다. 번역 및 메시지 추출 등을 처리 할 수있는 도구가 매우 다양합니다. 그것은 가장 인기있는 하나이며 아마 당신은 단지 그것을 잘 배울 필요가 있습니다. – Artyom

답변

40

우선 나는이 시점에서 gettext이 최고라고 생각합니다.

Boost.Locale은 더 나은 API를 제공 할 수 있으며 gettext의 사전 모델 http://cppcms.sourceforge.net/boost_locale/docs/ (Boost의 공식적인 부분이 아니라 여전히 베타 버전)을 사용할 수 있습니다.


편집 :

당신이

이가 ... gettext 마음에 들지 않으면 번역 기술 :

  • OASIS XLIFF
  • GNU gettext에 포/월 파일
  • PO SIX 카탈로그
  • Qt는 TS/TM 파일
  • 자바 속성,
  • 윈도우 자원. 이제

:

  • 마지막이 개 총 쓰레기 ... 매우 하드 복수 형태를 지원하지 않는, 번역 및 유지 보수 사용할 수 있습니다.
  • Qt ts/tm - Qt 프레임 워크를 사용해야합니다. gettext과 매우 유사한 모델을 사용하십시오. 나쁜 해결책은 아니지만 Qt로 제한됩니다. 일반 프로그램에서는 그다지 유용하지 않습니다.
  • POSIX 카탈로그 - 아무도 복수형 지원을 사용하지 않습니다. 쓰레기.
  • OASIX XLIFF - "표준"솔루션은 XML에 따라 다르지만 ICU조차도 특정 ICU 리소스를 사용하여 컴파일해야합니다. 제한된 번역 도구, XLIFF를 지원하는 라이브러리를 모릅니다. 사용하기 쉽지 않은 복수형 (ICU는 4.x 릴리스에서만 일부 지원 포함).

이제 우리는 무엇을 가지고 있습니까? GNU gettext는, 널리 사용되는

그래서 결정, 당신이 정말로 gettext를 그렇게 좋은 해결책이 아니라고 생각 ... 훌륭한 도구가 번역 커뮤니티에서 매우 인기가 좋은 복수 형태의 지원이있다?

나는 그렇게 생각하지 않는다. 다른 솔루션으로 전혀 작업하지 않았으므로 처음부터 어떻게 작동하는지 이해하려고 노력하십시오.

+5

이 답변은 제가 찾고 있던 답변입니다. 실제 대안. 그들이 좋든 나쁘 든간에 중요하지 않습니다. 단지 일을하는 여러 가지 방법을 볼 수 있습니다. 분명히 그렇게 많지는 않지만 요점은 아닙니다. ;) –

+1

요즘 번역은 메모장에서 수행되지 않고 현지화 및 개발을위한 WYSIWYG 도구가 있습니다. Java 또는 Windows 리소스는 다른 어떤 것보다 번역 및 유지 관리가 어렵지 않습니다. –

+3

gettext의 복수형은 일부 언어에서는 충분하지 않으며 어쨌든 문자열에서 복수형을 중첩시키는 것은 괴짜 만 처리 할 수 ​​있지만 일반 번역자는 사용할 수 없습니다 (언어 배경 포함). Java 속성에서 복수를 처리 할 수 ​​있습니다. MessageFormat을 참조하십시오. 예 : "{0, choice, 0 #은 파일이 없습니다. | 1은 하나의 파일 | 1은 {0, 숫자, 정수} 파일입니다. 쓰레기처럼 보임 (gettext와 동일) Windows 리소스가 문자열을 넘어갑니다. WYSIWYG 환경에서 번역하고 대화 상자와 메뉴를보고, 글꼴을 변경하고 (일부 언어는 필요함), 이중 단축키 등을 확인하는 도구가 있습니다. –

2

gettext()와 그 모든 pro-gettext()에 대한 흥미로운 설명입니다.

저는 대부분의 경우 제대로 작동하지 않는다고 말하는 것이 아니라 하나의 프로젝트를 관리하려고 시도하고 그것을 사용하는 경도에 압도당했습니다. 어쩌면 번역가를위한 몇 가지 사용자 인터페이스가 있을지 모르지만 나는 보지 않았습니다. 문자열의 추출과 병합은 나를 위해 그것을하지 않습니다.

이제 저는 모든 것이 XML이기 때문에 제 환경에 훨씬 더 나은 솔루션 인 XLIFF에 대해 이야기 해 주신 Artyom에게 감사드립니다. 오! 그리고 훌륭한 편집자가 있습니다. 그러나 gettext()를 좋아한다면 그들을 찾을 수 없습니다. 8)

내가 예를 들어이 일을보고 제안합니다 : 이제

https://sourceforge.net/projects/wordforge2/

, 이것은 프로그래머에게 모든 작동하도록 악몽을 줄 수 있지만, 우리가 원하는 것은 꿈이 올 것입니다 왜냐하면 나는 모든 일을해야만 gettext()로 말할 수 있기 때문에 프로그래머가 번역을하기 때문에 사실이다.)

+0

이 게시물은 오래되었음을 알고 있습니다. 아주 좋은 라이브러리 번역 툴킷 (http://toolkit.translatehouse.org/)이 있습니다. gettext의 포인트는 다음과 같습니다. 번역 할 문자열과 문자열을 정의하지 마십시오. 어떻게 그 문자열을 추출합니까. 오랜 시간이 지나면 최신 상태로 유지되는 번역 된 문자열을 어떻게 다시 가져 옵니까? 번역에 사용하는 편집기가 아닙니다. po를 XLIFF로 변환하고 Toolkit을 사용하여 스크립트를 사용하고 수작업이 필요 없습니다. – Pihhan

+0

그래, 내 경험은 내가 모든 것을 번역 할 수 있도록 모든 작업을 손으로해야했던 2004 년경이었다. 오늘 우리는 훨씬 더 좋은 도구를 가지고 있습니다! –

2

gettext *를 지원하는 Zend의 대안이있다. po/* .mo 파일 및 더 많은 형식. gettext가 모듈로 구현되고 변환 데이터를 새로 고치려면 서버를 다시 시작해야하기 때문에 많은 Apache 서버가 변환 파일을 캐시합니다.

젠드 구현이를 방지하고 지원하는 더 많은 형식 :

http://framework.zend.com/manual/1.12/en/zend.translate.html