Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 30 май 2024, 17:48

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: ru и en
СообщениеДобавлено: 22 авг 2012, 17:48 
Не в сети
Зеленый

Зарегистрирован: 14 апр 2012, 16:03
Сообщения: 6
Sergey писал(а):

Лучше использовать i18n или gettext чем базу данных

Sergey,
Я не о файлах - переводах имел ввиду.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ru и en
СообщениеДобавлено: 22 авг 2012, 18:25 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
vfvtnjd писал(а):
Sergey писал(а):
Я не о файлах - переводах имел ввиду.

Понятно дело не о файлах. О базе данных. Вот я и говорю, хранить любые локализованные строковые ресурсы в базе данных — моветон.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ru и en
СообщениеДобавлено: 22 авг 2012, 19:36 
Не в сети
Бывалый

Зарегистрирован: 06 авг 2012, 22:39
Сообщения: 91
в бд можно хранить лишь локализованный контент (новости, статьи и т.д.), а элементы сайта (навигация и т.д.) - в файлах.

для локализации есть шикарный модуль https://github.com/shockiii/kohana-multilang, который поддерживает даже мультиязычные slug'и в урлах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ru и en
СообщениеДобавлено: 23 авг 2012, 08:51 
Не в сети
Зеленый

Зарегистрирован: 14 апр 2012, 16:03
Сообщения: 6
Sergey писал(а):
Понятно дело не о файлах. О базе данных. Вот я и говорю, хранить любые локализованные строковые ресурсы в базе данных — моветон.

Я имел ввиду контент страницы, а не строковые ресурсы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ru и en
СообщениеДобавлено: 05 окт 2012, 17:19 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 02 окт 2012, 21:09
Сообщения: 29
Я делаю сайт с 3 языками.
Создал три файла перевода ru.php, en.php, uk,php.
Все дело сводится к загрузке нужного файла языка I18n::lang() вначале работы главного контроллера, в методе before().
Все остальные контроллеры его наследуют и ничего не знают какой язык выберет главный контроллер.

Разбил задачу определения языка на несколько:
- При первом посещении страницы, не зарегистрировавшись
- определить язык на основе HTTP заголовков UserAgent, referrer и т.д. и установить в куки
- предоставить выбор языка при помощи ссылки типа baseurl/lang/ru которая устанавливает язык в куки и редиректит обратно на сайт

- При выбранном языке, не зарегистрировавшись
- получать язык из куки (см. выше)

- Когда юзер зарегистрирован и при регистрации указал язык
- получать язык из БД при авторизации юзверя (использую модель пользователя типа Model_User::get_lang())

Ну и все.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ru и en
СообщениеДобавлено: 05 окт 2012, 18:04 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05 июн 2012, 03:08
Сообщения: 213
Ну это понятно. Файлы перевода в основном переводят интерфейс сайта, сообщения и т.п.
Как работают роутеры и сделать так, как я я писал выше
Чтобы основной язык не присутствовал в строке браузера, а дополнительные были:
http://домен/
http://домен/en/
http://домен/uk/
И если нет варианта на каком-то из языков, что вы будете показывать на странице?

_________________
http://de-en.info (работает на Kohana 3.3)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ru и en
СообщениеДобавлено: 06 окт 2012, 23:17 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 02 окт 2012, 21:09
Сообщения: 29
Может динамически изменять base_url в bootstrap типа:

Код:
Kohana::init(array(
    'base_url' => 'http://kohana.com/(ru|en|uk)',
    'index_file' => FALSE
));


А в роутинге склепать что то типа:
Код:
Route::set('default', '(<lang>/)(<controller>(/<action>(/<id>)))')
        ->defaults(array(
            'controller' => 'home',
            'action' => 'index',
            'lang' => 'ru',
        ));


Получаем необязательную переменную lang в контроллерах правда ссылки на стили и яваскрипт могут пострадать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ru и en
СообщениеДобавлено: 07 окт 2012, 03:07 
Не в сети
Новичок
Аватара пользователя

Зарегистрирован: 02 окт 2012, 21:09
Сообщения: 29
https://github.com/GeertDD/kohana-lang
https://github.com/cichys/kohana-mlang


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group