이제 회사에서 여러 국가에서 여러 언어를 지원하는 웹사이트를 구축하려고 하는데, /cn, /fr 또는 형식으로 하나의 도메인 이름으로 해야 할까요? 도메인 이름 .fr을 통해 ,.en,.cn이 더 좋습니다
이제 회사에서 여러 국가에서 여러 언어를 지원하는 웹사이트를 구축하려고 하는데, /cn, /fr 또는 형식으로 하나의 도메인 이름으로 해야 할까요? 도메인 이름 .fr을 통해 ,.en,.cn이 더 좋습니다
디렉터리 대신 하위 도메인 이름을 사용하는 것이 좋습니다.
예를 들어 기본 웹사이트는
www.example.com
다음은 하위 사이트입니다
<code>zh.example.com //中国 us.example.com //美国 jp.example.com //日本 ...</code>
개인적으로는 편하신 대로 하셔도 됩니다. Amazon이 도메인 이름을 구분하지 않는 것은 아닙니다.
하지만 회사에서 각 국가 하위 사이트의 로그인 상태를 동기화하려면 쿠키 크로스를 고려해야 합니다. -도메인 문제
하나의 도메인 이름을 사용하여 전 세계 여러 국가에 서비스를 제공한다고 가정하면 언어 문제 외에도 시간대 문제를 해결하는 것이 더 중요합니다. 우리의 플랫폼 개발은 기본적으로 동바구(베이징 시간)입니다. . 이 문제는 신경 쓰지 않아도 됩니다. 이때 사용자가 국가(언어 결정)와 시간대(미국과 같은 일부 국가에는 시간대가 여러 개 있음)를 선택하도록 해야 합니다.
php.ini에 date.timezone이 구성되지 않은 경우 기본 시간은 UTC(Universal Time Coordinated)입니다.
<code>ini_set('date.timezone', 'UTC'); //UTC时间 echo date('Y-m-d H:i:s', time())."\n"; //输出2015-12-11 02:43:28 ini_set('date.timezone', 'PRC'); //北京时间(UTC+8) echo date('Y-m-d H:i:s', time());."\n" //输出2015-12-11 10:43:28</code>
여러 시간대에 대한 웹 사이트 개발을 수행하면 데이터베이스는 UTC 시간을 저장하고 출력 시 특정 시간대를 기본 시간으로 사용합니다.
JS는 클라이언트 시간을 가져와 클라이언트와 서버 간의 시차를 계산하고, 그런 다음 방문자의 위치를 시간대 활동 시간으로 계산합니다.
미국은 우리나라처럼 통일된 베이징 시간이 없습니다. 미국은 4개의 시간대를 사용하고 있어 매우 혼란스럽습니다.
다국어의 경우 배열을 사용하면 해결하기가 매우 쉽습니다. 로그인 인터페이스를 예로 들어보겠습니다.
<code>在render加载模板时require语言文件: require APP_ROOT.'/lang/'.$app['lang'].'/'.$template; require APP_ROOT.'/themes/'.$app['theme'].'/'.$template; lang/zh_CN/login.php <?php $lang_login = array( 'Login' => '登录', 'Username' => '帐号', 'Password' => '密码', 'Remember me' => '记住我', ); lang/en_US/login.php <?php $lang_login = array( 'Login' => 'Login', 'Username' => 'Username', 'Password' => 'Password', 'Remember me' => 'Remember me', );</code>