diff --git a/chinese/xemacs21/Makefile b/chinese/xemacs21/Makefile
index 4f693207715d..402b2355b337 100644
--- a/chinese/xemacs21/Makefile
+++ b/chinese/xemacs21/Makefile
@@ -25,8 +25,8 @@ WITH_XCIN25=	yes
 
 post-install::
 	@${MKDIR} ${PREFIX}/lib/xemacs-${XEMACS_VER}/etc/app-defaults/zh_TW.Big5
-	@${INSTALL_DATA} ${.CURDIR}/../xemacs/files/Emacs ${PREFIX}/lib/xemacs-${XEMACS_VER}/etc/app-defaults/zh_TW.Big5
-	@${INSTALL_DATA} ${.CURDIR}/../xemacs/files/sample.emacs ${PREFIX}/lib/xemacs-${XEMACS_VER}/etc/app-defaults/zh_TW.Big5
+	@${INSTALL_DATA} ${.CURDIR}/files/Emacs ${PREFIX}/lib/xemacs-${XEMACS_VER}/etc/app-defaults/zh_TW.Big5
+	@${INSTALL_DATA} ${.CURDIR}/files/sample.emacs ${PREFIX}/lib/xemacs-${XEMACS_VER}/etc/app-defaults/zh_TW.Big5
 	@${CAT} ${PKGMESSAGE}
 
 .include	"${MASTERDIR}/Makefile"
diff --git a/chinese/xemacs21/files/Emacs b/chinese/xemacs21/files/Emacs
new file mode 100644
index 000000000000..0d95c3cc2f02
--- /dev/null
+++ b/chinese/xemacs21/files/Emacs
@@ -0,0 +1,530 @@
+! Chinese localization resources for XEmacs
+! Author: Clem Chuang (b5506056@csie.ntu.edu.tw)
+! modify from /usr/local/lib/xemacs-20.4/etc/app-defaults/ja/Emacs
+!
+! Updated by Jing-Tang Keith Jang (keith@FreeBSD.org)
+!
+
+! This file is consisted of two parts. The first one is a Big5-localized
+! menu, and the second one sets XIM servers, fonts, and other X-related
+! resources, thus it can be put in ${X11}/lib/X11/app-defaults.
+! Search for XRESOURCES to go directly to part 2.
+
+!
+! Part 1: Big5-localized menus
+!
+
+! Pulldown menu internationalization.  The first line of the file
+! "Emacs*XlwMenu.resourceLabels: True" has to be there to make sure
+! all the labelString will be read and displayed by X.
+Emacs*XlwMenu.resourceLabels: True
+
+!!! Default Menubar Top Level
+
+Emacs*XlwMenu.file.labelString: �ɮ�
+Emacs*XlwMenu.edit.labelString:	�s��
+Emacs*XlwMenu.mule.labelString:	�h��y��
+Emacs*XlwMenu.apps.labelString:	���ε{��
+Emacs*XlwMenu.options.labelString:	�ﶵ
+Emacs*XlwMenu.tools.labelString:	�u��
+Emacs*XlwMenu.help.labelString:	����
+
+!! File menu
+
+Emacs*XlwMenu.open___.labelString:	�}��...
+Emacs*XlwMenu.openInOtherWindow___.labelString:	�}�Ҧb�s Window ��...
+Emacs*XlwMenu.openInNewFrame___.labelString:	�}�Ҧb�s Frame ��...
+Emacs*XlwMenu.insertFile___.labelString:	���J�ɮ�...
+Emacs*XlwMenu.viewFile___.labelString:	�[���ɮ�...
+Emacs*XlwMenu.save.labelString:	�s��:
+Emacs*XlwMenu.saveAs___.labelString:	�s���s��
+Emacs*XlwMenu.saveSomeBuffers.labelString:	��ܩ��x�s
+Emacs*XlwMenu.printBuffer.labelString:	�C�L:
+Emacs*XlwMenu.prettyPrintBuffer.labelString:	���~��C�L:
+Emacs*XlwMenu.newFrame.labelString:	�}�s Frame
+Emacs*XlwMenu.frameOnOtherDisplay___.labelString:	�b�O�� Display �W�}�s Frame
+Emacs*XlwMenu.deleteFrame.labelString:	���� Frame
+Emacs*XlwMenu.splitWindow.labelString:	���� Window
+Emacs*XlwMenu.unSplitKeepThis.labelString:	��j�o�� Window
+Emacs*XlwMenu.unSplitKeepOthers.labelString:	�Y�p�o�� Window
+Emacs*XlwMenu.revertBuffer.labelString:	�_��^���ɮ�:
+Emacs*XlwMenu.deleteBuffer.labelString:	�M�� buffer:
+Emacs*XlwMenu.exitXEmacs.labelString:	���} XEmacs 
+
+!! Edit menu
+
+Emacs*XlwMenu.undo.labelString:	�_��
+Emacs*XlwMenu.cut.labelString: �ŤU
+Emacs*XlwMenu.copy.labelString:	�ƻs
+Emacs*XlwMenu.paste.labelString:	�K�W
+Emacs*XlwMenu.clear.labelString:	���h
+Emacs*XlwMenu.search___.labelString:	�j��...
+Emacs*XlwMenu.searchBackward___.labelString:	�V��j��...
+Emacs*XlwMenu.replace___.labelString:	�m��...
+Emacs*XlwMenu.searchRegexp___.labelString:	�j��(Regexp)...
+Emacs*XlwMenu.searchBackwardRegexp___.labelString:	�V��j��(Regexp)...
+Emacs*XlwMenu.replaceRegexp___.labelString:	�m��(Regexp)...
+Emacs*XlwMenu.bookmarks.labelString:	��ñ
+Emacs*XlwMenu.gotoLine___.labelString:	����Y�@��...
+Emacs*XlwMenu.whatLine.labelString:	�ثe�渹
+Emacs*XlwMenu.startMacroRecording.labelString:	�}�l�� Macro
+Emacs*XlwMenu.endMacroRecording.labelString:	������ Macro
+Emacs*XlwMenu.showMessageLog.labelString:	��ܰT������
+Emacs*XlwMenu.executeLastMacro.labelString:	����̪�
+Emacs*XlwMenu.jumpToBookmark.labelString:	�����ñ
+Emacs*XlwMenu.setBookmark.labelString:	�]�w��ñ
+Emacs*XlwMenu.insertContents.labelString:	���J���e
+Emacs*XlwMenu.insertLocation.labelString:	���J��m
+Emacs*XlwMenu.renameBookmark.labelString:	���s�R�W
+Emacs*XlwMenu.deleteBookmark.labelString:	�R��
+Emacs*XlwMenu.editBookmarkList.labelString:	�s���ñ�C��
+Emacs*XlwMenu.saveBookmarks.labelString:	�x�s��ñ
+Emacs*XlwMenu.saveBookmarksAs___.labelString:	�N��ñ�s��...
+Emacs*XlwMenu.loadABookmarkFile.labelString:	Ū�J��ñ��
+
+!! Apps menu
+
+Emacs*XlwMenu.readMailVM___.labelString:	Ū�H (�ϥ� VM)...
+Emacs*XlwMenu.readMailMH___.labelString:	Ū�H (�ϥ� MH)...
+Emacs*XlwMenu.sendMail___.labelString:	�H�H...
+Emacs*XlwMenu.browseTheWeb.labelString:	�y�� WWW
+Emacs*XlwMenu.spellCheckBuffer.labelString:	���r�ˬd�{��
+Emacs*XlwMenu.toggleVIEmulation.labelString:	���� vi
+Emacs*XlwMenu.calendar.labelString:	���
+Emacs*XlwMenu.games.labelString:	�C��
+Emacs*XlwMenu.3MonthCalendar.labelString:	�̪�T�Ӥ�
+Emacs*XlwMenu.diary.labelString:	��O
+Emacs*XlwMenu.holidays.labelString:	�`��
+Emacs*XlwMenu.phasesOfTheMoon.labelString:	��G
+Emacs*XlwMenu.sunriseSunset.labelString:	��X/�鸨
+Emacs*XlwMenu.quoteFromZippy.labelString:	Zippy �樥��
+Emacs*XlwMenu.psychoanalyst.labelString:	�믫���
+Emacs*XlwMenu.mineGame.labelString:	��a�p
+Emacs*XlwMenu.tetris.labelString:	�Xù����
+Emacs*XlwMenu.psychoanalyzeZippy.labelString:	�믫���R Zippy!
+Emacs*XlwMenu.randomFlames.labelString:	���o���@��
+Emacs*XlwMenu.dunnetAdventure.labelString:	Dunnet (�_�I)
+Emacs*XlwMenu.towersOfHanoi.labelString:	�e������
+Emacs*XlwMenu.gameOfLife.labelString:	�ͩR�C��
+Emacs*XlwMenu.multiplicationPuzzle.labelString:	���k�C��
+
+!! Options menu
+
+Emacs*XlwMenu.readOnly.labelString:	��Ū
+Emacs*XlwMenu.editingOptions.labelString:	�s��ﶵ
+Emacs*XlwMenu.generalOptions.labelString:	�@��ﶵ
+Emacs*XlwMenu.printingOptions.labelString:	�C�L�ﶵ
+Emacs*XlwMenu.otherWindowLocation.labelString:	"�䥦 Window" ����m
+Emacs*XlwMenu.syntaxHighlighting.labelString:	�̻y�k Highlighting
+Emacs*XlwMenu.parenHighlighting.labelString:	��A�� Hightlighting
+Emacs*XlwMenu.frameAppearance.labelString:	Frame �~�[
+Emacs*XlwMenu.menubarAppearance.labelString:	���~�[
+Emacs*XlwMenu.toolbarAppearance.labelString:	�u��C�~�[
+Emacs*XlwMenu.mouse.labelString: �ƹ�
+Emacs*XlwMenu.openURLsWith.labelString:	���w�s����
+Emacs*XlwMenu.browseFaces___.labelString:	�s�� Faces...
+Emacs*XlwMenu.font.labelString:	�r��
+Emacs*XlwMenu.size.labelString:	�j�p
+Emacs*XlwMenu.weight.labelString:	�r��
+Emacs*XlwMenu.languageEnvironment.labelString:	�y������
+Emacs*XlwMenu.saveOptions.labelString:	�x�s�ﶵ
+
+!! Options -> Editing
+
+Emacs*XlwMenu.overstrike.labelString:	�л\
+Emacs*XlwMenu.caseSensitiveSearch.labelString:	�b�j���ɰϤ��j�p�g
+Emacs*XlwMenu.caseMatchingReplace.labelString:	�b�m���ɰϤ��j�p�g
+Emacs*XlwMenu.autoDeleteSelection.labelString:	�۰ʧR�� Selection
+Emacs*XlwMenu.mousePasteAtTextCursor.labelString:	�ƹ��K�b�b��r��гB
+
+!! Options -> General
+
+Emacs*XlwMenu.debugOnError.labelString:	�b���~�� Debug
+Emacs*XlwMenu.debugOnQuit.labelString:	�b������ Debug
+
+!! Options -> Printing Options
+
+Emacs*XlwMenu.commandLineSwitchesForLprLp___.labelString:	lp/lpr ���R�O�C�ѳN
+Emacs*XlwMenu.prettyPrintWithColor.labelString:	�b���~��C�L�U�L�m��
+Emacs*XlwMenu.prettyPrintPaperSize.labelString:	���~��C�L���ȱi�j�p
+
+!! Options -> Other Window
+
+Emacs*XlwMenu.alwaysInSameFrame.labelString:	�`�O�b�P�@�� Frame
+Emacs*XlwMenu.otherFrame2FramesMax.labelString:	�䥦 Frame (�̤j 2 ��)
+Emacs*XlwMenu.otherFrame3FramesMax.labelString:	��L Frame (�̤j 3 ��)
+Emacs*XlwMenu.otherFrame4FramesMax.labelString:	��L Frame (�̤j 4 ��)
+Emacs*XlwMenu.otherFrame5FramesMax.labelString:	��L Frame (�̤j 5 ��)
+Emacs*XlwMenu.alwaysCreateNewFrame.labelString:	�`�O�}�s�� Frame
+Emacs*XlwMenu.tempBuffersAlwaysInSameFrame.labelString:	�Ȯɩʪ� Buffer �ݦb�P�� Frame
+Emacs*XlwMenu.tempBuffersLikeOtherBuffers.labelString:	�Ȯɩ� Buffer ���S�O�B�z
+
+!! Options -> Syntax Highlighting
+
+Emacs*XlwMenu.inThisBuffer.labelString:	�b�� Buffer
+Emacs*XlwMenu.automatic.labelString:	�۰�
+Emacs*XlwMenu.fonts.labelString:	�r��
+Emacs*XlwMenu.colors.labelString:	�C��
+Emacs*XlwMenu.least.labelString:	�̤�
+Emacs*XlwMenu.more.labelString:	�h
+Emacs*XlwMenu.evenMore.labelString:	��h
+Emacs*XlwMenu.most.labelString:	�̤j
+Emacs*XlwMenu.lazy.labelString:	����
+Emacs*XlwMenu.caching.labelString:	�֨�
+
+!! Options -> Paren Highlighting
+
+Emacs*XlwMenu.none.labelString:	�L
+Emacs*XlwMenu.blinkingParen.labelString:	�{�ʬA��
+Emacs*XlwMenu.steadyParen.labelString:	�A���ܦ�
+Emacs*XlwMenu.expression.labelString:	���ܦ�
+
+!! Options -> Frame Appearance
+
+Emacs*XlwMenu.scrollbars.labelString:	���b
+Emacs*XlwMenu.3DModeline.labelString:	3D ���A�C
+Emacs*XlwMenu.truncateLines.labelString: ���ʾ�b��ܪ���
+Emacs*XlwMenu.barCursor.labelString:	�����
+Emacs*XlwMenu.blinkingCursor.labelString:	�{�ʴ��
+Emacs*XlwMenu.frameLocalFontMenu.labelString: �r�ο�椣�v�T��L Frame
+
+!! Options -> Menubar Appearance
+
+Emacs*XlwMenu.buffersMenuLength___.labelString:	Buffers ������...
+Emacs*XlwMenu.multiOperationBuffersSubMenus.labelString:	�h�\�� Buffers �l���
+Emacs*XlwMenu.buffersMenuSorting.labelString:	Buffers ���Ƨ�
+Emacs*XlwMenu.submenusForBufferGroups.labelString:	Buffer �s�դl���
+Emacs*XlwMenu.ignoreScaledFonts.labelString:	�����Y��L���r��
+
+!! Options -> Menubar Appearance -> Buffers Menu Sorting
+
+Emacs*XlwMenu.mostRecentlyUsed.labelString:	�ϥΤ��
+Emacs*XlwMenu.alphabetically.labelString:	�r������
+Emacs*XlwMenu.byMajorModeThenAlphabetically.labelString:	���� Major Mode�A�A���r������
+
+!! Options -> Toolbar Appearance
+
+Emacs*XlwMenu.visible.labelString:	���
+Emacs*XlwMenu.captioned.labelString:	���Ѽ��D
+Emacs*XlwMenu.defaultLocation.labelString:	�w�]��m
+Emacs*XlwMenu.top.labelString:	�W
+Emacs*XlwMenu.bottom.labelString:	�U
+Emacs*XlwMenu.left.labelString:	��
+Emacs*XlwMenu.right.labelString:	�k
+
+!! Options -> Language Environment
+
+Emacs*XlwMenu.arabic.labelString:	���ԧB��
+Emacs*XlwMenu.chinese.labelString:	����
+Emacs*XlwMenu.european.labelString:	��ڻy�t
+Emacs*XlwMenu.greek.labelString:	��þ��
+Emacs*XlwMenu.hebrew.labelString:	��B�Ӥ�
+Emacs*XlwMenu.japanese.labelString:	���
+Emacs*XlwMenu.korean.labelString:	����
+Emacs*XlwMenu.thai.labelString:	����
+Emacs*XlwMenu.vietnamese.labelString:	�V�n��
+
+Emacs*XlwMenu.describeLanguageSupport.labelString: �y�z�y�����䴩
+Emacs*XlwMenu.setLanguageEnvironment.labelString: �]�w�y������
+Emacs*XlwMenu.toggleInputMethod.labelString: ������J�k
+Emacs*XlwMenu.selectInputMethod.labelString: ��ܿ�J�k
+Emacs*XlwMenu.describeInputMethod.labelString: �y�z��J�k
+Emacs*XlwMenu.describeCurrentCodingSystems.labelString: �y�z�ثe�s�X�t��
+Emacs*XlwMenu.setCodingSystemOfBufferFile.labelString: �]�w Buffer �ɮת��s�X�t��
+Emacs*XlwMenu.setCodingSystemOfTerminal.labelString: �]�w Terminal ���s�X�t��
+Emacs*XlwMenu.setCodingSystemOfKeyboard.labelString: �]�w��L��J���s�X�t��
+Emacs*XlwMenu.setCodingSystemOfProcess.labelString: �]�w Process ���s�X�t��
+Emacs*XlwMenu.showCharacterTable.labelString: ��ܦr����
+!Emacs*XlwMenu.showDiagnosisOfMULE.labelString: ��� MULE �E�_
+Emacs*XlwMenu.showManyLanguages.labelString: �i�ܦh��y��
+
+!! Buffers menu
+
+Emacs*XlwMenu.listAllBuffers.labelString:	���� Buffers �M��
+
+!! below are Buffers submenus
+
+Emacs*XlwMenu.switchToBuffer.labelString:	������ Buffer
+Emacs*XlwMenu.switchToBufferOtherFrame.labelString:	�b�O�� Frame ���� Buffer
+Emacs*XlwMenu.saveBuffer.labelString:	�x�s Buffer
+
+!! Tools menu
+
+Emacs*XlwMenu.compile___.labelString:	�sĶ
+Emacs*XlwMenu.shellCommand___.labelString:	Shell ���O
+Emacs*XlwMenu.shellCommandOnRegion___.labelString:	�b Region �W�B�z Shell ���O
+Emacs*XlwMenu.debugGDB___.labelString:	���� (�ϥ� gdb)...
+Emacs*XlwMenu.debugDBX___.labelString:	���� (�ϥ� dbx)...
+Emacs*XlwMenu.vC.labelString:	�����޲z (VC)
+Emacs*XlwMenu.compare.labelString:	���
+Emacs*XlwMenu.merge.labelString:	�X��
+Emacs*XlwMenu.applyPatch.labelString:	���� Patch
+
+!! Tools -> VC
+
+Emacs*XlwMenu.registerFile.labelString:	�n���ɮ�:
+Emacs*XlwMenu.checkInFile.labelString:	check in �ɮ�:
+Emacs*XlwMenu.checkOutFile.labelString:	check out �ɮ�:
+Emacs*XlwMenu.showStatusOf.labelString:	���A����
+Emacs*XlwMenu.revertToLastRevision.labelString:	�_���W�� Revision
+Emacs*XlwMenu.cancelLastCheckin.labelString:	�����W���� Checkin
+Emacs*XlwMenu.renameFile.labelString: ���s�R�W:
+Emacs*XlwMenu.diffAgainstLastVersion.labelString: �P�W������ Diff
+Emacs*XlwMenu.diffBetweenRevisions___.labelString: �� Revisions �� Diff...
+Emacs*XlwMenu.visitOtherVersion___.labelString: �d�ݨ�L����...
+Emacs*XlwMenu.showEditHistory.labelString:	��ܽs����v
+Emacs*XlwMenu.createSnapshot.labelString:	�s�@ Snapshot
+Emacs*XlwMenu.retrieveSnapshot.labelString:	���^ Snapshot
+Emacs*XlwMenu.cVSUpdateDirectory.labelString:	CVS ��s�ؿ�
+
+!! Tools -> Compare
+
+Emacs*XlwMenu.twoFiles___.labelString:	2 �ɮ�...
+Emacs*XlwMenu.twoBuffers___.labelString:	2 Buffers...
+Emacs*XlwMenu.threeFiles___.labelString:	3 �ɮ�...
+Emacs*XlwMenu.threeBuffers___.labelString:	3 Buffers...
+Emacs*XlwMenu.twoDirectories___.labelString:	2 �ؿ�...
+Emacs*XlwMenu.threeDirectories___.labelString:	3 �ؿ�...
+Emacs*XlwMenu.fileWithRevision___.labelString:	�ɮפ� Revision...
+Emacs*XlwMenu.directoryRevisions___.labelString:	�ؿ� Revisions...
+Emacs*XlwMenu.windowsWordByWord___.labelString:	�@�r�@�r��� Windows...
+Emacs*XlwMenu.windowsLineByLine___.labelString:	�@��@���� Windows...
+Emacs*XlwMenu.regionsWordByWord___.labelString:	�@�r�@�r��� Region...
+Emacs*XlwMenu.regionsLineByLine___.labelString:	�@��@���� Region...
+
+!! Tools -> Merge
+
+Emacs*XlwMenu.files___.labelString:	�h��...
+Emacs*XlwMenu.filesWithAncestor___.labelString:	�ɮפΨ� Ancestor...
+Emacs*XlwMenu.buffers___.labelString:	�h Buffers...
+Emacs*XlwMenu.buffersWithAncestor___.labelString:	Buffers �Ψ� Ancestor...
+Emacs*XlwMenu.directories___.labelString:	�ؿ���...
+Emacs*XlwMenu.directoriesWithAncestor___.labelString:	�ؿ��Ψ� Ancestor...
+Emacs*XlwMenu.revisionsWithAncestor___.labelString:	Revisions �Ψ� Ancestor...
+Emacs*XlwMenu.directoryRevisionsWithAncestor___.labelString:	�ؿ� Revisions �Ψ� Ancestor...
+
+!! Tools -> Apply Patch
+
+Emacs*XlwMenu.toAFile___.labelString:	��@���ɮפW...
+Emacs*XlwMenu.toABuffer___.labelString:	��@�� buffer...
+
+!! Tools -> Ediff Miscellanea
+
+Emacs*XlwMenu.ediffMiscellanea.labelString:	Ediff ����
+Emacs*XlwMenu.listEdiffSessions___.labelString:	Ediff Sessions �@��...
+Emacs*XlwMenu.ediffManual___.labelString:	Ediff ��U...
+Emacs*XlwMenu.useSeparateFrameForEdiffControlBuffer___.labelString:  ������ Ediff �� buffer �@�ӿW�ߪ� frame
+Emacs*XlwMenu.useAToolbarWithEdiffControlBuffer.labelString: ������ Ediff �� buffer �@�ӯS�s�u��C
+
+!! Tools -> Tags
+
+Emacs*XlwMenu.findTag___.labelString: �M�� Tag...
+Emacs*XlwMenu.findOtherWindow___.labelString:	�M�� Tag �ÿ�X��O�� Window...
+Emacs*XlwMenu.nextTag___.labelString:	�U�� Tag...
+Emacs*XlwMenu.nextOtherWindow___.labelString:	�U�� Tag �ÿ�X��䥦 Window...
+Emacs*XlwMenu.nextFile.labelString:	�U���ɮ�
+Emacs*XlwMenu.tagsSearch___.labelString:	�j�� Tags...
+Emacs*XlwMenu.tagsReplace___.labelString:	�m�� Tags...
+Emacs*XlwMenu.continueSearchReplace.labelString:	�~��e���j��/�m��
+Emacs*XlwMenu.apropos___.labelString:	����r(Apropos)...
+Emacs*XlwMenu.setTagsTableFile___.labelString:	�]�w Tags ������...
+
+!! Help menu
+
+Emacs*XlwMenu.aboutXEmacs___.labelString:	���� XEmacs ...
+Emacs*XlwMenu.basics.labelString:	��¦
+Emacs*XlwMenu.xEmacsWWWPage.labelString:	XEmacs WWW ����
+Emacs*XlwMenu.xEmacsFAQ.labelString:	XEmacs FAQ (�`�����D��)
+Emacs*XlwMenu.fAQLocal.labelString:	FAQ (�q�ɮ�)
+Emacs*XlwMenu.fAQViaWWW.labelString:	FAQ (�qWWW)
+Emacs*XlwMenu.homePage.labelString:	XEmacs ����
+
+Emacs*XlwMenu.tutorial.labelString:	�@�B�B�J��
+Emacs*XlwMenu.news.labelString:	XEmacs �̪����
+
+Emacs*XlwMenu.sample.labelString:	�d����:
+Emacs*XlwMenu.infoDetailedDocs.labelString:	Info (�ԲӤ��)
+Emacs*XlwMenu.lookupInInfo.labelString:	�d�� Info
+Emacs*XlwMenu.packages.labelString:	�s���{���M��(Packages)
+Emacs*XlwMenu.splash.labelString:	�w��e��
+Emacs*XlwMenu.aproposDocumentation___.labelString:	�ѱ���r(Apropos) �d���...
+Emacs*XlwMenu.recentKeys.labelString:	�̪񪺫���/�T��
+Emacs*XlwMenu.recentMessages.labelString:	�̪񪺰T��
+Emacs*XlwMenu.submitBugReport.labelString:	�^���{���� Bug
+
+Emacs*XlwMenu.commandKeys.labelString:	���O�Χֳt��...
+Emacs*XlwMenu.mode.labelString:	�����ثe�Ҧ�
+Emacs*XlwMenu.aproposDocs___.labelString:	��󤤴M�䱵��r(Apropos)...
+Emacs*XlwMenu.key___.labelString:	�y�z�Y�ֳt��...
+Emacs*XlwMenu.bindings.labelString:	�ثe�Ҧ��ֳt��w�q...
+
+Emacs*XlwMenu.describeKeyMouse___.labelString:	�y�z�ֳt��/�ƹ��w�q...
+Emacs*XlwMenu.commandsKeys.labelString:	���O�P�ֳt��
+Emacs*XlwMenu.keyBinding___.labelString:	�ֳt��w�q...
+Emacs*XlwMenu.mouseBindings.labelString:	�ƹ��w�q�@��
+Emacs*XlwMenu.describeFunction___.labelString:	�禡����...
+Emacs*XlwMenu.describeVariable___.labelString:	�ܼƻ���...
+Emacs*XlwMenu.locateCommand___.labelString:	���O���ֳt�䬰...
+Emacs*XlwMenu.manuals.labelString:	�ϥΤ�U
+Emacs*XlwMenu.unixManual___.labelString:	Unix �ϥΤ�U...
+Emacs*XlwMenu.misc.labelString:	����
+Emacs*XlwMenu.customize.labelString:	�۩w
+
+!! Help -> Lookup in Info
+
+Emacs*XlwMenu.keyMouseBinding___.labelString:	�ֳt��/�ƹ��w�q...
+Emacs*XlwMenu.command___.labelString:	���O...
+Emacs*XlwMenu.topic___.labelString:	�}�� info ��...
+
+!! Help -> Misc
+
+Emacs*XlwMenu.describeNoWarranty.labelString: �n�����{�����t�d��
+Emacs*XlwMenu.describeXEmacsLicense.labelString: XEmacs �����v
+Emacs*XlwMenu.gettingTheLatestVersion.labelString: ���o�̷s����
+
+!!! WorkShop
+
+!! WorkShop menu
+
+Emacs*XlwMenu.breakpoints.labelString:	���_�I
+Emacs*XlwMenu.program.labelString:	�{��
+Emacs*XlwMenu.fix.labelString:	�ץ�
+
+!! WorkShop -> Breakpoints
+
+Emacs*XlwMenu.stopAt.labelString:	����b
+Emacs*XlwMenu.stopInSelected.labelString:	����b��ܰ�
+Emacs*XlwMenu.deleteBreakpointAt.labelString:	�R�����B���_�I
+
+!! WorkShop -> Program
+
+Emacs*XlwMenu.start.labelString:	�}�l
+Emacs*XlwMenu.interrupt.labelString:	���_
+
+!!! Modes:
+
+!!! Lisp-interaction mode and Lisp mode
+
+Emacs*XlwMenu.lispInteraction.labelString: ��ͦ� Lisp
+Emacs*XlwMenu.evaluateLastSExpression.labelString: Evalute �W�� S-expression
+Emacs*XlwMenu.evaluateEntireBuffer.labelString: Evaluate ��� Buffer
+Emacs*XlwMenu.commentOutRegion.labelString: �N��� Region �`�ѱ�
+Emacs*XlwMenu.indentRegion.labelString: �Y�Ʀ� Region
+Emacs*XlwMenu.indentLine.labelString: �Y�Ʀ���
+
+!! C mode
+
+Emacs*XlwMenu.upConditional.labelString: ���W�@�ӱ���
+Emacs*XlwMenu.backwardConditional.labelString: ����@�ӱ���
+Emacs*XlwMenu.forwardConditional.labelString: ���e�@�ӱ���
+Emacs*XlwMenu.backwardStatement.labelString: ����@�ӫ��O
+Emacs*XlwMenu.forwardStatement.labelString: ���e�@�ӫ��O
+
+!! Default edit popup menu
+
+Emacs*XlwMenu.xEmacsCommands.labelString:	XEmacs ���O
+Emacs*XlwMenu.selectBlock.labelString:	��ܰ϶�
+Emacs*XlwMenu.unsplitWindow.labelString:	��j Window
+
+!! Default modeline popup menu
+
+Emacs*XlwMenu.deleteWindowAbove.labelString: �屼�W���� Window
+Emacs*XlwMenu.deleteOtherWindows.labelString: �屼�t�@�� Window
+Emacs*XlwMenu.splitWindowAbove.labelString: ���ΤW���� Window
+Emacs*XlwMenu.splitWindowHorizontally.labelString: �������� Window
+Emacs*XlwMenu.balanceWindows.labelString: ���� Windows �ƦC
+
+!! (Shell mode) History menu
+
+Emacs*XlwMenu.expandHistoryBeforePoint.labelString: �b���Ыe�i�} History
+Emacs*XlwMenu.listInputHistory.labelString: �C�X��J�� History
+
+
+!
+! Part 2: XRESOURCES
+!
+
+Emacs.geometry:	80x30+10+10
+
+!
+! The Lucid Scrollbar supports two added resources, SliderStyle is either
+! "plain" (default) or "dimple".  Dimple puts a small dimple in the middle
+! of the slider that depresses when the slider is clicked on.  ArrowPosition is
+! either "opposite" (default) or "same".  Opposite puts the arrows at opposite
+! of the scrollbar, same puts both arrows at the same end, like the Amiga.
+!
+Emacs*XlwScrollBar.SliderStyle:		dimple
+Emacs*XlwScrollBar.ArrowPosition:	opposite
+
+! Fonts.
+! ======
+
+!! FontSet for the window frame and menus when you use USE_XFONTSET
+!Emacs.FontSet-0: -*-medium-r-normal--16-*,chinese-big5-unix:-arphic-*-medium-r-*-16-*-big5-0
+
+! CDE doesn't require this but OpenWindows does.
+! Lucid also need this to set menubar fonts.
+Emacs*fontList:	-*-medium-r-normal--16-*-iso8859-1;\
+		-arphic-ming-medium-r-normal--16-*-big5-0:
+
+! The default font for the text area of XEmacs is chosen at run-time
+! by lisp code which tries a number of different possibilities in order
+! of preference.  If you wish to override it, use this:
+! 
+Emacs.default.attributeFont:	-*-medium-r-normal--16-*
+
+! If you choose a font which does not have an italic version, you can specify
+! some other font to use for it here:
+! 
+Emacs.italic.attributeFont:	-*-medium-i-normal--16-*
+
+! Font of the modeline, menubar and pop-up menus.
+! Note that the menubar resources do not use the `face' syntax, since they
+! are X toolkit widgets and thus outside the domain of XEmacs proper.
+! 
+!Emacs*menubar*Font: 		-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*
+!Emacs*popup*Font:		-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*
+
+! Font in the Motif dialog boxes.
+! (Motif uses `fontList' while most other things use `font' - if you don't
+! know why you probably don't want to.)
+! 
+!Emacs*XmDialogShell*FontList:	-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*
+!Emacs*XmTextField*FontList:	-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*
+!Emacs*XmText*FontList:		-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*
+!Emacs*XmList*FontList:		-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*
+
+! Font in the Athena dialog boxes.
+! I think 14-point looks nicer than 12-point.
+! Some people use 12-point anyway because you get more text, but
+! there's no purpose at all in doing this for dialog boxes.
+
+!Emacs*Dialog*Font:		-*-helvetica-bold-r-*-*-*-140-*-*-*-*-iso8859-*
+
+! XIM input method style 
+! ======================= 
+
+Emacs.inputMethod:	xcin
+Emacs.preeditType:	Root
+
+! ximStyles is a (whitespace or comma-separated) list of XIMStyles in
+! order of user's preference.  
+! Choose a subset of the following styles or reorder to taste
+Emacs*ximStyles: XIMPreeditPosition|XIMStatusArea\
+            XIMPreeditPosition|XIMStatusNothing\
+            XIMPreeditPosition|XIMStatusNone\
+            XIMPreeditNothing|XIMStatusArea\
+            XIMPreeditNothing|XIMStatusNothing\
+            XIMPreeditNothing|XIMStatusNone\
+            XIMPreeditNone|XIMStatusArea\
+            XIMPreeditNone|XIMStatusNothing\
+            XIMPreeditNone|XIMStatusNone
+
+! XIM Preedit and Status foreground and background
+!Emacs*EmacsFrame.ximForeground: black
+!Emacs*EmacsFrame.ximBackground: white
+
+! XIM fontset (defaults to system fontset default)
+! Emacs*EmacsFrame.FontSet: -dt-interface user-medium-r-normal-s*-*-*-*-*-*-*-*-*
+
+*cursorColor: IndianRed
diff --git a/chinese/xemacs21/files/sample.emacs b/chinese/xemacs21/files/sample.emacs
new file mode 100644
index 000000000000..db38691131bf
--- /dev/null
+++ b/chinese/xemacs21/files/sample.emacs
@@ -0,0 +1,34 @@
+(set-language-environment 'Chinese-BIG5)
+; after this, (coding-priority-list) is right,
+; but describe current coding system under Mule menu 
+; is wrong
+
+(set-default-buffer-file-coding-system 'chinese-big5)
+; (prefer-coding-system 'chinese-big5)
+(set-input-mode nil nil t)
+(setq-default default-input-method 'chinese-zozy)
+
+(global-set-key (kbd "M-SPC") 'set-mark-command)
+
+; even the file isn't like big5 (such as bbs article with escape)
+; it would be opened in big5
+; some special files would be open in different coding system
+; see `file-coding-system-alist'
+(setq buffer-file-coding-system-for-read 'chinese-big5)
+(modify-coding-system-alist 'file "\\.jpg$" 'binary)
+(modify-coding-system-alist 'file "\\.gif$" 'binary)
+(modify-coding-system-alist 'file "\\.png$" 'binary)
+
+;gnus of XEmacs doesn't have seperate group decode/encode
+;it just use a universal coding-system 
+;anyway.. it's good enough for most people
+(modify-coding-system-alist 'network "nntp" 'chinese-big5)
+
+;recognize all process output as chinese (like ls,man...)
+;XEmacs use a lot of external programs, but if it require
+;some special encoding(like binary),it would explicitly
+;assign it. so don't worry.
+;use big5-unix is for those situation XEmacs can't guess
+;CR/LF.
+(modify-coding-system-alist 'process ".*" 'big5-unix)
+