賈國祥 王俊穎 李蕾



摘要:Moodle教學平臺是由澳大利亞教師Martin Dougiamas基于建構主義理論開發的一套開源、免費的教學系統,支持多語言的特性使其已成為國內外運用最為廣泛的在線教學平臺。本文詳細介紹了基于Moodle進行多語言教學的方法,同時針對其中文版中存在字面直譯、翻譯不準確及未翻譯的問題,介紹了可自行漢化的方法,期望能為從事Moodle教學的人員提供有益的幫助。
關鍵詞:Moodle;教學平臺;學習平臺;多語言教學;本地化
中圖分類號:G434 ?文獻標識碼:A ?論文編號:1674-2117(2019)22-0082-05
Moodle教學平臺是由澳大利亞教師Martin Dougiamas基于建構主義理論于2002年開始開發的一套開源、免費的教學系統,并且在不斷發展中,截至2019年5月已正式發布3.7版,并形成了每年(5月、11月)進行兩次較大版本升級的規律。Moodle是Modular Object-Oriented Dynamic Learning Environment的簡寫,意即模塊化面向對象的動態學習環境,它以其獨特的網絡教育原理,開放性、靈活性、互動性、共享性等優勢,成為國際上越來越流行的網絡學習平臺開發的基礎。[1]截至2019年5月已有228個國家在Moodle官網注冊了107010個Moodle站點,其中中國大陸有422個。[2]
Moodle目前支持120多種語言,并且在不斷增加中。[3]教學中我們可以根據教學的需要安裝不同的語言包,以達到使用同一平臺進行多種語言或本地化語言教學的目的。由于Moodle是一款開源軟件,它的默認語言為英語,其他語言版本(如中文版)的翻譯工作是通過Moodle社區由各個國家的志愿者進行的,而進入Moodle社區的人員基本上都是技術人員,以中文版為例,受翻譯人員英語水平、專業知識的限制,其中存在字面直譯、翻譯不準確甚至未翻譯的情況,使得平臺的功能不便于理解,從而不利于教學的正常開展。同時,由于Moodle的開源性,在Moodle官網上還提供了大量的第三方功能插件,而這些功能插件只提供英語版,也存在需要翻譯(漢化)的問題。當然對于其他非英語版本而言,也存在同樣需要本地化的問題。
結合相關的文獻分析,筆者以“Moodle”和“語言”為關鍵詞在CNKI上進行檢索,沒有檢索到如何利用Moodle進行多種語言教學的論文,又以“Moodle”和“漢化”、“Moodle”和“本地化”為關鍵詞在CNKI上進行檢索,沒有檢索到Moodle如何漢化或本地化的有效論文。而一個便于理解、漢化良好的界面將有利于發揮Moodle的教學優勢,因此筆者希望通過此研究,能為利用Moodle平臺進行多語言教學的人員,以及為優化Moodle語言環境的人員提供有益的幫助。
語言包的安裝與更新
1.語言包的安裝
Moodle在初始安裝時默認為英文,但可以選擇安裝教學所需要的其他語言。安裝后也可以隨時安裝其他語言,以達到使用同一平臺進行多種語言同時教學的目的,具體方法為:以管理員身份登錄平臺,通過“網站管理→語言→語言包”導航進入安裝語言包頁面(如圖1)。
在圖1中,分別列表顯示了系統中已安裝和未安裝的語言包列表(注:英語為默認安裝)。在右側列表框中選擇所要安裝的語言包(通過按“CTRL+鼠標左鍵”的方式可進行多選)后,點擊“安裝選擇的語言包”按鈕,系統將自動下載并安裝所選擇的語言包。在左側已安裝的語言列表中,選擇不再需要的語言后,點擊“卸載選擇的語言包”按鈕,系統將自動卸載所選擇的語言包。
2.語言包的更新
Moodle官方會根據Moodle社區中語言包的本地化(翻譯)更新情況定期進行相應語言包的更新工作,因此,為了保證已安裝語言包為最新,可采用兩種方法進行語言包的更新:一種方法是通過圖1中“更新所有已安裝的語言包”按鈕進行手動更新,其缺點是更新不及時;另一種方法是通過Moodle的定時作業功能(通過系統命令定時執行Moodle提供的cron.php程序)進行自動更新,這種方法可以保證語言包及時更新。但無論用哪種方法進行語言包的更新,以中文版為例,同樣存在前述的字面直譯、漢化不準確或未漢化的問題。
使用多種語言教學的方法
1.多語言教學環境的設置方法
首先按照“語言包的安裝”中的講述安裝所需要的語言包,然后以管理員身份登錄,通過“網站管理→語言→語言設置”導航進入到語言設置頁面(如圖2)。
在此頁面中,通過“缺省語言”下拉菜單(包含所有已安裝的語言選項)設置整個網站默認使用的語言,即使用者第一次進入網站時顯示的語言。通過“語言菜單中的語言”輸入所要使用的各語言代碼(“缺省語言”下拉菜單項括弧中的英文部分),代碼間以英文逗號分隔,如輸入en,zh_cn,zh_tw時則語言下拉菜單選項為:英文、簡體中文和繁體中文。此頁面中的其他參數采用默認設置。點擊“保存更改”按鈕后,即在網站頁面左上角顯示“選擇語言”下拉菜單,使用者通過此菜單可以隨時進行使用語言的切換。
2.課程使用不同語言教學的設置方法
在Moodle中安裝了多種語言包后,可以為不同的課程設置不同的語言進行教學,也可以為同一課程設置多種語言進行教學。具有課程管理權限的人員進入課程后,從“課程管理”菜單中點擊“更改設置”鏈接,則進入課程設置頁面,在課程設置頁面中找到“外觀”部分(如上頁圖3)。
在圖3中,通過“指定課程語言類型”下拉菜單進行課程使用語言的設置(下拉菜單中將顯示所有已安裝語言包的列表)。若設置為“不強制”,則保存后在課程的左上角將顯示所有可使用語言的選擇菜單,使用者可自由選擇課程使用的語言;若指定為某一種語言則課程只能使用這一種語言。因此通過“指定課程語言類型”選項,為課程的多語言教學提供了靈活性。
Moodle的漢化方法
Moodle除了定期提供更新語言包的方法外,還為使用者提供了更加靈活、個性化的漢化方法(其他語言的本地化方法與漢化方法相同,下文不再提及),這種方法不僅可以彌補Moodle本身提供的字面直譯、漢化不準確或未漢化的不足,而且滿足了更加個性化教學的需要。
1.Moodle多語言版本的實現機制
在Moodle網站的所有頁面中,顯示的所有信息都是通過調用不同的語言包實現的,并且第三方開發的功能插件也遵循同樣的規則。系統中安裝的所有語言包都以“語言代碼”為子目錄名的方式存放在moodledata下的lang子目錄中。在語言包中,所有頁面的顯示信息都以定義“字符串標識符”(以下簡稱“標識符”)的方式并根據實現的功能存入相應的PHP文件中,如在簡體中文語言包(zh_cn)中,與“測驗”活動有關的標識符定義信息存放在lang\zh_cn子目錄下的quiz.php文件中,相應的標識符定義格式如下:
$string[‘addquestion] = ‘添加試題;
$string[‘addrandom] = ‘添加 {$a} 道隨機試題;
$string[‘add randomquestion] = ‘隨機添加試題;
為了保證系統的性能,在默認設置情況下(在“網站管理→語言→語言設置”功能中),Moodle自動將可用的語言包進行緩存。當使用者進入頁面時,系統將自動從緩存中調用相應PHP文件中的標識符進行頁面信息的顯示。
通過上述分析,如果存在漢化不合理或不準確的信息,只需通過修改相應PHP文件中的標識符即可。但是,如果直接修改相應的PHP文件,會存在以下問題:一是需要漢化人員具有一定的技術能力;二是在同一個PHP文件中可能存在大量的標識符定義,查找起來會有一定的難度;三是如果語言包進行了自動更新,將會覆蓋修改過的文件;四是不能解決未漢化的問題。顯然這種方式是不可取的。
通過分析Moodle的官方文檔以及研究Moodle的功能,發現Moodle已提供了“定制語言”功能(即個性化的漢化方法),通過此功能,不需要技術人員就可以很好地解決上述漢化存在的問題。在系統管理員進行相應的設置后,具有“定制語言”權限的人員可以通過“網站管理→語言→定制語言”功能進行特定PHP文件或標識符的漢化操作,當然為了便于統一管理,漢化工作最好由指定人員進行。
2.啟用顯示標識符來源設置
為了能夠快速定位頁面顯示信息所在的PHP文件及對應的標識符,需要系統管理員在“網站管理→開發→調試”功能中,勾選“顯示語言字符串來源”設置以啟用顯示標識符來源信息(默認為不啟用)。
3.定位標識符來源
在啟用了“顯示語言字符串來源”設置后,如果在顯示的頁面中存在上述的漢化問題,可以在頁面的url地址上添加“strings=1”參數再次進入頁面,則會在頁面中顯示所有顯示內容對應的標識符及其所在的PHP文件信息。在頁面url地址添加“strings=1”參數的方法為:
①如果在網頁的url地址中沒有其他參數,則在url地址最后的.php后面添加“?strings=1”參數,如url地址為http://127.0.0.1/admin/search.php,則url添加為http://127.0.0.1/admin/search.php?strings=1。
②如果url地址中帶有其他參數,則在url的最后添加“&strings=1”參數,如url為http://127.0.0.1/admin/settings.php?section=debugging,則url添加為http://127.0.0.1/admin/settings.php?section=debugging&strings=1。
添加“strings=1”參數再次進入頁面后,頁面顯示如圖4所示。
圖4為使用“簡體中文”時顯示的頁面,標識①②③部分的意義分別為:①為當前語言包中標識符定義的顯示信息,如個人主頁;②為顯示信息對應的標識符,即在相應的PHP文件中定義的標識符,如myhome對應PHP文件中的$string[‘myhome]標識符;③為標識符所在的PHP文件名,如果此處為空,則標識符定義存放在moodle.php文件中,如myhome的定義;如果不為空則其為定義所在的PHP文件名,此例中development的定義即存放在admin.php文件中。
根據上述的三部分信息,我們就可以找到顯示信息所對應的標識符和其所在的PHP文件,如此例中顯示的“個人主頁”信息對應的標識符myhome在moodle.php文件中定義為:$string[‘myhome] = ‘個人主頁;。
4.漢化標識符信息
Moodle提供了靈活的漢化方法,具有“定制語言”權限的人員通過“網站管理→語言→定制語言”功能就可以進行所需的漢化處理。在“定制語言”下拉菜單中選擇要定制的語言(如簡體中文:zh_cn),然后按照提示點擊鏈接即進入定制語言頁面(如圖5)。
(1)漢化特定PHP文件中的標識符信息
在圖5中,選擇“顯示這些組件的字符串”列表中指定的PHP文件,點擊“顯示字符串”將分頁顯示此文件中所有的標識符定義信息,如moodle.php,顯示如下頁圖6所示,此方式適合重新漢化或漢化指定PHP中多個標識符的情況。
在下頁圖6所示的標識符定義列表中,“字符串”列對應的是“定位字符串來源”中第②部分的標識符信息,如myhome;“標準文本”列對應的是“定位字符串來源”中第①部分的顯示信息,其中包含已漢化信息和對應的英文信息,如個人主頁。如果在“標準文本”中的信息未漢化或需要重新漢化,則在“本地自定義”框中輸入新的漢化文本。需要注意的是,如果在“標準文本”中包含類似“{$a}”“{$a->what}”這樣的標識,則在“本地自定義”的內容中應保留在適當的位置,這樣在顯示頁面時系統將自動帶入相應的顯示信息。
(2)漢化特定的標識符信息
通過上述“定位字符串來源”的方法找到特定的標識符信息后,根據第③部分的PHP文件信息,在圖5中的“顯示這些組件的字符串”菜單中選擇相應的PHP文件,如moodle.php,在“字符串標識符”中輸入第②部分的標識符,如myhome,點擊“顯示字符串”則會直接顯示在moodle.php文件中定義的myhome標識符信息(如圖7)。
在“本地自定義”中輸入新的文本,如將“個人主頁”重新漢化為“我的主頁”。若標準文本中包含類似“{$a}”“{$a->what}”這樣的標識也應保留。
當然,在圖5所示的頁面中,通過“勾選”或輸入其他條件則直接顯示符合查詢條件的標識符定義信息列表,然后可以進行漢化或取消漢化的操作。
(3)生效漢化的標識符信息
通過上述兩種方法進行漢化后,如果還需要繼續漢化其他標識符,則點擊“生效變化并繼續編輯”按鈕,然后繼續采用同樣的方法進行漢化操作。如果不再需要漢化其他標識符則點擊“將更改保存到語言包”按鈕,這樣漢化的標識符信息則將永久地保留在系統中,否則一旦系統管理員進行“清空所有緩存”操作,或者系統出現故障重啟服務器或服務時,所有漢化的標識符將會丟失,所以在漢化操作完成后一定要點擊“將更改保存到語言包”按鈕進行保存。
參考文獻:
[1]賈國祥,孫月亞,李繼先.北京開放大學學習平臺的設計理念和特征[J].北京廣播電視大學學報,2012(04):14-17.
[2]https://moodle.net/stats/.
[3]About Moodle[EB/OL].https://docs.moodle.org/37/en/About_Moodle.
作者簡介:賈國祥(1966.9—),男,漢族,北京人,碩士,副研究員,研究方向為遠程教育、教育信息化、計算機軟件開發與應用。