Localization/Guide/ko

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Localization/Guide and the translation is 56% complete.
Outdated translations are marked like this.

시간대

거주 지역에 따른 시스템의 시간을 적절하게 유지하려면 시간대를 선택해야합니다. OpenRC 기반 시스템systemd 기반 시스템에서 시간을 설정하는 방법은 system time에 있습니다.

로캘 시스템

로캘이 무엇인가요?

로캘은 국가와 언어 관련 설정을 결정하는데 대부분의 프로그램에서 사용하는 정보의 집합입니다. 로캘과 로캘 데이터는 시스템 라이브러리의 일부이며, 대부분 시스템의 /usr/share/i18n/locale에서 찾을 수 있습니다. 로캘 이름은 보통 ab를 2글자 언어 코드(ISO-639에 지정됨)로 사용하며, CD를 2글자 국가 코드(ISO-3166에 지정됨)로 사용하는 ab_CD로 되어 있습니다. 변형 이름은 보통 로캘 이름에 붙는데 en_GB.UTF-8또는 de_DE@euro와 같습니다. 로캘 관련 내용을 더 읽어보시려면 위키피디아를 찾아보십시오.

로캘 환경 변수

로캘 설정의 다른 양상을 다루는 변수는 아래 표에 주어져 있습니다. 각각의 변수는 위에 주어진 ab_CD 형식과 같은 로캘 이름을 갖습니다.

변수 이름 설명
LANG 아래의 LC_* 설정으로 각각의 사용자 정의 설정을 적용하는데 반해 모든 로캘 설정을 한번에 정의합니다.
LC_COLLATE 문자열의 철자 순서를 정의합니다. 디렉터리 정렬 목록 출력과 같은 부분에 영향을 미칩니다.
LC_CTYPE 시스템 속성을 처리할 특징을 정의합니다. 이 변수를 통해 어떤 글자, 숫자 등을 보여줄지 결정합니다. 또한 타당한 경우의 문자 셋 사용을 결정하기도 합니다.
LC_MESSAGES 메시지 기반 지역화 스킴을 사용하는 프로그램의 지역화 방식입니다(주로 GNU 프로그램에서 사용합니다. 다음 챕터에서 프로그램이 동작하는데 어떤 요소가 무엇을 하고, 하지 않는지, 프로그램은 어떻게 구하는지에 대한 더 자세한 정보를 다룹니다).
LC_MONETARY 화폐 단위와 화폐 형식 숫자값을 정의합니다.
LC_NUMERIC 통화 표기가 아닌 다른 수치 표시 형식을 정의합니다. 1000단위 구분자와 소수 구분자에 영향을 미칩니다.
LC_TIME 날짜, 시간 형식을 정의합니다.
LC_PAPER 기본 종이 크기를 지정합니다.
LC_ALL 전체 설정을 중복으로 우선 적용하는 특수한 변수입니다.
참고
에스토니아어권과 같은 일부 로캘의 경우 다른 정렬 기준을 사용하는데 반해, 어떤 프로그램은 기대하던 대로 기존의 영문 알파벳 정렬순서 방식으로 작성합니다. 따라서 시스템 범위 설정을 다룰 경우 LC_COLLATE 값을 C로 확실하게 설정하는것을 권장합니다.
경고
나중에 모든 LC_* 변수 값을 다른 값으로 중복 우선적용하지 않도록 LC_ALL 변수의 사용을 적극 만류합니다. LC_ALL 변수 값을 설정하면 이 변수를 널 값으로 설정하기 전까지 다른 의미로 설정한 값을 바꾼다는 의미입니다. 시작 파일에서 이 변수값을 설정하지 않는게 좋습니다.

대부분의 사용자는 전역 기반의 LANG 값을 설정합니다.

특정 로캘 생성

아마도 하나 또는 두가지 정도의 로캘만을 사용할지도 모릅니다. /etc/locale.gen에서 필요한 로캘을 설정할 수 있습니다.

코드 /etc/locale.gen에 로캘 추가
en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
참고
Use an @euro value from /usr/share/i18n/SUPPORTED as the locale when using the Euro currency symbol (€) on non UTF-8 based locales.

다음 단계에서 locale-gen을 실행하십시오. /etc/locale.gen파일에 정의한 모든 로캘을 생성하며 locale-archive(/usr/lib/locale/locale-archive)에 기록합니다.

root #locale-gen
 * Generating 4 locales (this might take a while) with 1 jobs
 *  (1/4) Generating en_GB.ISO-8859-1 ...                       [ ok ]
 *  (2/4) Generating en_GB.UTF-8 ...                            [ ok ]
 *  (3/4) Generating de_DE.ISO-8859-1 ...                       [ ok ]
 *  (4/4) Generating de_DE.ISO-8859-15@euro ...                 [ ok ]
 * Generation complete

locale -a를 실행하면 선택한 로캘이 존재하는지 확인할 수 있습니다.

user $locale -a
C
POSIX
de_DE
de_DE.iso88591
de_DE.iso885915@euro
de_DE@euro
deutsch
en_GB
en_GB.iso88591
en_GB.utf8
german

strings 명령으로 /usr/lib/locale/locale-archive 파일의 내용을 표시할 수 있습니다.

user $localedef --list-archive

Its raw content can be displayed using the strings command.

user $strings /usr/lib/locale/locale-archive | less

로캘 설정

OpenRC

OpenRC 로캘 설정을 환경 변수에 저장했다고 해봅니다. 보통 /etc/env.d/02locale(시스템 범위) 와 ~/.bashrc (사용자 정의) 파일에 지정합니다. 자세한 내용은 UTF-8 게시글에 있습니다. /etc/env.d/02locale 시스템 영역 설정 파일은 eselect locale로 관리할 수 있습니다. 예를 들어 LANG 변수를 C 값으로 설정하려면:

root #eselect locale list
Available targets for the LANG variable:
  [1]   C 
  [2]   POSIX
  [3]   en_US
  [4]   en_US.iso885915
  [5]   en_US.utf8
  [ ]   (free form)
root #eselect locale set 1

물론, 파일을 있는 그대로 편집할 수 있고, 로캘 변수 값을 다양하게 설정할 수 있습니다.

The command above lists the suffix in lower case without any hyphens, glibc understands both forms of the suffix, many other programs don't. The most common example of which is X. So it is best to always use UTF-8 in preference to utf8.

파일 /etc/env.d/02locale/etc/env.d/02locale에 기본 시스템 로캘 설정
LANG="de_DE.UTF-8"
LC_COLLATE="C"

In some cases users may notice glitchy non-English representation in some applications like Krusader (https://bugs.kde.org/show_bug.cgi?id=371582). Removing or commenting the LC_ALL="" line from /etc/env.d/02locale should fix the problem.

가능한 일이기도 하며, 특히 "C" 로캘 전역 설정을 바꾸지 않고 그대로 두는 것은 기존 UNIX 환경에서는 꽤 일반적입니다. 그래도 사용자는 자신의 쉘 RC을 통해 적당한 로캘을 설정할 수 있습니다:

파일 ~/.bashrc사용자 로캘 설정
export LANG="de_DE.UTF-8"
export LC_COLLATE="C"

시스템을 설정하는 다른 방법은 기본 C 로캘을 벗어나는 것이지만 동시에 UTF-8 문자를 표시하기도 하는 방법입니다. 이 옵션은 /etc/env.d/02locale의 다음 설정을 사용하면 해결할 수 있습니다:

코드 UTF-8을 지정하는 동안 전통적인 C 로캘 사용하기
LC_CTYPE=de_DE.UTF-8

위 코드 일부를 사용하면, 여러분이 선호 언어를 강제하지 않은 반면, 사용자들은 자신들의 지역화 파일 이름을 알맞게 볼 수 있습니다.

올바른 로캘을 설정하고 나면, 시스템이 바뀐 내용을 인지하도록 환경 변수를 업데이트 했는지 확인하십시오.

시스템 범위 기본 로캘:

root #env-update && source /etc/profile

사용자 지정 로캘:

user $source ~/.bashrc

그 다음 Ctrl + Alt + Backspace 키를 눌러 X 서버를 죽이고 로그아웃 한 다음 사용자로 로그인하십시오.

이제, 설정한 내용이 제대로 바뀌었는지 확인해보겠습니다:

user $locale

The values of locale environment variables that have been explicitly set e.g. in an export statement (if using bash) are listed without double quotes. Those whose value has been inherited from other locale environment variables have their values in double quotes.

systemd

systemd를 사용한다면 localectl 명령으로 로캘을 설정하십시오. 사용할 수 있는 로캘이 무엇이 있는지 다음과 같이 확인해보십시오:

root #localectl list-locales

그 다음 원하는 로캘을 선택하십시오:

root #localectl set-locale LANG=de_DE.utf8

마지막으로 결과가 괜찮은지 확인하십시오:

root #localectl | grep "System Locale"
   System Locale: LANG=de_DE.utf8

콘솔용 키보드 배치

OpenRC

콘솔에서 사용하는 키보드 배치는 /etc/conf.d/keymaps 파일에서 keymap 변수로 설정합니다. 유효한 값은 /usr/share/keymaps/YOUR_ARCH/에서 찾을 수 있습니다. i386에는 더 많은 하위 배치 분류가 있습니다(qwerty/, azerty/ 등). 어떤 언어는 다중 옵션을 가지고 있기 때문에 여러분이 필요로하는 어떤 방식이 적당하는지 결정하는데는 실험이 필요할지도 모릅니다.

파일 /etc/conf.d/keymaps콘솔 키맵 설정
keymap="de"
#keymap="de-latin1"
#keymap="de-latin1-nodeadkeys"

systemd

systemd에서는 localectl 명령을 통해 사용하는 콘솔용 키맵 배치를 설정할 수 있습니다. 먼저 존재하는 키맵 배치가 무엇이 있는지 확인해보십시오:

root #localectl list-keymaps

다음 원하는 콘솔 키맵 배치를 설정하십시오:

root #localectl set-keymap it

마지막으로 콘솔 키맵 배치를 올바르게 설정했는지 확인하십시오:

root #localectl | grep "VC Keymap"
       VC Keymap: it

X 서버용 키보드 배치

OpenRC

X 서버에서 사용하는 키보드 배치는 /etc/X11/xorg.conf.d/30-keyboard.conf 파일의 XkbLayout 옵션에서 지정합니다. 자세한 내용은 Xorg 안내서를 참고하세요.

systemd

systemd 에서 X11 서버용 키보드 배치는 localectl 명령으로 설정할 수 있습니다. 먼저 존재하는 X11 키보드 배치가 어떤 것들이 있는지 확인하십시오:

root #localectl list-x11-keymap-layouts

다음 요청한 X11 키맵 배치를 설정하십시오:

root #localectl set-x11-keymap it

마지막으로 X11 키맵 배치를 올바르기 설정했는지 확인하십시오:

root #localectl | grep "X11 Layout"
      X11 Layout: it

NLS

메시지 기반 지역화를 지원하는 프로그램에서 지역별 표시가 동작하고, nls(Native Language Support) USE 플래그 설정을 보유하게 하려면, USE 플래그를 설정한 상태에서 프로그램을 컴파일하십시오. /usr/share/locale/<locale>/LC_MESSAGES/<package>.mo 파일에 메시지 문자열이 있습니다. nls를 사용하는 대부분의 프로그램은 지역화 메시지를 추출해서 사용할 gettext 라이브러리도 필요합니다. 물론, 포티지는 필요한 경우 자동으로 설치합니다.

nls USE 플래그를 활성화 하면 일부 꾸러미를 다시 이머지 해야합니다:

root #emerge --ask --newuse --deep --with-bdeps=y @world

LINGUAS

경고
LINGUAS causes packages to implicitly skip locales. When using it, the package manager cannot determine which locales were omitted. Do not use LINGUAS if you intend to redistribute binary packages.

There is also an additional LINGUAS variable that is used by some gettext-based build systems to control which localization files are built and installed. The variable takes in space-separated list of language codes, and a suggested place to set it is /etc/portage/make.conf:

root #nano -w /etc/portage/make.conf
## (Add in the LINGUAS variable. For instance, for German, Finnish and English:)
LINGUAS="de fi en"

LINGUAS="" 로 설정하면 대부분의 이빌드에서 꾸러미 기본 언어로 설치하며, 어떤 LC_MESSAGES 파일도 설치하지 않습니다. 또한 그 이상의 어떤 언어 꾸러미도 다운로드하고 설치하지도 않습니다. 예를 들어 현재 app-office/libreoffice 안정 꾸러미는 LINGUAS에 정의한 언어 꾸러미를 다운로드하고 설치하는 app-office/libreoffice-l10n 에서 언어 지원을 받습니다. libreoffice의 기본 언어는 en_US 이며 app-office/libreoffice-l10n에는 en_US 플래그가 없습니다. 따라서 libreoffice에서는 LINGUAS="" 설정을 참고하여 en_US 언어를 지원합니다.

참고
Incorrect setting of LINGUAS may lead to incomplete translation of some applications, such as KDE Plasma and its apps. Try to remove LINGUAS and rebuild related packages if you encounter this problem.

L10N

A USE_EXPAND variable called L10N decides which extra localization support will be installed. This is commonly used for downloads of additional language packs by packages. Similar to LINGUAS, the variable takes a space separated list of language tags, and it can be set in /etc/portage/make.conf:

root #nano -w /etc/portage/make.conf
## (Add in the L10N variable. For instance, for German and Brazilian Portuguese:)
L10N="de pt-BR"

To set it per-package, edit /etc/portage/package.use and prefix the requested language packs with "l10n_", as shown in the next example:

파일 /etc/portage/package.use
app-text/aspell l10n_de l10n_pt-BR

Note that while the common two letter language codes (like de or fr) are identical in LINGUAS and L10N, more complex entries have a different syntax because L10N uses IETF language tags (aka BCP 47). For example, pt_BR and sr@latin in LINGUAS become pt-BR and sr-Latn in L10N, respectively.

A list of L10N values that can be used is provided as /var/db/repos/gentoo/profiles/desc/l10n.desc:

user $grep -i portuguese /var/db/repos/gentoo/profiles/desc/l10n.desc
pt - Portuguese
pt-BR - Portuguese (Brazil)
pt-PT - Portuguese (Portugal)

After setting the L10N USE_EXPAND variable it may be necessary to re-emerge some packages:

root #emerge --ask --changed-use --deep --with-bdeps=y @world

추가 참조

외부 자료

References


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Alexander Holler, Steven Lucy, Benny Chuang, Lars Weiler, Tobias Scherbaum, Flammie Pirinen, , Francisco Blas Izquierdo Riera (klondike)
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.