내 PHP 파일의 국제화에 gettext을 사용하고 있습니다. 두 개의 서버가 있습니다. 샌드 박스 서버 및 릴리스 서버가 있습니다. 샌드 박스 서버에서 locale/LC_MESSAGES/en과 같은 디렉토리가 작동하지 않으며 대신 locale/LC_MESSAGES/en_GB을 사용해야합니다. 그러나 "en_GB"를 사용하면 제작 서버에서 작동하지 않고 "
문자열이 변수를 포함하지 않는 한 지금까지는 gettext으로 문자열을 지역화하는 데 문제가 없었습니다. 이 excellent tutorial의 단계를 따랐지만이 함수에이 함수를 적용하려고 할 때마다 문제가 발생합니다. 이처럼 내 messages.po 모습에서 /**
* @ http://us.php.net/manual/en/function.time.php
의 MSGID을 보여주는 여기에 내가 PO 편집을 사용하여 모 파일로 컴파일이 PO 파일을 가져 내 messages.po 파일 #
msgid "_greet1"
msgstr "Hello"
msgid "_greet2"
msgstr "Bye"
이고, 나는 번역 코드 내부의 모 파일을 사용할 때 , 나는 msgstr 대신 문자열의 msgid를 보았습
내가 내 PHP 프로젝트의 다음 파일이 국가 코드없이 gettext를 사용하려고 시도 속성 -> 언어 (들과 ES_ES 각각) 그리고 localization.php 파일 $language = "es_ES.UTF-8";
putenv("LANG=$language");
setlocale(LC_ALL, $language);
bindtextdomain(STRI
php-gettext 라이브러리를 사용하여이 시스템을 개발했습니다. tutorial. 모든 것이 정상적으로 작동하고 언어 교환은 괜찮지 만,이 시스템은 시간이 지나면 변경 될 것이며 새로운 문자열이 등장 할뿐만 아니라 다른 시스템도 시스템을 떠납니다. 주 파일 .pot, .po 파일의 기존 번역을 놓치지 않으려면 어떻게 변경합니까?
이 아니므로 문제는 다음과 같습니다. 각 언어에 대한 콘텐츠 배열을 gettext 사이트로 변환하여 원래 언어에 2 개 추가했습니다. 내 기본 언어는 es_MX이고 en_US 및 fr_FR 번역이 있습니다. 나는 로케일에 정보를 전달하는 htaccess로에서 다음 매개 변수를 사용 : 나는 검사 할 때이 RewriteRule ^/?$ index.php
작동하지 (나는 theotherquestions을 본 적이 있지만 그들의 대답은 나에게 도움이되지 않았다) 나는 번역을위한 PHP는 gettext를 사용하는 응용 프로그램을 가지고 있고,에 년 동안 일하고있다 OSX 및 FreeBSD. 데비안 7.6 32 비트 (Linux debian32bit 3.2.0-4-686-pae #1 SMP Debian 3.2.6
PHP 프로젝트에서 전통 중국어를 지원하려고하지만 중국어 문자를 표시 할 수 없습니다. 내가 SSH에서 로케일을 생성 putenv("LC_ALL=zh_CN.utf8");
setlocale(LC_ALL, "zh_CN.utf8");
bindtextdomain("wpsmessages", dirname(__FILE__) . "/locale");
bind_te
직장에서 우리 사이트를 3 개의 추가 언어로 번역하기로 결정했으며이를 수행하는 방법을 조사했습니다. 나는 하루의 더 나은 부분을 구글과 stackoverflow 검색, 모든 다른 솔루션을 시도했지만 내가 그것을 작동하게 만들 수 없습니다 보냈습니다. Windows 7 Home edition (내 개발 컴퓨터)에서는 불가능하다고 두려워하기 시작합니다. //
내 PHP 프레임 워크 (CakePHP) 내에서 POT 파일을 생성하기위한 i18n 도구입니다. 파일의 헤더과 같이 생성됩니다 protected function _writeHeader() {
$output = "# LANGUAGE translation of CakePHP Application\n";
$output .= "# Copyrigh