Мутиезичност в Yii

В категория Yii 3 кометара

Тези дни получих няколко питания, как точно се реализира мултиезичност в Yii Framework. Ще ви опиша в лесни стъпки, как да настройте рамката и след това как да използвате нейните функции.

В тази статия се взима базовата подредба на директориите в Yii, както е описана в документацията.

Да започнем с конфигурацията.

1) В директорията protected създаваме папка messages, в която ще се съдържат нашите езикови файлове. Езиковите файлове представляват прости php файлове, които съдържат един масив от низове. Например:

return array(
‘String in English’=>’Низ на български’
);

2) Копираме съдържанието на framework/messages в папката protected/messages.

3) След това добавяме следното към protected/config/main.php

1
2
3
4
5
6
7
8
9
10
return array(
    ......
    'language'=>'bg',
    'components'=>array(
        'coreMessages'=>array(
            'basePath'=>'protected/messages',
        ),
        ......
    ),
);

С това се приключва конфигурирането. Използването е много лесно. Да кажем, че някъде в кода трябва да преведете ‘Some string’. Първо, на мястото, където е необходимо извиквате:

1
Yii::t('yii','Some string');

След това, във файла protected/messages/bg/yii.php добавяме нашият превод:

1
'Some string'=>'Някакъв стринг',

Функцията Yii::t() търси съответствие на ‘Some string’ във файла protected/messages/bg/yii.php. Щом го открие връща съответстващото му – ‘Някакъв стринг’.
С настройката ‘language’=>’bg’ казваме на Yii да зарежда файлове от protected/messages/bg. Ако е например ‘language’=>’de’, то Yii ще зарежда файлове от protected/messages/de.

Ако имате още въпроси се обърнете към мен или прочетете документацията(+линк1).

Публикувано от koleto   @   7 август 2010 3 коментара
Тагове : , , , ,

Споделете тази публикация

RSS Digg Twitter StumbleUpon Delicious Technorati

3 Кометара

Коментари
авг 7, 2010
22:49
#1 Stoimen StoimenovNo Gravatar :

Отново мерси за подробното обяснение, задължен съм ти.

дек 10, 2010
11:55
#2 Николай ТасковNo Gravatar :

И от мен едно голямо БЛАГОДАРЯ за статията, свърши ми чудесна работа :)

Yii Forever :)

Trackbacks на тази публикация.
Коментирайте

Име

Email

Website

Предишна публикация
«
Следваща публикация
»
CrossBlock designed by DeltaManual.Com  |  In conjunction with Web Hosting   |   Web Hosting   |   Reverse phone