用于动态语言定制的设备、系统和方法

文档序号:6357094阅读:174来源:国知局
专利名称:用于动态语言定制的设备、系统和方法
技术领域
本发明涉及计算机外围装置领域,尤其是涉及用于动态定制诸如打印机的外围装置来支持语言的系统和方法。
背景技术
诸如打印机的计算机外围装置通常具有可以用来显示消息和接收来自用户的输入的操作者面板或控制台。可以在制造期间将外围装置配置为内在支持一种或多种语言。 通常,所支持的语言是销售打印机的主要市场中人们所使用的语言。例如,可以配置打印机内在支持英语、西班牙语、法语以及葡萄牙语。可以向操作内在支持上述语言的打印机的用户呈现能够在启动(boot up)打印机时选择上述语言之一的菜单。然后以所选择的语言来示出操作者控制面板或控制台上所显示的菜单和消息。然而,如果以上外围装置将要在使用该外围装置当前所不支持的语言的新市场上销售,则可能要执行某些形式的重新配置以允许该外围装置支持附加的语言。例如,在以上的示例中,如果在打印机中支持日语便于进入新市场(日本),那么将为在日本销售的打印机进行日语安装。在很多例子中,重新配置可能要求现场工程师的服务,这会延迟打印机的部署并且也会增加销售成本。另外,对提供内在支持的延迟将会妨碍在新市场中对打印机的快速客户采用。因此,需要如下的系统和方法其便于动态定制包括打印机的外围装置来以对用户透明的方式支持附加的语言。

发明内容
和本文中所披露的实施例一致,提出了用于包括打印机的外围装置的动态定制的系统和方法。在一些实施例中,向外围设备动态添加语言支持的方法包括存储索引值的集合,其中,至少一个索引值与外围设备支持的第一语言相关联,并且其中,第一语言包括多个字符串,并且第一语言中的字符串通过与第一语言相关联的索引值和与该字符串相关联的单独的标识符来逻辑寻址;当包括多个字符串的第二语言中的字符串被读取时,动态地将所存储的索引值之一分配至第二语言;以及将第二语言中的每个字符串存储在通过与第二语言相关联的索引值和与该字符串相关联的标识符来逻辑寻址的存储器位置中。所披露的实施例也涉及提供动态加入语言支持的能力的设备,以及使用软件、固件以及由使用计算机可读介质或计算机可读存储器的处理器所创建、存储、访问或修改的程序指令来向外围装置动态加入语言支持的方法。以下针对附图,进一步解释这些实施例和其他实施例。


图1示出了用于示为打印机的示例性外围装置的动态定制的示例性系统的高层次框图。图2示出了便于外围装置的动态语言定制的数据的示例性逻辑组织。
图3示出了阐释用于动态定制外围装置以支持附加的语言的示例性方法。
具体实施例方式根据本文所披露的实施例,提出了用于包括打印机的外围装置的动态定制的系统和方法。在以下的示例中,所讨论的示例性外围装置是打印机。然而,对于本领域普通技术人员显然的是,可以将系统概括为其他各种外围装置,诸如扫描仪、成像设备、显示设备、监控器、多功能设备等等。图1示出了用于打印机的动态定制的示例性系统100的高层次框图。一般来说, 用于诸如打印机的外围装置的动态定制的计算机软件应用程序可以部署在具有计算机110 和打印机170的网络上,其中计算机110和打印机170通过允许使用传统通信协议和/或数据端口接口交换数据的通信链路来连接。如图1中所示,示例性系统100包括计算机或计算设备110和打印机170,它们使用网络140来耦合。网络140可以包括子网、局域网(LAN)和/或广域网(WAN)。此外,网络140也可以包括调制解调器、路由器、中继器以及允许耦合到网络140的外围装置根据网络管理员设置的策略通过有线或无线连接来与其他设备通信的其他通信设备(未示出)。总的来说,计算设备110可以是计算机工作站或台式计算机、笔记本或便携式计算机、手持设备或任何其他能够在网络化环境中使用的移动计算设备。计算设备110和打印机170能够以与所披露的实施例一致的方式执行便于打印机170和其他外围装置的动态定制的软件(未示出)。计算设备110和打印机170可以包括可移除介质驱动器150。可移除介质驱动器 150可以包括例如3. 5英寸软盘驱动器、⑶_R0M(压缩盘只读存储器)驱动器,DVD-ROM(数字多功能盘只读存储器)驱动器、CD士RW (可重写压缩盘)或DVD士RW (可重写数字多功能盘)驱动器、USB (通用串行总线)闪存驱动器,Memory Stick (记忆棒(注册商标))、安全数字高容量(“SDHC”)卡和/或与本发明实施例一致的任何其他可移除介质驱动器。部分软件应用程序可以位于可移除介质上,并且可以由计算设备110使用可移除介质驱动器 150读取和执行。在一些实施例中,由应用程序所生成的中间和最终结果和/或报告也可以存储在可移除介质上。打印机170可以是激光打印机、喷墨式打印机、LED(发光二极管)打印机、绘图器和各种其他类型。从功能的观点来看,打印机170可以采用计算机打印机、传真机、数字复印机、多功能设备和/或各种能够打印文档的其他设备的形式。连接120将计算设备110和打印机170耦合至网络140。连接120可以实施为使用适当的传统通信协议和/或数据端口接口的有线或无线连接。总之,连接120可以是允许设备之间数据传输的任意通信渠道。在一个实施例中,例如,设备可以设置有用于通过适当的连接120传输数据的数据端口,诸如USB (通用串行总线(注册商标)),SCSI (小型计算机系统接口),FIREWIRE (火线(注册商标))和/或BNC(刺刀螺母连接器)端口。通信链路可以是无线链路或有线链路或允许计算设备110和打印机170之间通信的任何组合。可以通过硬件、固件或软件或者其某些组合控制打印机170。动态定制外围装置的计算机软件应用程序可以被部署在一个或多个示例性计算机110和/或打印机170上,如图1中所示。例如,打印机170可以执行允许打印机170以与所披露的实施例一致的方式执行动态语言定制的软件或固件。在另一个示例中,用于动态语言定制的应用程序可以位于计算机110上,并且可以在打印机170上操作。总之,应用程序可以完全或部分地在系统中的一个或多个计算机110和/或打印机170上执行。本文描述的实施例仅是示例性的, 并且其他实施例和实施方式对本领域普通技术人员来说将是显然的。示例性打印机170可以包括耦合CPU 176、固件171、存储器172、输入-输出(I/ 0)模块181、打印引擎177以及辅助存储装置173的总线174。示例性打印机170还可以包括能够执行应用程序的各部分以允许动态语言定制的其他专用集成电路(ASIC)和/或现场可编程门阵列(FPGA) 178。在一些实施例中,示例性打印机170也能够执行包括以下的软件打印机操作系统、动态语言定制例程、解析和转换例程、数据库管理软件、处理打印任务请求、打印机状态请求的软件、打印机配置软件以及其他适当的应用程序软件。示例性I/O模块181还可以允许通过网络140与计算机110通信。从计算机110 和/或打印控制器175接收的信息可以由I/O模块181处理并储存在存储器172中。I/O 模块181还可以将这些通信通知CPU 176。这些通信可以包括数据、命令、与语言数据文件的位置和格式有关的信息、容量请求、状态请求、响应、和/或根据正在使用的协议的应答。 CPU 176可以取回存储在存储器172中的任何信息,并且可以进一步处理该信息。示例性CPU 176可以是通用处理器、专用处理器或嵌入式处理器。CPU 176可以与存储器172和/或固件171交换包括控制信息和指令的数据。存储器172可以是任何类型的动态随机存取存储器(“DRAM”),诸如但不限于SDRAM(同步动态随机存取存储器)或 RDRAM (Rambus动态随机存取存储器)。固件171可以保存如下指令和数据其包括但不限于启动序列、预先定义的例程(包括用于动态语言定制、处理输入请求和消息、编辑输出响应和消息的例程)、用于配置管理的例程、用于文档处理的例程以及其他代码。在一些实施例中,固件171中的代码和数据可以在CPU 176按照这些代码和数据而行动之前被复制至存储器172。固件171中包括任何语言定制信息的数据和指令可以使用耦合至打印机170 的计算机110、网络140、可移除介质和/或辅助存储装置173中的一个或多个来升级。示例性CPU 176可以按照指令和数据而行动,并且向ASIC/FPGA178和打印引擎 177提供控制和数据以生成打印文档。ASIC/FPGA 178也可以向打印引擎177提供控制和数据。FPGA/ASIC 178还可以实现配置管理、动态语言定制、消息处理和其他打印相关算法之一。中间和最终打印数据、消息、打印机状态以及与一个或更多打印机170有关的配置信息可以存储在存储器170或辅助存储装置173中。图2示出了便于外围装置的动态语言定制的示例性逻辑结构200。逻辑结构200 可以包括与语言相关联的第一索引和与该语言中的字符串相关联的单独的标识符(其可以是第二索引)。在一些实施例中,保存语言中的字符串的存储器位置可以使用与语言相关联的索引值和与该语言中的字符串相关联的标识符来逻辑寻址。例如,在一个实施方式中, (1,50)可以逻辑寻址由索引值1所标识的语言中的第50个字符串。在一些实施例中,字符串可以被保存在复合数据结构中,并且索引对(1,50)可以用来计算具体字符串的位置。如图2中所示,外围设备中的每个单独的字符串可以与标识符230(其可以是索
引)相关联。在图2中,单独的字符串被示为230-1、230-2.....230_m、...以及230_n。例
如,英语中的单独的字符串“UPPER”(其可以出现在关于打印机上托盘的语境中)可以与标识符“50”相关联,并且英语语言可以与索引值“1”相关联,如图2中所示。在一些实施例中,字符串“UPPER”可以按(1,50)被逻辑寻址。在一些实施例中,可以随后通过使用与“UPPER”相关联的标识符(“50”)和与另一种语言相关联的索引值来确定字符串“UPPER”在该另一种语言中的翻译。在一个实施例中,标识符“50”和与另一语言相关联的索引值可以用来计算可以找到“UPPER”在另一种语言中的对等体(equivalent)的存储器地址。例如,通过O,50)逻辑寻址的位置240_1可以保存“UPPER”的法语对等体。相似地,通过(3,50)逻辑寻址的位置对0-3可以保存“Upper” 的意大利语对等体。注意,不是每个与语言相关联的位置都被填充。例如,按(5,50)逻辑寻址的位置可能是空的,并且可以表示在与索引值5相关联的语言中没有“Upper”的对等体。例如,在一个实施方式中,可以使用具有以下语言索引的标识符ID "50" 230-1来定义‘‘Upper”的字符串1.英语为"UPPER”2.法语为 “‘SUPERIEUR”3.意大利语为 “‘SUPERI0RE”4.德语为 “0ΒΕΝ”5.西班牙语为 “SUPERIOR,,通过设置默认语言为德语,打印机170可以使用与德语相关联的索引值“4”来获得将要显示的字符串。因此,为了获得“UPPER”的德语翻译,打印机170可以访问按0,50) 逻辑寻址的位置,并且取回字符串“0ΒΕΝ”。在一些实施例中,逻辑结构200可以实施为部分数据结构,其中坐标(X,Y)可以用来计算保存由索引X所标识的语言的由标识符Y所标识的字符串的翻译的位置。注意,图2 中所示的逻辑结构200只是示例性的,并且设想各种其他可能性对于本领域普通技术人员而言是显然的。在一些实施例中,逻辑结构200可以通过使用查询表来实施。传统上,许多打印机170可以包括保存逻辑结构200中所示的数据的一个或多个数据结构。用于在销售打印机的地区广泛使用语言的字符串翻译数据可以存储在打印机 170中的固件171中。这些语言可以被视为打印机170内在支持的。例如,诸如英语、西班牙语、法语等等的语言可以存储在打印机170中的固件171中。当打印机170被启动时,向用户呈现选项以选择所存储的内在支持的语言之一。在其他的实施方式中,可以在启动期间选定默认语言或最后指定的语言,并且用户可以通过使用控制台或操作者控制面板来调用菜单选项以将该语言更改为另一种支持的语言。例如,如图2中所示,可以位于固件171中的标准翻译部210可以保存一种或多种支持的且广泛使用的语言的翻译数据。在传统打印机中,限于标准翻译部210,对先前不支持的语言包含可能涉及安装包括先前不支持的语言的翻译字符串的新固件。新固件通常要求独立的测试以及资格评定,并且可能需要由销售或现场服务工程师来载入固件171。除了昂贵以外,这样的重新配置也可能限制了生产商快速响应新市场中的用户需求的能力。在一些与本文所披露的一致的实施例中,逻辑结构200可以包括动态翻译部220, 其可以保存附加的语言的翻译字符串。在一些实施例中,动态翻译部220可以包括一个或多个附加的索引值对6、247等等。这些附加的索引值(诸如索引值Μ6、247等)可以存储在打印机170上。与这些索引值相关联的条目可以用翻译字符串来填充(或者重新填充),以包括对先前不支持的语言的支持。在一些实施例中,动态翻译部220中的附加的索引M6、 247等可以在运行打印机时被填充,或者动态翻译部220可以在启动期间被填充。在一些实施例中,动态翻译部220可以位于存储器172中,或者可以位于由固件171使用的可重写非易失性存储器中。在一些实施例中,可以使存储器能够保存索引条目246-1、246_2.....
246-m、...以及246-n,但是动态翻译部220最初可能还未被填充翻译字符串。例如,可能在制造时已经使动态翻译部220的存储器在可重写非易失性RAM(NVRAM)中可用,但是可能还未用翻译字符串来填充位置。在一个实施方式中,可以调用在打印机170上运行的代码来寻找一个或多个可能包括附加的语言中的翻译字符串的数据文件。这些翻译字符串可以用来填充动态翻译部220中的索引条目。在一些实施例中,可以在指定的位置处存储保存有翻译字符串的数据文件。在一些实施例中,可以在固件中指定和/或可以由用户输入数据文件的位置。在一些实施例中, 可以使用统一资源定位符(“URL”)来指定用来取回数据文件的位置和协议。在定位了数据文件时,打印机170可以用数据文件中的翻译字符串来填充(或重新填充)索引M6J47 等。数据文件可以被定位于辅助存储装置173中、计算机110上或者与计算机110或打印机170耦合的可移除介质上。在一些实施例中,数据文件可以被定位于与通过诸如因特网的网络可以访问的计算机110(或服务器)耦合的存储装置上。在一个实施方式中,可以为每个附加的语言提供独立的数据文件。例如,附加的语言M6的翻译字符串可以存储在一个数据文件中,而语言M7的翻译字符串可以存储在另一个数据文件中。在一些实施例中,除了翻译字符串,数据文件内容可以包括以下中的一个或多个 该语言的翻译字符串的数目、与每个翻译字符串相关联的标识符(ID)以及每个翻译字符串的长度。例如,数据文件可以包括具有用于每个索引条目的3项(ID数目、将要读入的动态翻译字符串的长度以及将要插入的翻译字符串)的块。在另一个实施方式中,可以预先指定保存翻译字符串的数据文件的格式。图3示出了阐明用于动态定制外围装置以支持附加的语言的示例性方法300的流程图。在一些实施例中,方法300可以是固件171的一部分,并且可以在打印机170的启动期间被调用。在一些实施例中,方法300可以在打印机170的常规操作期间被调用,并且可以在没有重新启动(re-boot)或重启(restart)打印机的情况下执行。例如,用户可以使用操作者控制面板上提供的菜单来调用方法300。在一些实施例中,实施方法300的代码可以存储在计算机可读介质和/或辅助存储装置172上。在一些实施例中,实施方法300的程序代码可以由CPU 176执行。在一些实施例中,当打印机170正在运行时,可以使用与打印机170耦合的操作者控制面板或控制台上显示的菜单选项来调用方法300。当调用了方法300时,在步骤310中,可以是打印机操作系统的操作系统(“OS”) 可以被询问以确定是否存在动态语言翻译数据文件。在一些实施例中,操作系统可以响应并提供存储动态语言数据文件的位置。在一些实施例中,打印机操作系统可以提示用户输入存储动态语言翻译数据文件的位置,并且用户可以使用耦合至打印机170的操作者控制面板或控制台输入该位置。在一些实施例中,可以基于目前支持的语言的数目初始化索引值i。例如,如果打印机已经支持4种语言,那么可以将索引值i设置为4。如果在指定位置处存在一个或多个动态数据文件(步骤320中的“是”),则在步
8骤325中,可以增加索引值i。在步骤330中,可以读取第一数据块或动态语言翻译数据文件之一的头部来确定数据文件中存在的翻译字符串的数目。可以基于动态翻译字符串的数目来初始化在图3中示为“计数器-X”的计数器的值。在步骤340中,如果计数器-X (代表动态翻译字符串的数目)的值是非零的(步骤340中的“否”),那么在步骤350中,可以读取将要载入的翻译字符串的标识符(ID)。在步骤360中,可以读取将要载入的翻译字符串的长度,并将该长度分配给strjength。在一些实施例中,str_length可以用字节来指定目前读取的翻译字符串的长度。在步骤370 中,可以读取动态翻译数据文件中包括接下来的str_length个字节的翻译字符串,并将其存储在由(I,ID)所标识的位置中。接下来,在步骤380中,可以减少计数器-X的值,并且算法可以返回到步骤340以开始另一循环。如果计数器-X的值是零(步骤340中的“否”),那么算法可以前进到步骤 320。在步骤320中,算法可以检查是否存在附加的动态翻译数据文件。如果不存在附加的动态翻译数据文件,那么算法可以将控制返回到步骤390中的呼叫例程。在一些实施例中,可以将执行算法300中描述的处理的程序记录在计算机可读介质150或计算机可读存储器上。这些存储器包括但不限于只读存储器(ROM)、可编程只读存储器(PR0M)、闪存存储器、非易失性随机存取存储器(NVRAM)或诸如安全数字(SD)存储卡的数字存储卡、Compact Flash (压缩闪存(注册商标))、Smart Media (智能介质(注册商标))和Memory Mick 等等。在一些实施例中,一种或多种类型的计算机可读介质可以耦合至打印机170。在某些实施例中,可以通过网络140分发实施所披露的系统、方法和结构的程序的各部分。根据本文中所披露的对本发明的一个或多个实施例的说明和实践,本发明的其他实施例对本领域技术人员来说将是显然的。说明和示例旨在仅被看作示例,而本发明的真正的范围和精神是由所附权利要求所表示的。
权利要求
1.一种向外围设备动态添加语言支持的处理器实施方法,所述方法包括存储索引值的集合,其中,至少一个索引值与所述外围设备支持的第一语言相关联,并且其中,所述第一语言包括多个字符串,并且所述第一语言中的字符串通过与所述第一语言相关联的索引值和与该字符串相关联的单独的标识符来逻辑寻址;当包括多个字符串的第二语言中的字符串被读取时,动态地将所存储的索引值之一分配至所述第二语言;以及将所述第二语言中的每个字符串储存在通过与所述第二语言相关联的索引值和与该字符串相关联的标识符来逻辑寻址的存储器位置中。
2.根据权利要求1所述的方法,其中,在所述外围设备的启动序列期间执行所述方法。
3.根据权利要求1所述的方法,其中,所述外围设备是打印机。
4.根据权利要求1所述的方法,其中,所述第二语言中的字符串是从数据文件读取的, 并且所述数据文件包括与每个字符串相关联的标识符和每个字符串的长度。
5.根据权利要求4所述的方法,其中,使用统一资源定位符URL指定所述数据文件的位置。
6.根据权利要求4所述的方法,其中,所述数据文件被存储在与所述外围设备耦合的存储介质上。
7.根据权利要求1所述的方法,其中,在所述外围设备正在操作的同时执行所述方法而无需重新启动所述设备。
8.一种计算机外围设备,包括计算机可读存储器,其中所述存储器包括所存储的索引值,包括与第一语言相关联的索引值,以及所述第一语言中的多个字符串,其中,保存所述第一语言中的字符串的存储器位置基于与所述第一语言相关联的索引值和与所述第一语言中的该字符串相关联的单独的标识符来逻辑寻址;存储设备,耦合至处理器,所述存储设备存储第二语言中的多个字符串,以及处理器,耦合至所述存储器和所述存储设备,其中,所述处理器能够从所述存储设备读取所述第二语言中的字符串,并且将所述第二语言中的每个字符串存储在基于与所述第二语言相关联的索引值和与所述第二语言中的该字符串相关联的单独的标识符来逻辑寻址的存储器位置中。
9.根据权利要求8所述的外围设备,其中,所述第二语言中的多个字符串被存储在所述存储设备上的数据文件中,其中,所述数据文件还包括与每个字符串相关联的标识符和与每个字符串的长度有关的信息。
10.根据权利要求8所述的外围设备,其中,所述存储设备是耦合至所述外围设备的可移除介质。
11.根据权利要求8所述的外围设备,其中,所述存储设备是耦合至所述外围设备的硬盘驱动器。
12.根据权利要求8所述的外围设备,其中,所述存储设备通过网络耦合至所述外围设备。
13.根据权利要求12所述的外围设备,其中,所述网络包括因特网。
14.根据权利要求8所述的外围设备,其中,所述外围设备是打印机。
15.—种包括程序指令的计算机可读介质,当所述程序指令被计算机执行时,执行向外围设备动态添加语言支持的方法中的步骤,所述方法包括存储索引值的集合,其中,至少一个索引值与所述外围设备支持的第一语言相关联,并且其中,所述第一语言包括多个字符串,并且所述第一语言中的字符串通过与所述第一语言相关联的索引值和与该字符串相关联的单独的标识符来逻辑寻址;当包括多个字符串的第二语言中的字符串被读取时,动态地将所存储的索引值之一分配至所述第二语言;以及将所述第二语言中的每个字符串储存在通过与所述第二语言相关联的索引值和与该字符串相关联的标识符来逻辑寻址的存储器位置中。
16.根据权利要求15所述的计算机可读介质,其中,所述外围设备是打印机。
17.根据权利要求15所述的计算机可读介质,其中,所述第二语言中的字符串是从数据文件读取的,并且所述数据文件包括与每个字符串相关联的标识符和每个字符串的长度。
18.根据权利要求17所述的计算机可读介质,其中,使用统一资源定位符URL指定所述数据文件的位置。
19.根据权利要求18所述的计算机可读介质,其中,所述数据文件被存储在耦合至所述外围设备的存储介质上。
20.根据权利要求15所述的计算机可读介质,其中,在所述外围设备正在操作的同时执行所述方法而无需重新启动所述设备。
全文摘要
本发明披露了便于为外围装置动态添加语言支持的方法。在一些实施例中,外围装置可以从数据文件中读取先前不支持的语言中的语言字符串,并且用这些字符串来填充存储器位置。这些存储器位置可以通过使用与先前不支持的语言相关联的索引值和与该字符串相关联的标识符来逻辑寻址。在一些实施例中,与先前不支持语言中的字符串相关联的标识符可以对应于与打印机内在支持的语言中的字符串的翻译对等体相关联的标识符。
文档编号G06F9/44GK102207862SQ20111007846
公开日2011年10月5日 申请日期2011年3月28日 优先权日2010年3月29日
发明者蒂姆·麦卡恩 申请人:柯尼卡美能达系统研究所公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1