Maison  >  Article  >  développement back-end  >  Méthode YII Framework pour parvenir à l'internationalisation

Méthode YII Framework pour parvenir à l'internationalisation

不言
不言original
2018-06-15 14:50:581628parcourir

Cet article présente principalement la méthode de mise en œuvre de l'internationalisation du didacticiel du framework YII Framework. Il analyse plus en détail les principes et les techniques de mise en œuvre associées de l'internationalisation du framework YII Framework. Les amis dans le besoin peuvent se référer à ce qui suit

. Cet article décrit l'apprentissage de 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 pour 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

Locale

En associant les paramètres régionaux pour déterminer 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 'yii' 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 $mesage Array de traductions correspondant.

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, veuillez vous référer aux instructions d'utilisation de la commande yiic

Formats de date/heure, d'argent et de nombres

Classe CDateFormatter de traitement de date/heure

.

Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Résumé des points de connaissance d'introduction de YiiFramework

À propos de Yii Méthode framework pour obtenir toutes les sous-classes de la catégorie

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en 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