2017-02-13

重新思考Scratch 正體中文指令翻譯

多年來的Scratch中文翻譯


首先感謝余奕德老師及方毓賢老師將Scratch多年來的正體中文翻譯補齊,他們兩位還很努力地將Scratch其他文件翻成中文,不論是老師學生或是自學者,都能從中文著手,無痛學習Scratch。


對我來說,語言是一種溝通工具,只要雙方有共同的認識,能夠用來互通心意,這樣就有效果。

隨著時代環境的變遷,語言也跟著演化。大家約定成俗,就可以彼此瞭解,達到溝通的目標。所以每年牛津字典也會多出許多新字,中文在口語相傳中更是多了各種新名詞。一般來說,硬是要發明自己的語言也沒問題,不管是指鹿為馬,或是罄竹難書,甚至自自冉冉,蘋果改名為橘子也行,大家有了共識,共同使用,變成通用,語言就會延續。

我不懂語言文字的專業,不同語言之間的翻譯對我來說不是一件容易的事。翻譯要像以前老師所提的信雅達,更是如登天之難。

文字是一種抽象的表達方式,據說大腦需要先處理文字的影像,接著辨識其字義,才能理解接受,做出相對應的反應。

程式語言相對於一般文字更為抽象,程式中的各種指令、關鍵字都有特別嚴謹的定義,加上又是外國的電腦先進所發明,所以程式語言一直都是使用英文為主。只要記憶背誦指令,瞭解其用法,大家在使用上也沒有太多問題。

由於程式語法定義嚴謹,一般初學者在撰寫程式時,常常出現語法錯誤的狀況,對於不具有專業背景的學習者,是一大困擾。於是有人發明圖像式程式語言,試圖降低程式學習的門檻,解決初學者語法錯誤。

(話說EV3 NXT甚至WeDo操作軟體才能稱為真正的圖控式程式語言,因為都是圖形,LabView就更不用說了。所以EV3用英文版軟體上課也沒有太大問題,畢竟全部是看圖說故事。當然,缺點就是佔據空間較大,不論是編輯版面或是記憶體,沒有文字型程式語言來得簡潔,想想圖畫文字或楔形文字同樣很佔空間^^)

雖說Scratch, Blockly等使用拖拉積木指令方式,就是圖像式程式語言,但是我認為Scratch,Blockly並不為純粹的圖像式程式語言,因為在圖像上還是需要少量文字才能表達指令意涵。既然指令具有少量文字,原始語言為英文,當然需要翻譯成為當地語言。

或許大家在使用一些應用程式軟體時都已經習慣原生的翻譯方式,其實這些開源軟體大部分都開放讓所有人一起集思廣益,做出在地語言的操作介面。

Scratch由於是程式設計軟體,所以除了操作介面外,指令也需要中文化。操作介面及指令又有些許不一樣,『操作介面』只是單純的名詞,『指令』還牽涉到組合後的文句意義。

無論如何,我想使用貼近學員(學童)的生活習慣用語,會更容易為學生所接受。

Scratch 2.0 v454 正體中文指令翻譯的意見


這次Scratch 2.0 v454 對於正體中文指令大改版,我看了之後立即想提出一些意見,當然也很歡迎各老師踴躍提供您的看法。以下是我認為需要修正的指令翻譯,我選擇貼近生活的用語,嘗試以淺顯易懂的方式解釋:



1. 動作指令:Motion

原文:Move (10) Steps
翻譯:移動(10)步

說明:這個指令是控制舞台上的主角最基本的移動方式,所以使用『步』,就好像主角在舞台上走路,跑步。別忘了當初製作Scratch就是用來發揮創意撰寫故事,創造互動效果,製作遊戲等目的。所以一開始大家不需要瞭解座標關係,直接使用『移動10步』讓主角有所動作。

請參考Scratch Wiki說明:https://wiki.scratch.mit.edu/wiki/Move_()_Steps_(block)


2. 外觀指令:Looks

2-1
原文:Say (Hello!)
翻譯:說(Hello!)

說明:這個指令放在外觀分類中,表示是針對角色所作的事情,也就是像漫畫一般,有個說話框框。第一次使用這個指令時需要教導(提醒)孩子,不是真的發出聲音說話,相信孩子看過許多漫畫,立即能瞭解這個命令。只用『說』這個字就能表示,不用太多綴字,因為我們是在創作圖畫故事,不是撰寫文字小說。

請參考Scratch Wiki 說明:https://wiki.scratch.mit.edu/wiki/Say_()_(block)

2-2
原文: Think (Hmmm...)
翻譯:想(Hmmm...)

說明:同上,只用『想』這個字就能表示,指令簡潔易懂,不用太多綴字。

請參考Scratch Wiki 說明:https://wiki.scratch.mit.edu/wiki/Think_()_(block)

2-3
原文:change size by (10)
翻譯:大小改變(10)

說明:這個指令就是放大縮小舞台上的主角,『尺寸』稍嫌生硬,一般口語對於大小變化不會使用『尺寸』形容。『大小』是中文最通用的名詞,也是孩子最先學習的文字,這是給孩子最直覺的用法,何樂而不為呢?

請參考Scratch Wiki 說明:https://wiki.scratch.mit.edu/wiki/Change_Size_by_()


3. 控制指令Control

3-1
原文:Repeat (10)
翻譯:重複 (10) 次

說明:相同的,『重複』比較直覺常用,『循環』比較生硬,也不常用。特別是對年紀較小的小朋友。很容易可以瞭解意思。

請參考Scratch Wiki 說明:https://wiki.scratch.mit.edu/wiki/Repeat_()_(block)

3-2
原文:Forever
翻譯:重複無限次

說明:相對於Repeat的有限次數,利用『無限次』字眼,加強指令的感受,這一點我倒是同意這個想法。

請參考Scratch Wiki 說明:https://wiki.scratch.mit.edu/wiki/Forever_(block)


3-3
原文:if <> then
翻譯:如果 <>就

說明:現在的翻譯是『如果<>那麼』,的確,這個翻譯是沒錯的。原本是『如果<>就』,這也是很直覺口語的說法,常常在敘述時,說話的內容應該是『如果<>那麼,就...』,所以不應該省略『就』字,另外我認為『就』的發音是四聲,落為重音比較強調後續的指令,『麼』是輕聲,念起來就比較弱。

請參考Scratch Wiki 說明:https://wiki.scratch.mit.edu/wiki/If_()_Then_(block)


4. 偵測指令 Sensing

4-1
原文:Key () Pressed?
翻譯:按下 () 按鍵?

說明:這是一個六角型的布林值指令,回覆的數值為『是否』,指令最後還有問號。通常配合控制指令的<>狀態。同時還蠻順口的,例如『如果<按下k按鍵?>就顯示』。

請參考Scratch Wiki 說明:https://wiki.scratch.mit.edu/wiki/Key_Pressed


其他指令翻譯



其他如畫筆,清單,運算等指令,因為我一直沒有比較好的想法,所以目前我倒是贊成現有的翻譯。


孩子們都很伶俐,對於程式指令以圖像式記憶思考,會更有效率。Scratch 的指令特別在顏色及形狀上分類,所以對孩子來說,顏色和形狀非常方便識別並且區分各種指令的意義。

最後的想法


我已經忘了何時接受『被按下』是外國語法的概念,不過能夠順利理解比較重要。不論『被按下』是不是很饒舌,也不管動詞在名詞之前或名詞之後,孩子都能快速適應。但是能夠尋找較好的文字表示這些指令,對於孩子的思考應該也有幫助。


經過這次改版,我才瞭解到自己應該堅持『對』的想法,這個『對』也是要經過大家的認同,畢竟這是我們使用的軟體。自己在使用Scratch教學,就應該更關懷如何改進。

我很訝異改版後沒有人提出任何建議?請參考我在臉書上的貼文

這是Scratch的語言翻譯平台,Transifx,https://www.transifex.com/,我會去嘗試修改。

你呢?你正在跟孩子一起使用Scratch嗎?





歡迎大家提出想法意見,謝謝!