V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
XiiLii
V2EX  ›  Python

手动汉化 PyCharm 的过程

  •  
  •   XiiLii · 2018-09-04 19:14:39 +08:00 · 1841 次点击
    这是一个创建于 2033 天前的主题,其中的信息可能已经有所发展或是发生改变。

    PyCharm 界面

    PyCharm 默认是英文界面,如果想汉化它,网上有很多相关的汉化䃼丁可以下载。

    我的 Pycharm 版本是 pycharm-professional-2018.2.2,这里仅简单展示手动汉化的原理:需要修改一个名叫 resources_en.jar 的文件

    步骤如下:

    1. 备份文件

    resources_en.jar 的相对路径: .\JetBrains\PyCharm 2018.2.2\lib\resources_en.jar

    我的完整路径是:I:\Program Files\JetBrains\PyCharm 2018.2.2\lib\resources_en.jar

    在 Pycharm 的安装目录中复制该文件作为备份或用于修改: I:\Program Files\JetBrains\PyCharm 2018.2.2\lib\resources_en.jar

    2. 修改文件

    备份好文件后,我直接修改原文件

    .jar 文件本质是个压缩包,可以用解压软件打开

    用解压缩包软件打开

    进入其中的 messages 目录(或者单独解压 messages 目录下的 .properties 文件到其它文件夹) messagees

    .properties 这种格式的文件是文本文件,打开其中一个文件里面的内容如下所示: 文本形式

    等号 = 右边是可以修改的文本,也就是需要翻译的内容

    下面以 PyCharm 菜单栏下的 Active Tool Window 选项为例来将其翻译成中文

    Active Tool Window

    (为防止等下无法修改文件,此时可以关闭 PyCharm )

    经过我事先搜索,发现 Active Tool Window 这个字符串位于 ActionsBundle.properties 文件的第 917 行。我这里使用软件内置的文本编辑器打开该文件:右键 ActionsBundle.properties 文件,选择 内部查看器打开 内部查看器打开

    快速定位: =Active Tool Window

    Find =Active Tool Window

    Active Tool Window 修改为 活动工具窗口 对应的 Unicode 编码,即 \u6d3b\u52a8\u5de5\u5177\u7a97\u53e3(后面再说为什么修改成 Unicode 编码及如何修改为 Unicode 编码) Unicode 编码

    再次强调:更新前务必先关闭 PyCharm,不然无法更新被修改的文件

    修改并保存文件后,就可以看到提示更新原文件的操作,点击确定更新即可

    Update ActionsBundle.properties

    3. 验证

    重新打开 PyCharm 验证下原来的 Active Tool Window 是否显示为 活动工具窗口

    Update Success

    上图表示验证成功,至此翻译过程展示完毕,翻译过程很明确,但这个过程比较麻烦的是需要将中文转换成 Unicode 编码

    补充

    为了让使用任何文字的人都可以使用 PyCharm,里面的字符是使用 Unicode 解码的。如果直接用中文修改,会导致解码出错,以下是反面例子(将文件以 UTF-8GBK 编码的形式保存也是看不懂的乱码)

    活动工具窗口

    Update Failed 乱码

    中文转 Unicode 编码

    通过下面的一两行 Python3 代码即可将中文转成 Unicode

    • 方法 1 (推荐)
    >>> print('活动工具窗口'.encode('unicode-escape').decode('utf8'))
    \u6d3b\u52a8\u5de5\u5177\u7a97\u53e3
    
    • 方法 2
    >>> for s in '活动工具窗口':
    ...     print(hex(ord(s)).replace('0x', '\\u'), end='')
    ...
    \u6d3b\u52a8\u5de5\u5177\u7a97\u53e3
    

    如果每个汉字都要像上面这样写实在麻烦,所以可将上面的代码封装起来方便循环使用

    当然这里仅演示翻译的一小段过程,喜欢折腾的可以将 messages 目录下的所有 .properties 文件都翻译一下(除了 messages 目录外, .properties 文件在其它目录也有一些),我大概看了下 .properties 文件里面的内容布局,不是完全与 PyCharm 界面布局一致的,手动翻译很麻烦,可以编写个小程序自动完成这个翻译过程,再通过人工检查修正下翻译结果。嫌麻烦的可以获取汉化补丁替换原文件即可,毕竟别人已经翻译好了,直接拿来用比较省事儿。

    我这里有个将 messages 目录下的 .properties 文件翻译好的 resources_en.jar 文件,将其替换原文件后,界面如下:

    汉化界面

    PS:保持原生态的英文界面也是挺好的

    阅读更多

    4 条回复    2018-09-05 19:56:52 +08:00
    MNJKOLnm
        1
    MNJKOLnm  
       2018-09-04 21:34:28 +08:00
    macOS 版怎么搞?
    XiiLii
        2
    XiiLii  
    OP
       2018-09-05 09:17:48 +08:00
    @MNJKOLnm 在 MacOS 上没试过
    alphadog619
        3
    alphadog619  
       2018-09-05 10:01:08 +08:00
    楼主,翻译好的 resources_en.jar 文件,求下载。
    XiiLii
        4
    XiiLii  
    OP
       2018-09-05 19:56:52 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2422 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 15:58 · PVG 23:58 · LAX 08:58 · JFK 11:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.