開源專案開發紀錄 — 翻譯及新功能開發

本文最初發表於 Medium,已搬運至個人 blog。

繼上次分享 開源專案初體驗 — 解 Issue 心得分享,上週又有些小心得想要記錄下來:分別是協助多國語系的翻譯以及新功能的開發:


photo:needpix

photo:needpix

繼上次分享 開源專案初體驗 — 解 Issue 心得分享,上週又有些小心得想要記錄下來:分別是協助多國語系的翻譯以及新功能的開發:

多國語系翻譯

這次是協助 wojtekmaj/react-lifecycle-methods-diagram 做多國語系翻譯,主要是因為工作上在寫 React 時,有時會忘記 Lifecycle 的運作機制,查找時剛好找到作者開發的圖表,覺得還蠻完整的。

React Lifecycle Methods diagram

但是!卻發現裡面沒有繁體中文,看 GitHub 上有使用 i18n,於是我就依照我的想法翻譯,並送 PR 給作者,作者就幫我 merge 了。

doc: add Traditional Chinese by AlanSyue · Pull Request #68 ·…

不過作者最近放假,還沒能把程式碼部署上去,需要再靜候一陣子哈哈。

新功能開發

上篇文章有提到 fb-messenger-cli 這個工具,這次看到一個 Issues 是:

https://github.com/Alex-Rose/fb-messenger-cli/issues/190

https://github.com/Alex-Rose/fb-messenger-cli/issues/190

有位視障朋友提到他利用 screen reader 使用此工具時,目前此工具的顯示方式會在同一個人多次傳送訊息時,印出此人的姓名,但對於他來說,screen reader 一直出現此訊息會造成干擾,希望可以有個功能讓同一個使用者多次傳送訊息時,摺疊成只出現一次姓名。

看完覺得蠻有興趣的,於是就動手開發。開發完成發 PR 後,也在 Issues 上留言:

我多新增了一個指令是 /repeat ,預設值是開啟,也就是一般的模式,只要下此指令後,就可以摺疊訊息,方式其實就是在 renderMessage 的時候,去判斷上一個訊息發送者是不是跟現在的相同,相同的話就不印出此發送訊息者姓名。也很開心開 Issue 的人表示這是他想要的功能。

https://github.com/Alex-Rose/fb-messenger-cli/pull/233

https://github.com/Alex-Rose/fb-messenger-cli/pull/233

不過在程式碼的部分,我覺得沒有寫得很完善,蠻希望作者能協助 code review ,不過作者似乎很久沒有在管理此專案了,期待他能回覆並 merge 此功能。

小結

貢獻開源專案真的很有趣,印象深刻的是在開發 fb-messenger-cli 的功能時,Node.js 我並沒有很熟悉,但作者設計的架構其實蠻清楚易懂的,十分讚嘆他的技術。一樣期許之後能再多多奉獻,並持續分享。