基于Symfony的多语种在线教育平台的设计与实现

2017-03-17 21:48周叶王亮亮覃其益张佳伟
电脑知识与技术 2016年32期
关键词:多语种在线教育

周叶++王亮亮++覃其益++张佳伟

摘要:近三年,网络教育飞速发展,平台和学员数量都得到高速增长。新疆作为西北地区多民族聚居地,多种语言文字并行使用的地区,但民语化的在线教育平台,寥寥无几,平台质量就更跟不上时代的发展。基于新疆云教育技术资源实验室多年的研究成果,利用PHP的大型企业框架Symfony开发一套基于SAAS云模式的多语种在线教育云平台。

关键词:在线教育;多语种;PHP;Symfony;Mysql

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)32-0086-04

Design and Implementation of Symfony - based Online Multilingual Education Platform

ZHOU Ye1,2, WANG Liang-liang1,2, QIN Qi-yi1,2, ZHANG Jia-wei1,2

(1. Modern Education Technology Center, Xinjiang Teachers College, Urumqi 830043, China; 2. Xinjiang Key Laboratory of Education Cloud Technology and Resources, Urumqi 830043, China)

Abstract: During the past three years, the numbers of online education platforms and students have both increased at a high speed along with the rapid development of online education. Xinjiang is a multi-ethnic settlement in Northwest China with multiple languages in use, but it's in short of online education platforms for folk languages, the quality of which cannot even keep up with the development pace of the times. Based on the years research achievements of Cloud Education Technology Resource Laboratory in Xinjiang, an SAAS cloud model-based online multilingual education platform has been developed by way of PHP complex enterprise framework Symfony so as to provide a network for platform Xinjiang-featured multi-lingual education.

Key words: online education; multilanguage; PHP; Symfony; Mysql

1 背景

近三年,在線教育进入快速发展期,特别在K12教育、企事业培训、继续教育、大中专院校等领域出现众多平台,形式也多种多样如:微课、慕课、翻转课堂、线上线下混合式教学等。笔者在新疆,位于西北边陲之地。新疆是2013年习总书记提出发展丝绸之路经济带的核心区,拥有2360万人口,其中维吾尔族全区人口最多达1127.19万人占48.53﹪,网民数量达1140多万,互联网普及率近50%。笔者对比目前市面上的众多在线教育平台,存在对民语支持不足,兼容性不够,不能适应当前主流教学模式等问题,不能满足新疆在线教育推进需要,为此设计开发了本土化的多语言网络教育平台,有效利用网络实现多语种学习培训,为丝绸之路经济带培育多语人才,促进区域文化教育事业发展。

2 远程教育系统发展现状

2.1 民语教育平台缺乏

新疆在线教育平台,受制于区域信息化发展程度较低,网络教育平台较少。其中主要原因就是少数民族语言与国家主体汉语言存在沟通问题,支持新疆少数民族语言的平台笔者没有见到大规模部署应用的系统。

2.2 设备利用率低

随着“宽带中国”战略实施,网络基础设施已大幅改善。十二五期间“三通两平台”的建设为推进教育信息化建设奠定了基础。然而,受制于缺乏专业的维护人员,经常出现设备得不到及时解决。

2.3 教学模式落后

教学过程,比较简单,互动性差,缺乏优秀课程资源。学习课程相当一部分以文字阅读为主。教育技术在现实教育过程中,运用程度低。

2.4 优秀师资匮乏

新疆本身师资力量就缺少,据粗略统计显示,每年缺口在1万名左右。教师普遍超额代课,压缩了老师学习时间和继续教育时间,导致老师知识更新缓慢,形成恶性循环。优秀师资多集中在大城市,缺少互动机会。

3 系统设计

3.1 系统目标

支持新疆主体民族汉、维语言,使各民族学员快速适应平台,简化平台使用难度;采用SaaS云模式提供服务,降低终端设备故障率;系统具备分布式部署,利于系统拆分及大规模应用;采用科学合理的教育过程及评价机制,确保教育质量;充分利用信息技术,采用多种形式的多媒体资源,丰富教学过程,同时将名师、优秀资源共享,从而实现教育公平;深度结合教学活动各个环节,为“互联网+教育”奠定基础。

3.2 系统需求分析

在线教育平台主要满足于学校、企事业单位、职业培训等领域在线学习。系统的角色主要是学员、教师、小组管理员、系统管理员。学员学习课程、在线考试、查询学习记录、查询证书。教师、小组管理员、系统管理员都继承学员的功能。教师可以管理课程、发布课程、管理题库、管理试卷。小组管理员可以查看本小组成员的学习情况。系统管理员完成系统参数配置管理,拥有系统最高权限。系统功能用例图如图1。

3.3 系统运行环境

系统运行在成熟的LNMP架构,LNMP架构是全部采用开源软件实现的一种高效的Web运行环境,是当今世界上互联网企业的主流架构。LNMP指的Linux(操作系统)、Nginx(Web服务器)、MySQL(数据库软件)和PHP(脚本语言),具有通用、跨平台、高性能、免费的优势。

3.4 系统开发环境

系统集成开发环境使用PhpStorm是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,具有智能代码补全,快速导航、单元测试、可视化debug功能。软件实现基于成熟开源的PHPWeb框架Symfony2。它基于MVC架构实现,允许在一个web应用中分离事务控制,服务逻辑和表示层。具有强大的可扩展性,利用Bundle的概念使框架可以无限制扩展,乃至框架本身就是一个Bundle,并且可以利用symfony来构成自己所需的PHP框架。默认整合了Twig模板,Doctrine ORM等,具备 PHP本身的简洁,明析与速度快的优点也结合了Java领域框架的强大性和Ruby on Rails敏捷开发概念的全能型框架。目前世界最流行的CMS系统-Drupal的采用Symfony2和世界PHP框架排行第一的laravel也是基于它实现的,可见其强大及灵活之处。

4 Symfony執行流程

当用户请求网站时,触发Symfony2的具体请求流程如下:

1)用户浏览器访问系统入口app.php文件。

2)Symfony2 Kernel 根据路由配置信息,执行对应的Contoller中的Action方法。

3)Action 方法正确执行,输出相应的结果对象Response。

请求处理活动图,如图2所示。

5 网站多语种关键技术实现

网站多语化是抽象字符串的过程,它从你的应用程序中取出其它特定的语言环境部分并放入一个可以基于用户所在语言环境(如语言和国家)将其翻译和转换的层。

5.1 多语种字体制作

维吾尔文和哈萨克文属于阿尔泰语系,汉语的国标2312字符集是不支持维尔文和哈萨克文,在中文字符集下会因为无法兼容而导致显示乱码。Unicode是双字节编码的字符集,有65536个不同字符,几乎涵盖现有世界文字的每一个字符。对于多语种网站,Unicode是一种合适的选择。文字的字体需要将现有的汉语、维吾尔文、哈萨克文3种文字字体使用fontcreator合成一种新的支持多语言的字体,从而实现多语化呈现。

5.2 网页多语种显示

CSS层叠样式表是一种用来美化HTML等文件的计算机语言,可以控制网页的样式和布局。其中CSS的@ font-face规则允许你使用自定义字体,展现个性化字体风格,即使访问者的计算机上没有安装自定义字体,也可以正常工作,作为一个解决方案,展示自定义字体。在CSS 中引入以下内容,即可正常显示多种语言。

@font-face {font-family: " ALKATIP Tor";

src: url('fonts/alkatip-font.eot'); /* IE9*/

src: url('fonts/alkatip-font.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */

url('fonts/alkatip-font.woff') format('woff'), /* chrome、firefox */

url('fonts/alkatip-font.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/

url('fonts/alkatip-font.svg#consultfont') format('svg'); /* iOS 4.1- */

body {

font-family: " ALKATIP Tor";

}

5.3 启用Symfony的多语言服务组件

多语言翻译通过Translator服务来处理,该服务使用用户的语言环境去查找资源文件并返回翻译消息。在配置文件中启动翻译:

# app/config/config.yml

framework:

translator: { fallback: en }

templating:

engines: ['twig']

assets_version: 4.6.3

fallback选项定义一个回退语言环境,这样当用户语言环境对应的翻译不存在时使用该回退语言环境。

5.4 利用Symfony的Twig组件构建多语种网页

Twig是一个现代PHP模板引擎之一,功能比较全面,将模板编译为优化的PHP代码,系统开销很小,执行效率高。提供模板继承功能,在翻译代码过程中,自动转义代码,提供一种安全的沙盒模式。所有这些特性为Twig提供了良好的扩展性。灵活的词法分析程序和分析器让开发人员能够定义自己的标记、过滤器等。

Symfony2提供特定的Twig标签trans和transchoice来实现多语言。标签会根据用户的语言环境读取相应的资源文件,资源文件采用Yaml格式。下图是维语资源文件messages.uy.yml的部分内容。如图3所示。

图3 网页文字维语部分资源

Twig模板中书写以下模板内容

{% trans %}我的考试{% endtrans %}

5.5 基于URL构造语言环境

基于会话保存用户语言环境,不同语言页面使用统一URL,导致特定URL返回的资源与用户有关,违反了Web的基本原则。既保证URL的唯一性,又能支持多语种,将语言环境包含在URL中是一种选择。通过在路由系统中指定_locale参数,转换用户的语言环境。如下:

[1

2

3

4

5\&home:

pattern: /{_locale}/homne

defaults: { _controller:XacsBundle:Home:index,

_locale: en }

requirements:

_locale: en|cn|uy\&]

如果用户访问/uy/home的URI,uy代表的维吾尔语语言环境将自动在用户会话中作为语言环境被设置。

6 系统功能实现

多语种在线教育云平台以SAAS方式向用户提供在线学习服务。用户通过注册登录学员系统,进入系统后切换使用语言界面。为学员提供课程浏览、购买课程、学习课程、考试、查询证书、个人信息管理等功能。汉语学习界面如图4所示。

教师、小组管理员、系统管理员都继承学员的功能。教师可以管理课程、发布课程、管理题库、管理试卷。小组管理员可以查看本小组成员的学习情况。系统管理员完成系统配置管理。教师管理课程界面如图6所示。

7 结束语

随着网络的兴起,各大中学校可通过建立网上学校,加强学校、老师、学生之间的相互交流沟通,提高教学质量,建设精品课程,宣传学校的教育实力。结合新疆多民族混合居住的特点,利用PHP大型互联网企

业框架Symfony构造多语种在线教育云平台,面向全疆提供优秀的教育云服务及教育资源,同时新疆作为丝绸经济带的核心区,带有向中亚传播文化的责任,本系统对新疆本地化网络教育发展奠定基础,为新疆开展小语种网络教育提供条件,促进地区经济、文化教育事业发展。

参考文献:

[1] 琳达·哈拉西姆, 肖俊洪. 协作学习理论与实践——在线教育质量的根本保证[J]. 中国远程教育, 2015(8): 5-16,79.

[2] 管佳, 李奇涛. 中国在线教育发展现状、趋势 及经验借鉴[J]. 中国电化教育, 2014(8): 62-66.

[3] 王业, 杨琴, 王亮亮. 一种多语言网站解决方案[J]. 计算机系统应用, 2014, 23(7): 89-93.

[4] 郭名芳, 林予松, 王宗敏. 按需索取的中文 Web Fonts 技术研究[J]. 计算机应用与软件, 2013, 30(6): 63-66.

[5] 扎尼诺托,波唐西. Symfony权威指南[M]. 江乐,译.北京: 电子工业出版社, 2008.

[6] Armand, Sebastien.Extending Symfony 2 Web Application[M]. Birmingham:Packt Publishing, 2014.

[7] 王莉. 基于PHP的在线学习系统设计与实现[J]. 电子技术与软件工程, 2015(22): 62.

[8] 斯克拉, 切贝特伯格. PHP經典实例[M]. 南京: 东南大学出版社, 2015.

猜你喜欢
多语种在线教育
语联世界,言通天下
多语种《中级军事汉语》教材的编写思路与指导思想
北美“新清史”研究的基石何在——是多语种史料考辨互证的实证学术还是意识形态化的应时之学?(上)
从英语硕士到法国博士——我的留学规划和多语种学习之路