This article is an original article, reproduced by the author and the source

Complete | | iKcamp translation “JavaScript lightweight, functional programming

In our daily work, we often consult some English documents to solve the problems we encounter and broaden our horizon. When you see a good article or book, do you want to share it with your friends? Let’s translate it together

Translation advocates “faithfulness, expressiveness and elegance”. “Faithfulness” means that the meaning should not be contrary to the original text, that is, the translation should be accurate, not deviate from, not omit, and not add or subtract the meaning at will. “Da” means not sticking to the original form, the translation is smooth and clear; “Elegance” means that the words chosen in translation should be appropriate and the classic, concise and elegant of the article itself should be pursued. As a non-professional translator, it is not easy to achieve the above three points, but we should try our best to achieve this direction. One is to improve their expression level and reading ability; The second is to let the reader more understand the author’s original thought. There is a saying: when the others understand, you really understand.

On June 5, 2017, iKcamp began translating the second book, Lightweight Functional Programming in JavaScript. If you have read the recent iKcamp posts about this book on Jinjin, Zhihu or public accounts, you should have a general understanding of this book. The author of this book is the original author of the popular book “JavaScript You Don’t Know”. It is designed to explore the core ideas of functional programming without using a lot of complex concepts to explain them, so it is called “lightweight functional programming”. “Lightweight” does not mean that this book is an “entry-level” book, but rather, it contains a variety of complex details and delves into each knowledge point in the hope that the reader will gain a deeper understanding of functional programming.

As the Master of this translation project, I learned how to organize a translation project and how to customize the translation plan during this process. In the spirit of sharing of iKcamp, the following is a brief introduction of our translation process, some problems we encountered, solutions and points to be optimized. I hope you can have a certain understanding of the organization of translation projects after reading, and then you can also put forward their own suggestions or solutions, can also be applied in their own projects.

Project Details:

  • Title: The Functional ultra-light JavaScript”
  • By Kyle Simpson
  • Number of articles: 21
  • Participating members: 17 children in iKcamp
  • Estimated completion time: 2 months

Questions to consider:

Before the beginning of the translation, there are many questions to be considered. The following points are also the questions I consider before the beginning of the project. I will list them and discuss with you:

  • How to ensure translation quality
  • How to familiarize each member with the translation process and translation norms
  • How to ensure translation progress
  • Contact information between members

The solution

1. How to ensure translation quality

Translation project is of course the most important translation quality, so how to ensure translation quality and translation schedule in the case of not too few members? After discussing with our partner Au, we decided to adopt the group system. The Master communicates with the group leader, and the group leader communicates with other members of the group. The group leader is assumed by a partner with translation experience. The benefits of grouping are as follows.

  • Since the group leader has already participated in the translation project, he can better answer the questions of the group partners
  • The team leader has more freedom to assign responsibilities and more power to control the translation progress and quality of the team members
  • The team leader controls the translation quality within the group, and then the Master controls the translation quality of the team

2. How to make everyone familiar with itThe translation processandTranslation norms

If every member is familiar with the translation process and translation specifications, the following requirements should be met:

  • Have a document that clearly states how to go through the entire translation process.
  • This document needs to be easy to open and support on all systems, without formatting barriers.
  • Everyone can access it at any time.

Based on the above requirements, we finally adopted the strategy of building a new repository on GitHub, in the form of Markdown, to show the whole translation process from the perspective of readers. The specific link can be poked here.

3. How to ensure the translation progress

In fact, this is a headache, because the participants may come from different companies and different departments, so their time is also uncertain. Maybe sometimes I am busy and sometimes I am idle. How can I make my partner complete the translation with high quality on the premise of ensuring the translation progress?

What I thought at that time was to set a deadline for each process, which was the most generous time that could be given according to the project schedule. Then, when claiming the translation, the partner could decide the completion time according to his/her latest margin, as long as it was before the deadline. Here’s a screenshot from when we claimed it.

The basic format is: Claim type (translation/proofread claim) – Deadline. This way, instead of forcing everyone’s progress, you can let your partner take control of your own progress. Time is their own choice, ha ha, that is to be completed in the prescribed time.

4. Contact information among members

IKcamp’s friends come from different companies and different departments, but now they participate in a translation project together. So how can we let partners know the progress of the current project and discuss problems together? Here we need a platform to visualize the progress of the current project, and a platform to communicate. Here are a few tools that came to mind:

  • Google Docs
  • Teambition
  • GitHub
  • WeChat

When using Tethub, it’s really easy to see how far the project goes. When using Tethub, it’s really easy to see how far the project goes. It’s really easy to see how far the project goes. Naming the labels for each process also gives a clear view of the current progress of the project, and GitHub is more professional than the technical staff. In terms of discussing the problem, find a convenient tool that allows everyone to participate. So in the end, I chose GitHub to visualize the progress of the project and discuss it with wechat groups.

After solving the above problems, in fact, the preparation work is almost done, and it is good to follow the process step by step.

Start translating

Translation can probably be summarized as the following steps:

  • The preparatory work
  • Volunteer as a group to claim translated articles
  • Translation, proofreading
  • integration

A, preparation,

The Master puts an issue for each article, and each issue is attached with corresponding label. The label can be used to intuitively confirm the current progress of the article. I divided the issue labels into 8 categories:

Different labels correspond to the current progress of the article. Attach the address of the corresponding original text at the bottom of the issue, so that the translator can find the corresponding original text more easily for translation, or the picture above:

Ii. Main translation process

To claim the article

After dividing into groups, the following began to claim the translated articles as a unit. Partners in each group will discuss which articles they want to translate, and then claim the articles under the issue claimed for translation by label as a group.

After the leader leaves a message “claim translation” at the bottom of the corresponding issue, the Master will switch the status of the issue from “claim translation” to “translating”.

After assigning the group and claiming the article, we will leave time for everyone to read the translation process and translation norms carefully. These are the basis of translation work before the start of the familiar with these, can avoid a lot of mistakes and reduce the work of proofreading.

Start translating

Functional programming proper name library

In the process of translation, it is inevitable to encounter many proper nouns whose description is not clear. One way is to discuss the results in the group and make unified translation in the group. But this has a bad place is: although the group is unified, but there is no unity between the groups. So here, we built a functional programming proper nouns library, and added the proper nouns encountered in the translation process and their translations to this library, so that you can find those who are not quite clear when you translate in this library, and unified your translation, so that there will not be two translations of one word.

Since the subject of this book is functional programming, the glossary is mostly functional programming related terms. You can decide on the theme of the noun bank according to the different projects, or you can put all the nouns you encounter in the translation process together, depending on your needs.

Translation done

After completing the translation, the partner should launch a Pull request on GitHub, and then write the corresponding issue link in the comment under the PR. So the PR and the issue are related. After the work is mainly completed in the PR message.

Here are two ways to initiate a Pull request:

Click the button, and the following page will appear. As can be seen in the figure, first select the target branch, and then select the branch built by yourself during translation, and then the comparison of files will be generated. Then click the green button of Create Pull Request at the bottom, and a pull request will be successfully initiated.

So far, the translation process has been completed. The translation process can be summarized as the following steps:

proofreading

How to check

When the translator initiates the Pull request after completing the translation, there will be the submission record of the translator under the corresponding Pull request.

Click it, and you will see the translator’s change point. Put the mouse over the line that you think needs to be modified, and a dark blue plus sign will appear. Click the plus sign, and a text box will appear.

Proofreading: proofreading within the group

The first round of proofreading is intra-group proofreading, where members of the group exchange articles, check for basic grammar and formatting issues, and make corrections. This will reduce the amount of work required for the second round of proofreading.

School two: claim proofreading

A school completed, equivalent to each article in line with the basic format specifications, can express the author’s basic ideas. The next step is to start “real” proofreading – second grade. The second school mainly proofread the article sentence accuracy and smoothness, and format.

Just like claiming translated articles, there is no restriction. Members of the group discuss the articles they want to claim, and then leave a message under the PR for proofreading claimed on the label to claim and proofread.

Modify the

After each proofreading, the partner who translated the article should revise it according to the proofreader’s opinion. In the process of revision, you can put some ideas and suggestions to the group for discussion. If you disagree with the proofreader, you can also reply to the comments of the proofreader. Finally determine the modification scheme.

All the school

After one translation, two proofreads and two revisions, the whole article is almost there, but the final step is to read the article as a reader: to feel the feelings of the reader personally; Whether the sentence reads smoothly; There are no formatting errors that affect the reading experience. So here comes the final round of proofreading — the final. Each student can choose articles that interest them and proofread them. I also encourage you to leave a comment below if you don’t understand anything, and we’ll discuss solutions together.

About the proofreading

Here you may have a misunderstanding, is that the school is more relaxed than translation. I don’t really think so. In my opinion, translation and proofreading are equally important, and the proportion of their time should be quite different. The proofreader will spend as much time as or more time as the translator to ensure that the text is strong, formatted, and understood by the reader. So, we proofread more than once. Try to express the author’s meaning clearly and easily for the reader to understand. In this translation, I also leave enough time for you to proofread. We will consider the text format and the expression of the meaning. I believe that the time spent is proportional to the results.

integration

There are many references to each other. For example, chapter 6 will cite paragraph headings from Chapter 2. In the process of translation, the translator may not have a thorough understanding of the author’s ideas and context, so we put this step at the end. In the last step we uniformly modify the references to make sure the context is consistent.

Third, the end

The whole translation project is roughly as described above, and the process can be summarized as the following figure:

After two months, the book was successfully completed with the enthusiasm and persistence of my iKcamp friends. I believe that the friends of iKcamp also gained a lot in this translation and overcame great difficulties. Under high work pressure, we can finish the work of this book with both quality and quantity. It is not only enthusiasm but also sense of responsibility that drives us to complete the translation work of this book. A special thanks to all the members of IKCamp. Also welcome interested partners to join iKcamp, we play technology together ~

However, for the Master of the translation project, there is still a long way to go, because it is the first time for the Master of the translation project, and many places are still inexperienced. In this process, THANKS to the help and cooperation of Au, Zhou’s mother and friends, I completed the translation of this book. This translation process also has the following points that need to be optimized, and then you can think of some more interesting methods when organizing the translation project.

  • Seamless integration in translation and proofreading
  • Maintain project schedule
  • The unity of translation

The results of this translation project

  • JavaScript lightweight functional programming
  • Functional programming proper name library
  • Translation specification – contains translation process documents, typographical rules, and proofreading specifications.
  • Complete | | iKcamp translation “JavaScript lightweight, functional programming

IKcamp latest event

Registration address: www.huodongxing.com/event/54099…

Face to face communication with the r & D team of “practice oral English every day” ranking fourth in the total list of small programs and first in education.

Complete | | iKcamp translation “JavaScript lightweight, functional programming


In 2019, iKcamp’s original book “Koa and Node.js Development Practice” has been sold on JD.com, Tmall, Amazon and Dangdang!