현재 위치: > 최신 기사 목록> PHP 및 CGI에서 국제화 및 현지화를 달성하는 방법 : 언어 간 적응에 대한 기술 안내서

PHP 및 CGI에서 국제화 및 현지화를 달성하는 방법 : 언어 간 적응에 대한 기술 안내서

M66 2025-06-14

1. 국제화와 현지화의 개념

국제화는 여러 언어와 문화에 적응하기 위해 응용 프로그램을 설계하는 능력을 말합니다. 현지화는 응용 프로그램의 인터페이스와 텍스트를 특정 언어 및 지역으로 변환하는 과정을 말합니다.

2. 국제화 및 현지화의 구현

PHP에서는 GetText 확장을 사용하여 국제화를 달성 할 수 있습니다. GetText는 응용 프로그램의 텍스트를 다른 언어로 변환 할 수있는 표준 국제화 도구입니다. 먼저 GetText 확장자를 설치해야합니다. 그런 다음 모든 텍스트 번역으로 .po 파일을 만들고 xgettext 명령을 사용하여 소스 코드에서 모든 번역 문자열을 추출해야합니다. 다음으로 Poedit과 같은 특수 번역 도구를 사용하여 .po 파일에서 번역 문자열을 편집 할 수 있습니다. 마지막으로 .po 파일을 이진 형식의 .mo 파일로 변환해야합니다. 다음은 국제화 된 PHP 코드의 예입니다.

<?php
    // 로케일 설정
    putenv("LC_ALL=zh_CN.UTF-8");
    setlocale(LC_ALL, "zh_CN.UTF-8");

    // 지정mo파일 경로
    bindtextdomain("messages", "locale");

    // 번역 도메인을 선택하십시오
    textdomain("messages");

    // 사용gettext텍스트를 번역하십시오
    echo _("Hello World!");
?>

CGI에서는 국제 템플릿 라이브러리 (Libintl)를 사용하여 국제화 및 현지화를 달성 할 수 있습니다. International Template Library는 국제화 표준 라이브러리로 GetText와 유사한 기능을 제공합니다. Libintl이 이미 서버에 설치되어 있는지 확인해야합니다. 다음은 국제화 된 CGI 코드의 예입니다.

#포함하다<locale.h>
#포함하다<libintl.h>
#포함하다<stdio.h>

int main () {
    // Locale SettingLocale을 설정합니다 (LC_ALL, "ZH_CN.UTF-8");

    // 번역 도메인 BindTextDomain 바인드 ( "메시지", "locale");

    // 번역 도메인 텍스트 도메인 ( "메시지")을 선택합니다.

    // getText를 사용하여 텍스트 printf ( "%s", getText ( "Hello World!"));
    반환 0;
}

현지화의 구현

텍스트 번역 외에도 현지화에는 날짜, 시간 및 통화의 형식도 포함됩니다. PHP에서는 Strftime 함수와 Money_format 함수를 사용하여 DateTime과 통화를 포맷 할 수 있습니다. 다음은 현지화 된 PHP 코드의 예입니다.

<?php
    // 로케일 설정
    setlocale(LC_ALL, "zh_CN.UTF-8");

    // 형식 날짜 시간
    $date = strftime("%d %B %Y");
    echo $date;

    // 형식 통화
    $number = 1234.56;
    $formatted_number = money_format("%n", $number);
    echo $formatted_number;
?>

CGI에서는 기능 라이브러리 LocalEconv를 사용하여 현지 날짜, 시간 및 통화 형식을 얻을 수 있습니다. 다음은 현지화 된 CGI 코드의 예입니다.

#포함하다<locale.h>
#포함하다<stdio.h>
#포함하다<stdlib.h>
#포함하다<sys/time.h>
#포함하다<localeconv.h>

int main () {
    // Locale SettingLocale을 설정합니다 (LC_ALL, "ZH_CN.UTF-8");

    // 현지 날짜 및 시간 형식을 가져옵니다. Struct TimeVal TV;
    struct tm *tm;
    숯 날짜 [128];

    gettimeofday (& TV, NULL);
    tm = localtime (& tv.tv_sec);

    strftime (날짜, 크기 (날짜), " %d %b %y", tm);
    printf ( "%s", 날짜);

    // 현지화 된 통화 형식을 가져옵니다. 구조 lconv *lc = localEconv ();
    이중 번호 = 1234.56;
    char formatted_number [128];

    snprintf (formatted_number, sizeof (formatted_number), lc-> currency_symbol, 숫자);
    printf ( "%s", formatted_number);

    반환 0;
}

4. 요약

국제화 및 현지화는 교차 언어 및 지역 응용 프로그램을 구축하기위한 기초입니다. PHP 및 CGI에서는 GetText 확장 및 국제 템플릿 라이브러리를 사용하여 국제화 및 현지화를 달성 할 수 있습니다. 텍스트 번역 외에도 현지화에는 날짜, 시간 및 통화의 형식도 포함됩니다. 이러한 기술을 합리적으로 적용함으로써 사용자에게 더 나은 사용자 경험을 제공하여 응용 프로그램이 다양한 언어 및 지역의 요구에 적응할 수 있습니다.

이 기사는 독자들이 국제화 및 현지화 기술을 이해하고 적용하는 데 도움이되는 샘플 코드를 제공합니다. 동시에, 다른 언어와 지역의 문화와 습관에주의를 기울이고 지역 법률 및 규정을 존중하여 응용 프로그램이 다른 언어 및 지역에서 정상적으로 작동 할 수 있도록해야합니다.