>  기사  >  백엔드 개발  >  국제화를 달성하기 위한 YII 프레임워크 방법

국제화를 달성하기 위한 YII 프레임워크 방법

不言
不言원래의
2018-06-15 14:50:581641검색

이 글은 주로 YII Framework 프레임워크 튜토리얼의 국제화 구현 방법을 소개합니다. YII Framework 프레임워크 국제화의 원리와 관련 구현 기술을 더 자세히 분석합니다. 튜토리얼. 국제 구현 방법. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

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

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
├── 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 디렉토리, 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 명령 사용 지침을 참조하세요

Date/ 시간, 돈, 숫자 형식

날짜/시간 처리 CDateFormatter 클래스


위 내용은 모두의 학습에 도움이 되기를 바랍니다. 웹사이트!

관련 추천:

YiiFramework 입문 지식 포인트 요약


Yii 소개 분류


아래의 모든 하위 클래스를 얻는 프레임워크 방법

위 내용은 국제화를 달성하기 위한 YII 프레임워크 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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