[停止维护]emacs 汉化包for linux/windows/freebsd

Vim、Emacs配置和使用
回复
头像
careone
帖子: 839
注册时间: 2007-12-17 21:41

[停止维护]emacs 汉化包for linux/windows/freebsd

#1

帖子 careone » 2012-05-25 12:34

旧贴名: emacs linux版/windows版本的汉化流程
(目前主要菜单已基本汉化,效果较好,推荐下载使用)

友情提示:
从2012-9-17起,本贴停止维护。相关内容转移到以下位置并长期集中维护。
http://forum.ubuntu.org.cn/viewtopic.php?f=17&t=212467
实际最后更新时间:2012-7-17更新

-----------------

* Emacs-locale-zh-cn for Redhat/ Fedore/ OpenSUSE (.rpm):
暂未提供 .rpm 软件包。可以参考上面的 .deb 软件包进行变通处理;
2012/7/17更新

emacs-locale-zh-cn for Windows 使用方法
2012-7-17, by Careone

======================
!!! 不需要修改注册表
!!! 不需要修改 .emacs 配置文件
-------------
本 Emacs for Windows 汉化包不需要修改注册表,即可自动显示中文菜单。
(原理:Emacs 主程序 (runemacs.exe) 会自动加载当前目录下的
site-lisp/default.el 文件。本汉化包把翻译后的主要菜单文件, 通过在
default.el 文件中加入 load 语句进行了手动加载。);
--------------

使用方法:

1 按 Emacs 版本,把本补丁包中相应版本目录下的全部文件复制到 Emacs 安装

目录;

2 重新启动 Emacs 主程序 (emacs-xx.x/bin/runemacs.exe),即可看到中文菜单

界面;

* Emacs-locale-zh-cn for Ubuntu/ Debian/ LinuxDeepin/ LinuxMint (.deb):
请到以下地址下载现成的 .deb 软件包;
-----------------
Emacs中文菜单汉化包deb下载(emacs-locale-zh-cn)
http://forum.ubuntu.org.cn/viewtopic.php?f=17&t=212467
-----------------

* Emacs-locale-zh-cn for Redhat/ Fedore/ OpenSUSE (.rpm):
暂未提供 .rpm 软件包。可以参考 .deb 软件包进行变通处理;

!!! 已知问题
* 目前仅完成了部分菜单的汉化;

Emacs for Windows:
  * Emacs WINDOWS 版本,部分菜单仍显示英文/中文乱码,但中文提示

信息显示正常;

Emacs for Linux:
* Emacs 23.1/Ubuntu 10.04 下,使用 --m1 或 --m2 方案后,tetris

俄罗斯方块游戏中
出现多余的空行间隔(Emacs 23.4 for Windows 版本中未出现这一缺陷

,原因未知);

-----------------
其它技巧:

* 如果想直接启动 Emacs 主程序,请双击运行 bin/runemacs.exe 程序

(注意看清文件名);


* 如果想在开始菜单中加入 Emacs 菜单项,请双击运行 bin\addpm.exe

程序;

* 根据 Emacs 实际安装目录,修改 emacs-zh-cn.reg 注册表文件,保

存后双击导入,可以加入
相关的注册表关联(注意:在 .reg 注册表文件中,目录需要用两个

左斜杠隔开,而不是一个左斜杠);

* 如果安装过多个版本的 Emacs for Windows 造成注册表文件关联混乱

,可以试着双击
emacs-zh-cn-unreg.reg 注册表文件,可以解决一些小问题;

* 如果想手动加载 .el 文件,请使用 Unix/Linux 风格的目录分隔

符"/"(左斜杠),如:
  (load "d:/emacs-23.4/site-lisp/default.el")


========================

参考资料:
http://forum.ubuntu.org.cn/viewtopic.php?f=68&t=375876
http://forum.ubuntu.org.cn/viewtopic.php?f=17&t=212467

------------------------------

###########################################
第一部分:Emacs 23.4 windows版的下载
###########################################

下载地址1(Emacs最新版):
ftp://alpha.gnu.org/gnu/emacs/pretest/windows/

----------
下载地址2(Emacs稳定版):
http://ftp.gnu.org/pub/gnu/emacs/windows/
=============================

* 下载的文件: emacs-23.4-bin-i386.zip (大小约40-50M)
不要下载那个 barebin 压缩包 (大小约10M左右)。
2012-6-11 更新
* 修正 Linux下的目录存放位置 /usr/share/emacs/site-lisp/00default-zh-cn.el;
* site-lisp/facemenu.el 编码由GB2312 调整为 UTF-8;
* 更新windows下的脚本文件 bat/tree-emacs-list.bat ,添加自动导入注册表的功能;
* 加入linux下的sh 脚本:使用sed替换并翻译主要的主字符串。因目前本人暂无LINUX测试平台,暂未测试,请网友反馈和修正;)
* 其它小细节修正;


2012-6-5 更新

* Emacs 24 最新版 for mircosoft windows
下载地址:
ftp://alpha.gnu.org/gnu/emacs/pretest/
---------
EMACS 官方地址暂只能找到旧的稳定版 EMACS 23.4 FOR WINDOWS 可下载:
http://ftp.gnu.org/pub/gnu/emacs/windows/
......

关于 EMACS 24 的一些新特性,可以查看这里:
使用最新emacs 24, 以及elpa包管理系统
http://blog.csdn.net/sabalol/article/details/6996079

----------------------
EMACS 快捷键操作介绍:
http://www.verycd.com/topics/2844797/

* 注册表文件样例
(请按实际的EMACS 目录来修改本注册表文件并双击导入):

代码: 全选

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\GNU]

[HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs]
"HOME"="D:\\emacs-23.4"

[HKEY_CLASSES_ROOT\.el]
@="el_auto_file"

[HKEY_CLASSES_ROOT\el_auto_file]
@=""

[HKEY_CLASSES_ROOT\el_auto_file\shell]

[HKEY_CLASSES_ROOT\el_auto_file\shell\open]

[HKEY_CLASSES_ROOT\el_auto_file\shell\open\command]
@="D:\\emacs-23.4\\bin\\emacsclientw.exe -n -a \"D:\\emacs-23.4\\bin\\runemacs.exe\" \"%1\""

[HKEY_CLASSES_ROOT\*\shell\Open with Emacs]
@="用 &Emacs 打开"

[HKEY_CLASSES_ROOT\*\shell\Open with Emacs\command]
@="D:\\emacs-23.4\\bin\\emacsclientw.exe -n -a \"D:\\emacs-23.4\\bin\\runemacs.exe\" \"%1\""

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Open With Emacs\command]
@="D:\\emacs-23.4\\bin\\emacsclientw.exe -n -a \"D:\\emacs-23.4\\bin\\runemacs.exe\" \"%1\""
2012。5。28更新了部分菜单,简化了 EMACS WINDOWS版的汉化处理操作。详细见下:
emacs windows 版的汉化操作:
2012-5-29 更新 Careone <[email protected]>

一、测试平台:
* emacs 23.4
* Windows XP

二、汉化流程:
1. 把汉化包目录下的 .emacs.d/init.el 文件连目录直接放在 Emacs 目录下;
  (.emacs.d/init.el 文件的作用与通常所说的 ~/.emacs 文件作用相同);
2. 把汉化包目录下的 site-lisp/ 下的几个文件放在 已安装的Emacs/site-lisp/ 目录下。几个文件及作用如下:
-----------------------------------------
│ emacs-locale-zh-cn.gb2312.txt 汉化说明文件;
│ list.txt 本汉化包文件清单;
│ emacs-start.bat 自动生成 .emacs 文件(如果文件存在,不会修改文件内容)和
.emacs.d 目录,并运行 runemacs.exe 启动EMACS;

│ emacs-zh-cn.reg 注册表文件,修改实际的EMACS目录后,双击导入即可;
├─.emacs.d 个人自定义的配置文件的存放目录;
│ init.el 个人配置文件,作用与~/.emacs 相同。必须是这个文件名;

└─site-lisp 自定义的配置文件的存放目录(带 site- 的文件夹的含义:对全局生效)
default.el  主要作用是让emacs自动加载相关汉化过的文件;
facemenu.el  局部的汉化菜单;
menu-bar.el 最主要的菜单,主要部分已汉化;
loadup.el Emacs 启动时加载菜单顺序和清单,想要实现完全汉化,需要处理里面提到的文件;
------------------------------------------

3. 双击 emacs-zh-cn.reg 注册表文件,完成环境变量的导入;
4. 启动 emacs (直接运行 bin/runemacs.exe)

三、本汉化方式的优点:
(提示:仍需要修改注册表键值,实际操作时把修改过的注册表 .REG文件直接双击导入即可;)

* 不需要修改 ~/.emacs 配置文件;
* 不需要导入网友经常提到的mule-menu.el, english-menu.el, chinese-menu.el 这3个文件;
* 翻译好的中文菜单和提示基本不会出现乱码(Emacs WINDOWS版下部分菜单仍显示英文/中文乱码,但中文提示帮助信息能正常显示) ;
* 一次操作,永久有效;

四、已知缺陷:
* (Emacs WINDOWS版下部分菜单仍显示英文/中文乱码,但中文提示帮助信息能正常显示);

五、EMACS 启动加载顺序:
* emacs windows 版:
$HOME\lisp\default.el (全局有效)

$HOME\site-lisp\xxx.el (第三方EMACS .el插件存放目录,全局有效。使用时需要在特定的文件(如上面的default.el文件)中调用 require或load命令来进行加载)

$HOME\.emacs (仅对当前用户有效)
$HOME\.emacs.el (仅对当前用户有效)
$HOME\.emacs.d\init.el (仅对当前用户有效)
* emacs linux 版:
/usr/share/emacs/版本/lisp/default.el (全局有效)

/usr/share/emacs/site-lisp/xxx.el (全局有效。site-lisp 目录下存放全局性的第三方 .el 插件)

/etc/emacs/site-start.el (全局有效)
/etc/emacs/site-start.d/00aaa.el (全局有效.文件名必须以两个数字起头)

~/.emacs (仅对当前用户有效)
~/.emacs.el (仅对当前用户有效)
~/.emacs.d/init.el (仅对当前用户有效)
2012.5.25, by Careone <[email protected]>

###########################################
第一部分:Emacs 23.4 windows版的汉化流程
###########################################

测试版本:Emacs 23.4 windows版

安装程序文件名: emacs-23.4-bin-i386.zip
大小约45M,解压缩后直接运行 bin/ 目录下的 runemacs.exe 即可启动;
运行 bin/ 目录下 addpm.exe 程序可以在开始菜单里添加EMACS的快捷方式。

汉化原理:
提取 lisp/menu-bar.el源文件(注意备份原文件),翻译后另存为menu-bar-zh-cn.el,并在
lisp/default.el文件中加载menu-bar-zh-cn.el;

* 不需要修改 ~/.emacs 配置文件;
* 不需要导入网友经常提到的mule-ucs.el, english-menu.el, chinese-menu.el这三个文件;

* 翻译好的中文菜单和提示不会出现乱码;
* 一次操作,永久有效;


汉化流程:
1. 备份lisp/ 目录下的2个原始菜单文件: menu-bar.el(源文件)和 menu-bar.elc (编译过的文件)



2. 编辑上面提到的源文件 lisp/menu-bar.el ,把双引号里的字段翻译成中文, 另存为同目录下的另一
个文件lisp/menu-bar-zh-cn.el;

3. 修改 lisp/目录下的default.el文件(如果没有lisp/default.el就自已按这个文件名新建一个),
把文件内容改为以下内容(不包括头尾两行虚线)。
其实真正需要的只有最后面的第三、四行的内容。

如果自已修改了翻译文件的文件名,只需要修改相应的文件名即可:
----------------

代码: 全选

;;; file name: lisp/default.el
;
;; emacs菜单汉化方法1 (效果完美)
;;; 
;
;(setq custom-file "file:///d:/emacs-23.4/site/menu-bar-zh-cn.el")
(setq custom-file "menu-bar-zh-cn.el")
   (load custom-file)
;
;;; emacs菜单汉化方法 2: 
;;; 但是菜单项会乱码,帮助提示信息却能正常显示;
;;; 另外需要参考上面方法1中的menu-bar.el文件,调整和添加下面提到的chinese-menu.el文件
;;; 的字符串定义,才能实现完整的汉化
;;; 
;;; 使用时请先去掉下面三行前面的分号(;),同时把上面方法1的几行前面加上分号,使方法1失效,
;;; 以免互相干扰
; 
;(require 'english-menu) 
;(require 'chinese-menu) 
;(require 'mule-menu) 
 
(require 'linum) 
(global-linum-mode 1) 
(load 'init-win32)
----------------

4. :另外如果emacs中仍有部分菜单是英文,请参考以上方法,
翻译并替换 lisp/ 目录下的其它 .el 和 .elc文件(千万记得要先备份!),
如 tool-bar.el (工具栏菜单文件)等;

5 打开EMACS,试试效果

//////////////////////////////////////
* 技术说明1:emacs 的windows版程序里,基本自带了完整的 .el 源文件
(linux版的emacs默认安装情况下,是没有附带这些 .el 源文件的) ;

* 技术说明2: emacs windows版软件包目录及文件的作用介绍:

------------------------
├─bin 目录下存放emacs的程序参考手册的帮助文件 (.el/.elc)
├─etc
│ ├─charsets
│ ├─e
│ ├─gnus
│ ├─grammars
│ ├─icons
│ ├─images
│ │ ├─custom
│ │ ├─ezimage
│ │ ├─gnus
│ │ ├─gud
│ │ ├─icons
│ │ │ └─hicolor
│ │ │ ├─128x128
│ │ │ │ └─apps
│ │ │ ├─16x16
│ │ │ │ └─apps
│ │ │ ├─24x24
│ │ │ │ └─apps
│ │ │ ├─32x32
│ │ │ │ └─apps
│ │ │ ├─48x48
│ │ │ │ └─apps
│ │ │ └─scalable
│ │ │ ├─apps
│ │ │ └─mimetypes
│ │ ├─low-color
│ │ ├─mail
│ │ ├─mpc
│ │ ├─smilies
│ │ │ ├─grayscale
│ │ │ └─medium
│ │ └─tree-widget
│ │ ├─default
│ │ └─folder
│ ├─nxml
│ ├─refcards
│ ├─schema
│ └─tutorials 目录下存放emacs参考手册的帮助文件 (.el/.elc)

├─info
├─leim 目录下存放emacs的输入法文件
│ ├─CXTERM-DIC
│ ├─ja-dic
│ ├─MISC-DIC
│ ├─quail
│ └─SKK-DIC
├─lisp 重要目录:存放emacs菜单项,配置文件,各种源码和小组件等
│ ├─calc 目录下存放与计算器相关的程序文件 (.el/.elc)
│ ├─calendar 目录下存放与日历相关的程序文件 (.el/.elc)
│ ├─cedet
│ │ ├─ede
│ │ ├─semantic
│ │ │ ├─analyze
│ │ │ ├─bovine
│ │ │ ├─decorate
│ │ │ ├─symref
│ │ │ └─wisent
│ │ └─srecode
│ ├─emacs-lisp 目录下存放启动时加载的文件 (.el/.elc)
│ ├─emulation
│ ├─erc
│ ├─eshell
│ ├─gnus
│ ├─international
│ ├─language
│ ├─mail
│ ├─mh-e
│ ├─net
│ ├─nxml
│ ├─obsolete
│ ├─org
│ ├─play 目录下存放与游戏相关的程序文件 (.el/.elc)
│ ├─progmodes
│ ├─term
│ ├─textmodes
│ └─url
├─site-lisp
#################################
bin/目录下各个文件的作用:
#################################
addpm.exe 在开始菜单里添加EMACS的快捷方式;
cmdproxy.exe
COPYING
ctags.exe
ddeclient.exe
digest-doc.exe
ebrowse.exe
emacs.exe 启动EMACS程序(图形界面+ 终端文本模式);
emacsclient.exe 启动EMACS程序(终端文本模式);
emacsclientw.exe 启动EMACS程序(图形界面);
etags.exe
hexl.exe 二进制文件编辑程序;
libXpm.dll
movemail.exe
runemacs.exe EMACS主程序(图形界面);
sorted-doc.exe
--------------------------



###########################################
第一部分:Emacs 23.4 LINUX版的汉化流程
###########################################
汉化原理同Emacs windows版,处理好以下两个文件:
/usr/share/emacs/版本号/lisp/menu-bar-zh-cn.el
/usr/share/emacs/版本号/lisp/default.el
即可完美汉化。
相比之前我在本论坛发的关于EMACS 汉化的原理(chinese-menu.el文件需要更新字符串),
http://forum.ubuntu.org.cn/viewtopic.php?f=17&t=212467
效果不太好。

本贴所提到的才是完美方案
结束语:
用过emacs,就会深刻体会到它的强大和便捷。
但一个完美的中文版本的Emacs, 还需要国内网友来共同实现翻译和汉化。
任重而道远,盼诸君多关注,多参与,多贡献!
上次由 careone 在 2012-09-17 16:33,总共编辑 17 次。
魁拔不死,天下不宁。
魁拔既死,天下不平。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: emacs linux版/windows版本的汉化流程(技术交流,暂未能实现完美汉化)

#2

帖子 lilydjwg » 2012-05-25 15:15

这是什么啊啊啊?直接把 locale 设置成中文有问题的话直接去报 bug 啊。 :em20
头像
tarenafeng
帖子: 158
注册时间: 2012-03-16 16:09
联系:

Re: emacs linux版/windows版本的汉化流程(技术交流,暂未能实现完美汉化)

#3

帖子 tarenafeng » 2012-05-25 16:00

嗯,没完美也差不多了。 :em11
做人要达内修外(请不要点我,我只是一个签名)
kardinal
帖子: 750
注册时间: 2006-03-19 11:39

Re: emacs linux版/windows版本的汉化流程(技术交流,暂未能实现完美汉化)

#4

帖子 kardinal » 2012-05-26 12:55

为什么我的 emacs 木有菜单? :em20
头像
careone
帖子: 839
注册时间: 2007-12-17 21:41

Re: emacs linux版/windows版本的汉化流程(技术交流,暂未能实现完美汉化)

#5

帖子 careone » 2012-05-26 20:38

kardinal 写了:为什么我的 emacs 木有菜单? :em20
什么版本?LINUX/WIN?有什么提示或抓个图片或出错信息
魁拔不死,天下不宁。
魁拔既死,天下不平。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/
kardinal
帖子: 750
注册时间: 2006-03-19 11:39

Re: emacs linux版/windows版本的汉化流程(技术交流,暂未能实现完美汉化)

#6

帖子 kardinal » 2012-05-26 23:22

:em06 开玩笑的……不过用 emacs 也挺长时间了,还真没怎么用过菜单
janus
帖子: 156
注册时间: 2006-01-02 3:15

Re: emacs linux版/windows版本的汉化流程(技术交流,暂未能实现完美汉化)

#7

帖子 janus » 2012-05-27 9:39

说实在的,好像自打用emacs的以来一直把菜单隐藏了,没注意过菜单什么样子的
头像
jobinson99
帖子: 1169
注册时间: 2007-04-28 15:14
系统: NixOS+虚拟机各种系统
联系:

Re: emacs linux版/windows版本的汉化流程(技术交流,暂未能实现完美汉化)

#8

帖子 jobinson99 » 2012-05-28 17:15

不错,不过最好汉化24吧,面向未来,emacs的图形界面实在是古老……

我的汉化方法:
我用的arch
1、emacs的菜单原始定义的文件在:/usr/share/emacs/版本号/lisp/menu-bar.el.gz
2、找到菜单原始定义的文件,复制一份出来,命名为menu-bar-zh-cn,放在emacs加载的插件文件夹里(比如我的是~/.emacs/plugins),然后修改其中的英文,在倒数第二行,把

代码: 全选

(provide 'menu-bar)
改为

代码: 全选

(provide 'menu-bar-zh-cn)
3、直接在.emacs 中,添加上一行

代码: 全选

(require 'menu-bar-zh-cn)
4、重启,搞定!!!

目前效果
1、linux下,图形界面和终端下无乱码
2、windows下待测试,楼主有兴趣可测试
3、这方式不够完美,理应根据系统本身的locale设定来启用,而不像现在这样强制启用,但这涉及到emacs本身国际化的方式和架构的设定,需要和开发团队直接沟通,目前没那个心力……


汗,翻译的时候,发现emacs竟然内置聊天机器人!!!
help——》emacs psychotherapist
寂寞陪聊啊!!!
黑色的不是眼睛,而是眼圈
关注和实现科技领域未来3年内有大规模普及潜力、能改善穷人生活品质的技术/应用。
NixOS + lxqt + 无人生产线 + 无人农场 (已发明全套山地农业机械 + 线性喷洒系统,成片农业采收系统)+ 随身设备,柔性电路,冷热双调衣……
头像
careone
帖子: 839
注册时间: 2007-12-17 21:41

Re: emacs linux/windows版汉化流程[2012-5-28更新]

#9

帖子 careone » 2012-05-29 0:39

2012.5.28汉化更新,简化了WINDOWS 版的汉化操作。有兴趣的朋友可以试试。

汉化原理及相关文件,同样适用于 EMACS LINUX 版
魁拔不死,天下不宁。
魁拔既死,天下不平。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/
头像
reverland
帖子: 1317
注册时间: 2011-11-26 15:57
系统: windows xp
联系:

Re: emacs linux/windows版汉化流程[2012-5-29更新]

#10

帖子 reverland » 2012-06-02 8:51

:em11 虽然设了arch下locale就汉化了……
托在github上的jekyll博客
Always Look on the Bright Side of Life
头像
careone
帖子: 839
注册时间: 2007-12-17 21:41

Re: emacs linux/windows版汉化流程[2012-7-17更新]

#11

帖子 careone » 2012-07-17 17:25

2012-7-17更新了 emacs-locale-zh-cn for Windows (v9).
汉化效果已比较满意,且不用再修改注册表和 .emacs 文件即可直接显示中文菜单。
推荐下载。

同时删除了多个旧版本的、汉化效果不理想的旧版本汉化包。
魁拔不死,天下不宁。
魁拔既死,天下不平。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/
头像
jobinson99
帖子: 1169
注册时间: 2007-04-28 15:14
系统: NixOS+虚拟机各种系统
联系:

Re: emacs 汉化包for linux/windows/freebsd[2012-7-17更新]

#12

帖子 jobinson99 » 2012-07-22 11:48

给个小建议,也是我刚刚做的事情,就是稍微美化下菜单,感觉好看多了,呵呵:

代码: 全选

■文件  □编辑  ○选项  ◆页面  ◇工具 ▲帮助
黑色的不是眼睛,而是眼圈
关注和实现科技领域未来3年内有大规模普及潜力、能改善穷人生活品质的技术/应用。
NixOS + lxqt + 无人生产线 + 无人农场 (已发明全套山地农业机械 + 线性喷洒系统,成片农业采收系统)+ 随身设备,柔性电路,冷热双调衣……
回复