오늘날의 글로벌 인터넷 시대에는 다국어 웹 사이트를 구축하는 것이 특히 중요해졌습니다. PHP를 사용하면 웹 사이트에 여러 언어 옵션을 쉽게 추가하여 다른 지역의 사용자에게 맞춤 액세스 경험을 제공 할 수 있습니다. 이 기사는 PHP를 사용하여 다국어 웹 사이트를 구축하고 언어 장벽을 제거하며 웹 사이트의 세계화와 매력을 향상시키는 방법을 이해하기 위해 단계별로 진행할 것입니다.
먼저 웹 사이트의 다국어 콘텐츠에 대한 데이터베이스 테이블을 만들어야합니다. 이 표는 번역 정보를 다른 언어로 저장합니다. 다음은 다국어 테이블 생성을위한 SQL 문입니다.
CREATE TABLE translations (
id INT NOT NULL AUTO_INCREMENT,
locale VARCHAR(255) NOT NULL,
key VARCHAR(255) NOT NULL,
value TEXT NOT NULL,
PRIMARY KEY (id)
);
사용자가 자신의 언어를 선택할 수 있도록 웹 사이트의 상단 또는 사이드 바에 언어 스위처를 추가 할 수 있습니다. 간단한 GET 매개 변수를 설정하면 사용자는 원하는 언어를 선택할 수 있습니다. 다음은 샘플 코드입니다.
// 현재 언어를 얻으십시오
$current_locale = isset($_GET["locale"]) ? $_GET["locale"] : "en";
// 언어 링크
$languages = array("en", "es", "fr");
foreach ($languages as $lang) {
echo "<a href=?locale=$lang">$lang</a> ";
}
사용자가 선택한 언어에 따라 해당 번역 된 컨텐츠를로드하려면 데이터베이스에서 번역 정보를 얻어야합니다. 다음은 데이터베이스에서 현재 언어 변환을로드하는 코드입니다.
// 쿼리 번역
$translations = $db->prepare("SELECT * FROM translations WHERE locale = ?");
$translations->execute(array($current_locale));
// 번역 어레이를 저장하십시오
$tr = array();
foreach ($translations as $row) {
$tr[$row["key"]] = $row["value"];
}
HTML 페이지에서 GetText 함수를 사용하여 현재 언어의 번역 된 내용을 표시 할 수 있습니다.
// 사용 gettext 번역을 받으십시오
echo gettext("This is a test");
날짜와 시간의 경우 PHP의 Intl 확장을 사용하여 국제화를 달성 할 수 있습니다. 이렇게하면 날짜와 시간이 다른 지역의 설정에 따라 형식화됩니다.
// 만들다 DateTime 물체
$dt = new DateTime();
// 시간대를 설정하십시오
$dt->setTimezone(new DateTimeZone("Europe/London"));
echo $dt->format("Y-m-d H:i:s");
마찬가지로 INTL 확장으로 숫자와 통화를 현지화 할 수도 있습니다. 예를 들어 미국 형식의 표시 통화를 표시합니다.
// 만들다 NumberFormatter 물체
$formatter = new NumberFormatter("en_US", NumberFormatter::CURRENCY);
// 형식 통화
$amount = 1000;
echo $formatter->formatCurrency($amount, "USD");
코드를 명확하게 유지하려면 기능을 작성하여 번역 및 국제화 프로세스를 단순화 할 수 있습니다. 예를 들어 단순화 된 번역 함수를 만들 수 있습니다.
function t($key) {
global $tr;
return isset($tr[$key]) ? $tr[$key] : $key;
}
위의 단계를 통해 PHP를 사용하여 다국어 지원 웹 사이트를 쉽게 구축하여 언어 장벽을 제거하고 웹 사이트의 국제화를 개선 할 수 있습니다. PHP는 번역 텍스트, 국제 날짜 및 시간 또는 통화 형식이든, 웹 사이트가 전 세계 사용자에게 서비스를 제공 할 수 있도록 강력한 지원을 제공합니다.