W开发者_开发知识库hat does the double underscores in these lines of PHP code mean?
$WPLD_Trans['Yes'] = __('Yes', $WPLD_Domain);
$WPLD_Trans['No'] = __('No', $WPLD_Domain);
It looks like you're using WordPress - wp-includes/l10n.php
defines __ as a function that translates a string (similar to gettext
and its alias, _
, but with an optional parameter for explicitly specifying a domain).
Strictly speaking, it means nothing in PHP as it is not a pre-defined function. However, in many frameworks, like CakePHP, and other libraries the double underscore is a function used for translating strings based on the user's language/locale preference.
WordPress documents its __() function, and part of the localisation technology on Working with WordPress Core – Translate WordPress.
It is difficult to find documentation because __(), __('') or __("") is not very searchable. Double underscore and parentheses (round brackets) are some keywords to use.
As mentioned it is generally used for translating text between languages but really it is used in the same context as any function call.
testfunction();
is no different then
__();
A similar or third-party GNU gettext based implementation is gettext():
Note: You may use the underscore character '_' as an alias to this function.
精彩评论