Maison >php教程 >PHP开发 >Méthode de mise en œuvre de l'internationalisation du didacticiel du cadre YII Framework

Méthode de mise en œuvre de l'internationalisation du didacticiel du cadre YII Framework

高洛峰
高洛峰original
2016-12-27 13:57:411416parcourir

Cet article décrit la méthode de mise en œuvre de l'internationalisation du didacticiel du framework YII Framework. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Une application Web publiée sur Internet est destinée aux utilisateurs du monde entier. Les utilisateurs du monde entier peuvent accéder à votre application Web. Bien sûr, cela dépend de votre site Web et de la discorde. Dans une société harmonieuse, vous ne serez pas autorisé à accéder à des applications Web disharmonieuses.

YII fournit un support international, permettant aux applications que nous créons d'être adaptées aux personnes dans différentes langues.

L'internationalisation est une chose très sophistiquée, et aucun grand site Web ne peut véritablement réaliser l'internationalisation. La plupart d’entre eux sont conçus pour des langues qui ne sont pas comprises, et différents sites Web sont conçus dans différentes régions. Si votre application est relativement petite et ne traite pas beaucoup de choses, alors l'internationalisation est tout à fait acceptable.

L'internationalisation commence par les aspects suivants :

Locale

Traduction des ressources de texte et de fichiers d'information

Date/heure, symboles monétaires et chiffres Format

Les classes impliquées dans l'internationalisation dans YII se trouvent dans le répertoire /yii_dev/yii/framework/i18n :

/yii_dev/yii/framework/i18n# tree
.
├── CChoiceFormat.php
├── CDateFormatter.php
├── CDbMessageSource.php
├── CGettextMessageSource.php
├── CLocale.php
├── CMessageSource php<.>├── CNumberFormatter.php
├── CPhpMessageSource.php
├── data
│ ├── fr_us.php
│ ├── ..... ..... ........
│ ├── zh_hk.php
│ ├── zh_mo.php
│ ├── zh.php
│ ├── zh_sg.php
│ ├── zh_tw.php
│ ├── zu.php
│ └── zu_za.php
└── gettext
├── CGettextFile.php
├ ── CGettextMoFile.php
└── CGettextPoFile.php

2 répertoires, 616 fichiers

Paramètres régionaux

Jugé en définissant la région Le pays et la langue de l'utilisateur.

YII définit des identifiants de zone communs, qui peuvent être considérés comme des identifiants uniques représentant des zones.

YII utilise la classe CLocale pour stocker les données régionales (y compris la devise, la date, le format des nombres, etc.).

Transmettez l'ID unique d'une région, puis obtenez l'instance CLocale correspondante via CLocale::getInstance($localeID) ou CApplication::getLocale($localeID). Grâce à l'instance CLocale, vous pouvez déterminer le pays et la langue de l'utilisateur. Ensuite, la traduction correspondante peut être effectuée sur la base des données CLocale pour rendre l'application Web plus adaptée à l'utilisation et à la lecture des utilisateurs actuels. Le plus fondamental est d’effectuer des traductions spécifiques pour les utilisateurs.

Traduction de ressources de textes et de fichiers informatifs

La traduction consiste simplement à changer une langue dans une autre. Dans les ordinateurs, 26 lettres sont utilisées, ce qui correspond au texte électronique. Par conséquent, le texte électronique peut être considéré comme la langue originale, la source de toutes les langues. Toutes les autres langues sont traduites via le texte électronique. Pour le moment, le texte électronique est appelé langue source. La langue dans laquelle il est traduit est appelée langue cible.

Description spécifique de la classe

/**
* Translates a message to the specified language.
* Starting from version 1.0.2, this method supports choice format (see {@link CChoiceFormat}),
* i.e., the message returned will be chosen from a few candidates according to the given
* number value. This feature is mainly used to solve plural format issue in case
* a message has different plural forms in some languages.
* @param string $category message category. Please use only word letters. Note, category &#39;yii&#39; is
* reserved for Yii framework core code use. See {@link CPhpMessageSource} for
* more interpretation about message category.
* @param string $message the original message
* @param array $params parameters to be applied to the message using <code>strtr</code>.
* Starting from version 1.0.2, the first parameter can be a number without key.
* And in this case, the method will call {@link CChoiceFormat::format} to choose
* an appropriate message translation.
* Starting from version 1.1.6 you can pass parameter for {@link CChoiceFormat::format}
* or plural forms format without wrapping it with array.
* @param string $source which message source application component to use.
* Defaults to null, meaning using &#39;coreMessages&#39; for messages belonging to
* the &#39;yii&#39; category and using &#39;messages&#39; for the rest messages.
* @param string $language the target language. If null (default), the {@link CApplication::getLanguage application language} will be used.
* This parameter has been available since version 1.0.3.
* @return string the translated message
* @see CMessageSource
*/
public static function t($category,$message,$params=array(),$source=null,$language=null)
{
$catégorie langue source

$mesage langue cible
$params est le tableau de $mesage à faire correspondre pour la traduction.

L'utilisation spécifique est la suivante :

Yii::t(&#39;app&#39;, &#39;Path alias "{alias}" is redefined.&#39;,
  array(&#39;{alias}&#39;=>$alias))
Bien sûr, vous pouvez le traduire via le message de commande en ligne de commande fourni par yiic. Pour plus de détails, reportez-vous aux instructions d'utilisation de yiic. commande

Format date/heure, argent et nombre

Traitement date/heure Classe CDateFormatter

Référence spécifique (/yii_dev/yii/framework/i18n/CDateFormatter.php) fichier de classe

Traitement des nombres

Spécifique Reportez-vous au fichier de classe (/yii_dev/yii/framework/i18n/CNumberFormatter.php)

J'espère que cet article sera utile à la conception de programmes PHP de chacun basé sur Cadre Yii.

Pour plus d'articles liés à la méthode d'implémentation de l'internationalisation du didacticiel du framework YII Framework, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn