Во-втором случае, правильнее было бы написать не «сначала передаем дальше, а потом выполняем код», а «сначала обрабатывается запрос, потом выполняется код посредника», т.к. запрос передается дальше в обоих случаях в конце с помощью return.
Во-втором случае, правильнее было бы написать не «сначала передаем дальше, а потом выполняем код», а «сначала обрабатывается запрос, потом выполняется код посредника», т.к. запрос передается дальше в обоих случаях в конце с помощью return.
Если под гостями имеются ввиду незарегистрированные пользователи, то им всем можно определить только одно правило (право) как для всех неаутентифицированных (незалогиненых).
Для того, чтобы определять разные права, гости должны быть аутентифицированы, а их данные храниться в базе данных.
Регистрируйте гостей и определяйте им права как написано в статье.
Вот хороший пакет для локализации: https://github.com/klisl/laravel-locale
а вот статья: http://klisl.com/multilanguage_laravel.html