2014/05/27

plone.i18n Configuration

Plone 多國語文支援,相當成熟,想要讓網站支援中英文訊息介面,下列是基本的設定技巧:

在 ZMI 的 portal_languages 先勾選 Allow combined language codes like de_DE or en_UK. 並儲存,再從 Allowd Languages 欄位設定要支援的語系值,例如同時要支援「中文」和「英文」,可以先點選 Chinese (Taiwan) (zh-tw) 項目,再按住 Ctrl 鍵,點選 English (en) 並儲存,再從 Default Language 欄位選擇預設語系,例如 Chinese (Taiwan) 就行。

Negotiation Scheme 欄位,通常只需要勾選 Use cookie for manual override. 就行。

預設顯示的訊息文字是「繁體中文(臺灣)」,如果想要修改,可以到 plone.i18n/locales/languages.py 檔案,找到下列的設定內容:

u'zh-tw' : {u'name' : 'Chinese (Taiwan)',
 u'native' : '繁體中文(臺灣)',
 u'flag' : u'/++resource++country-flags/tw.gif'},

2014/05/25

Support Our Computer Teachers

"What will happen if users can program their own computer?" This is the question asked in Computer Programming for Everybody (CP4E). Recent developments in computer and communication hardware have given many people access to powerful computers, in the form of desktops, laptops, and mobile devices. It is time to give these users more control over their computers through education and supporting software. If users have a general understanding of computers at the level of software design and implementation, this will cause a massive surge in productivity and creativity, with a far-ranging impact that can barely be anticipated or imagined.

Why Learning CS?

Computer science is a foundational field for every 21st century career or field of study. Learning the basics of computer science prepares students for a world that is increasingly dominated by technology. Research shows that students who study computer science also perform better at math. Besides, computer science is where the jobs are.

Why Python?

A key goal for Education is to guide the learners to solve problems and discover solutions. This principal also applies to computer education (CS classes). Every programming language can be used to teach logical thinking. Why and how can Python stand out in such a language war?

Consider this analogy: When running an international conference, a shared language is required. What should it be and how should it be selected? To efficiently communicate in one language, the ideal choice is one with the lowest learning curve and translation cost. Just as how English has become an international language, I believe Python will become the dominant language in the programming world.

No, Python should not be the only language to learn. For a CS professional, it's common to learn various languages, including C and Java. However, Python is still one of the best languages for beginners and those whose limited resources only provide access to one language.

Give Teachers A Community

Ok, I want to learn Python, how can I find teachers or trainers? There are more and more online Python courses, just to name some, including Codecademy, Coursera, Udacity and LearnStreet. However, there are few, if any, teachers in schools providing courses based on Python. Besides, CS teachers are usually all alone.

Luckily, a global push for more computer science in classrooms is starting to bear fruit. In response to Jessica McKellar's call to action, "Do One Thing Before the next year's PyCon", a group of Taiwan folks run a meetup to support CS teachers, after the PyCon APAC 2014 Education Panel and BoF.

Education is a tree shaking another tree, another cloud to promote a cloud, a soul awakening another soul. -- Karl Theodor Jaspers

Note: thanks to Ken Hu's help on editing this snippet.