[ANN] JuliaZH.jl, the localization project for Julia in Chinese


#1

I’m pleased to announce the v0.1.0 version of JuliaZH.jl, this is a community-driven localization project for the Julia compiler and stdlib in Chinese built within JuliaCN. More than 50 people have involved the development and translation.

Introduction

This package provides most of the translation for manual at the moment. We provide a transifex-CI based automatic sync documentation on both local Chinese server and github/gitlab pages, the service covers all the regions in China, including sensitive regions. You could access the Chinese documentation on docs.juliacn.com or through gitlab pages for the nightly preview version https://juliacn.gitlab.io/JuliaZH.jl

We are not only planning to provide the translation of manual, the translation for doc strings is also in the roadmap. Although, it might not be possible in near term, a simple Julia keyword translation is provided:

julia> using JuliaZH

help?> julia
search: JuliaZH

  欢迎来到Julia 1.1.0. 完整的中文手册可以在这里找到

  https://docs.juliacn.com/

  更多中文资料和教程,也请关注Julia中文社区

  https://cn.julialang.org

  新手请参考中文discourse上的新手指引

  https://discourse.juliacn.com/t/topic/159

  输入 ?, 然后输入你想要查看帮助文档的函数或者宏名称就可以查看它们的文档。例如?cos, 或者 ?@time 然后按回车键即可。

  在REPL中输入 ENV["REPL_LOCALE"]="" 将恢复英文模式。再次回到中文模型请输入 ENV["REPL_LOCALE"]="zh_CN"。

In the following short terms, we are planning to provide better local accessibility to the localized documentation, e.g build a PDF file locally, search the localized version locally, etc.

Outlook

We hope this project would inspire other localization efforts and help people in the community to build their own language’s localization based on what we have.

Moreover, during a practical i18n/L10n project development, we will be able to find out what Julia needs for i18n/L10n, and empower every Julian be able to internationalize/localize their own package.

Acknowledgment

Special thanks to @Gnimuc and @findmyway for long-term maintenance.

And thanks to:

  • @June-6th for outstanding contribution in the translation.
  • swarma.org for providing local server and donation on our activities in mainland China.

Finally, thanks all the people who contributed to the translation and the development and former contributors to julia v0.3 translation


#2

What do you mean by “keyword translation”?

Although, it might not be possible in near term, a simple Julia keyword translation is provided

Is there is a freely-available intro-to-Julia book in Chinese? Say something like ThinkJulia? The authors of ThinkJulia are open to translations.


#3

keyword translation means, when you type

help?> using
search: using SubString include_string unsafe_string unescape_string SubstitutionString

  using

  using Foo 将会加载一个名为 Foo 的模块(module)或者一个包,然后其export的名称将可以直接使用。
  不论是否被export,名称都可以通过点来访问(例如,输入Foo.foo来访问到foo)。查看手册中关于模块的部分以获取更多细节。

It will be translated, since keywords are special kinds of binary doc strings, it is easier to do i18n. But I think in general the translation of doc strings are similar, but we need more investigation and time on this. (probably also a few PR to the main julia compiler)

There are some books and online courses indeed, but I don’t think the authors are not experienced enough in Julia, most of the books are simply reinterpretation of the documentation or old translation. I’ve been asked to write books after 1.0 as well, but I really don’t have much time, even the maintaining the org could use up my time sometimes.

It would be nice to translate some more professional Julian book, but we are also lack of people here, we need to finish the documentation first at least, which can be more crucial and urgent. It would be great if someone want to make an effort on this, I could try to help.

But as long as the number of Julians in mainland China keeps growing, this will be better.


#4

Moreover, I’ve been discussing the possibility to make use of existing machine learning technique to provide translation. The manual translation could provide training data and could improve machine learning results, and machine learning algorithms could help provide much wider coverage on the translation of the whole community.

Since Julia is a machine learning language while being homoiconicity.