내 웹 사이트에 다국어 지원을 추가하고 싶지만 잘 구현하는 방법을 모르겠습니다. Laravel 문서 (https://laravel.com/docs/5.3/localization)는 매우 드물어서 연구를 해봤지만 모두가 다른 해결책을 사용하고 있으며 그 안에 언어가 포함 된 URL을 사용하고 있습니다 (예 : example.com/en/pagename
).세션을 사용하여 Laravel 5.3에 다국어를 추가하는 방법
언어 태그가없는 URL 스키마가 필요합니다. 이런 식으로 뭔가 : example.com/pagename
이 이제 사용자의 언어에 따라 URL을 번역해야합니다
example.com/pagename (english)
example.com/seitenname (german)
초기 언어가 브라우저 설정/언어에 의해 감지해야합니다. 또한 사용자는 제공된 언어를 전환 할 수있는 옵션이 있어야합니다.
내 웹 사이트에서 사용자는 계정을 등록 할 수 있습니다. 그는 자신이 선호하는 언어를 데이터베이스에 저장할 수 있습니다. 테이블 users
pref_lang
에있는 테이블을 예로 들어 보겠습니다. 이 경우 간단하게 유지하려면 "en"(영어) 또는 "de"(독일어)와 같은 문자열 일뿐입니다.
경로를 변환하는 것은이 같은 언어 파일을 작성하여 쉽게 : EN에 대한
// resources/lang/de/routes.php
return array(
'contact' => 'kontakt',
'pagename' => 'seitenname'
);
... 그리고 하나
: 예를 들면 경로와 합쳐서
// resources/lang/en/routes.php
return array(
'contact' => 'contact',
'pagename' => 'pagename'
);
...
// routes/web.php
Route::get('/', function() {
return view('pages.dashboard');
});
Route::get('/{contact}', function() {
return view('pages.contact');
});
Route::get('/{pay2gether-system}', function() {
return view('pages.pagename');
});
이제는 "언어 전환"버튼을 어떻게 만들 수 있습니까? 브라우저 설정/스위치 동작 또는 SESSION의 데이터베이스에서 HTML <a href="#">
태그의 경로와 URL에 대해 어떻게 다시 사용할 수 있습니까?
Laravel이 데이터베이스에서 아직 설정되지 않은 브라우저의 첫 번째/기본 언어는 어디에서 읽습니까? 그게 없어 졌니? 또한 : 나는 {{url ('/')}과 같은 언어로 언어를 저장하고 싶지 않습니다. '? language ='. $ language}}',하지만 쿠키/세션에서. 그게 가능하지 않니? – user2966991
데이터베이스에 기본값이 있는데, 'en'으로 설정되어 있습니다. 원하는대로 변경할 수 있습니다. – tomirons