Question

Lecture sur modèles Kohana et a vu quelque chose que j'ai jamais vu auparavant:

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

Qu'est-ce que __('Text') signifie? Qu'Est-ce que c'est? Que faut-il faire?

Était-ce utile?

La solution

Kohana (version 3), la fonction est définie dans / base.php et est une fonction de la commodité de l'internationalisation aide (comme les autres réponses ont mentionné). Vous fournissez une chaîne (avec, le cas échéant, des espaces réservés à remplacer des valeurs dans le texte final) qui est ensuite interprété et, le cas échéant, une traduction est renvoyée.

Contrairement aux hypothèses dans d'autres réponses, cela n'utilise pas gettext .

Un exemple très basique serait (cette chaîne particulière est déjà traduit en anglais, espagnol et français en Kohana):

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

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

Autres conseils

Le double '__' est utilisé pour la localisation en CakePHP (et d'autres cadres possibles)

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

Il est string gettext ( string $message ): http://php.net/manual/en/function. gettext.php

  

Retourne une chaîne traduite, si elle est   trouvé dans la table de traduction, ou   un message s'il n'a pas trouvé.

Le __ () est juste un alias pour elle. Donc __("some text") équivaut à gettext("some text")

modifier En fait, si elle est deux underscores que ce n'est pas gettext (). L'alias pour gettext () est un trait de soulignement.

Deuxième édition: On dirait __ () pourrait être un autre alias pour gettext (). Avec un sens légèrement différent de _ (). Voir ici: http://groups.google.com / groupe / cake-php / browse_thread / fil / 9f501e31a4d4130d? PLI = 1

Troisième et dernière édition: Voici un article expliquant plus en détail. On dirait que ce ne soit pas une fonction intégrée, mais plutôt quelque chose qui est souvent ajouté dans un grand nombre de cadres. Il est essentiellement un alias de gettext - il effectue la même fonction. Cependant, il est un alias directe (je ne pense pas). Il est mis en œuvre et est spécifique au cadre. Il recherche et renvoie une localisation ou la traduction de la chaîne, il est donné. Pour plus, voir ce billet de blog: http://www.eatmybusiness.com/food/2007/04/13/what-on-earth-does-a-double-underscore-then -parenthesis-moyen-en-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.

Cela signifie que quelqu'un a créé une fonction nommée __ (C'est deux underscores à côté de l'autre.)

Je pense qu'il définit quelque part dans la documentation Kohana.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top