jupyter本身是支持多语言的,但是支持的语言是有限的,官方目前只支持:简体中文,法语,日语,英语。如果想要添加一个新的语言支持,就要自己动手来添加。下面就以添加繁体中文为例,来说明如何添加。
jupyter读取语言包是根据环境变量LANG来读取的。这个环境变量默认没有设置的,所以默认语言为英文。
如果是简体中文,LANG的值就设置为zh_CN,是繁体中文就设置为zh_TW
jupyter的语言包通常放在/dist-packages/notebook/i18n这个目录下

这个目录下,默认是没有zh_TW目录的,需要新建一个。在zh_TW文件夹中建立一个LC_MESSAGES文件夹。

其实可以打开zh_CN文件夹中的LC_MESSAGES文件夹看看,其中有什么文件

多语言文件就是一个nbjs.json,这个文件是依靠三个文件,然后用代码来生成的。

jupyter官方提供了多语言翻译需要的三个文件:nbjs.pot,nbui.pot,notebook.pot,这三个文件的格式很类似,如下所示:

msgid "Edit"
msgstr ""

其中msgid是默认的英文,msgstr就是要翻译的本地化语言所放置的位置。把这三个文件中对应的英文的翻译放到msgstr中,然后使用命令,就可以生成nbjs.json文件,jupyter读取nbjs.json文件即可完成菜单的本地化显示。最笨的方法就是手动翻译这三个文件中的每一行,然后生成nbjs.json文件。jupyter提供了代码,可以来转换这个三个文件,但是需要微软的Azure的API,所以我修改了一下代码,使用了百度免费的API,下面我说一下步骤。大家需要的翻译源码的话可以上csdn资源下载,我放在了上面。

  1. 安装必要的库文件。
    pybabel - pip install babel
    po2json – npm install -g po2json (这个就是把po文件生成json文件)
    polib --pip install polib

  2. 运行脚本baidu_api.py
    在运行之前,需要先去百度的翻译平台申请一个账号。次数没有限制,只是最好一秒钟使用一次,怕太频繁,封IP。

  3. 运行完成以后,就可以生成三个文件nbjs.po,nbui.po,notebook.po。把这个是三个文件拷贝到zh_TW/LC_MESSAGES目录下。

  4. 在noteook/i18n目录下依次执行以下命令

pybabel compile -D notebook -f -l \${LANG} -i \${LANG}/LC_MESSAGES/notebook.po -o \${LANG}/LC_MESSAGES/notebook.mo
pybabel compile -D nbui -f -l \${LANG} -i \${LANG}/LC_MESSAGES/nbui.po -o \${LANG}/LC_MESSAGES/nbui.mo
po2json -p -F -f jed1.x -d nbjs \${LANG}/LC_MESSAGES/nbjs.po \${LANG}/LC_MESSAGES/nbjs.json

就可以在zh_TW目录下生成nbjs.json文件,然后启动jupyter就可以了。

  • 注意,在翻译的过程中,一些占位符可能会出错,在运行命令pybabel的时候,会提示。这个时候需要手动修改一下,直到pybabel不再出现错误为止。否则,运行下面两个文件也会出错,就生成不了po2json了。

jupyter添加新的语言包相关推荐

  1. android 语言包 external,为Android添加多国语言包.pdf

    虽 然 Android从2 3开始已经支持 50种以上的语言 但是不是每种语言都有字体可以显示 遇到一个新需求 有客户要求对hindi 语言的支持 于是上 网找了一些资料 发现网上介绍的大部分是如何替 ...

  2. python使用fpdf2包和pdfrw包在已有的PDF页面上添加新的页

    python使用fpdf2包和pdfrw包在已有的PDF页面上添加新的页 目录 python使用fpdf2包和pdfrw包在已有的PDF页面上添加新的页 #包安装 #新内容添加到已有的PDF页面上 # ...

  3. Android4.0中添加新语言实现方案(以缅甸语为例)

    查看了网上的一些 关于Android2.3实现的添加新的语言的方案.我没有验证过但发现在4.0中不适用 不适用的原因 是: Android4.0中关于 icu4c模块(处理语言国际化模块)是通过dat ...

  4. Windows 10 解决无法完整下载安装语言包(日语输入法无法下载使用)

    最近我想在我的 Windows 10 上安装一个新的语言包,在 "设置" -> "时间和语言" -> "语言" 中,添加了新的语 ...

  5. NSIS脚本学习:创建 MUI 界面使用的自定义语言包文件(nlf nsh)

    NSIS脚本的语言包文件,存放在以下目录: NSIS安装目录\Contrib\Language files 在这个目录下有很多语言包,一般简体中文使用的语言包是 SimpChinese.nlf 和 S ...

  6. 此语言无法安装在此计算机,[修复]无法在Windows 10中安装语言包 | MOS86

    我们都知道,如果要使用母语运行Windows 10,则需要在计算机上安装相同的语言包.安装新的语言包被视为可选功能,它通过Windows Update功能完成.要在Windows 10中添加新语言,请 ...

  7. nopCommerce3.9简体中文语言包(nopCommerce3.9 language)

    <?xml version="1.0" encoding="utf-8"?> <Language Name="Chinese&quo ...

  8. 如何为opencart安装中文语言包

    安装完opencart后,有的小伙伴觉得都是英文看不懂(我也看不懂...),所以,我们可以为他安装一个中文语言包 在安装之前我们需要先去下载中文语言包,目前好像还没有对应2.2.0.0以上版本的语言包 ...

  9. OCR 训练 中文语言包

    1.下载tesseract安装配置环境变量 环境变量:将OCR根目录配置到环境path里 添加 TESSDATA_PREFIX 为语言包的路径 2.修改tif 文件名称 tif文件命名格式[lang] ...

  10. Joomla教程:创建Joomla语言包安装插件 【转】

    当你为第三方的插件扩展做翻译时,通常是直接做到插件包中的,但有时你的语言包需要单独提交.后面这种情况下,也许会不大容易让使用者知道应该将语言包上传到哪里. 为了避免这种情况的发生,我们可以模仿Joom ...

最新文章

  1. EDA电子设计技术与应用
  2. html5转apicloud,使用APICloud编写优雅的HTML5代码
  3. SpringMVC和Dubbo的整合
  4. 树莓派3B+功耗测试、初体验、图形化配置树莓派3B+配置方法。Raspberry Pi 3B+测评...
  5. 信息项目管理师-整体管理知识点
  6. nodejs(6)express学习
  7. 一分钟开发一个hello world级别的wordpress插件
  8. 编写一个汇编语言程序,完成以下要求。从BUF单元处定义有10个带符号字数据:-1,3,24,94,62,72,55,0,-48,99,试找出他们中的最大值和平均值,并以此分别存放至该数据区的后两个单元
  9. 最新java初级高级,python基础进阶,机器学习视频资料
  10. C语言预处理#line、#error
  11. Python类中公开方法、私有方法和特殊方法的继承原理
  12. python 爬虫 糗百成人
  13. 淘宝客商城带分销APP源码(原生双端IOS+安卓+后台+数据 库+开发文档),用于学习或二开使用,开发语言:安卓java,苹果oc,后台php。
  14. 【Linux-网桥原理分析】
  15. 技术人员的价值是什么?技术的价值体现在赋能业务
  16. android手机和包支付,中国移动和包支付客户端下载-和包支付appv9.7.16 安卓版-手机腾牛网...
  17. 1.C语言的特点和学习目标
  18. 分布式服务框架HSF学习 Dubbo VS HSF
  19. Linux上安装dos2unix
  20. 百旺信息服务器端口,各省百旺参数设置服务器地址

热门文章

  1. Unity碰撞和触发
  2. Lua调用C的动态库
  3. python遥感图像处理_遥感数字图像处理
  4. 数字调制中比特率和波特率的关系
  5. pli测试50题题库_人才测评题库60题测试(附答案).doc
  6. x射线微型计算机断层扫描技术,X射线断层扫描技术,分析缺陷对性能影响的利器...
  7. android mvp框架基类,Android MVP架构模式基类封装
  8. ie8和ie11的html代码生成,ie8升级ie11-IE11,IE8
  9. 苹果a7处理器_苹果历代cpu性能对比
  10. Nacos视频教程分享