이 문서는 지원되지 않는 버전의 사설 토토을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 23 장. 메이저 토토버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

20 장. 현지화

이 장에서는 사용 가능한 현지화 기능을 설명합니다 관리자의 관점에서.사설 토토두 가지로 현지화를 지원합니다 구혼:

  • 운영 체제의 로케일 기능 사용 로케일 별 콜레이션 순서, 번호 형식을 제공합니다. 번역 된 메시지 및 기타 측면.

  • 정의 된 여러 가지 다른 문자 세트를 제공합니다 그만큼사설 토토서버, 저장을 지원하기 위해 다중 바이트 문자 세트를 포함합니다 모든 종류의 언어로 텍스트 및 캐릭터 세트 제공 클라이언트와 서버 간의 번역.

20.1. 장소 지원하다

로케일지원을 참조하십시오 문화적 선호에 관한 응용 프로그램 알파벳, 정렬, 번호 형식 등사설 토토표준 ISO C 및 사용posix로케일 시설 서버 운영 체제에서 제공합니다. 추가 정보는 귀하의 시스템 문서를 참조하십시오.

20.1.1. 개요

로케일 지원은 자동으로 초기화됩니다 데이터베이스 클러스터는를 사용하여 작성됩니다.initdb. initdb의지 로케일 설정으로 데이터베이스 클러스터를 초기화하십시오 실행 환경; 시스템이 이미 설정되어있는 경우 데이터베이스 클러스터에서 원하는 로케일을 사용하려면 당신이해야 할 다른 일은 없습니다. 사용하려면 a 다른 로케일 (또는 어떤 로케일이 당신의 시스템이 설정되어), 당신은 말할 수 있습니다initdb정확히 어떤 로케일을 원하는지 옵션-로케일. 예를 들어:

initdb -locale = sv_se

이 예제는 로케일을 스웨덴어로 설정합니다 (SV) 스웨덴에서 사용 된대로 (SE). 다른 가능성은en_us(U.S. English) 및FR_CA(캐나다, 프랑스어). 둘 이상 문자 세트는 로케일에 유용 할 수 있습니다. 사양은 다음과 같습니다.CS_CZ.ISO8859-2. 어떤 지역을 사용할 수 있는지 시스템의 이름 아래에서 제공된 내용에 따라 운영 체제 공급 업체 및 설치된 내용.

때로는 여러 규칙을 혼합하는 것이 유용합니다 예를 들어 로케일 (예 : 영어) 규칙을 사용하지만 스페인어를 사용합니다 메시지. 이를 지원하기 위해 일련의 로케일 하위 범주 현지화의 특정 측면 만 제어하는 ​​존재 규칙.

LC_COLLATE 문자열 정렬 순서
LC_CTYPE 문자 분류 (문자 란 무엇입니까? 상위 상위 동등한?)
lc_messages 메시지 언어
lc_monetary 통화 형식
lc_numeric 숫자 형식
LC_TIME 날짜와 시간의 형식
카테고리 이름은의 이름으로 번역됩니다initdb로케일 선택을 무시할 수있는 옵션 특정 범주의 경우. 예를 들어, 로케일을 설정합니다 프랑스 캐나다인이지만 통화 서식에 미국 규칙을 사용하고 사용initdb -locale = fr_ca ---lc-monetary = en_us.

시스템이 로케일이없는 것처럼 행동하기를 원한다면 지원, 특별 로케일 사용C또는posix.

일부 로케일 카테고리의 특성은 그 가치가 있다는 것입니다. 데이터베이스 클러스터의 수명을 위해 고정해야합니다. 저것 IS, ONEinitdb실행할 수 없습니다 더 이상 변경하십시오.LC_COLLATEandLC_CTYPE해당 범주입니다. 그들 색인의 정렬 순서에 영향을 미치므로 고정 상태로 유지해야합니다. 또는 텍스트 열의 인덱스가 손상됩니다.사설 토토기록을 통해이를 시행합니다 의 값lc_collateandLC_CTYPEinitdb. 서버는 자동으로이를 채택합니다 시작했을 때 두 가지 값.

다른 로케일 범주는 원하는대로 변경할 수 있습니다 런타임을 설정하여 서버가 실행될 때마다 로케일과 같은 이름을 가진 구성 변수 카테고리 (참조사설 토토 : 문서 : 7자세한 내용). 에 의해 선택된 기본값initdb실제로 작성된 것입니다 구성 파일로사설 토토.conf서버가 시작되었습니다. 과제를 삭제하면사설 토토.conf그런 다음 서버 실행 환경에서 설정을 상속합니다.

서버의 로케일 동작이 결정됩니다. 서버가 보는 환경 변수에 의해 모든 고객의 환경. 따라서 구성하도록주의하십시오 서버를 시작하기 전에 올바른 로케일 설정. 에이 이것의 결과는 클라이언트와 서버가 설정된 경우 다른 로케일에 메시지가 다르게 나타날 수 있습니다 출발 한 위치에 따라 언어.

참고 :우리가 로케일 상속에 대해 이야기 할 때 실행 환경에서 이것은 다음을 의미합니다 대부분의 운영 체제 : 주어진 로케일 카테고리의 경우 다음 환경 변수 인 Collation을 말하십시오 하나가 설정 될 때 까지이 순서대로 상담합니다.LC_ALL, LC_COLLATE(에 해당하는 변수 각각의 범주),Lang. 만약에 이러한 환경 변수 중 어느 것도 설정되지 않습니다 로케일의 기본값C.

일부 메시지 현지화 라이브러리도 환경 변수언어목적을 위해 다른 모든 로케일 설정을 무시합니다 메시지 언어를 설정하는 것. 의심스러운 경우 제발 운영 체제의 문서를 참조하십시오 특히에 대한 문서getText, 자세한 내용은

사용자가 선호하는 메시지로 변환 된 메시지를 활성화합니다 언어,NLS빌드 시간에 활성화되었습니다. 이 선택은 기타 로케일 지원.

20.1.2. 이익

특히 다음과 같은 로케일 지원 영향 특징:

  • Queries를 사용하여 순서를 정렬주문 에 의해

  • theto_char가족 기능

로케일 지원을 사용하는 유일한 심각한 단점사설 토토속도입니다. 그래서 실제로 필요한 경우에만 로케일을 사용하십시오.

20.1.3. 문제

설명에도 불구하고 로케일 지원이 작동하지 않는 경우 위에서, 운영 체제의 로케일 지원을 확인하십시오. 올바르게 구성됩니다. 어떤 지역이 설치되어 있는지 확인합니다 시스템에서 명령을 사용할 수 있습니다로케일 -A운영 체제가 제공하는 경우 그것.

확인사설 토토IS 실제로 당신이 생각하는 로케일을 사용합니다.LC_COLLATEandLC_CTYPE설정은에 결정됩니다initdb시간은 반복없이 변경할 수 없습니다initdb. 를 포함한 기타 로케일 설정lc_messagesandlc_monetary는 처음에에 의해 결정됩니다 환경 서버가 시작되었습니다.를 확인할 수 있습니다.LC_COLLATEandLC_CTYPE유틸리티가있는 데이터베이스 설정 프로그램PG_CONTROLDATA.

디렉토리src/test/localein 소스 배포에는 테스트 스위트가 포함되어 있습니다.사설 토토'S Locale 지원하다.

서버 측 오류를 처리하는 클라이언트 응용 프로그램 오류 메시지의 텍스트를 구문 분석하는 것은 분명히 서버의 메시지가 다를 때의 문제 언어. 그러한 응용 프로그램의 저자는 작성하는 것이 좋습니다 대신 오류 코드 체계 사용.

메시지 변환 카탈로그 유지하려면 필요합니다 보고 싶어하는 많은 자원 봉사자들의 지속적인 노력사설 토토선호하는 언어. 당신의 언어로 된 메시지가 있다면 현재 사용 가능하거나 완전히 번역되지 않으면 도움이됩니다 감사하겠습니다. 당신이 도와주고 싶다면를 참조하십시오.사설 토토stgreSQL : 문서 : 7.4 : 모국어 지원또는 개발자에게 쓰기 메일 링리스트.