문제

읽기 코 하나 템플릿 그리고 내가 전에 본 적이없는 것을 보았습니다.

$this->template->title = __('Welcome To Acme Widgets');

무엇을 하는가 __('Text') 평균? 무엇입니까? 그것은 무엇을합니까?

도움이 되었습니까?

해결책

Kohana (버전 3)에서 함수는 System/Base.php (다른 답변이 언급했듯이) 국제화에 도움이되는 편의 기능입니다. 문자열 (선택적으로 일부 자리 표시 자와 함께 값을 완성 된 텍스트로 대체)을 제공 한 다음 해석되고 필요한 경우 번역이 반환됩니다.

다른 답변의 가정과는 반대로 이것은 사용하지 않습니다. getText.

매우 기본적인 예는 (이 특정 문자열은 이미 Kohana에서 영어, 스페인어 및 프랑스어로 번역되어 있습니다) :

// 1. In your bootstrap.php somewhere below the Kohana::init line
I18n::lang('fr');

// 2. In a view
echo __("Hello, world!"); // Bonjour, monde!

다른 팁

Double '__'는 CakePHP (및 가능한 다른 프레임 워크)의 현지화에 사용됩니다.

http://book.cakephp.org/view/163/localization-in-cakephp

이것의 string gettext ( string $message ): http://php.net/manual/en/function.gettext.php

번역 테이블에있는 경우 번역 된 문자열을 반환하거나 찾을 수없는 경우 제출 된 메시지를 반환합니다.

__ ()는 그것에 대한 별명 일뿐입니다. 그래서 __("some text") 동일합니다 gettext("some text")

편집하다: 실제로 getText ()가 아닌 두 밑줄 인 경우. getText ()의 별칭은 하나의 밑줄입니다.

두 번째 편집 : __ ()가 getText ()의 또 다른 별칭 일 수 있습니다. _ ()와 약간 다른 의미가 있습니다. 여기를 봐: http://groups.google.com/group/cake-php/browse_thread/thread/9f501e31a4d4130d?pli=1

세 번째 및 최종 편집 : 다음은 더 자세히 설명하는 기사입니다. 기능이 내장 기능이 아니라 많은 프레임 워크에 일반적으로 추가되는 것 같습니다. 본질적으로 GetText의 별칭입니다. 동일한 기능을 수행합니다. 그러나 직접적인 별칭이 아닙니다 (생각하지 않습니다). 그것은 구현되며 프레임 워크에만 해당됩니다. 주어진 문자열의 현지화 또는 번역을 검색하고 반환합니다. 자세한 내용은이 블로그 게시물을 참조하십시오. http://www.eatmybusiness.com/food/2007/04/13/what-oneearth-does-a-double-underscore-then-parenthesis-mean-in-php-__/7/

// Display a translated message
echo __('Hello, world');

// With parameter replacement
echo __('Hello, :user', array(':user' => $username));

보다 http://kohanaframework.org/3.2/guide/api/i18n 자세한 내용은.

누군가가 __라는 함수를 만들었 음을 의미합니다 (이것은 서로 옆에 두 사람입니다.)

내 생각에 Kohana 문서의 어딘가에 정의되어있을 것입니다.

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