>  기사  >  php教程  >  YII 프레임워크 프레임워크 튜토리얼의 국제화 구현 방법

YII 프레임워크 프레임워크 튜토리얼의 국제화 구현 방법

高洛峰
高洛峰원래의
2016-12-27 13:57:411391검색

이 글에서는 YII 프레임워크 프레임워크 튜토리얼의 국제화 구현 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

인터넷에 게시되는 웹 애플리케이션은 전 세계 사용자를 위한 것입니다. 전 세계의 사용자가 귀하의 웹 애플리케이션에 액세스할 수 있습니다. 물론 이는 귀하의 웹사이트와 부조화에 따라 다릅니다. 조화로운 사회에서는 부조화스러운 웹 애플리케이션에 액세스하는 것이 허용되지 않습니다.

YII는 국제적인 지원을 제공하므로 우리가 만드는 애플리케이션이 다양한 언어를 사용하는 사람들에게 적합할 수 있습니다.

국제화는 매우 멋진 일이며 어떤 대형 웹사이트도 진정한 국제화를 달성할 수 없습니다. 대부분은 이해되지 않는 언어를 위해 설계되었으며, 다른 웹사이트는 다른 지역에서 설계되었습니다. 응용 프로그램이 상대적으로 작고 많은 것을 다루지 않는다면 국제화하는 것이 꽤 허용됩니다.

국제화는 다음 측면에서 시작됩니다.

로캘

정보 텍스트 및 파일 리소스 번역

날짜/시간, 통화 기호 및 숫자 형식

YII의 국제화에 관련된 클래스는 /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
├── 데이터
│ ├── 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개, 파일 616개

지역 설정

지역 설정으로 판단합니다. 사용자의 국가 및 언어.

YII는 지역을 대표하는 고유 ID라고 할 수 있는 공통 지역 식별자를 정의합니다.

YII는 CLocale 클래스를 사용하여 지역 데이터(통화, 날짜, 숫자 형식 등 포함)를 저장합니다.

지역의 고유 ID를 전달한 다음 CLocale::getInstance($localeID) 또는 CApplication::getLocale($localeID)를 통해 해당 CLocale 인스턴스를 가져옵니다. CLocale 인스턴스를 통해 사용자의 국가와 언어를 확인할 수 있습니다. 그런 다음 CLocale 데이터를 기반으로 해당 번역을 수행하여 현재 사용자가 사용하고 읽기에 더 적합한 웹 애플리케이션을 만들 수 있습니다. 가장 기본적인 것은 사용자를 위한 특정 번역을 수행하는 것입니다.

정보용 텍스트 및 파일 리소스 번역

번역은 단순히 한 언어를 다른 언어로 바꾸는 것입니다. 컴퓨터에서는 26개의 문자를 사용하는데, 이는 전자문서이다. 따라서 전자문서는 모든 언어의 원어라고 볼 수 있으며, 다른 모든 언어는 전자문서를 통해 번역된다. 번역되는 언어를 대상 언어라고 합니다.

특정 클래스 설명

/**
* 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 소스 언어
$mesage 대상 언어
$params는 번역과 일치시킬 $mesage의 배열입니다.

구체적인 사용법은 다음과 같습니다.

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

물론 yiic에서 제공하는 명령줄 명령 메시지를 통해 번역할 수도 있습니다. 자세한 내용은 yiic 사용 지침을 참조하세요. 명령

날짜/시간, 돈, 숫자 형식

날짜/시간 처리 CDateFormatter 클래스
특정 참조(/yii_dev/yii/framework/i18n/CDateFormatter.php) 클래스 파일

숫자처리
특정 (/yii_dev/yii/framework/i18n/CNumberFormatter.php) 클래스 파일을 참고하세요

이 글이 모든 분들의 숫자처리를 기반으로 하는 PHP 프로그램 설계에 도움이 되길 바랍니다. Yii 프레임워크.

YII Framework 프레임워크 튜토리얼의 국제화 구현 방법과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.