Добавяне на втори език в Laravel

vinsbg

Registered
Здравейте,

Пускам темата тук, защото най-вероятно ще я ползвам и за помощ с кода. Може ли някой, който е запознат и го е правил да ми каже как точно мога да добавя втори език в сайт правен на Laravel версия 4.2?

В папка /lang/ съм добавил втория език. Дефолтния е /en/ сега съм добавил и /fi/ ( finnish). Това, което не ми е ясно сега в тази втората папка ( /fi/ ) всички view файлове ( Blades ) преведени на другия език ли трябва да добавя? Или как...?

Също така как става ако имам 2 бутона English / Finnish .. да сменям езиците? Просто давам пътя до папките от lang ли?

edit: Започнах с това, но това съдържа само някакви дженерал преводи..
https://github.com/caouecs/Laravel-lang
 
Погледни коментарите :)
https://laracasts.com/discuss/channels/tips/example-on-how-to-use-multiple-locales-in-your-laravel-5-website


Ако не стане виж това:
https://github.com/mcamara/laravel-localization
 
novakabg каза:
Погледни коментарите :)
https://laracasts.com/discuss/channels/tips/example-on-how-to-use-multiple-locales-in-your-laravel-5-website


Ако не стане виж това:
https://github.com/mcamara/laravel-localization

Благодаря..
Първия линк е за версия 5+. Втория линк пробвах да го имплементирам но постоянно даваше грешка, че класовете липсват.
 
Бих ти дал документацията ама е малко объркана :D


Код:
'locale'        => 'en',

Код:
'languages'     => array(
    'en' => 'en_US',
    'pt' => 'pt_BR',
    'pl' => 'pl_PL',
    'es' => 'es_LA',
    'ru' => 'ru_RU',
    'de' => 'de_DE',
    'nl' => 'nl_NL',
    'fi' => 'fi_FI',
    'it' => 'it_IT',
    'fr' => 'fr_FR',
),


Код:
Route::group(
    array('prefix' => LaravelLocalization::setLocale(), //Set the language using the package
        'before' => 'LaravelLocalizationRedirectFilter', //Change the URL to match the language
    ),
    function () {
        Route::controller('upload', 'ImageUploadController');
        Route::controller('faviconit', 'CreateController');
        Route::controller('download/{folder?}', 'DownloadController');
        Route::controller('/', 'HomeController');
}
);


LocalizationHelper.php


Код:
class LocalizationHelper
{
    public static function getUserLanguageFromSupportedLanguages()
    {
        $userLanguages      = Request::getLanguages();
        $supportedLanguages = Config::get('app.languages');
        $userLanguage       = Config::get('app.locale');
        foreach ($userLanguages as $language) {
            $language = substr($language, 0, 2);

            if (false !== array_search($language, $supportedLanguages, true)) {
                $userLanguage = $language;
                break;
            }
        }

        return $userLanguage;
    }

    /**
     * Returns html with language selector. This code removes languages without URL.
     * @return \Illuminate\View\View
     */
    public static function getLanguageSelector()
    {
        //START - Delete in v1.0
        $languages = LaravelLocalization::getSupportedLocales();
        $active    = LaravelLocalization::getCurrentLocale();

        foreach ($languages as $localeCode => $language) {
            $langUrl = LaravelLocalization::getLocalizedURL($localeCode);

            // check if the url is set for the language
            if ($langUrl) {
                $language['url'] = $langUrl;
            } else {
                // the url is not set for the language (check lang/$lang/routes.php)
                unset($languages[$localeCode]);
            }
            // fill the active language with it's data
            if ($active == $localeCode)
                $native = $language['native'];
        }

        return View::make('templates.languagebar', compact('languages', 'active', 'native'));
    }
}


<li class="dropdown">
{{ LocalizationHelper::getLanguageSelector() }}
</li>


Я виж така дали ще стане.[/code]
 

Back
Горе