当前位置:  开发笔记 > 编程语言 > 正文

PHP:__('有些文字')做什么?

如何解决《PHP:__('有些文字')做什么?》经验,为你挑选了5个好方法。

阅读Kohana模板,看到我以前从未见过的东西:

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

什么__('Text')意思?它是什么?它有什么作用?



1> salathe..:

在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中.

2> 小智..:

双'__'用于CakePHP中的本地化(以及可能的其他框架)

http://book.cakephp.org/view/163/Localization-in-CakePHP



3> Daniel Bingh..:

它是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 /



4> Volshebnik..:
// Display a translated message
echo __('Hello, world');

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

有关详细信息,请参见http://kohanaframework.org/3.2/guide/api/I18n.



5> jmucchiello..:

这意味着有人创建了一个名为__的函数(这是两个彼此相邻的下划线.)

我的猜测是它在Kohana文档中的某处定义.


他问这是什么意思.这对我来说意味着他不知道这是函数调用.因人而异.
+1,并非完全没用,我同意Tim Lytle.如果这被其他*更精细的答案接受,我只会感到沮丧.
推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有