Heim  >  Artikel  >  php教程  >  Internationalisierungsimplementierungsmethode des YII Framework-Framework-Tutorials

Internationalisierungsimplementierungsmethode des YII Framework-Framework-Tutorials

高洛峰
高洛峰Original
2016-12-27 13:57:411323Durchsuche

Dieser Artikel beschreibt die Internationalisierungsimplementierungsmethode des YII Framework-Framework-Tutorials. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Eine Webanwendung, die im Internet veröffentlicht wird, ist für globale Benutzer bestimmt. Benutzer aus allen Teilen der Welt können auf Ihre Webanwendung zugreifen. Dies hängt natürlich von Ihrer Website und der Disharmonie ab. In einer harmonischen Gesellschaft ist der Zugriff auf unharmonische Webanwendungen nicht gestattet.

YII bietet internationalen Support, sodass die von uns erstellten Anwendungen für Menschen in verschiedenen Sprachen geeignet sind.

Internationalisierung ist eine sehr schicke Sache, und keine große Website kann wirklich eine Internationalisierung erreichen. Die meisten von ihnen sind für Sprachen konzipiert, die nicht verstanden werden, und verschiedene Websites sind für verschiedene Regionen konzipiert. Wenn Ihre Anwendung relativ klein ist und nicht viele Dinge behandelt, ist die Internationalisierung durchaus akzeptabel.

Internationalisierung beginnt mit den folgenden Aspekten:

Gebietsschema

Übersetzung von Informationstexten und Dateiressourcen

Datum/Uhrzeit, Währungssymbole und Zahlenformat

Die an der Internationalisierung in YII beteiligten Klassen befinden sich im Verzeichnis /yii_dev/yii/framework/i18n:

/yii_dev/yii/framework/i18n#-Baum
.
├── CHoiceFormat.php
├── CDateFormatter.php
├── CDbMessageSource.php
├── CGettextMessageSource.php
├── CLocale.php
├── CMessageSource.php
├── CNumberFormatter.php
├── CPhpMessageSource.php
├── data
│ ├── en_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 Verzeichnisse, 616 Dateien

Regionale Einstellungen

Gemessen an der Einstellung der Region. Das Land und die Sprache des Benutzers.

YII definiert gemeinsame Bereichskennungen, die als eindeutige IDs betrachtet werden können, die Bereiche darstellen.

YII speichert regionale Daten (einschließlich Währung, Datum, Zahlenformat usw.) über die CLocale-Klasse.

Übergeben Sie die eindeutige ID einer Region und rufen Sie dann die entsprechende CLocale-Instanz über CLocale::getInstance($localeID) oder CApplication::getLocale($localeID) ab. Über die CLocale-Instanz können Sie das Land und die Sprache des Benutzers bestimmen. Anschließend kann eine entsprechende Übersetzung basierend auf den CLocale-Daten durchgeführt werden, um die Webanwendung für aktuelle Benutzer besser zum Verwenden und Lesen geeignet zu machen. Das Wichtigste ist, spezifische Übersetzungen für Benutzer durchzuführen.

Übersetzung von Informationstexten und Dateiressourcen

Übersetzen bedeutet einfach, eine Sprache in eine andere zu ändern. In Computern werden 26 Buchstaben verwendet, also E-Text. Daher kann E-Text als die Originalsprache angesehen werden, die alle anderen Sprachen durch E-Text übersetzt werden. Die Sprache, in die übersetzt wird, wird Zielsprache genannt.

Spezifische Klassenbeschreibung

/**
* 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)
{

$category Quellsprache
$mesage Zielsprache
$params ist das Array in $mesage, das für die Übersetzung abgeglichen werden soll.

Die spezifische Verwendung ist wie folgt:

Yii::t(&#39;app&#39;, &#39;Path alias "{alias}" is redefined.&#39;,
  array(&#39;{alias}&#39;=>$alias))

Natürlich können Sie es über die von yiic bereitgestellte Befehlszeilenbefehlsnachricht übersetzen. Weitere Informationen finden Sie in den Anweisungen zur Verwendung von yiic Befehl

Datum/Uhrzeit, Geld- und Zahlenformat

Datums-/Uhrzeitverarbeitung der CDateFormatter-Klasse
Spezifische Referenzklassendatei (/yii_dev/yii/framework/i18n/CDateFormatter.php)

Zahlenverarbeitung
Spezifische Informationen finden Sie in der Klassendatei (/yii_dev/yii/framework/i18n/CNumberFormatter.php)

Ich hoffe, dass dieser Artikel für alle auf PHP basierenden Programmdesigns hilfreich sein wird Yii-Framework.

Weitere Artikel zur Internationalisierungsimplementierungsmethode des YII Framework-Framework-Tutorials finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn