설치
당신은 작곡가를 통해"audero shared gettext "를 얻을 수 있으며 Composer.json에 다음 줄을 추가 할 수 있습니다.
그런 다음 설치 명령을 실행하여 구문 분석하고 종속성을 다운로드합니다.
Composer를 사용하고 싶지 않다면 (실제로해야합니다) 다음 명령을 실행하여 Audero 공유 GetText를 GIT를 통해 얻을 수 있습니다.
마지막 옵션은 저장소에 액세스하여 아카이브로 다운로드하는 것입니다.
Audero 공유 GetText를 사용하는 방법
Composer를 사용하여 Audero 공유 GetText를 얻는다 고 가정 해보십시오. 이는 Autoloader에 의존하여 클래스를 동적으로로드 할 수 있습니다. 그런 다음 SharedGetTex 인스턴스를 생성하고 필요한 메소드를 호출해야합니다. 다음 예제와 같이 위에서 언급 한 방법 중 하나를 사용할 수 있습니다.
<code class="language-php">/**
* 创建翻译文件的镜像副本
*
* @return string 创建的翻译文件的名称(在gettext中称为域)
*
* @throws \Exception 如果找不到翻译文件
*/
public function updateTranslation()
{
if (!self::translationExists()) {
throw new \Exception('在给定路径中找不到翻译文件。');
}
$originalTranslationPath = $this->getTranslationPath();
$lastAccess = filemtime($originalTranslationPath);
$newTranslationPath = str_replace(self::FILE_EXTENSION, $lastAccess . self::FILE_EXTENSION, $originalTranslationPath);
if(!file_exists($newTranslationPath)) {
copy($originalTranslationPath, $newTranslationPath);
}
return $this->domain . $lastAccess;
}</code>
결론
이 기사는 Apache가 캐시하는 getText () 함수를 통해로드 된 번역 문제를 우회 할 수있는 간단한 라이브러리 (Well ... 클래스) 인 Audero Shared GetText를 소개합니다. Audero Shared GetText는 네임 스페이스를 사용하기 때문에 최소한 PHP 5.3 (한동안 릴리스되었습니다)이 필요하기 때문에 광범위한 호환성을 가지고 있습니다. 저장소에 포함 된 데모 및 파일을 자유롭게 사용하고 문제가있는 경우 풀 요청 및 질문을 제출하십시오. CC By-NC 4.0 라이센스에 따라 Audero Shared GetText를 출시하여 무료로 사용할 수 있습니다.
이 문제를 겪었습니까? 어떻게 해결 했습니까? 부끄러워하지 말고 의견에 솔루션을 게시하십시오!
(다음은 FAQ 부분이며, 원본 텍스트를 기반으로 의사 원리였으며 원본 텍스트를 염두에두고 있습니다)
공유 호스팅에서 GetText Translation을 관리 할 때 FAQ (FAQ)
공유 호스팅에 GetText를 설치하는 방법은 무엇입니까?
공유 호스팅에 getText를 설치하는 것은 루트 액세스가 없을 수 있으므로 약간 까다로울 수 있습니다. 그러나 여전히 CPANEL 또는 PLESK를 통해 설치할 수 있습니다. CPANEL에서는 SELECT PHP 버전 섹션에서 GetText를 활성화하는 옵션을 찾을 수 있습니다. Plesk에서는 "PHP 설정"섹션에서 활성화 할 수 있습니다. 이 옵션을 찾을 수없는 경우 호스팅 제공 업체에 문의하여 도움을 요청해야 할 수도 있습니다.
내 gettext 번역이 작동하지 않는 이유는 무엇입니까?
GetText 번역은 몇 가지 이유로 작동하지 않습니다. 일반적인 문제는 .MO 파일이 올바르게 컴파일되지 않았거나 파일 경로가 올바르지 않다는 것입니다. .MO 파일이 올바른 디렉토리에 있고 코드의 파일 경로가 올바른지 확인하십시오. 또 다른 문제는 사용중인 로케일이 서버에서 지원하지 않는다는 것입니다. Locale -a 명령으로 이것을 확인할 수 있습니다.
GetText Translation을 디버그하는 방법은 무엇입니까?
디버깅 GetText Translation은 .po 및 .mo 파일의 오류를 확인하여 GetText Translation을 수행 할 수 있습니다. Poedit과 같은 도구를 사용하여 이러한 파일을 열고 구문 오류를 확인할 수 있습니다. 또한 코드에서 GetText 함수를 사용하여 변환이 올바르게 가져 오는지 확인할 수 있습니다. 함수가 원래 문자열을 반환하면 변환을 찾을 수 없습니다.
WordPress에서 getText를 사용할 수 있습니까?
예, WordPress에서 getText를 사용할 수 있습니다. WordPress는 GetText를 현지화 프레임 워크로 사용합니다. WordPress에서 __ () 및 _e () 함수를 사용하여 변환을받을 수 있습니다. 이러한 기능은 백그라운드에서 getText를 사용합니다.
내 gettext 번역을 업데이트하는 방법은 무엇입니까?
.PO 파일을 업데이트 한 다음 .MO 파일로 컴파일하여 GetText 변환을 업데이트 할 수 있습니다. .po 파일은 모든 텍스트 편집기와 함께 열 수있는 일반 텍스트 파일입니다. 변경이 완료되면 Poedit과 같은 도구를 사용하여 .po 파일을 .mo 파일로 컴파일 할 수 있습니다.
"패키지 php-gettext를 찾을 수 없음"오류가 발생하는 이유는 무엇입니까?
이 오류는 일반적으로 서버가 사용중인 저장소에서 패키지를 사용할 수없는 경우에 발생합니다. sudo apt-get update 명령을 사용하여 패키지 목록을 업데이트 할 수 있습니다. 오류가 지속되면 다른 저장소를 추가하거나 패키지를 수동으로 설치해야 할 수도 있습니다. PHP에서 getText를 사용하는 방법은 무엇입니까?
getText 함수를 사용하여 PHP에서 getText를 사용할 수 있습니다. 이 함수는 문자열을 인수로 사용하고 번역 된 문자열을 반환합니다. 이 기능을 사용하기 전에 SetLocale 함수를 사용하여 로케일 함수를 설정하고 BindTextDomain 함수를 사용하여 .MO 파일로의 경로를 지정해야합니다.
우분투에서 getText를 사용할 수 있습니까?
예, Ubuntu에서 getText를 사용할 수 있습니다. sudo apt-get install getText 명령을 사용하여 설치할 수 있습니다. 설치 후 터미널의 getText 명령을 사용하여 .po 및 .mo 파일을 처리 할 수 있습니다.
<.> .po 및 .mo 파일을 만드는 방법은 무엇입니까?
<.> Poedit과 같은 도구를 사용하여 .po 및 .mo 파일을 만들 수 있습니다. 이 도구를 사용하면 .po 파일을 작성하고 편집하고 자동으로 .MO 파일로 컴파일 할 수 있습니다. 텍스트 편집기를 사용하여 수동으로 .po 파일을 만들 수도 있지만 .mo 파일로 컴파일하려면 Poedit 또는 MSGFMT와 같은 도구가 필요합니다.
.po와 .mo 파일의 차이점은 무엇입니까?
.po 파일은 원래 문자열과 해당 변환이 포함 된 일반 텍스트 파일입니다. 텍스트 편집기를 사용하여 열리고 편집 할 수 있습니다. 반면 .MO 파일은 .po 파일에서 생성 된 이진 파일입니다. getText에서 런타임에 번역을 얻는 데 사용됩니다.