Lire des modèles de Kohana et voir quelque chose que je n'ai jamais vu auparavant:
$this->template->title = __('Welcome To Acme Widgets');
Que signifient __('Text')
? Qu'Est-ce que c'est? Qu'est ce que ça fait?
Lire des modèles de Kohana et voir quelque chose que je n'ai jamais vu auparavant:
$this->template->title = __('Welcome To Acme Widgets');
Que signifient __('Text')
? Qu'Est-ce que c'est? Qu'est ce que ça fait?
Dans Kohana (version 3) la fonction est définie dans system/base.php et est une fonction de commodité à l'aide (comme les autres réponses ont mentionné) l'internationalisation. Vous fournir une chaîne de caractères (avec, éventuellement, des espaces réservés à des valeurs de substitution dans le texte) qui est ensuite interprété et, si nécessaire, une traduction est retourné.
Contrairement aux hypothèses dans d'autres réponses, ce n'est pas l'utilisation de gettext.
Un exemple très simple (la chaîne est déjà traduit en anglais, en espagnol et en français à Kohana):
// 1. In your bootstrap.php somewhere below the Kohana::init line
I18n::lang('fr');
// 2. In a view
echo __("Hello, world!"); // Bonjour, monde!
Il est string gettext ( string $message )
: http://php.net/manual/en/function.gettext.php
Renvoie une chaîne traduite si l'on est trouvé dans la table de traduction, ou de la les messages envoyés si elle ne trouve pas.
L' __() est un alias pour elle. Donc, __("some text")
est équivalent à gettext("some text")
edit: en Fait si c'est deux souligne qu'il n'est pas gettext(). L'alias pour gettext() est un trait de soulignement.
Deuxième edit: On dirait __() peut être un alias gettext(). Avec une signification légèrement différente de _(). Voir ici: http://groups.google.com/group/cake-php/browse_thread/thread/9f501e31a4d4130d?pli=1
Troisième et dernier edit: Voici un article expliquant plus en détail. Dirait qu'il n'est pas un construit en fonction, mais plutôt quelque chose qui est généralement ajouté dans un grand nombre de cadres. Il s'agit essentiellement d'un alias de gettext - il effectue la même fonction. Cependant, il n'est pas directement alias (je ne pense pas). Il est mis en œuvre dans et est spécifique au cadre. Il recherche et renvoie une localisation ou la traduction de la chaîne, il est donné. Pour en savoir plus, consultez cet article de blog: 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));
Voir http://kohanaframework.org/3.2/guide/api/I18n pour plus de détails.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.