首页 > 嵌入式软件 > linux

  Qtopia是Trollteeh面向嵌入式的应用平台,它是基于Qt的嵌入式版本Qt/Embedded库的基础上,专门针对,SmartPhone这类运行嵌入式的移动计算设备和手持设备所开发的一套开放源码的应用程序包和开发库。Qtopia目前成功应用在包括无线电话、、媒体播放器以及消费型电子产品,汽车,医疗与工业电子设备中。

  本文主要介绍基于Qtopia的嵌入式俄文环境。

  1 Qtopia移植

  将Qtopia移植到嵌入式设备中,要在安装有Linux操作系统的PC机中交叉编译Qtopia所需要的资源文件和环境,交叉编译Qtopia源代码,然后把生成的Qtopia系统下载到设备中。要先建立一个开发环境,其中必须要有提供qte的库qt-embedded-2.3.10。提供相应的qtdesigner和虚拟qvfb的qt-x11-2.3.2。qte的桌面环境程序qtopia-free-2.1.1以及t-1.13的关系如表1所示。

  在编译并下载后,可以看到一个英文的虚拟界面。Qtopia包含完整的应用层、灵活的用户界面、窗口操作系统、应用程序、启动程序以及开发框架。

  2 构建嵌入式Linux俄文环境

  由于Qtopia的界面使用Unicode作为内部编码,可以同时支持多种编码,对国际化标准支持的非常完备,这就为英文的Qtopia进行俄文本地化提供了可能。

  本地化是将国际化的资源(信息、产品等)进行翻译、注解、融合、交汇等延伸,赋予其本土特质。本地化是针对应用程序支持的每一个区域性将应用程序的资源翻译为本地化版本的过程。在Qtopia中,应用程序分为2个概念块:一个是包含所有用户界面元素的块,另一个包含可执行代码的块。用户界面块仅包含非特定区域性的可本地化用户界面元素,如字符串、错误信息、对话框、菜单、嵌入的对象资源等。代码块仅包含由所有支持的区域性使用的应用程序代码。对所有用户可见的文本使用tr()将文本标识出来,这样利用Qt提供的翻译工具将很容易把这些文本转化成所需要的语言。这里的本地化操作只要在用户界面块操作就可以,而不需要修改代码块。

  Qtopia默认的语言是英语。要将Qtopia本地化成俄文,必须重新配置qtopia。

  第一步,在终端中输入命令:configure-languages“ru”,这会告诉编译系统,它也需要建立档案,翻译俄文。

  第二步,输入命令 lupdate。lupdate的功能是读取一个Qt.pro项目文件并且产生或者更新项目文件中列出的.ts翻译源文件。ts文件是Qt源代码中的可翻译文本,是一个给翻译者手工编译的信息文件。ts文件是XML格式,可以用记事本打开,也可以用QT语言学家(QT Linguist)打开。

  翻译人员可以用Qt语言学家(QT Linguist)来读取这个翻译文件并且插入翻译。在Qtopia的i18n文件夹中创建ru文件夹和服务器具体翻译文件(例如qtopiaapplications.ts),其中TS文件就是待翻译的文件。启动Qt Linguist将topiaapplieations.ts文件导入,将需要翻译的内容翻译成俄文,翻译完成之后,点击File→,将文件保存为topiaapplications_ru.qm。QM文件是Qtopia程序能够识别的文件,TS必须要转换成QM文件才能被系统识别。换句话说TS文件是给我们看的,QM文件是给系统看的。除了这些自动生成的文件,还要手动在ru文件夹中创建一个.direetory文件。

  然后重新运行 lupdate命令,重新更新一下系统。如果仔细地分析研究Qtopia的源文件夹,就可以发现解压后的Qtopia2.1.1里面有src文件夹。其中的每一个应用程序的文件里面都有几个TS文件,比如在\src\game\snake文件夹里面可以发现有snake-de.ts,snake-ja.ts,snake-no.ts,snake-en_GB.ts等4个TS文件,在每个应用程序文件夹里面复制一个TS文件放到RU文件夹中就可以。接下来把每个TS文件翻译成俄文。运行语言学家的工具Linguist,就可以很轻松地把所有的英文翻译成俄文。之后,通过Linguist把翻译好的TS文件转换成QM文件放到i18n/ru文件夹里面。

  现在在Qtopia语言栏中选Russian,可以发现Qtopia桌面还是英文的,但是打开每个应用程序,所有的英文已经由俄文取代。这是因为没有配置*.桌面配置文件,也就是没有在桌面应用程序启动器文件里面增加俄文。比如游戏贪食蛇的桌面程序启动器文件为snake. ,在里面增加一句话:[ru]=3MeиKa,其中3Meиga的中文意思就是贪食蛇

  通过搜索.文件依次把所有的启动器文件找到后,都像上面一样加上对应的俄文后掉原来的文件。现在重新打开Qtopia平台,可以发现所有的启动器和程序显示的都是不正常方块,这是因为Qtopia的默认字体是helvetica,所以还应该改变字体,就在FONT下面选择支持俄文的Unfont字体。现在就可到一个俄文的Qtopia界面(如图1所示)。

  3 俄文输入法

  实现俄文界面后,还要编制俄文输入法程序。俄文属于拼音文字,共33个字母,分大小写,共66个字符。在微机键盘上定义俄文键位,要占用7个符号键位。在嵌入式设备上,一般用软键盘(虚拟键盘)实现俄文输入。

  Qtopia是通过Inputmethodinterface类提供的接口实现弹出输入法。所谓的弹出输入法就是在没有键盘或文字输入设备,当用户需要输入信息时,点击某个图标,屏幕上就会弹出一个虚拟键盘,用户通过实现文字的输入。弹出输入法必须要有一个窗口(Qwidget),使之能在屏幕上显示,并当用户在屏幕上按下一个键时,该Qwidget接收信号并立刻反馈给系统。QPushButton是QWidget中的一个,像每一个QWidget一样,它管理自己的观感。其是一个经典的图形用户界面按钮,用户可以按下去,也可以放开。一个窗口部件就是一个可以处理用户输入和绘制图形的用户界面对象。程序员可以改变它的全部观感和它的许多主要的属性(比如颜色),还有这个窗口部件的内容。

  接下来定义虚拟键盘的每一个按键,每个俄文字母的大写和小写放在同一个键位上,通过shift键来切换。

  在虚拟键盘代码编写完了之后,通过编译产生一个可执行文件和3个链接文件,把这4个文件放到运行目录下并运行Qtopia,就能看到俄文输入法界面(如图2所示)。

  4 结语

  通过对Qtopia进行的俄文化开发,产生俄文版的PDA和俄文手机,为开发面向中、西亚应用的智能电子产品提供了基础。

  针对嵌入式智能设备的俄文图形界面的需要,充分利用系统的开源性,把Qtopia俄文化,并且自主开发俄文输入法。其整个俄文QTOPIA系统已经成功移植到PXA270A平台和MOTO E680G手机上,已经进入推广阶段,并且根据本文的方法,可以把Qtopia本地化成任何一种语言。

本文引用地址: http://www.21ic.com/embed/software/linuxos/201811/86236.html

换一批

延伸阅读

[行业资讯] 看准高速通讯及存储器市场 晶心推小型CPU核心N22

看准高速通讯及存储器市场 晶心推小型CPU核心N22

瞄准高速通讯和存储等市场需求,嵌入式处理器IP公司晶心科技宣布推出32位元RISC-V CPU核心N22,可应用于小型物联网及穿戴设备等入门级MCU。总经理林志明表示,N22的高性能和精简设计,相当适合处理以高数据传输率运行中的协定封包。 ......

关键字:嵌入式 处理器 CPU

[行业资讯] 新突思电子科技发布业内首个边缘智能系统级芯片

新突思电子科技发布业内首个边缘智能系统级芯片

这套基于边缘计算的智能解决方案,能凭借较短的响应时间和更强的稳健性,实现更佳的用户体验。例如,语音识别(ASR)和自然语言理解(NLU)功能可以嵌入芯片内部,在本地运行时确保在网络信号不佳或中断时,智能家居的语音控制功能受到较少影响。SyN......

关键字:芯片 语音识别 嵌入式芯片

[行业资讯] 3D封装/GPU/CPU架构尽现 Intel六大领域战略力拓市场

3D封装/GPU/CPU架构尽现 Intel六大领域战略力拓市场

英特尔(Intel)日前举办「架构日」(Architecture Day 2018)活动,除了于会中展示多样基于10奈米系统,用于PC,数据中心和网络的解决方案之外,更于会中宣布未来将聚焦于六个工程领域的技术策略, 分别为先进制程和封装、加......

关键字:英特尔 嵌入式 多芯片

[行业资讯] 赛普拉斯进入中国20周年庆典在北京举行

赛普拉斯进入中国20周年庆典在北京举行

全球领先的嵌入式解决方案供应商赛普拉斯半导体公司(Cypress Semiconductor Corp.)(纳斯达克代码:CY)近日在北京举办“芯动中国”20周年庆典。活动上,赛普拉斯回顾了过去二十年间,为中国相关行业发展所做出的贡献;同时......

关键字:嵌入式 赛普拉斯 半导体

[行业资讯] 中国存储芯片自主研发技术交流峰会成功举办!国内首颗自研嵌入式40nm工规级存储芯片HC5001震撼发布

中国存储芯片自主研发技术交流峰会成功举办!国内首颗自研嵌入式40nm工规级存储芯片HC5001震撼发布

2018年11月21日,中国·南京 ICTECH 2018中国存储芯片自主研发技术交流峰会在南京举行。作为南通市第一家高阶存储产品主控设计公司——江苏华存电子科技有限公司(以下简称“江苏华存”),会上发布了国内自研第一颗嵌入式40纳米工规级......

关键字:存储芯片 嵌入式 HC5001
条评论

我 要 评 论

网友评论

大家都爱看

  • 扇出型晶圆级封装的优势和挑战!

    我们有能力创造一些能保持前代性能并且更好更小的电子设备,例如今天的可穿戴设备、智能手机或平板电脑,这是由于很多因素超过摩尔定律而快速发展,从而能够从底层的嵌入组件发展到今天把它们封…

    2018-03-29
  • Xilinx推出革命性的新型自适应计算产品

    自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX)),近日宣布推出一款超越FPGA功能的突破性新型产品,名为ACAP(Adaptive Compute Acceleration Platform,自适应计算加速…

    2018-03-20
  • 赛普拉斯为树莓派3 B+ IoT单板计算机提供强大稳定的无

    先进嵌入式系统解决方案的领导者赛普拉斯(纳斯达克代码:CY)近日宣布其Wi-Fi®和蓝牙®combo解决方案为全新的树莓派 3 B+(Raspberry Pi 3Model B+)IoT单板计算机提供强大稳定的无线连接…

    2018-03-20
  • 观看直播领红包,SEED-A10加速卡助力人工智能

    随着云服务器、云计算的发展,大家对硬件加速的需求越来越多,但是随着设备功耗的上升、性能需求越来越高,常规加速设备以及开始不能满足需求,因此FPGA逐渐在硬件加速中找到了自己的位置,而艾…

    2018-03-19
  • 特朗普:博通不得以任何形式收购高通

    白宫周一(3月12日)晚发出声明,川普(特朗普)总统出于“国家安全”考量、禁止新加坡博通公司(Broadcom)收购美国高通公司(Qualcomm)。

    2018-03-14