라이브러리

[PHP] ngettext - gettext의 복수형 버전




ngettext 함수 소개


`ngettext` 함수는 PHP의 국제화 기능 중 하나로, 문자열을 번역할 때 사용됩니다. 이 함수는 단일 문자열을 번역할 때 사용하는 `gettext` 함수와 유사하지만, 번역할 문자열이 여러 개인 경우에 사용됩니다.

ngettext 함수 사용 방법


`ngettext` 함수의 사용 방법은 다음과 같습니다.

#hostingforum.kr
php

ngettext($singular, $plural, $number)



* `$singular`: 단일 문자열
* `$plural`: 복수 문자열
* `$number`: 번역할 문자열의 개수

예제


다음 예제는 `ngettext` 함수를 사용하여 "1 개의 항목"과 "2 개의 항목"을 번역하는 방법을 보여줍니다.

#hostingforum.kr
php

// 번역 파일 (messages.po)

msgid "1 item"

msgid_plural "2 items"

msgstr[0] "1 개의 항목"

msgstr[1] "2 개의 항목"



// PHP 코드

$number = 2;

echo ngettext("1 item", "2 items", $number); // 출력: 2 개의 항목



ngettext 함수의 특징


`ngettext` 함수는 다음 특징을 가지고 있습니다.

* 번역할 문자열이 여러 개인 경우 사용
* `$number` 변수를 사용하여 번역할 문자열의 개수를 지정
* 번역 파일 (messages.po)에서 단일 문자열과 복수 문자열을 정의해야 함

번역 파일 (messages.po) 작성 방법


번역 파일 (messages.po)에서 단일 문자열과 복수 문자열을 정의하는 방법은 다음과 같습니다.

* `msgid`를 사용하여 단일 문자열을 정의
* `msgid_plural`를 사용하여 복수 문자열을 정의
* `msgstr[0]`을 사용하여 단일 문자열의 번역을 정의
* `msgstr[1]`을 사용하여 복수 문자열의 번역을 정의

번역 파일 (messages.po) 예제


다음 예제는 번역 파일 (messages.po)에서 단일 문자열과 복수 문자열을 정의하는 방법을 보여줍니다.

#hostingforum.kr
po

msgid "1 item"

msgid_plural "2 items"

msgstr[0] "1 개의 항목"

msgstr[1] "2 개의 항목"



결론


`ngettext` 함수는 PHP의 국제화 기능 중 하나로, 문자열을 번역할 때 사용됩니다. 이 함수는 단일 문자열을 번역할 때 사용하는 `gettext` 함수와 유사하지만, 번역할 문자열이 여러 개인 경우에 사용됩니다. 번역 파일 (messages.po)에서 단일 문자열과 복수 문자열을 정의해야 하며, `$number` 변수를 사용하여 번역할 문자열의 개수를 지정해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 372 페이지

검색

게시물 검색