program story

PHP : __ ( 'Some text')는 무엇을합니까?

inputbox 2020. 11. 12. 08:13
반응형

PHP : __ ( 'Some text')는 무엇을합니까?


Kohana 템플릿 에 대해 읽고 전에 본 적이없는 것을 보았습니다.

$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!

이중 '__'는 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-on-earth-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 문서 어딘가에 정의되어 있습니다.

참고 URL : https://stackoverflow.com/questions/2427204/php-what-does-some-text-do

반응형