gettext 시스템은 동일한 문장에 대해 다른 언어로 번역 된 소스 텍스트 파일에서 생성 된 2 진 파일 세트에서 문자열을 반향 출력합니다.
조회 키는 "기본"언어의 문장입니다. 소스 코드에서
당신이 키와 번역 된 버전과 해당 텍스트 파일이 각 언어에 대해
echo _("Hello, world!");
뭔가를해야합니다 (printf와 기능을 사용할 수 있습니다 % s을 (를) 참고)
french
msgid "Hello, world!"
msgstr "Salut, monde!"
msgid "My name is %s"
msgstr "Mon nom est %s"
italian
msgid "Hello, world!"
msgstr "Ciao, mondo!"
msgid "My name is %s"
msgstr "Il mio nome è %s"
이
당신이 당신의 현지화를 만들기 위해 통과해야하는 주요 단계입니다
- 모든 텍스트 출력은 gettext를 기능 사용 (gettext에()를 ngettext() _())
- 사용에서 xgettext (* nix에서 스크립트) 당신의 PHP 파일을 구문 분석하고베이스와 .po 텍스트 파일
- 사용 poedit에를 만들어야합니다 와 .po 파일
- 사용 msgfmt에서 (* nix에서 스크립트)에와 .po 파일에서 바이너리 .mo 파일을 만들려면을 번역 텍스트를 추가
- 는
같은 디렉토리 구조에 .mo 파일을 넣어
로케일/de_DE/LC_MESSAGES/myPHPApp.mo
로케일/en_EN/LC_MESSAGES/myPHPApp.mo
로케일/it_IT/LC_MESSAGES/myPHPApp.mo
다음은 PHP에서
예를 사용할 필요가 로케일을 설정해야합니다 PHP 스크립트 설명서는 PHP 매뉴얼에서 항상
<?php
// Set language to German
setlocale(LC_ALL, 'de_DE');
// Specify location of translation tables
bindtextdomain("myPHPApp", "./locale");
// Choose domain
textdomain("myPHPApp");
// Translation is looking for in ./locale/de_DE/LC_MESSAGES/myPHPApp.mo now
// Print a test message
echo gettext("Welcome to My PHP Application");
// Or use the alias _() for gettext()
echo _("Have a nice day");
?>
좋은 튜토리얼
그러나 위의 대한 here을 찾아 그 부분에 대해 매우 분명하다 PHP 매뉴얼 예제는 주어진 문자열을 번역하지 않는 것 같습니다. 이 예제를 가지고 할 일이 있습니까? –