Release 0.3b: #translation #maintainer - An amazing story with Gatsby.js

I have been imagining that I am going to have a good blog post for the following satisfactory and unforeseen story.

Initial Failure

Since last week, I have been very tempted to level-up my game with the contributions I have been making to open source. I planned to work on a project of Microsoft which turned out to be a spectacular failure for me mainly because a) I cannot grasp enough the complexity of the codebase to accomplish a good-enough contribution for my goal and b) many smaller issues were CSS modification when I was more interested in making contributions to functionality. However, that fact changed just the next day...

How Gatsby and I crossed each other's path

The following day, as my friends and I are staying after class, as usual, by chance, we had a conversation about how we are catching up with the heavy load of the semester and our open source contribution goal. A good friend of mine suddenly reminded me of a conversation we had before (when my interest was "functionality contribution").

Turned out, my friend had already signed up for a Spanish translation of Gatsby's documentation. That sparked me an idea! If she can do that, why can't I contribute to translating Gatsby's documentation into my language, too? After all, helping people in my country have a higher chance of approaching new technologies is kinda my goal, too... as well as getting free swag from Gatsby, of course (if you followed me on the Hacktoberfest series, you know how much I am obsessed with free swag).

However, my experience proved that the beginning is always the hardest part

Phase #1: Gatsby Vietnamese Translation is not a thing yet

I soon realize that there has been no ongoing effort to translate Gatsby.js to Vietnamese. I was looking around, even into other projects such as React translation progress where they achieved 55% of Vietnamese translation already.

I was really tempted to switch to React and was discouraged (since I won't get my free swag with React). That was until my friend, once again, told me: "Hey! You can be the first one doing it. Just request a new language translation!".

I was so happy and surprised that it was even a thing that I could be the initiator for Vietnamese translation. It also shocked me that "Hey, I might have to be a maintainer for the new repository.".

Phase #2: Looking for help

I rush myself to file an issue for the new translation request just to find out that I need help from others.

I admit that I cannot do this alone because...
  1. The number of documents in need of translation is enormous!
  2. Gatsby maintainer team requires at least 2 maintainers per translation repository so we can review each other's works.
  3. To be honest, I feel that I really need another set of eyes since I have not spent a day using Vietnamese technology language, just reading materials here and there. And I have not used Vietnamese as my primary language for 2 years so... yea, I have a problem with my linguistic sense of confidence.
So, I looked around for help, reached out to some of my Vietnamese friends. Some of them are back home, one or two are in the US and many are here, in Canada.

I talked to my professor for help reaching out to Vietnamese students in the class (and surprisingly got the attention of a Gatsby's maintainer through one of his tweets).

I jumped on the Gatsby Discord Server (the platform they use for community interaction) to spread the words about the new translation.

 Finally, 2 days of looking around and messaging back and forth paid off! I got 2 friends agreed to help me. One is a 3rd-semester student in my same program (Software Development, BSD) with whom I was fortunate to get acquainted through a mentoring program at Seneca College. The other one is my friend from middle school who is now going to college, majored in Computer Science, in the US.

I went ahead and filed my translation request. I finally got my translation maintainer team!

Phase #3: Waiting, waiting and more waiting for approval

After filing the issue is another story. The waiting feels endless to me since, well, I have a deadline to meet.

I waited for 48 hours (the average amount of time for previous translation requests to be accepted, as I noticed) before I ran out of patience and started contacting maintainers on the Discord Server.

Turned out that the person who was in charge of localization of Gatsby has been taking a break and they have been kinda shorted on personnel. However, I also found out who to contact to get my request approved.

Phase #4: Let's get things moving

After a productive conversation, I was so delighted to see my request approved, the repository for Vietnamese translation created and I can get started with my contribution.

I have already made my first PR to add a Vietnamese version of file to support easy navigation for potential contributors. Since the maintainers of Gatsby do not allow changes to be made directly to the master branch, I talked to my fellow localization maintainer to review my PR and got it merged.

Hey! And just like that, I got my first Gatsby swag!

Looking forward

Something tells me that I will stick with this project for a long time (since, of course, I want more swag). I have scheduled a meeting with one of my fellow maintainers so we can discuss strategies moving forward.

Localizing and being a maintainer of Gatsby.js, so far and in the future, has brought and will bring me valuable experience. I believe that by translating the documents, I can learn this cool project. Setting up the translation has shown me how communication within the open source community is like and that there are so many people in the community that are willing to help. I will be more engaged in the project and get to know more people.

On the other hand, I also see difficulties. Making a document flow smoothly in another language while fully maintaining its meaning is not an easy task. I tried creating the file and saw an immense difference between expressing an idea in English and in Vietnamese. As I am writing now, I am thinking of some words such as "framework", "component" (as in React Component) and "monorepo" for which are impossible to find a complete equivalent in Vietnamese. I guess I am going to need many help from my team.

My friend who is doing the Spanish translation suggested me to utilize Wikipedia where many words are pre-translated in a certain standard and also Google Translate but with careful review. I think they are cool tips and worth trying.

In the end, I look forward to seeing what I will pick up and struggle with in the future.


Post a comment

Popular posts from this blog

Release 0.4b: #gatsbyjs - Keep the fire burning!

Release 0.3a: #telescope-in-motion - Is it possible to avoid coding style conflict in big project?