用于web应用的可扩展模板管道的制作方法

文档序号:11406769阅读:197来源:国知局
用于web应用的可扩展模板管道的制造方法与工艺

本公开总体上涉及web应用,更具体地,涉及便利用于web应用的可扩展模板管道。



背景技术:

为了在操作系统(os)完成并且发布给公众之后修改web应用的外观,可能需要修改用于web应用的用户接口(ui)网页。传统系统未提供以可扩展的和可容易更新的方式容易地修改这些网页的管道或处理。此外,不存在已知的用于外部内容编辑器编辑这些web应用的网页的方法。同样地,编辑常常是非常讨厌的并且不容易调整为第三方期望的特定用途和/或标记(branding)。

此外,为了使ui从原始提供该ui的语言本地化(localize)到另一语言,传统系统需要以新的本地化语言完全重写ui的网页。然而,完全重写网页典型地是耗时的和易出错的。存在允许编辑器以编译代码(例如,c++和c#)创建可本地化的资源文件的架构,但是这些架构未提供能够使web应用中的网页的ui元素本地化的处理。此外,不存在已知的使得本地化的串或图像能够在创作时与网页合并(如传统的解决方案在运行时执行合并操作那样)的方法。使合并操作限于运行时典型地是低效的。

此外,可以使用asp.net™web应用架构来修改网页的可本地化元素。然而,对于不经由asp.net™架构从web服务器取回的静态网页,不存在已知的仅修改网页的可本地化元素的方法。

至少出于以上原因,期望便利web应用修改的系统、方法和计算机可读存储介质。



技术实现要素:

这里提供的发明内容有助于实现下文的更详细的描述和附图中的一个或多个示例性的、非限制性的实施例的各种方面的基本的或总体的理解。然而,本发明内容并非旨在成为广泛的或无遗漏的概述。此外,本发明内容既非旨在识别要求保护的主题内容的关键特征或基本特征,也非旨在用于限制要求保护的主题内容的范围。最后,要求保护的主题内容不限于解决背景技术中讨论的任何或所有提及的缺点的实施形式。相反,本发明内容的唯一目的在于以简化的形式呈现与一些示例性非限制性实施例相关的一些概念,作为下面的各种实施例的更详细描述的前言。

在一个非限制性实施例中,提供了一种计算机实现的系统。该系统包括创作部件(ac),其被配置为生成指示新网页的内容并且规定新网页的模板的元数据文件。该系统还包括变换器部件(tc),其被配置为接收元数据文件并且使模板与元数据文件合并。同样地,在一些实施例中,与运行时相对,在创作网页时执行合并。tc自动地生成描述新网页的文件。在一些非限制性实施例中,元数据还涉及将通过模板显示的控件和/或将显示在新网页上的标记或广告。

在一些替选实施例中,该系统还包括验证部件,其被配置为验证元数据文件的参数。在一些非限制性实施例中,该验证是关于文本串长度、图像信息、将通过网页的模板显示的控件、模板与网页的相配性和/或控件与模板的相配性。

在一些替选实施例中,ac和tc具有附加能力。ac被进一步配置为识别网页的可本地化元素。在一个实施例中,识别可本地化元素包括区分可本地化元素和不可本地化元素。在识别这些可本地化元素之后,创作部件向变换器部件输出指示可本地化元素的信息,并且变换器部件被进一步配置为使关于网页的信息与创作部件输出的信息(例如,指示可本地化元素的信息)合并。

在另一非限制性实施例中,提供了一种计算机实现的方法。在一个实施例中,该方法包括接收包括元数据的文件,元数据描述所请求的网页并且规定所请求的网页的模板以及将通过模板显示的一个或多个控件。在一个实施例中,元数据描述用于显示在所请求的网页上的应用以及与一个或多个应用对应的标记或广告。该方法还包括使文件与模板合并并且生成所请求的网页。在一个实施例中,至少一个应用是在线商场。

此外,在另一非限制性实施例中,该方法还包括识别所请求的网页的可本地化元素,并且经由外部web门户输出指示可本地化元素的信息。

例如,在一个实施例中,识别可本地化元素包括确定所请求的网页的元素是文本串还是包含文本的图像。

在另一实施例中,提供了一种计算机可读存储介质。该计算机可读存储介质包括存储在其上的指令,这些指令在被处理器执行时使得执行方法。在一些实施例中,该方法包括接收描述所请求的网页的信息。随后识别该信息的不可本地化元素和该信息的可本地化元素。在一个实施例中,可本地化元素是适于翻译成与所请求的网页现场(locale)对应的语言的文本。例如,对于法国现场,本地化意味着翻译成法语。

该方法还包括生成包括信息的不可本地化元素的第一文件以及生成包括信息的可本地化元素的第二文件。在一些情况下,该方法还包括至少基于现场使第二文件的可本地化元素本地化以及生成所请求的网页。在一些实施例中,在将本地化的元素插入到所请求的网页中的占位符中之后,生成所请求的网页。

下文更详细地描述了这些和其他实施例。

附图说明

参照附图进一步描述各种非限制性实施例,其中:

图1是图示根据这里描述的各种方面和实施例的便利web应用修改的示例性非限制性系统的框图;

图2是图示根据这里描述的各种方面和实施例的便利web应用修改的示例性非限制性ac的框图;

图3、4a和4b是图示根据这里描述的各种方面和实施例的便利web应用修改的示例性流程的流程图;

图5是图示根据这里描述的各种方面和实施例的提供用于便利web应用修改的可编辑栏的ui的显示区域的示例性非限制性实施例的框图;

图6、7和8是图示根据这里描述的各种方面和实施例的便利web应用修改的示例性非限制性方法的流程图;

图9是图示其中可以实施这里描述的各种实施例的示例性非限制性联网环境的框图;以及

图10是图示其中可以实施这里描述的各种实施例的一个或多个方面的示例性非限制性计算系统或操作环境的框图。

具体实施方式

这里在下面的描述和附图中描述了某些说明性实施例。这些实施例仅是示例性的、非限制性的且并非是无遗漏的。同样地,这里设想且预期涵盖实施例的精神内的所有修改、变更和变化。

如本申请中使用的术语“部件”、“系统”、“接口”等通常旨在指示硬件和/或软件或执行中的软件。例如,部件可以是,但不限于,在处理器上运行的处理、处理器、对象、可执行程序、执行线程、程序和/或计算机。作为说明,在控制器上运行的应用和控制器可以是部件。一个或多个部件可以驻留在处理中和/或执行线程和部件可以位于一个计算机上和/或分布在两个或更多个计算机之间。作为另一示例,接口可以包括输入/输出(i/o)部件以及相关联的处理器、应用和/或应用编程接口(api)部件,并且在简单的情况下可以是命令线或者在复杂的情况下是集成开发环境(ide)。此外,这些部件可以从其上存储有各种数据结构的各种计算机可读介质和/或计算机可读存储介质执行。

这里描述的实施例包括用于便利用于修改web应用的可扩展管道的系统和方法。例如,一个系统包括ac,其生成描述新网页的内容并且规定新网页的模板的元数据文件。该系统还包括tc,其生成超文本标记语言(html)文件,该文件是基于元数据规定的信息与模板的合并的内容而创建的。该html文件随后可由客户机下载并且可以将新的、经修改的网页提供给终端用户。在一些实施例中还规定将显示在模板上的控件和/或标记或广告,并且相应的新网页也提供这些控件。

在另一系统中,ac被配置为接收网页并且通过如下方式自动地识别网页的可本地化元素:将这些元素置于文件中,该文件分立于包括不可本地化元素的文件。可本地化元素的文件随后被本地化(例如,翻译成与其中将观看网页的区域现场对应的语言)并且本地化的内容随后被插入到网页的主页源代码中。在一些实施例中,可本地化元素一旦被识别,即输出到外部编辑器可访问的web门户。这些编辑器随后可以使可本地化元素本地化。

上文是这里描述的实施例的示例性的、非限制性的描述。下文将参照附图描述另外的或替选的实施例。

转到附图,图1是图示根据这里描述的各种方面和实施例的便利web应用修改的示例性非限制性系统的框图。在一个非限制性实施例中,系统100包括ac102、tc104、网络(例如,互联网)108和内容生成器106。

在这里描述的实施例中,内容生成器106向ac102输出指示更新的网页的期望外观的信息。ac102生成关于网页内容的元数据。在各种实施例中,内容可以包括如下信息,该信息包括,但不限于,网页的控件、模板、广告和/或标记。tc104接收元数据并且输出用于由客户端下载的文件。

在一些实施例中,内容生成器106提供内容生成器106将使其语言(例如,英语、法语、韩语)本地化的网页的元数据。利用元数据识别将被本地化的网页的元素,并且可以针对内容生成器106服务的现场进行本地化。在一个实施例中,内容生成器106以特定语言(例如,英语语言)将文本串输入到ac102中,并且随后接收回文件中的串列表。在一些实施例中这些串是网页的可本地化元素。内容生成器106随后编辑这些串(例如,本地化到现场)。

如这里使用的,语言本地化意味着以特定语言提供文本。例如,法语本地化意味着以法语提供文本。西班牙语本地化意味着以西班牙语提供文本。

在一些实施例中,取决于系统设计者,系统被设计为使得ac102不返回可编辑串的文件。相反,ac102返回具有可变的栏的ui,诸如下文参照图5描述的那样。在其他实施例中,同样取决于系统设计者,所返回的ui不仅包含可编辑栏(仅允许编辑某些栏),而是ui返回整个网页(允许编辑整个网页)。

现在参照图1、2、4a和/或4b详细讨论ac102和tc104。同样地,在不同的替选实施例中,ac102具有ac200的功能中的一个或多个功能并且tc104具有tc410的功能中的一个或多个功能。

现在转到图2,如所示出的,ac200包括生成部件202、验证部件204、ui部件206、处理器208和/或存储器210。生成部件202、验证部件204、ui部件206、处理器208和/或存储器210彼此通信耦接用于执行如这里讨论的ac200的一个或多个功能。在各种实施例中,ac200是网站、web门户或计算机程序,其被配置为生成一个或多个可扩展标记语言(xml)文件,这些文件由tc104使用以修改web应用。在各种实施例中,ac200是自动的或者计算机驱动的。

生成部件202被配置为生成页面定义文件,其包含关于网页内容的元数据。在各种实施例中,页面定义文件是xml文件。

在各种可替选的实施例中,元数据描述了如下信息:指示对在网页上使用的模板的引用的信息、关于引用的模板的样式信息、指示呈现在引用的模板的容器中的控件的信息和/或典型地呈现在网页上的标记或广告信息。

转回图2,验证部件208被配置为验证页面定义文件的(例如,元数据的)参数。在一些实施例中,验证部件208基于与页面定义文件的模式(schema)的可编辑栏相关联的规则和/或策略来验证这些参数。

验证部件208基于规则和/或策略验证参数的一个示例是基于注释字符串的最大和最小长度的规则在网页的一部分处验证信息。ac200将最大和最小限制应用于该部分并且拒绝违反关于该部分的长度规则的对网页的编辑。例如,网页的标题具有预先已知的最大数目串长度和最小串长度。在识别到添加另一字符超出最大串长度的编辑时,验证部件208返回错误消息。在一些实施例中,ac200随后拒绝该编辑。

验证部件208基于规则和/或策略验证参数的另一示例是基于从ac200和tc104的设计方之间的先前确定的约定得到的或与之相关的规则和/或策略在网页的一部分处验证信息。例如,规则可以是ac200和tc104验证在各方之间的约定中识别的特定信息。然而,在一些实施例中,该约定可以是,tc104基于对ac200的信任进行操作并且不验证ac200典型地验证的信息。

同样地,在这些实施例中,用于验证单元208进行验证的规则和/或策略被预先编程到验证部件208中。例如,规则和策略可以规定可被编辑(或者不可被编辑)的特定的栏(或栏类型)。

然而,在一些实施例中,规则和/或策略未被预先编程到验证部件208中,而是相反地至少基于从输入元数据提取的模式和/或启发中提供的信息实时(on-the-fly)自动生成。

在各种其他实施例中,被验证的参数可以包括,但不限于,文本串长度、与图像相关联的信息、将通过网页的模板显示的控件、模板与网页的相配性、控件与模板的相配性、关于一个或多个控件中的特定一个控件的多个串或应用。

在一些实施例中,对于图像,可被验证的与图像相关联的信息包括图像是黑白还是彩色图像、图像类型、图像内容和/或图像尺寸。在各种实施例中,在ac200(和/或验证部件208)中规定关于图像的其他信息并且ac200(和/或验证部件208)实施这些规则或策略。

生成部件202被配置为使关于网页的广告和/或标记信息格式化。在一个非限制性示例中,生成部件202至少基于从外部编辑器接收到的输入使广告和/或标记信息格式化。生成部件202通过任意多种方法使广告和/或标记信息格式化,这些方法包括,但不限于,基于预先存在的关于网页的web应用的可能适合的约定和/或基于趋向频繁访问页面的用户的人口统计等。生成部件202生成相应的描述关于网页包含的广告和/或标记信息的元数据。

ui部件206控制ac200的ui以将信息显示给外部编辑器。在一个非限制性实施例中,外部编辑器位于ac200外部。在一些实施例中,ui是图形用户接口(gui)。在一些实施例中,ui被配置为从网页创作者接收输入并且将信息显示给外部编辑器。在一些实施例中,ui被配置为使得外部编辑器能够创建关于规定控件的应用列表和/或有选择地覆盖应用图像。

在一些替选实施例中,ac200还包括本地化部件212。在其中期望自动识别网页的可本地化元素的ac200的实施例中使用本地化部件212。可本地化元素是可以被修改以反映现场特定信息的元素。例如,可被修改以按特定语言显示的元素是可本地化的。作为示例,文本串是可本地化的并且图像的文本部分是可本地化的。期望识别是这样的,即,使得只有本地化元素被修改。如图2中所示,本地化部件212是ac200的可选部件并且并非在所有实施例中均有提供。

本地化部件212自动地识别可本地化元素。同样地,区分可本地化元素和不可本地化元素。在一些实施例中在文件中返回可本地化元素,或者经由ui显示来显示可本地化元素。

本地化部件212识别可以本地化的元数据的字段。在其他实施例中,本地化页面上的样式、标记、图像和/或广告。

在一些实施例中,本地化部件212至少基于xml模式的定义来识别可被本地化的元数据的栏。xml模式具有一个或多个指定的可本地化元素和不可本地化元素。同样地,在一些实施例中,对于每个模式,预先定义可本地化元素。

在一些替选实施例中,本地化部件212将没有预先定义的那些元素推断为可本地化元素。例如,暴露于web应用的观看者的元素,其包括文本串或者图像源或图像,被推断为可本地化的。可能是语言特定的任何元素被推断为可本地化的。语言的示例包括,但不限于,英语、德语和日语。然而,在一些实施例中,商标以及包括知识产权的其他印记(例如,网页的版权保护元素)被推断为不可本地化的,从而该信息未被修改。

在一些实施例中,本地化部件212以许多不同的方式识别本地化的元数据的元素。例如,在一些实施例中,本地化部件212通过评估元数据中的信息的类型来识别本地化的元数据的元素。本地化部件212在元数据中搜索并识别文本串和/或图像和/或应用列表。

生成部件202生成可本地化元数据的xml文件并且将该xml文件从ac200输出到外部编辑器。使用该文件以允许将串从最初提供该串的语言本地化为其他语言。该文件连同页面定义一起被输入到tc104以创建本地化的html网页。

在一些实施例中,本地化部件212生成可定制的ui,其包含与可本地化内容对应的可编辑栏。ac200将可定制ui输出到网页创作者以便将内容从最初开发该ui的语言本地化为另一语言。

在一些替选实施例中,ac200被配置为接收本地化内容并且ui部件206(以使ui本地化的语言)在该现场生成ui,并且外部编辑器不需要重新输入所有不可本地化内容。

在一个仅示例性的实施例中,用于本地化的信息可以在如下文件中。

<xmlversion=”1.0”>

<!—filegeneratedbywindows8channelpartnerportaltoolxyz.exe-->

<abclocfilepartner=”microsoft”author=”b.w.”version=”1.0”id=”7890”>

<loc>en-us</loc>

<stringid=”1”>multiplayermadness!</string>

<stringid=”2”>backtoschool</string>

</abclocfile>。

模式如下。

abclocfile-包含如下参数的顶层节点:

•partner=“microsoft”或者创建文件的渠道伙伴的名称

•author=创建文件的人(由渠道伙伴团队请求用于跟踪)

•version=表示loc文件模式版本;对于win8rtm其是“1.0”并且可以在未来的发布版本中渐增

•id=规定相应的页面定义文件的唯一标识符,用于检验这是争取的匹配本地化文件

loc-具有abclocfile父节点的一个节点。其包含现场,诸如“en-us(英语-美国)”。

string-包含本地化的串的一个或多个节点。其包含如下属性:

•id=如页面定义文件中的“##sx##”占位符引用的串id。

在各种实施例中,处理器208使ac200或tc104能够执行这里描述的一个或多个功能。处理器208被配置为执行计算机可执行指令以执行这里描述的关于ac200和/或tc104的一个或多个功能,并且存储器210存储用于执行这里描述的操作的计算机可执行指令和/或信息。

图3是图示根据这里描述的各种方面和实施例的便利web应用修改的示例性流程的流程图。如图3中所示,ac(或渠道伙伴门户)200接收关于网页的期望外观的元数据。从web应用的渠道伙伴(例如,外部编辑器)302接收元数据。在一些实施例中,ac200还从内部内容编辑器304接收信息。

在各种实施例中,元数据包括规定许多不同类型的信息的信息,其包括,但不限于,网页模板、将通过模板显示的控件、将通过模板显示的应用的列表、关于web应用的关注市场、web应用的现场、伙伴名称和/或伙伴标志位图。

在一些实施例中,ac200是网站。ac200创建页面定义文件。在一些实施例中,如图3中的306处所示,ac200还生成并输出loc文件。在各种实施例中页面定义文件和loc文件是xml文件。

ac200在生成页面定义文件和loc文件时还调用tc314。tc314接收页面定义文件(和loc文件)并且使这些文件与关于模板的模板文件308和控件文件310合并。在一些实施例中,控件文件是规定关于将通过模板显示的控件的信息的文件。在一些实施例中,与运行时相对,在创作网页时执行合并。在一些实施例中,模板308和控件文件310是html文件。

tc生成网页316并且将网页316输出到web应用318。在各种实施例中,网页316是html页面。html页面是当用户试图运行web应用318时客户端下载的页面。

图4a是图示根据这里描述的实施例的便利ui的元素的本地化的示例性流程的示图。本地化是由图2的本地化组件212执行的。如图4a中所示,ac200从网页创作者402接收输入。在各种替选实施例中,网页创作者402是能够向ac200提供输入的任何实体、人或机器。

输入是与web应用的网页相关联的元数据。例如,经由页面定义文件406提供元数据。在该情况下,页面定义文件406包括参照图2描述的元数据。

在一些实施例中,针对ac200的输入还包括可由ac200解释和/或处理的第一语言的串。例如,在一个实施例中,串是英语语言串。

输入表示网页的可本地化元素和网页的不可本地化元素。ac200的本地化部件212识别可本地化元素。在一些实施例中,文件408包括英语语言的可本地化元素。在其他实施例中,文件408包括可由创作工具200的本地化部件212处理的任何语言的可本地化元素。

回来参照图4a,在识别可本地化元素时,本地化部件212将网页的可本地化元素存储在第一文件408中并且将不可本地化元素存储在第二文件中。

创作工具将第一语言408的可本地化元素的文件输出到网页创作伙伴404。在替选实施例中,网页创作伙伴404可以是能够读取第一语言408的可本地化元素的文件、将可本地化元素转换为第二语言并且控制可本地化元素的文件针对第二语言的输出的任何实体、人或机器。

在一些实施例中,网页创作者402或网页创作伙伴404将第一文件408中的本地化的元素调整为与第二现场相关联的语言。在各种实施例中,第一文件408包括元数据。如图4a中所示,可本地化元素被调整为日语并且作为第二语言的可本地化元素的第二文件从网页创作伙伴404输出。在其他实施例中,将文件调整为任意多种不同语言。

在所示实施例中,英语语言的可本地化元素的第一文件被调整为以日语语言表示的可本地化元素的文件418。在各种实施例中,可本地化元素的文件和可本地化元素的调整文件两者具有同一格式。例如,如图4a中所示,可本地化元素的文件和可本地化元素的调整文件两者均可以是xml文件。

在其中可本地化元素已被调整为第二语言的实施例中,第二语言的可本地化元素的文件418和关于网页的页面定义文件406可以被输入到变换器部件(tc)410。tc410可以具有上文参照tc104描述的一个或多个功能。

tc410使第二语言的可本地化元素的文件418与关于收集可本地化元素的网页的网页模板412和网页控件414合并。同样地,在一些实施例中,与运行时相对,在创作网页时执行合并。在各种实施例中,模板412和/或网页控件414具有任意多种语言,其包括,但不限于,html。在一些实施例中,如参照图2描述的,在关于网页的页面定义文件406中提供描述网页模板412和/或网页控件414的元数据。在各种实施例中网页模板可以具有html和/或层叠样式表(css)形式。

tc410生成本地化的文件422(例如,具有被翻译成第二语言的可本地化元素的文件)。在一个实施例中,本地化的文件422的语言与显示模板和/或控件的语言相同。在一些实施例中,模板和/或控件也是可本地化的。

在各种实施例中,尽管使用模板提供由内容创作者编辑的元素,但是在一些实施例中,tc410放弃使用模板并且向内容创作者提供编辑网页的整个外观的能力。

从tc410输出的本地化的文件422被下载到客户端web应用(未示出)并且由其消耗。如果期望,经由web服务在运行时向本地化的文件422增加额外的数据。

在其中可本地化元素未被调整为第二语言而是具有原始第一语言的实施例中,如上文所述,第一语言的可本地化元素的文件408和关于网页的页面定义文件406被输入到tc410。在各种实施例中,第一文件408包括元数据。尽管创作工具200是web门户,但是在一些实施例中,服务器被配置为执行tc410的一个或多个功能(除了服务器可以执行的其他功能之外)。

tc410使第一语言的可本地化元素的文件408与关于收集可本地化元素的网页的网页模板412和网页控件414合并。在各种替选实施例中,模板412和/或网页控件414任意多种语言,其包括,但不限于,html。在一些实施例中,如参照图2描述的,在关于网页的页面定义文件406中提供描述网页模板412和/或网页控件414的元数据。在各种实施例中网页模板可以具有html和/或css形式。在各种实施例中,模板和/或控件是可更新的。

tc410生成本地化的文件416(例如,具有翻译成第二语言的可本地化元素的文件)。本地化的文件416可以具有与模板和/或控件相同的语言,其包括,但不限于,html。

本地化的文件416随后被下载到客户端web应用(未示出)并且由其消耗。如果期望,经由web服务在运行时向本地化的文件416增加额外的数据。

在一些实施例中,代替输出如参照图4a和4b描述的文件,ac200输出如图5中所示的具有可编辑栏的ui。如图5中所示,包括文本的栏502、504、506、508和510是可编辑的,而图像514(其不包括任何文本元素)和windowslive®商标512(其是知识产权)是不可编辑的。同样地,显示区域500图示了文本框或其他指示符,其向外部编辑器通知可以输入本地化的文本。在一个实施例中,所输入的本地化的文本被翻译成最初以第一语言提供的文本的第二语言。

在各种实施例中,tc410包括验证部件(未示出),其在合并之前验证页面定义文件406中的参数。在一些实施例中,创作工具200利用验证部件204执行页面定义文件406的第一轮验证,并且tc410执行页面定义文件的参数的第二轮验证。

尽管tc410被描述为用于使文件408与模板和控件合并并且用于使文件418与模板和控件合并的同一部件,但是tc410并不是需要具有用于提供这两个功能的结构和/或功能。在实施例中,tc410是用于使文件408与模板和控件合并的第一部件和用于使文件418与模板和控件合并的第二部件。在一些实施例中,与运行时相对,在创作网页时执行合并。

此外,尽管参照html、css和/或xml描述了流程图400,但是在各种实施例中使用用于编程和提供web应用(或者与之相关联的网页)的不同语言。

尽管以上实施例描述了其中页面定义文件和可本地化元素的文件彼此区别,但是在各种实施例中(如下文所示),并且在图4b中,创作部件200输出单个页面定义文件428,其包括关于第一语言的网页的可本地化元素的元数据。文件428还规定了将在规定的控件中呈现的标题页面或应用,其在一些实施例中包括特征名称和/或图像。

下面示出了示例页面定义文件abcpagedef。在页面定义文件中示出了指示网页的可本地化元素的信息。如上所述的该页面定义文件包括用于识别网页的可本地化元素的元数据。

<xmlversion=”1.0”>

<!--filegeneratedbywindows8channelpartnerportal-->

<abcpagedefversion="6.1"country="us"partner="1"machineclass="0"page="cat-games">

<templateid="rainier">

<featurecontroltype="categorythreefeatures"container="1">

<feature>

<featurecontenttype="topic"id=”{6f7254c8-c9c1-4dfe-b88c-92de49986e84}”title="##s1##"image="##i1##"/>

<!—thesecondfeaturecontentcanbeafallbackfeaturetoshowincasethefirstfeatureisfilteredoutforanyreason-->

<featurecontenttype="app"id=”{c8228a86-ed42-4434-aaa9-92362ec00693}”title="##s2##"image="##i2##"/>

</feature>

<feature>

<featurecontenttype="topic"id=”f1ba2b58-33b5-4ad0-a624-8c676239dab0”title="##s3##"image="##i3##"/>

</feature>

<!--additional<feature>elementsforthecontrol-->

</featurecontrol>

<!--additional<featurecontrol>elements...-->

<listcontainer="2"id="5"/>

<listcontainer="3"id="8"/>

</template>

<localename="en-us">

<stringid="1">hello</string>

<stringid="2">fallbacktoschool</string>

<stringid="3">tetris</string>

<!--<image>elementcontentisrelativeimagepath-->

<imageid="1">images/features/dell/en-us/toystory.524x316.png</image>

<imageid="2">images/apps/dell/en-us/wordpad.524x316.png</image>

<imageid="3">images/features/dell/en-us/tetris.524x316.png</image>

</locale>

<localename="fr-fr">

<stringid="1">bonjour</string>

<stringid="2">ecole</string>

<stringid="3">tétriste</string>

<imageid="1">images/features/dell/fr-fr/toystory.524x316.png</image>

<imageid="2">images/apps/dell/fr-fr/wordpad.524x316.png</image>

<imageid="3">images/features/dell/fr-fr/tetris.524x316.png</image

</locale>

</abcpagedef>。

如以上页面定义文件中所示,元数据包括指示可本地化元素的信息(例如,文本串“hello”、“fallbacktoschool”和“tetris”)。如所示出的,现场在美国(指示为“en-us”)并且因此文本串是英语。如上所示,该信息可以被本地化为法语,现场指示符是“fr-fr”(指示法国),并且以法语示出的本地化的文本串是“bonjour”、“ecole”和“tétriste”。规定了图像,还指示了模板“tetris”,并且还指示了控件信息(“categorythreefeatures”)。

上文提供的页面定义文件仅是示例性的并且仅是一个非限制性实施例。在变化的实施例中提供了其他页面定义文件(包括其他元数据)。例如,在一些实施例中,元数据描述了指示将经由网页显示的应用(或应用列表)的信息。例如,在一些实施例中,网页是关于提供在线商品和/或服务的商店特征的网页。在一个非限制性实施例中,web应用是用于出售任意多种不同商品的在线商店,这些商品包括,但不限于,web应用、工具、软件等。

上文提供的页面定义文件的示例模式如下。

abcpagedef-xml文件中的顶层节点,其在一个实施例中包含如下参数:

•partner=与microsoft或者创建文件的外部渠道伙伴对应的id值

•version=表示页面定义模式版本

•page=规定商店页面(例如,“home”、“cat-games”、“cat-media”、“cat-life”)

•country=规定商店国家/市场(例如,美国、加拿大、日本)

•machineclass=规定机器的类型或能力,诸如“膝上型”、“触摸型”、“非触摸型”和“平板型”。这些可以是数字值而非串。

template-具有abcpagedef父节点的节点,其识别将显示在网页上的模板的文件名,并且包含如下参数:

•id=模板文件的名称。

featurecontrol和feature-可以直接映射到规定的模板中的容器的一个或多个节点。每个特征控件包含一个或多个feature节点,其与控件中示出的特征数目对应。在一个实施例中,特征是控件的方面或能力。

featurecontent-规定当网页的相应部分被点击或者以其他形式激活时示出的应用或标题页面的一个或多个节点。

•type=“app(应用)”或“topic(标题)”

•id=应用身份识别(id)或标题页面id的引导

•title=控件说明;这是“##sx##”占位符,其由变换器部件用本地化的串替换

•image=控件中将示出的图像的相关的通用资源定位符(url);这是“##ix##”占位符,其由变换器部件用本地化的图像的统一资源定位符(url)替换。

list-规定一个或多个list节点,其规定其中将呈现在网页中的应用列表的顺序和标识符。

•container=引用将保存列表的模板中的元素的id

•id=与已知的数据生成列表集合对应的值。

locale-一个或多个locale节点规定变换器部件要以哪种语言生成网页。串和图像节点分别对应于abcpagedef节点中的上文提到的“##sx##”和“##ix##”占位符。

与参照图4a描述的内容相似,在一个实施例中,tc410使页面定义文件的内容和第一语言的可本地化元素的内容428与关于收集可本地化元素的网页的网页模板412和网页控件414合并。tc410随后生成本地化的文件416(例如,具有被调整为第二语言的可本地化元素的文件)。在一些实施例中,本地化的文件416被格式化成与模板和/或控件相同的语言,其包括,但不限于,html。

本地化的文件416可以被下载到客户端web应用(未示出)并且由其消耗。如果期望,经由web服务在运行时向本地化的文件416增加来自互联网的额外的数据。

与参照图4a描述的内容相似,在一个实施例中,tc410使页面定义文件的内容和第二语言的可本地化元素的内容的文件438与关于收集可本地化元素的网页的网页模板412和网页控件414合并。tc410随后生成本地化的文件416(例如,具有被调整为第二语言的可本地化元素的文件)。在一些实施例中,本地化的文件416被格式化成与模板和/或控件相同的语言,其包括,但不限于,html。

如这里描述的,这里的实施例以许多方式区别于传统的系统。例如,这里的实施例提供了用于编辑web应用的架构和/或提供了用于自动地识别网页的可本地化元素以使得可本地化元素能够被高效地本地化为与最初提供该网页的语言不同的语言的系统和方法。这些能力可被提供用于基于web的计算机代码,其包括,但不限于,html和css。

在一个实施例中,tc410接收本地化的内容,将本地化的内容插入到html页面或css文件的占位符中,和/或生成具有在客户机上由web应用使用的模板和控件的合并的本地化的文件。在各种实施例中,针对ui创建占位符以识别网页的可本地化元素,并且将这些元素置于并入到网页的主页源代码的文件中。如这里使用的,占位符由tc410的本地化的内容的统一资源定位符(url)替换。

在这些实施例中,外部编辑器(例如,除了那些在os发布之前原始开发web应用的开发者以外的开发者)选择不同的模板和控件或者使内容本地化,同时仅创作ui的网页的可本地化元素。

在一些实施例中,所描述的实施例针对网页样式、标记和/或广告信息是可扩展的,并且/或者与仅利用文本,诸如帮助文本和其他类型的文本相比,使得能够利用应用列表。

在一些实施例中,这里描述的实施例包括外部web门户,用于外部编辑器向ac(未示出)提供输入并且从tc(未示出)接收输出。在一些实施例中,使用web服务在客户端上在网页上动态地插入更新的(本地化的)内容。

在一些实施例中,这里描述的系统和/或方法使用任意多种使用网页的基于模板的ui,其包括,但不限于web应用。在各种实施例中,web应用包括在线商场或在线商店、应用。

在各种实施例中,web应用是提供给第三方软件开发者的应用。同样地,这里描述的实施例使得第三方软件开发者能够针对ui使网页的各种元素本地化,从而针对世界上不同的现场定制这些应用。

在一些实施例中,通过电子邮件而非网站将元数据提供给公司。串和图像文件以及任何其他数据是经由电子邮件提供的而非在网站处提供的,并且可以经由电子邮件被提供回来。

图6是根据这里描述的实施例的便利网页修改的实施例的流程图。在610处,方法600包括接收指示所请求的网页的信息。在一个实施例中,该信息是包括元数据的文件,该元数据描述所请求的网页并且规定所请求的网页的模板,以及通过模板显示的一个或多个控件。该元数据描述用于显示在所请求的网页上的应用和/或与这些应用对应的标记或广告。在一些实施例中,至少一个应用是在线商场。

在620中,方法600包括使文件与模板合并并且生成所请求的网页。在一个实施例中,经由服务器执行合并,并且合并的文件随后被下载到客户端。

在630中,方法600包括验证元数据文件的一个或多个参数,其中验证包括验证以下至少之一:文本串长度、与图像相关联的信息、将通过网页的模板显示的控件、模板与网页的相配性、控件与模板的相配性、关于一个或多个控件中的特定一个控件的多个串或应用。

在一些实施例中,与图像相关联的信息包括以下至少之一:图像是黑白还是彩色图像、图像的类型、图像的内容、图像的尺寸。

在一些实施例中,方法600还包括识别(未示出)所请求的网页的可本地化元素,并且经由web门户输出指示可本地化元素的信息。例如,可以识别文本串或包含文本的图像,并且可以识别与文本串和图像中包含的文本对应的元数据作为可本地化元素。

图7是根据这里描述的实施例的便利网页修改的实施例的流程图。在710处,方法700包括接收包括元数据的文件,该元数据描述所请求的网页并且规定所请求的网页的模板,以及通过模板显示的一个或多个控件。该元数据还描述用于显示在所请求的网页上的应用和与这些应用对应的标记或广告。在720处,方法700包括使文件与模板合并并且生成所请求的网页,其中一个或多个应用中的至少一个是在线商场。

图8是根据这里描述的实施例的便利网页修改的实施例的流程图。在810处,方法800包括接收描述所请求的网页的信息。在820处,方法800包括自动地识别信息的不可本地化元素和信息的可本地化元素。在一个实施例中,例如,可本地化元素是适于翻译成与所请求的网页的现场对应的语言的文本。在一些实施例中,识别处理包括:确定所请求的网页的元素是否指示文本串或包含文本的图像;并且识别指示文本串或图像中包含的文本的所请求的网页的元素作为所请求的网页的可本地化元素。

在830中,方法800包括生成包括信息的不可本地化元素的第一文件以及生成包括信息的可本地化元素的第二文件。

在840中,方法800包括使第二文件的可本地化元素本地化。本地化包括至少基于现场翻译可本地化元素。在850中,方法800包括生成所请求的网页,其中生成所请求的网页包括将本地化的元素插入到所请求的网页中的占位符中。

图9提供了示例性联网或分布式计算环境的非限制性示意图。本领域技术人员可以认识到,可以结合任何计算机或其他客户端或服务器设备实施这里描述的方法、系统和装置的各种实施例,它们可以被部署为计算机网络的一部分或者部署在分布式计算环境中,并且可以连接到任何类型的数据存储。在这一点上,这里描述的各种实施例可以在具有任意多个存储器或存储单元的任何计算机系统或环境中实施,并且任意多个应用和处理跨越任意多个存储单元进行。这包括,但不限于,服务器计算机和客户端计算部署在网络环境中或者分布式计算环境中的环境,具有远程或本地存储。

参照图9,分布式计算环境包括服务器对象910、912。分布式计算环境还包括计算对象或计算设备920、922、924、926、928,它们可以包括,但不限于,程序、方法、数据存储、可编程逻辑等,如应用930、932、934、936、938所表示的。可以认识到,计算对象或计算设备920、922、924、926、928等可以包括在不同设备中,诸如个人数字助理(pda)、数字视频盘(dvd)、致密盘(cd)、音频/视频设备、移动电话、运动图片专家组音频层iii(mp3)播放器、膝上型计算机等。

每个服务器对象910、912等和计算对象或设备920、922、924、926、928等可以借助于通信网络940,直接地或间接地与一个或多个其他服务器对象910、912等和计算对象或设备920、922、924、926、928等通信。即使在图9中被图示为单个元件,但是网络940可以包括向图9的系统提供服务的其他计算对象和计算设备,和/或可以表示未示出的多个互连网络。每个对象910、912等或计算对象或设备920、922、924、926、928等也可以包含应用,诸如应用930、932、934、936、938,它们可以利用api,或者适于与信息基础设施通信或者实施信息基础设施的其他对象、软件、固件和/或硬件,作为如根据各种实施例提供的来自任何平台的服务。

存在多种系统、部件和网络配置支持分布式计算环境。例如,计算环境可以通过有线或无线系统,通过局部网络或广域分布网络连接在一起。当前,许多网络耦接到互联网,互联网提供用于广域分布计算的基础设施并且涵盖许多不同的网络,尽管任何网络基础设施可以用于如各种实施例中描述的技术所附带发生的示例性通信。

因此,可以利用许多网络拓扑和网络基础设施,诸如客户端/服务器、对等或混合构架。在客户端/服务器构架中,特别是在联网系统中,客户端通常是计算机,其访问例如服务器的另一计算机提供的共享网络资源。在图9的图示中,作为非限制性示例,计算对象或设备920、922、924、926、928等可以被视为客户端,并且对象910、912等可以被视为服务器,其中服务器等提供数据服务,诸如从客户端计算对象或设备920、922、924、926、928等接收数据,存储数据,处理数据,向计算对象或设备920、922、924、926、928等传送数据,尽管根据情况,任何计算机可以被视为客户端、服务器或此两者。任何这些计算设备可以处理数据或者请求可能牵涉信息基础设施的服务或任务,作为如这里针对一个或多个实施例描述的来自任何平台和相关技术的服务。

服务器典型地是可在诸如互联网或无线网络基础设施的远程或本地网络上访问的计算机系统。客户端处理可以在第一计算机系统中是活跃的,而服务器处理可以在第二计算机系统中是活跃的,它们在通信介质上彼此通信,因此提供分布式功能并且允许多个客户端利用服务器的信息收集能力。

在其中通信网络/总线940是互联网的网络环境中,例如,服务器等可以是web服务器,客户端计算对象或设备920、922、924、926、928等经由多种已知协议中的任何协议与web服务器通信,这些协议诸如超文本传输协议(http)。服务器等还可以用作计算对象或设备920、922、924、926、928等,这可以作为分布式计算环境的特性。

图10图示了其中可以实施一个或多个实施例的适当的计算系统环境1000的一个示例。如所提到的,这里描述的各种实施例适用于其中期望实施这里描述的实施例的一个或多个架构的任何设备。尽管不是必需的,但是任何实施例可以部分地经由服务的开发者使用的用于设备或对象的操作系统实施,和/或包括在结合可操作部件操作的应用软件中。软件大体上可以在计算机可执行指令的背景下描述,诸如程序部件,它们由诸如客户端工作站、服务器或其他设备的一个或多个计算机执行。

参照图10,用于实施这里的一个或多个实施例的示例性远程设备可以包括具有手持计算机1010的形式的通用计算设备。手持计算机1010的部件可以包括,但不限于,处理单元1020、系统存储器1030和系统总线1021,系统总线1021将包括系统存储器的各种系统部件耦接到处理单元1020。

如本说明书中使用的,术语“处理单元”或“处理器”可以指示基本上任何计算处理单元或设备,其包括,但不限于,单核处理器;具有软件多线程执行能力的单核处理器;多核处理器;具有软件多线程执行能力的多核处理器;具有硬件多线程技术的多核处理器;并行平台;具有分布式共享存储器的并行平台;虚拟处理器或者由软件形成的可以在在硬件上操作的处理器。此外,处理单元或处理器可以指示集成电路、专用集成电路(asic)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑控制器(plc)、复杂可编程逻辑设备(cpld)、离散门或晶体管逻辑、离散硬件部件、或者它们的任何组合,它们被设计用于执行这里描述的功能。处理单元或处理器可以充分利用纳米级构架,诸如,但不限于,基于分子和量子点的晶体管、开关和门,以便使空间使用最优或者增强用户设备的性能。处理单元或处理器也可以被实施为计算处理单元的组合。

计算机1010典型地包括多种计算机可读介质和/或计算机可读存储介质,其中任一个可以是计算机1010可访问的任何可用介质。计算机可读介质可以是计算机能够访问的任何适当的介质并且包括易失性和非易失性介质、可移除和不可移除介质,并且可以通过用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实施。计算机可读存储介质包括,但不限于,只读存储器(rom),随机存取存储器(ram),电可擦除可编程只读存储器(eeprom),闪速存储器或者其他存储器技术,致密盘只读存储器(cd-rom)、数字多用途光盘(dvd)或者其他光盘存储,磁盒、磁带、磁盘存储或其他磁存储设备,或者其他可用于存储期望的信息并且可由一个或多个计算设备访问的有形的和/或非暂时的介质,或者其他存储设备。任何以上设备的组合也包括在计算机可读介质的范围内。

作为示例且无限制,存储器1030还可以包括操作系统、应用程序、其他程序部件和程序数据。在本说明书中,诸如“数据存储”、“数据存储装置”、“数据库”、“仓库”的术语以及与部件的操作和功能相关的任何其他信息存储部件,指示“存储器部件”,或者在“存储器”中实施的实体或者包括存储器的部件。

用户可以通过输入1040将命令和信息输入到计算机1010中。输入1040可以是任何输入设备。输出1050或监视器或者其他类型的显示设备也经由诸如网络接口1060的接口连接到系统总线1021。除了监视器,计算机还可以包括其他外围输出设备,诸如扬声器和打印机,它们可以通过输出接口1050连接。

计算机1010可以使用针对诸如远程计算机1070的一个或多个其他远程计算机的逻辑连接在联网或分布式环境中操作。远程计算机1070可以是个人计算机、服务器、路由器、网络pc、对等设备或者其他普通网络节点,或者任何其他远程媒体消费或传送设备,并且可以包括上文针对计算机1010描述的任何或所有元件。图10中示出的逻辑连接包括网络1071,诸如局域网(lan)或广域网(wan),但是也可以包括其他网络/总线。这些联网环境在家庭、办公室、企业范围的计算机网络、内联网和互联网中是普遍的。

如上文提及的,尽管结合各种计算设备、网络和广告构架描述了示例性实施例,但是基本概念可以应用于其中期望经由二次渠道增加真实度的任何网络系统和任何计算设备或系统。

存在多种实施这里描述的一个或多个实施例的方式,例如适当的api、工具套件、驱动器代码、操作系统、控件、独立的或者可下载的软件对象等,其使得应用和服务能够使用用于经由二次渠道增加真实度的架构。可以从api(或其他软件对象)的角度以及从提供根据一个或多个所描述的实施例的指向平台服务的软件或硬件对象来设想实施例。这里描述的各种实施形式和实施例可以具有完全硬件的方面、部分硬件的和部分软件的方面以及软件的方面。

这里使用的词语“示例性”意味着用作示例、实例或说明。为了避免疑义,这里公开的主题内容不限于这些示例。此外,这里被描述为“示例性”的任何方面或设计不一定被解释为较之其他方面或设计是优选的或有利的,也并非意味着排除本领域的普通技术人员已知的等同的示例性结构和技术。此外,在说明书和权利要求中使用了术语“包括(includes)”“具有”、“包含”和其他相似的词语,为了避免疑义,这些术语旨在以与术语“包括(comprising)”相似的方式作为开放式过渡词语而包含的,并未排除任何额外的或其他的元素。

如这里使用的术语“推断”通常指示从经由事件和/或数据捕获的观察集合推理或推断系统、装置、方法、环境和/或用户的状态的处理。作为示例且无限制,可以使用推断来识别特定的背景或动作,或者可以生成状态的概率分布。推断可以是概率性的(例如,基于数据和事件的考虑计算感兴趣的状态的概率分布)。推断也可以指示用于从事件和/或数据集合组成较高级别的事件的技术。这种推断可以导致从观察到的事件和/或存储的事件数据的集合构件新的事件或动作,不论事件是否在时间接近度方面紧密相关,且不论事件和数据来自一个或若干个事件和数据源。

此外,可以使用标准的编程和/或工程技术将实施例实施为方法、装置或制造物品,用于生产其软件、固件、硬件或其任何组合以控制计算机、装置或制造物品实施这里公开的功能。如这里使用的术语“制造物品”旨在涵盖可从任何计算机可读设备、计算机可读载体、计算机可读介质或计算机可读存储介质访问的计算机程序或者计算机程序产品。

如所提到的,这里描述的各种技术可以结合硬件或软件实施,或者在适当的情况下,可以通过此两者的组合实施。如这里使用的术语“部件”、“系统”等同样旨在指示计算机相关实体,即硬件、硬件和软件的组合、软件或者执行中的软件。例如,部件可以是,但不限于,在处理器上运行的处理、处理器、对象、可执行程序、执行线程、程序和/或计算机。作为说明,在计算机上运行的应用和计算机两者均可以是部件。一个或多个部件可以驻留在处理和/或执行线程中,并且部件可以位于一个计算机中和/或分布在两个或更多个计算机之间。

参照若干个部件之间的交互描述了前述系统。可以认识到,这些系统和部件可以包括这些部件或者规定的子部件、一些规定的部件或子部件、和/或额外的部件,并且根据前述项的各种置换和组合。子部件也可以被实施为通信耦接到其他部件而非包括在父部件(分级的)中的部件。此外,应当注意,一个或多个部件可以组合为提供集合功能的单个部件或者分拆为若干个分立的子部件,并且可以提供诸如管理层的任何一个或多个中间层以通信耦接到这些子部件以便提供集成功能。这里描述的任何部件也可以与这里未具体描述但是为本领域技术人员公知的一个或多个其他部件交互。

考虑前述示例性系统,将参照各附图的流程图更好地认识根据所公开的主题内容实施的方法。尽管出于使解释简单的目的将方法示出和描述为一系列框,但是将理解和认识到,要求保护的主题内容不限于这些框的顺序,一些框可以按不同的顺序进行和/或与这里示出和描述的其他框同时进行。在经由流程图图示非依次的或者由分支的流程的情况下,可以认识到,可以实现这些框的各种其他分支、流程路径和顺序,其实现了相同或相似的结果。此外,并非需要所有示出的框来实现以下描述的方法。

尽管在一些实施例中,图示了客户端侧的视角,但是将理解,为了避免疑义,存在相应的服务器视角,反之亦然。相似地,在实施方法的情况下,可以提供具有存储和至少一个处理器的相应的设备,其被配置为经由一个或多个部件实施该方法。

尽管结合各图的各种实施例描述了各种实施例,但是将理解,在不偏离这些实施例的情况下,可以使用其他相似的实施例并且可以对所描述的实施例进行添加以用于执行相同的功能。此外,上述实施例的一个或多个方面可以在多个处理芯片或设备中实施或者跨越它们实施,并且相似地,存储可以跨越多个设备进行。因此,本发明不限于任何单个实施例,而是应根据所附权利要求的精神和范围进行解释。

此外,上文描述的内容包括要求保护的主题内容的实施例。当然,不可能出于描述要求保护的主题内容的目的而描述部件或方法的每种能想到的组合。然而,本领域的普通技术人员能够认识到,该主题内容的许多另外的组合和置换是可能的。因此,主题内容旨在涵盖落在所附权利要求的精神和范围内的所有这些变更、修改和变化。此外,在说明书或权利要求中使用了术语“包括(includes)”,该术语旨在以与术语“包括(comprising)”相似的方式是内含的,与“包括(comprising)”被用作权利要求中的过渡词语时而解释的含义相似。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1