PHP 코드베이스의 i18n을 위한 좋은 도구/프레임워크는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/155706

  •  03-07-2019
  •  | 
  •  

문제

저는 동적 PHP 애플리케이션의 현지화 및 국제화를 활성화하기 위한 몇 가지 옵션을 살펴보았습니다.gettext 및 Yahoo의 R3와 같은 다양한 도구가 있는 것으로 보이며 개발자와 번역가 모두로부터 어떤 도구를 사용하는 것이 좋은지, 구현 및 번역 작업을 쉽게 하는 데 중요한 기능은 무엇인지 듣고 싶습니다.

도움이 되었습니까?

해결책

PHP gettext 구현은 매우 원활하게 작동합니다.그리고 po edit 및 gettext가 포함된 po 파일은 이러한 종류의 솔루션이 다양한 언어의 복잡성을 완전히 처리할 수 없다는 점을 염두에 두고 현지화를 처리할 수 있는 좋은 방법입니다.예를 들어, gettext 메소드는 복수형에 매우 적합하지만 활용과 같은 작업을 처리할 수 있는 것은 본 적이 없습니다.

자세한 내용은 여기 내 게시물을 참조하세요. 다국어 웹사이트는 어떻게 구축하나요?

다른 팁

우리는 땜질을했습니다Zend_translate, 어쨌든 우리는 Zend 프레임 워크를 사용하기 때문에. 그것은 매우 잘 문서화되어 있고 지금까지 극도로 견고합니다.

과거에는 내 자신을 거의 사용했습니다. 자란 해결책 대부분. 여기에는 상수 또는 변수가있는 언어 파일이 포함되어 있으며 모든 텍스트 부품을 보유하고 나중에보기/템플릿에 반영됩니다.

GetText의 경우, 과거에는 PHP의 GetText 구현에 대한 언급이 잘못되었다고 들었지만 지금은 실제로 그것을 뒷받침 할 수는 없습니다.

PECL에는 여러 가지 유용한 확장이 있습니다.http://pecl.php.net/packages.php?catpid=28&catname=internationalization

특히, 유니 코드 (ICU)의 국제 구성 요소에서 대부분의 주요 i18N 기능을 제공하는 PHP-Intl을 확인할 수 있습니다.

메시지를 보여주기위한 데이터베이스 중심 솔루션이 항상 좋은 것은 아니며 15 개가 넘는 언어가있는 사이트에서 일했으며 번역이 문제였습니다.

그래서 우리의 디자인은 다음과 같습니다.

  • PHP-MYSQL의 번역 앱 (번역 액세스 등)
  • 그런 다음 번역은 PHP Arrray로 작성됩니다
  • 이 배열은 또한 APC로 캐시되어 사이트의 속도를 높입니다.

따라서 다른 언어를 현지화하려면

처럼

<?php
include('lang/en.php');
include('lang/en_us.php'); // this file overrides few keys from the last one.
?>

Xataface는 임의의 PHP/MySQL 응용 프로그램을 매우 쉽게 국제화하는 데 사용될 수 있습니다. 정적 텍스트와 데이터베이스 데이터의 번역을 지원합니다. 응용 프로그램의 두 곳에 줄 또는 2 개의 코드를 추가하면 이동하는 것이 좋습니다.

http://xataface.com/documentation/tutorial/internationalization-with-dataface-0.6

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top