Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Вообще не понимаю зачем что-то ставить отдельно для парсинга,
Пиши свой контроллер - file_get_contents + preg_match_all
И учи регулярки:)
Sarkozi, привет а что у тебя в контроллере написано, какой код? Я че то не понял что прописать в контролере и в роуте, где у тебя написано //все роуты сайта
Привет, ты все роуты свои которые у тебя изначально были загоняешь в группу, которую я описал выше. Таким образом LaravelLocalization будет автоматически добавлять префикс к каждому твоему роуту (т.е. все ссылки станут вида сайт.com/ru/ссылка, сайт.com/en/ссылка)
В контроллере ничего, стандартная выборка из базы, и вывод в шаблон.
Покури маны этого пакета всё станет ясно:
https://github.com/mcamara/laravel-localization
Как я это сделал на своем сайте - http://beatmonster()org
Я установил пакет - https://packagist.org/packages/mcamara/ … calization
Мультиязычный контент хранил в столбцах - например, description_ru, description_en
Также под переводы отдельных слов и выражений, а также ошибок валидации и прочего, создал папки lang/en и lang/ru и поместил туда файлы с переводами, об этом можно прочитать в офф доках
В файле ConfigServiceProvider поместил следующий код, с описанием моих локалей:
public function register()
{
config([
'laravellocalization.supportedLocales' => [
'en' => array( 'name' => 'English', 'script' => 'Latn', 'native' => 'English' ),
'ru' => array( 'name' => 'Russian', 'script' => 'Latn', 'native' => 'Русский' ),
],
'laravellocalization.useAcceptLanguageHeader' => true,
'laravellocalization.hideDefaultLocaleInURL' => false
]);
}
Далее, в модели я использовал get attribute, для назначения суффикса столбцу, взависимости от выбранной пользователем локали:
public function getDescriptionAttribute()
{
$locale = App::getLocale();
$column = "description_" . $locale;
return $this->{$column};
}
На главной странице, в шаблоне вывел выбор языка:
<ul class="nav navbar-nav navbar-right lang">
<li><a rel="alternate" hreflang="en" href="http://beatmonster()org/en" locale="en"><img src="/img/us-lang.png" alt="English"></a></li>
<li><a rel="alternate" hreflang="ru" href="http://beatmonster()org/ru" locale="ru"><img src="/img/rus-lang.png" alt="Russian"></a></li>
</ul>
Все роуты, которые должны попадать под перевод, загнал в группу:
Route::group(['prefix' => LaravelLocalization::setLocale(), 'middleware' => [ 'localizationRedirect', 'localeSessionRedirect' ]], function()
{
//все роуты сайта
});
Для вывода контента в шаблоне, просто указываю
<p>{{ $sample->description}}</p>
Сам ищу, вот более менее нормальные
http://cheats.jesse-obrien.ca/
http://devdocs.io
Подскажите как в Laravel 5 включить gzip сжатие? Я так понимаю это делается через .htaccess, может есть специальный сниппет?
Страницы 1