2018-04-30

關於 mBlock 5 的繁體中文翻譯 - 余奕德老師的回覆文章

昨天寫到半夜的文章『再論 Scratch 與 mBlock 5 繁體中文 正體中文 翻譯』,修修改改,終於比較完整地將自己的想法提出來。

今天中午看到余奕德老師在臉書留言回覆,也接到余奕德老師的交友訊息,我決定經過他的同意,將他的回覆文章在這裡貼出,讓大家一起了解余老師的想法,同時也提供大家更多訊息,最近貓咪盃比賽完畢,相信有更多使用 Scratch 及 mBlock 的老師學生,都很歡迎你們共同瞭解彼此的想法,更期待大家有相關的討論及回應。

我,邱信仁,也會盡快再利用時間修改繁體中文的翻譯。



以下轉貼余老師的文章:(由於版面設計問題,圖片無法完善呈現,請觀看原始文章連結


在 Scratch 2 的 454版中,我和 Scratch-TW 的幾個夥伴們在官方做了一次大幅度的語言更新,
當時的翻譯是不得已的選擇,我和朋友當然知道,用戶的習慣很重要,能盡量維持就維持,
但我們更在乎的是,這樣的教育工具能不能更有效、更快速的幫助學生,達成工具的使命。
就 Scratch 的語言變革,我曾經紀錄在一篇文章:Scratch 更新版前後對照表中
裡頭說明了每個積木命名的原由,我也給了 Scratch 官方的一份文件,
這也是後來我成為官方的審查員之一的原因。


除了 Scratch、ScratchJr 的軟體以及網站的中文化是和 Scratch-TW 的朋友一起努力,
此外,在 code.org、makecode 裡的 microbit 和 minecraft edu,不管軟體、站台,
裡外都是由我主導審查譯文,協同其它單位努力的維護。
除了這些,我個人還參與了 Wordpress 系統與第三方插件的翻譯,也不求什麼回報,
就只是希望這些和計算機科學相關的東西能很好的發展起來,所以我的翻譯,自有一些中心思想,
目的只是希望讓它們更被接受,更普及。
就這次事件,透過朋友的轉述告知,我已經知道那位先生和你們說了些什麼,
我也因此回信向 lisa.lin 說明我的立場,但我想,不管官方如何定奪,
我都想把我的立場和你們交流,希望通過這次的事件,能夠把另一種想法讓你們知道。


我希望我所貢獻的這些內容都不只是翻譯,如果只是翻譯,我們用機器逐字逐字的翻就好了,
就像微軟早期的 MSDN 等技術文件,我平常也寫程式,所以很能體會那些學習者的心路歷程,
要看那些不是中文的中文,是一件多痛苦的事、是一個多大的門檻。
中文是博大精深的語言文字系統,終究電腦語言很難用中文來當底。也因此在計算機時代來臨時,
英文成了更強的語言,科技始終由英語語系國家主導。那麼中文難道在科技就沒有優勢了嗎?
我們在中小學教育學生的,是編程的邏輯思考力為主,也因此才選擇用圖像式,而不是 type 的工具,
既然如此,我們更要善用我們中文的優勢,把這些積木的文字給精煉,不應該只是照著原文翻,
所以對我而言,教育工具應該更有別於翻譯,應該要「本地化」,而且要「優化」
這是我的核心價值。
以下是我在翻譯過程中的幾個依循順序,
並且我會以 mblock3 和我目前翻譯的 mblock5 來做例子比較:


1. 求精簡:
學生的閱讀能力、速度有限,能用最簡短的字來描述愈好。
所以我如何也會希望在不破壞本意,且能快速理解的情況下,積木能用字愈省愈好,例如:
他版:
RGB LED 連接埠 點亮 全部 的燈,顏色為 (),持續 () 秒。
圖左是 mblock3,把一些字拿掉。例如把綴字「將」拿掉。不用說也知道的「座標」拿掉。
圖上是目前簡體,圖中是我硬減2字的繁體,原意並沒有問題。如果改成他版譯文,字恐怕拉得很長。

求精簡的好處在初期是比較感受不到的,但在面對愈複雜的程式,閱讀的速度絕對有差別。

2. 正確與一致:


主要是專有名詞的部分,很多用語不能只講習慣,尤其這是教育工具,
我們會希望學生在課後自己找資料時,不會因為一些似是而非的用詞混淆。
而既然已經確定名詞,從頭到尾就應該要有一致性。以下是例子:



先不談 Sensor 應該叫什麼,但 mblock 的名字不一致是事實,
感應器、傳感器是有差別的專有名詞。
而經求證後(如下),mblock 正名為感測器。
關於感應器、感測器和傳感器的差異:
https://tw.answers.yahoo.com/question/index?qid=20061215000010KK10557
sensor - 感測器 - 國家教育研究院雙語詞彙:
http://terms.naer.edu.tw/detail/578732/
感測器- 維基百科,自由的百科全書:
https://zh.wikipedia.org/zh-tw/%E4%BC%A0%E6%84%9F%E5%99%A8
Loudness 中國叫响度,
臺灣卻要不管三七二十一的叫音量值(volume),
這,從 wiki 或是臺灣的教育研究院也是一下子就可以找到差別的。
另外一例,tempo(演奏速度) 在臺灣被翻成節奏(rhythem)。
像這樣跨領域的詞,我想不是我們要翻怎樣,
或是以前積木怎麼習慣,就可以說得過去的。


像這樣的例子,在 mBlock 裡還有很多,像是講 led 時有的部分用「亮起」,有的又用「點亮」;
在講 motor 時有的寫「以動力」,有的又用「動力設為」…我在這個階段盡量都一致化了。
另外,有人會質疑某些詞用正式的不好解釋,比方響度不比音量容易理解,
但反過來問,難道我們因為不想說明什麼是響度,就用一個不正確的東西帶過嗎?

3. 主詞、動詞…等的排列順序:
Scratch 當初在設計時,是面向中小學生的,也因此程式積木有一點要走「自然語言」的風格,
尤其是在長一些的程序排列組合時,用英文讀更可以讀出這樣的味道。
我和 Scratch-tw 的朋友們起初也是希望能追求這個理想,但做了無數修改與測試,始終就是無法成功。
我在翻譯的 Code.org ,裡頭用了 Blocky,也是遭遇到這難題,在多年的翻譯後理解了,
這種填充式的拼音文字,本來就和我們單體字結構的語言有別,
也因此,我想我們更應該要把這劣勢逆轉,因此,我在積木裡開始了 Localize 的工作,
希望這些內容不要再這麼饒舌,讓它們變得更容易消化。除了精簡字詞,
另外很大部分是把受詞改成主物代詞下的物。如果主詞是角色,那麼就省略主詞,直接寫動詞。
因為程式大部分是寫在角色身上。但如果角色是「所有格」,那麼把「物主代格」寫在最前面。
以方便一下子就辨識。


如圖中,「造型」「圖層」是物,放在最前,
表示「角色的造型」、「角色的圖層」。
(題外話,圖上的第三個積木讀起來對嗎?)
如圖下,主詞是 mbot 的,我們就直接加動詞「前進」或「亮起」。
若是指 mbot 的外接元件,則先把物「LED 燈條」寫在最前,
這會比圖上來得好多了。
(題外話,圖上的第二、三個積木讀起來對嗎?)


對於這個做法是最多人質疑的,他們會問,學生們如果要學習像 phython 語言時,
要轉換時會不會又變成一種障礙。我想這是很奇怪的論述,第一,Scratch 向來不是要學習編程語言,
是學邏輯的。第二,哪個編程語言是不需要轉換的,儘管它們的詞彙很像,但是語法也是有差別;
如果是函式那更慘,每一個家的寫法都不一樣。第三,把中文變成看不懂的英式中文,才真正是個障礙。


4. 排比與對襯:
在精簡、正確的前提下,開始排列這些內容,尤其是被放在一齊的積木,往往功能上差不多的,
把它們放整齊,詞性對列,我想就可以讓使用的人更容易區別出兩者的差異。


想辦法排整齊,句子放在一起,
更容易比對關鍵字找到要使用的積木。
像是在所有音樂類的積木前加上「演奏」,
一眼就可以知道他們是同一個類別
(注意,在 Scratch2.0 演奏相關的積木是被放在聲音一類中,
所以我才加上演奏二字區隔之間的不同,3.0 真的分開來了,
也證明我當時的翻法是正確的。)
儘量對襯,一下子就可以找到兩者之間的差別。
像重複 () 次與重複無限次,
重複這個詞都放在前面以表示都是迴圈,
次數統一寫在後面。

以上,是我對於積木式語言在中文化的一些看法,我希望把經驗分享給你們這些開發者,
翻譯和開發比起來,絕對不是件難事,也許你們會覺得我有點大驚小怪了,
我是語文教育出身、是自學編程的小學老師,對我來說,在看這些積木時,
我根本內心已經轉換為英文或其它編程語言了,中文長什麼樣真的沒太大差別,
但是目前正在中小學教授計算機科學的老師和自學的學生呢?
我想用我普通的腦袋、懂孩子的處境的心態來和你們對話,
希望你們能關心那些真正會用到這個工具的使用者。


重要的是,我們的方向是不是一致,是不是都希望讓我們的孩子在學習編程的這條路上,
即便沒有像美國孩子一樣的優勢,在有好的工具的幫助下,計算機思惟的能力絕對不比人差!
能夠怎麼樣善用自己的語言,把工具真正的本地化,才是當務之急。