- 오픈솔라리스 ON(OS/Net) 번역이란 무엇입니까?
- ON 의 서로 다른 컴포넌트들은 무엇이 있습니까?
- 좋습니다, 번역을 위한 준비 과정은 어떠한 것들이 있습니까?
- 현 단계 까지 완료 했습니다. ON 컴포넌트를 번역하는 예제를 보여 주시겠습니까?
- 자바 프로퍼티 파일은 어떻게 번역합니까?
- 제 로케일의 cal, diff, ls etc. 같은 시스템 커맨드의 날짜 및 시간 포맷을 어떻게 변경해 줘야 합니까?
- 제가 번역한 메세지들을 어떻게 소스 트리에 공헌할 수 있습니까?
오픈솔라리스 ON(OS/Net) 번역은 오픈솔라리스 운영체제의 코어 및 네트워킹 컴포넌트들의 인터페이스 언어를 영어에서 유저의 타겟 언어로 바꿈으로써 비영어권 사용자들이 사용 가능하도록 만드는 것을 뜻합니다.
오픈솔라리스는 많은 수의 소프트웨어 레이어를 가지고 있지만 이 FAQ 는 ON 라이브러리 및 유틸리티에 집중 합니다. 다음의 섹션은 메세지를 번역함으로써 로컬라이제이션이 가능한 커맨드들과 라이브러리 함수들을 나열 한 것입니다.
| 운영체제 커맨드 | 운영 체제 라이브러리 | Sysadmin 커맨드 | BSD 호환 커맨드 | 소프트트웨어 생성 서브시스템 커맨드 |
|---|---|---|---|---|
| AppcertUtil | ac | login | biff | ld |
| iscsitgtd | apptrace | pwconv | install | |
| md_monitordp | assert | mkstr | ||
| abi_index | cstone_piclfrutree | rusage | ||
| acctadm | dak_piclfrutree | shutdown | ||
| allocate_all | devfsadmd_mod | ucblinks | ||
| appcert | errlst | |||
| apptrace | errmsgs | |||
| asa | getopt | |||
| audioplay | getopt_long | |||
| audiorecord | ib | |||
| audit | libbsm | |||
| audit_binfile | libcfgadm | |||
| audit_syslog | libcontract | |||
| auditd | libcurses | |||
| auths | libdb2 | |||
| autopush | libdhcputil | |||
| awk | libdladm | |||
| awk_xpg4 | libfruaccess | |||
| banner | libgss | |||
| bart | libinetcfg | |||
| basename | libipmp | |||
| bnu | libkadm5clnt | |||
| bootconfchk | libkadm5srv | |||
| bsmconv | libkdb | |||
| bsmrecord | libldap | |||
| bsmunconv | libmeta | |||
| busstat | libpiclfrudata | |||
| cal | libpool | |||
| cat | libprtdiag_psr_cherrystone | |||
| cdrw | libprtdiag_psr_daktari | |||
| cfgadm | libprtdiag_psr_desktop | |||
| checkeq | libprtdiag_psr_desktop_picl | |||
| checknr | libprtdiag_psr_javelin | |||
| chgrp | libprtdiag_psr_littleneck | |||
| chmod_cmd | libprtdiag_psr_lw8_picl | |||
| chown | libprtdiag_psr_montecarlo | |||
| cksum | libprtdiag_psr_monto | |||
| cmd-inet | libprtdiag_psr_ontari | |||
| cmp | libprtdiag_psr_opl | |||
| col | libprtdiag_psr_schumacher_picl | |||
| comm | libprtdiag_psr_serengeti | |||
| compress | libprtdiag_psr_snowbird | |||
| consadm | libprtdiag_psr_starcat | |||
| coreadm | libprtdiag_psr_starfire | |||
| cpio | libprtdiag_psr_sunfire | |||
| cpustat_cmd | libprtdiag_psr_tazmo | |||
| cputrack_cmd | libprtdiag_sun4u | |||
| cron_cmd | libprtdiag_sun4v | |||
| cryptoadm_all | libsasl | |||
| csh | libscf | |||
| csplit | libshare | |||
| ctrun | libsldap | |||
| ctstat | libslp | |||
| ctwatch | libsmedia | |||
| cut | libss | |||
| datadm | libtsol | |||
| date | libuutil | |||
| dc | libwanboot | |||
| dcs | libwanbootutil | |||
| dd | libwladm | |||
| decrypt | libzfs | |||
| deroff | libzonecfg | |||
| diff | lw8_libfruaccess | |||
| diffmk | lw8_piclfrutree | |||
| digest | madv | |||
| dladm | mpss | |||
| du_cmd | mpxu_piclfrudr | |||
| dumpcs | nlspath_checks | |||
| ed_cmd | pci | |||
| eject | perror | |||
| env | picl | |||
| eqn | picld_pluginutil | |||
| etc | picldevtree | |||
| expand | piclenvd_chicago | |||
| expr | piclenvd_enchilada | |||
| fgrep | piclenvd_excalibur | |||
| file_all | piclenvd_grover | |||
| filesync | piclenvd_taco | |||
| find | piclenvmon_sun4u | |||
| fold | piclevent | |||
| fruadm | piclfcal_leds_lw2plus | |||
| fs | piclfrutree_lneck | |||
| fsstat | picllom_blade | |||
| fstyp | piclmemcfg | |||
| generic | piclmemcfg_comm | |||
| geniconvtbl | priv_str_xlate | |||
| genmsg | psiginfo | |||
| getconf | psignal | |||
| gettent | psvcplugin_cstone | |||
| gettext | psvcplugin_dak | |||
| gettxt | psvcplugin_lneck | |||
| grep | psvcpolicy_cstone | |||
| grep_xpg4 | psvcpolicy_dak | |||
| grpck | psvcpolicy_lneck | |||
| halt | regerror_msg | |||
| head | sata | |||
| hostname | sbd | |||
| htable | scsi | |||
| id | siglist | |||
| ifconfig | sm_fd | |||
| in.dhcpd | sm_pcata | |||
| in.ftpd_all | sm_pcmem | |||
| in.routed | sm_scsi | |||
| in.talkd | snowbird_piclenvmond | |||
| inetadm | snowbird_piclfrutree | |||
| inetconv | snowbird_piclwatchdog | |||
| inetd | strerror | |||
| iostat | strsignal | |||
| ipqosconf | sysctrl | |||
| isaexec | sysevent_conf_mod | |||
| join | sysevent_reg_mod | |||
| kadmind | ttyname | |||
| kbd | usb | |||
| kclient | ||||
| kdb5_util | ||||
| kdestroy | ||||
| kinit | ||||
| klist | ||||
| kmfcfg_msg | ||||
| kpasswd | ||||
| kprop | ||||
| kproplog | ||||
| krb5-config | ||||
| krb5kdc | ||||
| ksslcfg_all | ||||
| kstat | ||||
| ktkt_warnd | ||||
| ktutil | ||||
| last | ||||
| ldap_cachemgr | ||||
| ldapcmd | ||||
| lgrpinfo | ||||
| libshare_nfs | ||||
| locale | ||||
| lofiadm | ||||
| logadm | ||||
| logger | ||||
| logname | ||||
| lp | ||||
| ls | ||||
| lsvcrun | ||||
| mailx | ||||
| man | ||||
| mesg | ||||
| mfstscan_all | ||||
| mipagentconfig_prog | ||||
| mipagentstat | ||||
| mixerctl | ||||
| mkdir_cmd | ||||
| mkpwdict | ||||
| mktemp | ||||
| more | ||||
| mpstat | ||||
| msgfmt_all | ||||
| mv | ||||
| ncab2clf | ||||
| ncaconfd | ||||
| newgrp | ||||
| newtask | ||||
| nice | ||||
| nispasswd | ||||
| nohup | ||||
| oawk | ||||
| pack | ||||
| passmgmt | ||||
| passwd | ||||
| paste | ||||
| pathchk | ||||
| pdevfsadm | ||||
| pdsvclockd | ||||
| pfexec | ||||
| pg | ||||
| picld | ||||
| pktool_msg | ||||
| pooladm | ||||
| poolbind | ||||
| poolcfg | ||||
| poold | ||||
| poolstat | ||||
| power_all | ||||
| ppgrep | ||||
| pprstat | ||||
| pr | ||||
| praudit | ||||
| prcapadm | ||||
| prcapstat | ||||
| prcm_daemon | ||||
| prex | ||||
| profiles | ||||
| projadd | ||||
| projdel | ||||
| projects | ||||
| projmod | ||||
| prophist | ||||
| prtdiag | ||||
| prtdscp | ||||
| prtfru_msg | ||||
| prtpicl | ||||
| ps | ||||
| psrinfo | ||||
| pstmsboot | ||||
| ptools | ||||
| pwd | ||||
| raidctl | ||||
| ramdiskadm | ||||
| rcapd | ||||
| refer | ||||
| regcmp | ||||
| renice | ||||
| rm | ||||
| rmdir | ||||
| rmformat | ||||
| rmmount | ||||
| rmvolmgr_all | ||||
| roles | ||||
| routeadm | ||||
| scadm_SUNW,Sun-Fire-V240 | ||||
| script | ||||
| sdiff | ||||
| sdpadm_msg | ||||
| sgs | ||||
| sh | ||||
| sharectl | ||||
| sharemgr | ||||
| sleep | ||||
| snoop | ||||
| sort | ||||
| split | ||||
| sppptun | ||||
| ssh | ||||
| strings | ||||
| su | ||||
| sum | ||||
| svc | ||||
| svcadm_all | ||||
| svccfg_all | ||||
| svcprop | ||||
| svcs_all | ||||
| swap | ||||
| symcheck | ||||
| symprof | ||||
| symreport | ||||
| syseventadm | ||||
| syseventconfd_msg | ||||
| syseventd_msg | ||||
| tabs | ||||
| talk | ||||
| tar | ||||
| tbl | ||||
| tee | ||||
| time | ||||
| tnfdump | ||||
| tnfxtract | ||||
| touch | ||||
| tput | ||||
| troff | ||||
| tty | ||||
| ttymon | ||||
| tzselect | ||||
| ufsdump | ||||
| ufsrestore | ||||
| ul | ||||
| uname | ||||
| uniq | ||||
| units | ||||
| unlink | ||||
| unpack | ||||
| valtools | ||||
| vgrind | ||||
| vi | ||||
| vmstat | ||||
| vntsd_msg | ||||
| volcheck | ||||
| volrmmount | ||||
| w | ||||
| wanboot | ||||
| wbem_disk | ||||
| wbem_nfs | ||||
| wc | ||||
| who | ||||
| whodo | ||||
| wificonfig | ||||
| wracct | ||||
| write | ||||
| wrsmconf_cmd | ||||
| wrsmstat | ||||
| xargs | ||||
| yppasswd | ||||
| zdump | ||||
| zfs | ||||
| zic | ||||
| zlogin | ||||
| zoneadm_all | ||||
| zoneadmd_all | ||||
| zonecfg | ||||
| zonename | ||||
| zpool |
좋습니다, 번역을 위한 준비 과정은 어떠한 것들이 있습니까?
만약 아직 준비 되지 않았다면 부디 오픈솔라리스의 솔라리스 익스프레스 커뮤니티 버전을 다음의 링크중에서 여러분의 머신으로 다운 로드 받으시기 바랍니다.
솔라리스 익스프레스 커뮤니티 버전 다운로드 에서 오픈솔라리스의 솔라리스 익스프레스 배포판을 다운로드 합니다.
듀얼 부트 환경에 설치하려 하신다면 설치 문서 를 살펴 보시기 바랍니다.
네바다 글로벌라이제이션 프로젝트 는 G11N 코드 및 메세지의 코드베이스를 기반하고 있는 자주 변경되는 페이지 를 가지고 있습니다. 이 문서에서 조언하는대로 메세지 컴포넌트를 따로 받으시기 바랍니다.
$ hg clone ssh://anon@hg.opensolaris.org/hg/nv-g11n/messages
이 것은 "messages" 라고 불리는 디렉토리를 생성할 것입니다.
현 단계 까지 완료 했습니다. ON 컴포넌트를 번역하는 예제를 보여 주시겠습니까?
메세지 소스 패스에 있는 현존하는 로케일내의 메세지를 번역할 수도 있고 메세지 워크스페이스에 존재하지 않는 새로운 로케일에 메세지를 번역할 수도 있습니다.
메세지 소스내에 현존하는 로케일의 메세지를 번역하는 방법은 다음과 같습니다
이전의 질문에 대한 답변대로 메세지 워크스페이스를 옮겨왔다고 가정하면 다음의 단계를 진행합니다. 예를 들어 독일어 메세지를 변경하려면
$ cd messages/messages/on/de_DE/usr/lib/locale/__LOCALE__/LC_MESSAGES
SUNW_OST_OSCMD.po 파일에서 운영체제 커맨드 , SUNW_OST_OSLIB.po 파일에서 운영체제 라이브러리 , SUNW_OST_ADMIN.po 파일에서 Sysadmin 커맨드, BSD 호환 커맨드는 SUNW_OST_UCBCMD.po 그리고 소프트웨어 생성 서브시스템 커맨드는 SUNW_OST_SGS.po 파일에서 찾으실 수 있습니다.
예제에서 우리는 cmp 커맨드를 SUNW_OST_OSCMD.po 파일에서 골랐습니다.
# The following lines are contents of SUNW_OST_OSCMD/cmp.po
msgid "%s %s differ: char %lld, line %lld\n"
msgstr "%s %s unterscheiden sich: Zeichen %lld, Zeile %lld\n"
msgid "cmp: cannot open %s\n"
msgstr "cmp: %s kann nicht geöffnet werden.\n"
msgid "cmp: EOF on %s\n"
msgstr "cmp: EOF (Dateiende) bei %s.\n"
만약 아래의 msgstr 을
msgid "cmp: cannot open %s\n"
msgstr "cmp: %s kann nicht geöffnet werden.\n"
msgid "cmp: cannot open %s\n"
msgstr "cmp: %s kann nicht sich öffnen.\n"
$ export SRC=/path/to/message/directory예를 들어 $HOME/projects 디렉토리 아래에 로컬 메세지 루트 디렉토리를 가져다 놓았다고 한다면 SRC 를 다음과 같이 설정 합니다 $ export SRC=$HOME/projects/messages그 다음에 아래를 수행합니다 $ cd $SRC
$ /usr/bin/make
$ /usr/bin/make build
$SRC/proto/`mach`/fileroot/usr/lib/locale/de.UTF-8/LC_MESSAGES 디렉토리에 .mo 파일이 생성된 것을 볼 수 있습니다. 새롭게 생성된 .mo 파일은 de.UTF-8 로케일에서 실행되는 'cmp' 유틸리티를 위해 /usr/lib/locale/de.UTF-8/LC_MESSAGES/ 디렉토리에 카피될 수 있습니다. 아마 여러분은 프로토 파일이 de_DE.UTF-8 이 아닌 de.UTF-8 아래에 생성된 것을 눈치 챘을텐데 원래 .mo 파일의 위치를 기대할 수 도 있기 때문입니다. 이것은 생성된 .mo 파일들을 넣는 루트 디렉토리를 $SRC/messages/on/makefiles/usr/lib/locale/rootdir.sh 가 변경하기 때문입니다.
다음 섹션에서는 본래 메세지 소스에는 존재 하지 않았던 완전히 새로운 로케일에서 메세지를 번역하는 것에 대해 설명합니다.
이 예제에서 우리는 hi_IN 로케일을 예제로 선택했습니다. 예제 파일과 코드에서 hi 와 hi_IN 는 빨간색 으로 표시 됩니다. 아래의 설명을 따라 하실때에는 여러분에 환경의 언어/로케일에 맞게 이부분을 변경해 주시기 바랍니다.
여러분이 지원을 추가할 로케일이 이미 메세지 디렉토리 아래에 Makefile.master 파일에 추가되어 있는지를 아래와 같이 확인 합니다
# List of all our locales - if you need to add/remove any, do it here
ALL_LOCALES = ar_EG ar_SA bg_BG ca cs_CZ da_DK da_DK de_DE de_AT de_CH de_LU el_GR el_CY
en_AU en_CA en_GB en_IE en_MT en_NZ en_US es_ES es_AR es_BO es_CL es_CO es_CR es_EC es_GT
es_MX es_NI es_PA es_PE es_PY es_SV es_UY es_VE et_EE fi_FI fr_FR fr_BE fr_CA fr_CH fr_LU
he_IL hi_IN hr_HR hu_HU is_IS it_IT ja_JP ko_KR lt_LT lv_LV mk_MK nb_NO nl_NL nl_BE nn_NO
no_NO no_NY pl_PL pt_PT pt_BR ro_RO ru_RU sh_BA sk_SK sl_SI sq_AL sr_CS sr_SP sr_YU sv_SE
ta_IN th_TH tr_TR zh_CN zh_HK zh_TW iconv
진하게 표시된대로 hi_IN 로케일은 이미 마스터 로케일 리스트에 포함되어 있습니다. 만약 타겟 로케일이 포함되어 있지 않다면 추가 합니다.
$SRC/messages/Makefile.trans 파일을 수정하여 아래에 진한 빨간색으로 표시된 부분을 추가하도록 합니다
# These are default language setting
TARG_LANGUAGE:sh= echo ${TARG_LANGUAGE-'de_DE es_ES fr_FR hi_IN it_IT ja_JP ko_KR sv_SE zh_CN zh_TW'
TARG_LANGUAGE_S:sh= echo ${TARG_LANGUAGES_S-'de es fr hi it ja ko sv zh zh_TW'}
de_DE_LOCALE :sh = echo ${de_DE_LOCALE-'de_DE.ISO8859-1 de_DE.UTF-8'}
es_ES_LOCALE :sh = echo ${es_ES_LOCALE-'es_ES.ISO8859-1 es_ES.UTF-8'}
fr_FR_LOCALE :sh = echo ${fr_FR_LOCALE-'fr_FR.ISO8859-1 fr_FR.UTF-8'}
it_IT_LOCALE :sh = echo ${it_IT_LOCALE-'it_IT.ISO8859-1 it_IT.UTF-8'}
hi_IN_LOCALE :sh = echo ${hi_IN_LOCALE-'hi_IN.UTF-8'}
hi_IN_LOCALE :sh = echo ${hi_IN_LOCALE-'hi_IN.UTF-8'}
ja_JP_LOCALE :sh = echo ${ja_JP_LOCALE-'ja_JP.eucJP ja_JP.PCK ja_JP.UTF-8'}
ko_KR_LOCALE :sh = echo ${ko_KR_LOCALE-'ko_KR.EUC ko.UTF-8'}
pl_PL_LOCALE :sh = echo ${pl_PL_LOCALE-'pl_PL.ISO8859-2 pl_PL.UTF-8'}
pt_BR_LOCALE :sh = echo ${pt_BR_LOCALE-'pt_BR.ISO8859-1 pt_BR.UTF-8'}
ru_RU_LOCALE :sh = echo ${ru_RU_LOCALE-'ru_RU.UTF-8 ru_RU.KOI8-R ru_RU.ISO8859-5 ru_RU.ANSI1251'}
sv_SE_LOCALE :sh = echo ${sv_SE_LOCALE-'sv_SE.ISO8859-1 sv_SE.UTF-8'}
zh_CN_LOCALE :sh = echo ${zh_CN_LOCALE-'zh_CN.EUC zh.GBK zh.UTF-8'}
zh_TW_LOCALE :sh = echo ${zh_TW_LOCALE-'zh_TW.EUC zh_TW.UTF-8 zh_TW.BIG5'}
TARG_LOCALE= \
$(de_DE_LOCALE) \
$(es_ES_LOCALE) \
$(fr_FR_LOCALE) \
$(it_IT_LOCALE) \
$(hi_IN_LOCALE) \
$(hi_IN_LOCALE) \
$(ja_JP_LOCALE) \
$(ko_KR_LOCALE) \
$(sv_SE_LOCALE) \
$(zh_CN_LOCALE) \
$(zh_TW_LOCALE)
$ cd $SRC/messages/common/locale
여기서 우리는 hi 에 특수한 Makefile 을 만들어햐 합니다. 기존에 존재하는 Makefile 을 참조하여 hi 를 위한 Makefile 을 만들 수 있습니다. 우리가 관심 있는 것은 UTF-8 코드 셋이므로 Makefile.hi 와 Makefile.hi_IN.UTF-8 을 만듭니다.
Makefile.hi 파일을 아래와 같이 생성합니다
# For Solaris
LOCALE= hi
CHARSET= UTF-8
SRC_LOCALE= hi_IN
# For java
JAVA_LOCALE= hi_IN
JAVA_LOCALE_S= hi
#
UINICV=
Makefile.hi_IN.UTF-8 을 아래와 같이 생성합니다
# For Solaris
LOCALE= hi_IN.UTF-8
CHARSET= UTF-8
SRC_LOCALE= hi_IN
# For java
JAVA_LOCALE= hi_IN
#
USEICV=
$ cd ../../on
$ cp -r en_US hi_IN
en_US 디렉토리에서 카피된 자바 리소스 번들을 아래와 같이 수정 합니다. 이것은 '_en_US.properties' 로 끝나는 파일을 ' ___LOCALE__.properties' 로 끝나는 파일로 변경할 것입니다. $ cd $SRC/messages/on
$ cp -r en_US hi_IN
$ cd hi_IN
$ for i in `find . -name "*_en_US.properties"`
> do
> FL=`basename $i`
> CHFL=${FL%_en_US.properties}
> mv $i `dirname $i`/${CHFL}___LOCALE__.properties
> done
$ for i in `find . -name "en_US"
> do
> mv $i `dirname $i`/___LOCALE__
> done
$ for i in `find . -name "*_en_US.java"`
> do
> FL=`basename $i`
> CHFL=${FL%_en_US.java}
> mv $i `dirname $i`/${CHFL}___LOCALE__.java
> cat `dirname $i`/${CHFL}___LOCALE__.java | \
/usr/bin/sed -e '/^public class/s/pmHelpResources /pmHelpResources___LOCALE__ /' \
-e '/^public class/s/pmResources /pmResources___LOCALE__ /' > /tmp/$$
> mv /tmp/$$ `dirname $i`/${CHFL}___LOCALE__.java
> done
$ cd hi_IN/usr/lib/locale/__LOCALE__/LC_MESSAGESnawk 스크립트를 이용하여 .po 파일이 번역되도록 전처리하여 기본 번역을 ASCII 로 만들어 줍니다
index($1,"#") == 1 { print $0 }
$1 == "msgstr" { for (i=0;i<var;i++) print arr[i]; }
$1 == "msgstr" { sub("msgid", "msgstr", arr[0]); }
$1 == "msgstr" { for (i=0;i<var;i++) print arr[i]; }
$1 == "msgid" { var=0; arr[var++]=$0; }
$1 != "msgid" { arr[var++]=$0 }
$ nawk -f modpo.awk SUNW_OST_OSCMD.po이것은 msgid/msgstr 를 동일하게 만들어 줄 것이고 이후에 SUNW_OST_OSCMD.po, 을 수정합니다. 예를 들어 cmp 커맨드는 아래와 같을 것입니다. 예제 번역으로 다음과 같이 변경될 수 있습니다.
# The following lines are contents of SUNW_OST_OSCMD/cmp.po
msgid "%s %s differ: char %lld, line %lld\n"
msgstr "%s %s differ: char %lld, line %lld\n"
msgid "usage: cmp [-l | -s] file1 file2 [skip1] [skip2]\n"
msgstr "usage: cmp [-l | -s] file1 file2 [skip1] [skip2]\n"
msgid "cmp: cannot open %s\n"
msgstr "cmp: %s खोल नहीं सकता। \n"
msgid "cmp: EOF on %s\n"
msgstr "cmp: EOF on %s\n"
$ cd $SRC
$ /usr/bin/make
$ /usr/bin/make build위 명령은 메세지 파일을 빌드하고 결과물인 SUNW_OST_OSCMD.mo 파일이 프로토 디렉토리에 생성될 것입니다. 예, $SRC/proto/sparc/fileroot/usr/lib/locale/hi_IN.UTF-8/LC_MESSAGES/ 디렉토리 아래
작업 메세지 디렉토리 구조를 만든 다음에 아래의 예제를 확인 합니다.
번역되지 않은 본래 .properties 파일 $SRC/messages/on/en_US/usr/share/lib/locale/com/sun/slp/ClientLib_en_US.properties
no_message =
#Messages logged through SLPConfig.writeLog().
unknown_da_address = Unknown DA address: {0}
periodic_exception = Exception ``{0}'''' during periodic SA reregistering: {1}
sending_da_trace = Sending message ``{0}'''' to DA ``{1}''''
reply_da_trace = Received reply ``{0}'''' from DA ``{1}''''
tcp_send_da_trace = Sending TCP message ``{0}'''' to DA ``{1}''''
tcp_reply_da_trace = Received TCP reply ``{0}'''' from DA ``{1}''''
da_exception_trace = Error ``{0}'''' from DA ``{1}'''': {2}
udp_timeout = UDP timed out: {0}
datagram_io_error = IOException during datagram transaction with address ``{0}'''': {1}
$SRC/messages/on/de_DE/usr/share/lib/locale/com/sun/slp/ClientLib___LOCALE__.properties 에 de_DE 로케일로 번역된 메세지 파일
#@EN@
no_message =
#Messages logged through SLPConfig.writeLog().
#@EN@ Unknown DA address: {0}
unknown_da_address = Unbekannte DA-Adresse: {0}
#@EN@ Exception ``{0}'''' during periodic SA reregistering: {1}
periodic_exception = Ausnahme ``{0}'''' w\u00e4hrend planm\u00e4\u00dfiger SA-Neuregistrierung: {1}
#@EN@ Sending message ``{0}'''' to DA ``{1}''''
sending_da_trace = Nachricht ``{0}'''' wird an DA ``{1}'''' gesendet
#@EN@ Received reply ``{0}'''' from DA ``{1}''''
reply_da_trace = Antwort ``{0}'''' von DA ``{1}'''' empfangen
#@EN@ Sending TCP message ``{0}'''' to DA ``{1}''''
tcp_send_da_trace = TCP-Nachricht ``{0}'''' wird an DA ``{1}'''' gesendet
#@EN@ Received TCP reply ``{0}'''' from DA ``{1}''''
tcp_reply_da_trace = TCP-Antwort ``{0}'''' von DA ``{1}'''' empfangen
#@EN@ Error ``{0}'''' from DA ``{1}'''': {2}
da_exception_trace = Fehler ``{0}'''' von DA ``{1}'''': {2}
#@EN@ UDP timed out for address ``{0}''''.
udp_timeout = UDP wegen Zeit\u00fcberschreitung abgebrochen: {0}
#@EN@ IOException during datagram transaction with address ``{0}'''': {1}
datagram_io_error = E/A-Ausnahme w\u00e4hrend Datagramm-Transaktion mit Adresse ``{0}'''': {1}
유사하게 새롭게 생성된 hi_IN 프로퍼티 파일도 번역될 것입니다.
제 로케일의 cal, diff, ls etc. 같은 시스템 커맨드의 날짜 및 시간 포맷을 어떻게 변경해 줘야 합니까?
이러한 작업을 위해 변경 될 수 있는 (이전의 hi_IN 예제의 경우) $SRC/messages/on/hi_IN/usr/lib/locale/__LOCALE__/LC_TIME 디렉토리와 SUNW_OST_OSCMD.po 파일과 을 참고하시기 바랍니다.제가 번역한 메세지들을 어떻게 소스 트리에 공헌할 수 있습니까?
설명서를 참조하여 G11N 워크스페이스와 관련된 네바다 G11N 프로젝트와 공헌할 수 있는 hg 어카운트에 지원하실 수 있습니다.이 글의 영문 원본은
http://www.opensolaris.org/os/community ··· n_faq%2F
에서 보실 수 있습니다.
"오픈솔라리스" 카테고리의 다른 글
- BrandZ 의 Linux2.6 지원 프로젝트 소개 (댓글 0개 / 트랙백 0개) 2007/12/13
- OpenSolaris 코드 브라우저를 이용하여 코드베이스 탐색하기 (댓글 1개 / 트랙백 1개) 2005/09/23
- Inside OpenSolaris: Introduction to Solaris Dri... (댓글 1개 / 트랙백 0개) 2005/10/23
- 리눅스 가이가 썬에서 무슨 일을 하고 있나요? (댓글 1개 / 트랙백 0개) 2008/05/19
- Xen: 다운로드, 설치 및 설정 정보 (댓글 0개 / 트랙백 0개) 2008/01/21
- 오픈 솔라리스를 위한 무선 네트워킹 (댓글 1개 / 트랙백 0개) 2006/01/23
- FAQ: OpenSolaris.org (댓글 3개 / 트랙백 0개) 2006/09/23
- ZFS 시작하기 (댓글 1개 / 트랙백 0개) 2005/11/23
- BrandZ/SCLA FAQ (댓글 1개 / 트랙백 0개) 2006/02/23
- ZFS Boot (댓글 2개 / 트랙백 0개) 2007/06/13
댓글을 달아 주세요