¥»¤å²z xcin-2.5 ¦w¸Ë¨BÆJ»P·Ç³Æ¤u§@:
---------------------------------
A. ¨t²Î»Ý¨D:
¥Ñ©ó xcin-2.5 ¥H«á¥þ³¡±Ä¥Î Xi18n »P locale ¦Ó³]p¡A¦]¦¹¦b¦w¸Ë¥»µ{¦¡«e¡A
±z¥²¶·¦b±zªº¨t²Î¤¤·Ç³Æ¦n I18N »P¾A·íªº locale Àô¹Ò¡A¦P®É±zªº¨t²Î¤¤¥²»Ý
n¦³§¹¾ãªº X11R6 ¨t²Î¥H¤Î©Ò»Ýªº¦r«¬¡C¦pªG±z¤£½T©w±zªº¨t²Îªº I18N »P locale
Àô¹Ò¬O§_¤w¦w¸Ë§´·í¡A±z¥i¥H°Ñ¦Ò FAQ ¤å¥óªº QA.2, QA.3 ªº»¡©ú¨Ó¶i¦æÀˬd¡C
©ÎªÌ°Ñ¦Ò:
ftp://xcin.linux.org.tw/pub/xcin/i18n/i18n_tool.tar.gz
¤ºªþªº»¡©ú¤å¥ó¡C
¥Ø«e xcin-2.5 ¤w¥i¦b GNU/Linux, FreeBSD, ¥H¤Î HP-UX µ¥¨t²Î¤U¦¨¥\¦w¸Ë¡A
¦U¨t²Îªº¦w¸Ë»Ý¨D¦p¤U:
1. GNU/Linux:
a. ¨Ï¥Î glibc-2.1.x ¥H¤W (ÁöµM¸g¥Ñ¤@¨Ç¯S®í³B²z¡A¤]¥i¥H±N xcin ¦w¸Ë¦b
glibc-2.0.x ªº¨t²Î¤¤¡A¦ý³o·|¾É¦Ü³\¦h¼ç¦b°ÝÃD¡A§Ṳ́£«ØÄ³³o»ò°µ)¡C
b. gcc-2.7.2 ¥H¤W¡C
c. XFree86-3.3.6 ¥H¤W (ÁöµM¸g¥Ñ¤@¨Ç¯S®í³B²z¡A¤]¥i¥H±N xcin ¦w¸Ë¦b©Ò¦³
ªº XFree86-3.3.X ¨t²Î¤¤¡A¦ý³o·|¾É¦Ü¤@¨Ç¼ç¦b°ÝÃD¡A¬G§Ṳ́£«ØÄ³³o»ò°µ)¡C
d. ¾A·íªº locale ¤ä´©, ¦p zh_TW.Big5, zh_CN.GB2312 .... µ¥¡A¤Î¬Û¹ïÀ³
ªº¤¤¤å¦r«¬¡C¥Ñ©ó¨Ã«D©Ò¦³ªº GNU/Linux ¨t²Î®M¥ó³£·|¦³³o¨Ç locale ¤ä
´©¡A¬G¦pªG±zªº¨t²Î¨S¦³ªº¸Ü¡A±z¥i¥H°Ñ¦Ò
ftp://xcin.linux.org.tw/pub/xcin/i18n/i18n_tool.tar.gz
¨Ó«Ø¥ß±zªº locale Àô¹Ò¡C
2. FreeBSD:
a. «ØÄ³ FreeBSD-4.0 ¥H¤W¡A¤ä´© locale »P ELF¡C
b. gcc-2.7.2 ¥H¤W¡C
c. XFree86-3.3.6 ¥H¤W (ÁöµM¸g¥Ñ¤@¨Ç¯S®í³B²z¡A¤]¥i¥H±N xcin ¦w¸Ë¦b©Ò¦³
ªº XFree86-3.3.X ¨t²Î¤¤¡A¦ý³o·|¾É¦Ü¤@¨Ç¼ç¦b°ÝÃD¡A¬G§Ṳ́£«ØÄ³³o»ò°µ)¡C
d. ¾A·íªº locale ¤ä´©, ¦p zh_TW.Big5, zh_CN.EUC .... µ¥¡A¤Î¬Û¹ïÀ³ªº¤¤
¤å¦r«¬¡C
3. HP-UX:
a. «ØÄ³ HP-UX B.10.XX ¥H¤Wªº¨t²Î¡C
b. ANSI C compiler¡C
c. ¾A·íªº locale ¤ä´©¡A¦p zh_TW.big5, zh_HK.hkbig5 .... µ¥¡A¤Î¬Û¹ïÀ³ªº
¤¤¤å¦r«¬¡C
---------------------------------
B. ¦w¸Ë xcin-2.5:
1. Berkeley DB2:
¦pªG±z¦w¸Ë xcin-2.5 ®É·Qn¦w¸Ë bimsphone ¼Ò²Õ¡A«h±z»Ýn Berkeley DB2¡A
§_«hªº¸Ü¤£»Ýn¡C½Ðª`·NY±z¤£·Q¦w¸Ë bimsphone¡A±z¥²¶·¦b configure xcin
®É¥[¤J --disable-bimsphone ¿ï¶µ (¸Ô¨£«áz)¡A¦p¦¹·í xcin ¦b configure
®É¤~¤£·|¥hÀˬd Berkeley DB2¡C
¦pªG±z¥Îªº¬O GNU/Linux glibc-2.1.X ªº¸Ü¡A¨t²Î¤¤¤w¤º§t¤F Berkeley DB2,
¬G±z¥iª½±µ¶i¦æ xcin-2.5 ªº¦w¸Ë¡CY±zªº¨t²Î¨S¦³ Berkeley DB2, ±z¥i¥H¨ì
¥H¤U³o´XÓ¦a¤è§ä¨ì¥¦:
http://www.sleepycat.com
ftp://xcin.linux.org.tw/pub/xcin/misc/db-2.7.4.tar.gz
2. libtabe:
¦Û xcin-2.5.1 ¤Î¥H«áªºª©¥»¡A libtabe ¤w¦Û xcin ®M¥ó¤¤¤ÀÂ÷¨Ã¿W¥ßºûÅ@¡A
Y±z¦w¸Ë xcin-2.5 ®É·Qn¦w¸Ë bimsphone ¼Ò²Õ¡A«h±zÁÙ»Ýn libtabe¡A§_«h
ªº¸Ü¤£»Ýn¡C½Ðª`·NY±z¤£·Q¦w¸Ë bimsphone¡A±z¥²¶·¦b configure xcin ®É
¥[¤J --disable-bimsphone ¿ï¶µ (¸Ô¨£«áz)¡A¦p¦¹·í xcin ¦b configure ®É
¤~¤£·|¥hÀˬd libtabe¡C
±z¥i¥H¦b³oùاä¨ìéwª©ªº libtabe ®M¥ó:
ftp://xcin.linux.org.tw/pub/xcin/libtabe/libtabe-<version>.tar.gz
©Î¦b³o¸Ì§ä¨ì©|¦bµo®i¤¤ª©¥»ªº libtabe ®M¥ó:
ftp://xcin.linux.org.tw/pub/xcin/libtabe/devel/libtabe-<version>.tar.gz
½Ðª`·N¡A¥Ñ©ó xcin ¬OÀHµÛ libtabe ¤@¦Pµo®iªº¡A¦]¦¹¤£¦Pª©¥»ªº xcin »Ýn¨ä
¬Û¹ïÀ³ªº libtabe ª©¥»¤@¦P¦w¸Ë¤~¦æ¡C¬°¤F¤è«K°_¨£¡A±zÁ`¬O¥i¥H¦b©M¤U¸ü xcin
¬Û¦Pªº ftp ¯¸¥Ø¿ý¤U§ä¨ì¨ä¥¿½Tªº libtabe ª©¥»¡C¨Ò¦p: ¦pªG±z¥´ºâ¦w¸Ë xcin
éwª©¡A«h±z¥²¶·¦w¸Ëéwª© xcin ©Ò»Ýªº libtabe ®M¥ó:
ftp://xcin.linux.org.tw/pub/xcin/xcin/libtabe-<version>.tar.gz
¥t¤@¤è±¡A¦pªG±z¥´ºâ¦w¸Ë³Ì·sªºµo®i¤¤ xcin ª©¥»¡A«h±z¤]¥²¶·¦w¸Ë
ftp://xcin.linux.org.tw/pub/xcin/xcin/devel/libtabe-<version>.tar.gz
¤¤³Ì·sªº libtabe ª©¥»¡C¦³Ãö¥»ª© xcin ®M¥ó©Ò»Ýªº libtabe ª©¥»¡A½Ð¨£ README
¤@¤å¤¤²Ä C ¸`ªº»¡©ú¡C
Y±zªº¨t²Î¦³ shared library ªº¤ä´©¡A«ØÄ³±z±N libtabe compile ¦¨ shared
library, ¥Hµ²¬ÙµwºÐªÅ¶¡¡C¥H¤U¬O§Ö³t¦w¸Ë«ü¤Þ (¸Ô¨£ libtabe ªº¤å¥ó»¡©ú):
gzip -dc libtabe-<version>.tar.gz | tar -xvf -
cd libtabe
./configure --prefix=<path> --enable-shared
make install
3. GNU Gettext:
¦b GNU/Linux »P FreeBSD ¨t²Î¤¤¡A¦pªG±z§Æ±æ xcin ¥i¥H°µ¦h°ê»y¨¥°T®§Åã¥Üªº
¸Ü¡A±zªº¨t²Î¤¤¥²¶·¦w¸Ë GNU Gettext ®M¥ó¡C§_«hªº¸Ü¤£»Ýn¡C
4. xcin éwª©ì©l½X¥i¥H¦b³oùبú±o:
ftp://xcin.linux.org.tw/pub/xcin/xcin/
Y±z·Q¸Õ¸Õ³Ì·sªº´ú¸Õª©¡A«h±z¥i¥H¦b³oùبú±o:
ftp://xcin.linux.org.tw/pub/xcin/xcin/devel/
xcin ªºì©l®M¥óÀɦW³q±`¬°: xcin-<version>.tar.gz, ¨ä¤¤ <version> ¬°ª©
¥»¦W¡AY±z¦b¨ä¤¤¨£¨ì pre ªº¦r²´©Î¤é´Á½s¸¹¡Aªí¥Ü¥¦¬O´ú¸Õª©¡A§_«h¬°Ã©w
ª©¡C·í±z¨ú±o±z©Ò»Ýªºª©¥»«á¡A½Ð¥Î¥H¤Uªº¤è¦¡±N¥¦¸Ñ¶}:
gzip -dc xcin-<version>.tar.gz | tar -xvf -
§¹¦¨«á±z·|±o¨ì¤@Ó xcin-2.5 ªº¥Ø¿ý¡C
5. ½Ð¨ì xcin-2.5 ¥Ø¿ý¤U¡A°õ¦æ configure µ{¦¡¡C¤@¯ë»¡¨Ó¡A¦pªG xcin ©Ò»Ýªº
ÃB¥~ library (¦p Berkeley DB2, libtabe µ¥) ³£©ñ¦b¬Û¦Pªº¦ì¸m¡A±z¥un°õ¦æ:
./configure --prefix=<¦w¸Ë¸ô®|> \
--with-extra-prefix=<ÃB¥~ library ªº©Ò¦b¸ô®|>
§Y¥i¡C°£¦¹¤§¥~¡A configure ÁÙ¥i¥H±µ¨ü¨ä¥L°Ñ¼Æ¡A±z¥i¥Hµø»Ýn¥[¤J¡C¨ä¦U
°Ñ¼Æªº·N¸q¦p¤U:
--help
¦C¥X¨Ï¥Î»¡©ú¡C
--prefix=PATH (¹w³]Ȭ° /usr/local)
³]©w¦w¸Ë¸ô®|¬° PATH ¡A«h xcin ±N¦w¸Ë¨ì¥H¤Uªº¥Ø¿ý¤¤:
°õ¦æÀÉ: $PATH/bin
¸ê®ÆÀÉ: $PATH/lib/xcin
³]©wÀÉ: $PATH/etc
--binpath=PATH (¹w³]Ȭ° ${prefix}/bin)
³]©w xcin °õ¦æÀɪº¦w¸Ë¸ô®|¬° PATH
--with-xcin-dir=PATH (¹w³]Ȭ° ${prefix}/lib/xcin)
³]©w xcin ¸ê®ÆÀɪº¦w¸Ë¸ô®|¬° PATH
--with-xcin-rcdir=PATH (¹w³]Ȭ° ${prefix}/etc)
³]©w xcin ³]©wÀɪº¦w¸Ë¸ô®|¬° PATH
--with-localedir=PATH (¹w³]Ȭ° ${prefix}/share/locale)
³]©w¨t²Î locale ¥Ø¿ý¸ô®|¡A¥Î¨Ó¦w¸Ë xcin LC_MESSAGES °T®§ÀÉ¡C
--with-extra-prefix=PATH (¹w³]Ȭ° ${prefix})
³]©wÃB¥~ library ªº©Ò¦b¸ô®|¬° $PATH¡C¥Ñ©ó¦w¸Ë xcin-2.5 ±z»Ýn
Berkeley DB2, libtabe .... µ¥ÃB¥~ªº lib, ±z°£¤F¥i¥H¤@¤@³]©w³o
¨Ç lib ªº©Ò¦b¸ô®|¥H¥~ (¨£«áÀYªº¿ï¶µ»¡©ú)¡AY³o¨Ç lib ³£¦w¸Ë¦b
¬Û¦P¦ì¸m¡A«h±z¤]¥i¥H¦b³oùت½±µ³]©w¥¦Ìªº©Ò¦b¦ì¸m¡A¦p¦¹¤@¨Ó´N
¤£»Ýn¥´¤@ªø¦êªº configure °Ñ¼Æ¤F¡C
¥»¿ï¶µÈ¤@¥¹¨M©w¤§«á¡A«h configure «K·|¦Û°Ê³]©w¥H¤U¨âӰѼÆ:
extra_include=-I$extra_prefix/include
extra_library=-L$extra_prefix/lib
¦Ó¦b configure »P compile ¶¥¬q¡A©Ò»ÝªºÃB¥~ lib »P include ³£
·|¨Ì¤Wz¨º¨âÓÅܼÆÈ¨Ó°µ·j´M¡C
--with-extra-inc=PATH (¹w³]Ȭ° ${extra_prefix}/include)
³]©wÃB¥~ªº library ªº include ¦ì¸m¡C
--with-extra-lib=PATH (¹w³]Ȭ° ${extra_prefix}/lib)
³]©wÃB¥~ªº library ªº lib ¦ì¸m¡C
--disable-bimsphone (¹w³]¬O enable)
¤£¦w¸Ë bimsphone ¼Ò²Õ¡C¥Ñ©ó¦w¸Ë bimsphone ¼Ò²Õ»Ýn Berkeley DB2
¥H¤Î libtabe¡A¦b¹w³]±¡ªp¤U xcin configure µ{¦¡·|Àˬd³o¨âÓ®M¥ó
¬O§_¦s¦b©ó±zªº¨t²Î¤¤¡AY¤£¦s¦b«h¦L¥X¿ù»~°T®§¨Ã°±¤î«áÄò°Ê§@¡CY
±z¤£·Q¦w¸Ë bimsphone ¼Ò²Õ®É¡A±z¥²¶·¦b configure ®É¥[¤J¦¹¿ï¶µ¡A
«h configure µ{¦¡±N¤£·|Àˬd Berkeley DB2 ¥H¤Î libtabe, ¦P®É¦b½s
ͮɤ]¤£·|¥h½sĶ bimsphone¡C
--with-dbinc=PATH (¹w³]Ȭ° ${extra_include})
³]©w±z¨t²Îªº Berkeley DB2 include ¸ô®|¬° PATH
--with-dblib=PATH (¹w³]Ȭ° ${extra_library})
³]©w±z¨t²Îªº Berkeley DB2 library ¸ô®|¬° PATH
--with-tabeinc=PATH (¹w³]Ȭ° ${extra_include})
³]©w±z¨t²Îªº libtabe include ¸ô®|¬° PATH
--with-tabelib=PATH (¹w³]Ȭ° ${extra_library})
³]©w±z¨t²Îªº libtabe library ¸ô®|¬° PATH
--with-intlinc=PATH (¹w³]Ȭ° ${extra_include})
³]©w±z¨t²Îªº libintl include ¸ô®|¬° PATH (for gettext)
--with-intllib=PATH (¹w³]Ȭ° ${extra_library})
³]©w±z¨t²Îªº libintl library ¸ô®|¬° PATH (for gettext)
--x-includes=PATH (¨S¦³¹w³]È)
³]©w±z¨t²Îªº X Window include Àɪº¸ô®|¬° PATH
--x-libraries=PATH (¨S¦³¹w³]È)
³]©w±z¨t²Îªº X Window library ªº¸ô®|¬° PATH
--enable-debug
¶}±Ò Debug ¿ï¶µ¡C
½Ðª`·N¡A¦pªG±z¨Ï¥Îªº¬O GNU/Linux glibc-2.1.2 ¥H«e (¥]¬A 2.1.2) ªº¨t²Î
®É¡A¦b configure §¹¦¨«á¡A·|²£¥Í¤@Ó config.h ÀÉ¡C½Ð×§ï¸ÓÀɮתº¤º®e¡A
±N©³¤U³o¤@¦æ§R°£:
#define HAVE_NL_LANGINFO 1
6. ¶}©l½sĶ:
make
make install
7. ×§ï $RCPATH/xcinrc ªº¤º®e¡A¨Ì¾Ú±zªº locale Àô¹Ò°µ¾A·íªº³]©w:
¤@¯ë¦Ó¨¥¡AY¬O GNU/Linux¡BFreeBSD¡B©ÎªÌ¬O HP-UX ¨t²Î¡A¨ä xcinrc ªº¹w³]
Ȥw¥i¥H¨Ï¥Î¡A¬G¤£»ÝnÃB¥~×§ï¡C¦ý¹ï©ó¤£¦Pªº UNIX ¨t²Î¡A¨ä locale Àô¹Ò
»P©Ò¨Ï¥Îªº¦r«¬¥i¯à³£¤£¤@¼Ë¡A¬G¥²¶·°µ¾A·íªº³]©w¡C¦³Ãö xcinrc ªº³]©w»¡©ú
½Ð¨£ Usage »P modules/* ªº»¡©ú¡C
8. ¦U UNIX ¥¥xªºÃB¥~ª`·N¨Æ¶µ:
HP-UX:
HP-UX ªº¹w³] CDE Àô¹Ò±Ò°Ê®É¡A¨ä xmodmap ªº²ÕºA¥i¯à·|³y¦¨ xcin ¬Y¨Ç
¥\¯àÁ䥢®Ä¡C½Ð±z°µ¦p¤UªºÀˬd: °õ¦æ xmodmap¡A¨Ãª`·N¨ä mod1 ªºÈ¡A¦p
ªG±z¨£¨ìªº¬O
mod1 Meta_L (0x22), Meta_R (0x42), Mode_switch (0x84)
³o®É±z¥²¶·°õ¦æ:
xmodmap -e "remove mod1 = Mode_switch"
±N Mode_switch ªº³]©w¸Ñ°£¡A´«¥y¸Ü»¡¡A¥u»Ý«O¯d Meta_L »P Meta_R ªº³]
©w§Y¥i¡C±z¤]¥i¥H±N³oÓ«ü¥O¼g¦b¾A·íªº¦a¤è¡A¥H«K¨C¦¸ login ¶i¤J CDE Àô
¹Ò®É³£·|¦Û°Ê°õ¦æ¡C¸Ô¨£ xmodmap ªº man page ¥H¤Î±zªº CDE »¡©ú¤å¥ó¡C
9. Y¦b $XCINPATH/tab/ ©³¤U§ä¤£¨ì±zºD¥Îªº¿é¤Jªkªí®æ¡A½Ð°Ñ¦Ò Cin ¤@¤åªº»¡
©ú¨Ó×§ï¡B½s¼g±zªº .cin ÀÉ¡C
---------------------------------
C. ´ú¸Õ:
¬ÛÃöªº´ú¸Õ»P¾Þ§@²Ó¸`¡A½Ð¨£ UserGuide »P Usage ¤G¤åªº»¡©ú¡C
T.H.Hsieh