MX2007011028A - Ontologia de incorporacion de autorizacion de recursos. - Google Patents

Ontologia de incorporacion de autorizacion de recursos.

Info

Publication number
MX2007011028A
MX2007011028A MX2007011028A MX2007011028A MX2007011028A MX 2007011028 A MX2007011028 A MX 2007011028A MX 2007011028 A MX2007011028 A MX 2007011028A MX 2007011028 A MX2007011028 A MX 2007011028A MX 2007011028 A MX2007011028 A MX 2007011028A
Authority
MX
Mexico
Prior art keywords
location
data
translation
platform
request
Prior art date
Application number
MX2007011028A
Other languages
English (en)
Inventor
Bernhard Kohlmeier
Julie D Bennett
Lori A Brownell
Mohammed El-Gammal
Wei Wu
Shenghua Edward Ye
Jordi Mola Marti
Jan Anders Nelson
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MX2007011028A publication Critical patent/MX2007011028A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

La presente invencion proporciona un sistema para el procesamiento de datos.

Description

ONTOLOGIA DE INCORPORACIÓN DE AUTORIZACIÓN DE RECURSOS ANTECEDENTES DE LA INVENCIÓN La presente invención se refiere al procesamiento de datos. La localización es un procedimiento para modificar productos o servicios para representar diferencias en distintos mercados. Un ejemplo muy común de localización ocurre cuando se autoriza una aplicación en un lenguaje de fuente y se introduce en un mercado que utiliza un lenguaje objetivo diferente al original. Por ejemplo si se autoriza una solicitud en el lenguaje de inglés y después se introduce en China, se localizaría al traducir las varias series de caracteres de lenguaje de inglés y elementos de Ul (menús, ¡conos, etc.), los componentes de software y la asistencia de usuario en la aplicación en chino. El diseño de Ul y estilo (que incluye tipo de fuente, tamaño, posiciones de control, etc.) también probablemente cambiará para adecuarse al idioma objetivo. Por supuesto, el concepto de la localización es más amplio que simplemente modificar el lenguaje. Los mercados que utilizan el mismo lenguaje pueden ser distintos por otras razones. Por ejemplo, una aplicación de software puede "localizarse" para diferentes grupos de edad. Puede tener un grupo de idioma y apariencia para adultos y otro para niños y adolescentes. De esa forma, la localización ilustrativamente se adapta a una variedad de diferencias en distintos mercados.
Aunque, como se describió anteriormente, la localización involucra muchas otras cosas que sólo traducir series de caracteres, para facilitar la lectura del documento se concentrara la descripción en ese escenario En una forma similar, la mayoría de los ejemplos se toman del campo de locahzación de software pero la invención no se limita a localización de software Similarmente, mientras la mayoría de la presente descripción se enfoca en localizar un producto, la invención no se limita y sólo es aplicable a servicios, y de esa forma el término "producto" incluye "servicios" para la búsqueda de esta descripción En el pasado, no existió un intento de nivel de nivel de sistema para proporcionar locahzación pero en vez de eso la locahzación se realizó componentes individuales para resolver problemas individuales Por ejemplo, un localizador puede aumentarse con ciertas técnicas de traducción de máquina para mejorar la velocidad de locahzación, exactitud y consistencia Sin embargo, un localizador diferente puede utilizarse sólo memorias de traducción con el fin de aumentar la velocidad de reciclado al reutilizar varias traducciones, a partir de allí proporcionar un resultado más consistente a una velocidad superior en la que tendría con otras herramientas También, esto se ha hecho, convencionalmente, en una forma fuera de línea En otras palabras, el autor crea una aplicación completa de una gran porción de un componente, y ese componente o aplicación se proporciona a un localizador para localización El procedimiento usual es tal que la interacción de localizador con el autor original es mínimo y no existente. Esto hace más difícil introducir cambios en el contenido original que facilitarían su ubicación. De hecho, en muchos casos, la ubicación no se realiza hasta justo después que el producto completo se desarrollo y se hizo una decisión de mercado estratégica para expandir el producto en un método diferente que utiliza un lenguaje diferente o es distinto de otra forma. En todos estos casos, existe típicamente muy poco trabajo directo hecho al desarrollar una aplicación con localización en mente o incluso optimizar la localización. Similarmente, existe muy poco soporte, en la etapa de desarrollo/autorización, para desarrollar una aplicación u otro producto/servicio que será relativamente fácil de localizar, incluso aunque autorizar un producto o servicio que es fácilmente localizable no es más difícil que autorizar uno que es más fácil de localizar. Por lo tanto, los productos, servicios y aplicaciones tradicionalmente se tradujeron en diferentes lenguajes o de otra forma se localizaron a través de un procedimiento intensivo manual y de trabajo complejo. El costo para esta ubicación de productos de software y la traducción de contenido relacionado con producto, representa un obstáculo significativo que debe superarse con el fin de ingresar a nuevos mercados. Esto es especialmente verdadero para vendedores de software independientes pequeños o de tamaño medio o autores de contenido. El problema de localización también se ajusta dependiendo de la ubicación particular en la cual se desarrolla el software. Para los desarrolladores que autoriza software en ubicaciones que tienen grandes mercados, localizar el software a diferentes mercados (y probablemente más pequeños) es menos que una necesidad. Sin embargo, si un autor de desarrollador en una ubicación (y utiliza un lenguaje) que tienen un mercado relativamente pequeño, la viabilidad completa del producto puede depender de la capacidad de localizar ese producto en los lenguajes utilizados en mercados más grandes. Esto requiere que los fabricantes gasten una cantidad excesivamente alta de recursos en localización. Esto frecuentemente disminuye los recursos disponibles para desarrollo. Otro problema asociado con los esfuerzos de localización anteriores es que no existe una buena forma de otras fuentes de localización. Por ejemplo, una gran variedad de vendedores localizan sus productos para varios mercados. Aplicaciones similares, desarrolladas por diferentes vendedores pueden localizar la misma, o una muy similar series de caracteres o software para los mismos mercados. Sin embargo, actualmente no existe una forma de expediente para que los dos retiren, o compartan, los esfuerzos de uno y otro. Por lo tanto, existe un gran problema de esfuerzo duplicado al localizar productos. Además, existen muchos modelos de programación diferentes (tal como Win32, codificación críptica CLR y WEB) con diferentes tipos de administradores de recursos, formatos de recurso y almacenamiento de datos. Requieren diferentes analizadores y grupos de herramientas para controlar la localización, lo que resulta en procedimientos complejos y costosos, e inconsistencias en calidad de localización.
BREVE DESCRIPCION DE LA INVENCIÓN La presente invención proporciona un sistema para procesar datos.
BREVE DESCRIPCION DE LOS DIBUJOS La Figura 1 es una modalidad ilustrativa de un ambiente en el cual puede utilizarse la presente invención. La Figura 2 es un diagrama de bloque más detallado de un ambiente de tiempo de ejecución que despliega aspectos de la presente invención. La Figura 3 es un diagrama de flujo que ilustra la operación total de la plataforma (o sistema) mostrado en la Figura 2 en la cual una traducción no está disponible. La Figura 4 es un diagrama de flujo que ilustra la operación de un componente de acoplamiento mostrado en la Figura 2. La Figura 5 es un diagrama de bloque más detallado de la plataforma de localización (o sistema) mostrado en la Figura 2, como utilizado durante el despliegue de una aplicación u otro contenido. La Figura 6 es un diagrama de flujo que ¡lustra como puede desarrollarse un producto que implementa técnicas que ayudan en la localización posterior, de acuerdo con una modalidad de la presente invención.
DESCRIPCION DETALLADA DE MODALIDADES ILUSTRATIVAS La presente invención proporciona un sistema operativo con una plataforma de localización integrada, con una plataforma de localización que tiene componentes cercanamente operables con el sistema de operación, aunque no completamente integrados. La presente plataforma de localización también puede proporcionarse como un servicio que se solicita por el sistema operativo. La presente invención utiliza la plataforma de localización para localizar contenido y software. La presente invención también puede utilizarse durante el desarrollo de productos o servicios, que implementan las prácticas que permiten la localización más rápida y más eficiente el producto o servicio. La presente discusión procederá principalmente con respecto a traducir durante el procedimiento de localización, pero la invención se limita y la localización incluye una amplia variedad de otros alojamientos para distintos mercados también. Antes de describir la presente invención en más detalle, una modalidad de un ambiente en el cual puede utilizarse la presente invención se describirá. La Figura 1 ¡lustra un ejemplo de un ambiente de sistema de cómputo adecuado 100 en el cual puede implementarse la invención. El ambiente de sistema de cómputo 100 solamente es un ejemplo de un ambiente de cómputo adecuado y no pretende sugerir ninguna limitación al alcance de uso o funcionalidad de la invención. El ambiente de cómputo 100 tampoco debe interpretarse como teniendo ninguna dependencia o requerimiento que se relaciona con cualquiera o combinación de componentes ilustrados en el ambiente operativo ilustrativo 100. La invención es operacional con numerosos otros ambientes o configuraciones de sistemas de cómputo de propósito general o propósito especial. Ejemplos de sistemas de cómputo bien conocidos, ambientes, y/o configuraciones que pueden ser adecuados para uso con la invención incluyen, pero no se limitan a, computadoras personales, computadoras de servido, dispositivos móviles o portátiles, sistemas de multiprocesador, sistemas a base de microprocesador, cajas de TV por cable, electrónica de consumidor programable, PCs de red, minicomputadoras, macrocomputadoras, sistemas de telefonía, ambientes de cómputo distribuido que incluye cualquiera de los sistemas o dispositivos anteriores, y similares. La invención puede describirse en el contexto general de instrucciones ejecutables por computadora, tal como módulos de programa, que se ejecutan por una computadora. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc. que realizan tareas particulares o implementan tipos de datos abstractos particulares. La invención se diseña para practicarse en ambiente de cómputo distribuido en donde las tareas se realizan por dispositivos de procesamiento remotos que se enlazan a través de una red de comunicaciones. En una red de cómputo distribuido, los módulos de programas se localizan tanto en medios de almacenamiento de computadora locales como remotos que incluyen dispositivos de almacenamiento de memoria. Con referencia a la Figura 1, un sistema ilustrativo para implementar la invención incluye un dispositivo de cómputo de propósito general en la forma de una computadora 110. Los componentes de la computadora 110 pueden incluir, pero no se limitan a, una unidad de procesamiento 120, una unidad de sistema 130, y un conductor común de sistema 121 que acopla varios componentes de sistema que ¡ncluyen la memoria de sistema a la unidad de procesamiento 120. El conductor común de sistema 121 puede ser cualquiera de varios tipos de estructuras de conductor común que ¡ncluyen un conductor común de memoria o controlador de memoria, un conductor común periférico, y un conductor común local que utiliza cualquiera de una variedad de arquitecturas de conductor común. A manera de ejemplo, y no de limitación, tales arquitecturas incluyen conductor de Arquitectura de Estándar de Industria (ISA), conductor común de Arquitectura de Microcanal (MCA), conductor común de ISA mejorado (EISA), conductor común local de Asociación de Estándares Electrónicos de Vídeos (VESA), y conductor común de Interconexión de Componente Periférico (PCI) también conocido como conductor común de Mezanine.
La computadora 110 típicamente incluye una modalidad de medios legibles por computadora. Los medios legibles por computadora pueden ser cualquier medio disponible que puede accederse por la computadora 110 que incluye tanto medios volátiles como no volátiles, medios removibles y no removibles. A manera de ejemplo, y no de limitación, los medios legibles por computadora pueden comprender medios de almacenamiento por computadora y medios de comunicación. Los medios de almacenamiento por computadora incluyen tanto medios volátiles como no volátiles, removibles y no removibles implementados en cualquier método tecnología para almacenamiento de información tal como instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos. Los medios de almacenamiento por computadora ¡ncluyen, pero no se limitan a, RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento de disco óptico, casetes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que puede utilizarse para almacenar la información deseada<y que puede accederse por la computadora 110.
Los medios de comunicación típicamente representan instrucciones legibles por computadora, estructuras de datos, módulos de • programa u otros datos en una señal de datos modulada tal como una onda portadora u otro mecanismo de transporte e incluye cualquier medio de entrega de información. El término "señal de datos modulada" significa una señal que tiene una más de sus características establecidas de tal forma para codificar información en la señal. A manera de ejemplo, y no de limitación, los medios de comunicación incluyen medios cableados tal como red cableada o conexión cableada directa, y medios inalámbricos tal, acústicos, REF, infrarrojos y otros medios inalámbricos. Las combinaciones de cualquiera de los anteriores también deben incluirse dentro del alcance de medios legibles por computadora. La memoria de sistema 130 incluye medios de almacenamiento por computadora en la forma de memoria volátil y/o no volátil tal como memoria sólo de lectura (ROM) 131 y memoria de acceso aleatorio (RAM) 132. Un sistema de entrada/salida básico 133 (BIOS), que contienen las rutinas básicas que ayudan a transferir la información entre elementos dentro de la computadora 110, tal como durante el arranque, típicamente se almacena en ROM 131. La RAM 132 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles a y/o actualmente están siendo operados por la unidad de procesamiento 120. A manera de ejemplo, y no de limitación, la Figura 1 ilustra el sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. La computadora 110 también puede incluir otros medios de almacenamiento por computadora removibles/no removibles volátiles/no volátiles. A manera de ejemplo solamente, la Figura 1 ilustra una unidad de disco duro 141 que eleve o escribe a un medio magnético no removible, no volátil, una unidad de disco magnético que eleve o escribe a un disco magnético removible, no volátil 152, y una unidad de disco óptico 155 que eleve o escribe a un disco óptico removible, no volátil 156 tal como un CD ROM u otro medio óptico. Otros medios de almacenamiento por computadora removible/no removibles, volátiles/no volátiles que pueden utilizarse en el ambiente operativo ilustrativo incluyen, pero no se limitan a, casetes de cinta magnética, tarjetas de memoria flash, discos versátiles digitales, cinta de video digital, RAM de estado sólido ROM de estado sólido y similares. La unidad de disco duro 141 típicamente se conecta al conductor común de sistema 121 a través de una interfase de memoria no removible tal como interfase 140, y unidas de disco magnético 151 y unidad de disco óptico 155 típicamente se conectan al conductor común de sistema 121 a través de una interfase de memoria removible, tal como interfase 150. Las unidades y sus medios de almacenamiento por computadora asociados discutidos anteriormente e ilustrados en la Figura 1, proporcionan almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora 110. En la Figura 1, por ejemplo, la unidad de disco duro 141 se ilustra como almacenando el sistema operativo 144, programa de aplicación 145, otros módulos de programa 146, y datos de programa 147. Se debe notar que estos componentes pueden ser los mismos que o diferentes al sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. El sistema operativo 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147 aquí se les proporciona números diferentes para ¡lustrar que, en un mínimo, son copias diferentes. Un usuario puede ingresar comandos de información en la computadora 110 a través de los dispositivos de entrada tal como un teclado 162, un micrófono 163, y un dispositivo de señalamiento 161, tal como un ratón, seguibola o almohadilla sensible al tacto. Otros dispositivos de entrada (no mostrados) pueden incluir una palanca de mandos, almohadillas de juegos, antena parabólica, escáner, o similares. Estos y otros dispositivos de entrada frecuentemente se conectan a la unidad de procesamiento 120 a través de una interfase de entrada de usuario 160 que se acopla al conductor común de sistema, pero puede conectarse por otra interfase y estructuras de conductor común, tal como un puerto paralelo, puerto de juegos o un conductor común en serie universal (USB). Un monitor 191 u otro tipo de dispositivo de presentación también se conecta al conductor común de sistema 121 a través de una interfase, tal como una interfase de video 190. Además del monitor, las computadoras también pueden incluir otros dispositivos de salida periférico tal como bocinas 197 e impresoras 196, que pueden conectarse a través de una interfase de salida 195. La computadora 110 opera en un ambiente en red que utiliza conexiones lógicas a una o más computadoras remotas, tal como una computadora remota 180. La computadora remota 180 puede ser una computadora personal, un dispositivo portátil, un servidor, un enrutador, una PC de red, un dispositivo para u otro nodo de red común, y típicamente incluye muchos otros de los elementos descritos anteriormente en relación a la computadora 110. Las conexiones lógicas ilustradas en la Figura 1 incluyen una red de área local (LAN) 171 y una red de área ancha (WAN) 173, pero también pueden incluir otras redes. Tales ambientes en red comúnmente están ubicados en oficinas, redes de computadora extendidas en empresas, intranets e internet. Cuando se utiliza en un ambiente en red LAN, la computadora 110 se conecta a la LAN 171 a través de una ¡nterfase de red o adapta la luz 170. Cuando se utiliza en el ambiente en red WAN, la computadora 110 típicamente incluye un modem 172 u otros medios para establecer comunicaciones en la WAN 173, tal como internet. El modem 172, que pueden ser internos o externos, puede conectarse al conductor común de sistema 121 a través de la ¡nterfase de entrada de usuario 160, u otro mecanismo apropiado. En un ambiente en red, los módulos de programa ilustrados en relación a la computadora 110, o porciones de la misma, pueden almacenarse en el dispositivo de almacenamiento de memoria remota. A manera de ejemplo, y no de limitación, la Figura 1 ilustra los programas de aplicación remotas 185 como residentes en la computadora remota 180. Se apreciara que las conexiones en red mostradas son ilustrativas y pueden utilizarse otros medios para establecer un enlace de comunicaciones entre las computadoras.
La Figura 2 ilustra una plataforma de localización (o sistema) 200 que se integra en el sistema operativo 134 mostrado en la Figura 1. La plataforma de localizacíón 200 se muestra con un número de almacenamientos de memoria diferentes, y se apreciara que aquellos almacenamientos de memoria pueden representarse en cualquiera de una variedad de dispositivos de almacenamiento mostrados en la Figura 1, o en diferentes dispositivos de almacenamientos. El sistema 200 se muestra interactivamente dispuesto con una aplicación 202 que someterá a la localización y una variedad de fuentes de entrada 204 que ingresan varias traducciones en los almacenamientos de datos en el sistema 200 a través del componente de reunión de datos 205. El sistema 200, por si mismo, incluye administrador de recurso 206, motor de diseño 208, acoplador de memoria de traducción (TM) 210, administrador de descarga 212, servicio de datos de memoria de traducción (TM) 214, sistema de traducción de máquina (MT) 216, filtros 218, sistema de certificado 220 y una pluralidad de diferentes almacenamientos de datos. Los almacenamientos de datos mostrados en la Figura 2 incluyen almacenamiento de datos de reglas de aplicación 222, almacenamientos locales y privados 224 y 226, respectivamente, un almacenamiento de datos de base de término 228 y un almacenamiento de datos de traducción de base de término 230, almacenamiento de ontología 232, memoria de traducción 234 y almacenamiento de datos de elementos Ul comunes 236. En general, las reglas de aplicación se utilizan en los recursos para especificar los datos ricos relacionados con aplicación, mientras los filtros se utilizan para asegurar que las entidades (o fuentes de entrada 204) que contribuyen con los datos solamente son capaces de modificar los datos en los que contribuyen, y que todos los datos agregados se filtran basándose en ciertas reglas Por supuesto, los almacenamientos de datos pueden agruparse, fusionarse o dividirse de forma diferente, en cualquier forma deseada La operación detallada del sistema 200 se describió posteriormente en la especificación con respecto a las Figuras 2-6 Sin embargo, ahora se tomara una breve discusión de la operación de sistema 200 y los artículos mostrados en la Figura 2 Durante el tiempo de funcionamiento, el administrador de recurso 206 carga los recursos asociados con la aplicación 202 en la memoria caché 206 (se pueden encontrar escenarios similares para contenido y otro tipo de datos locahzables) El administrador de recurso 206 también recibe llamadas de aplicación 202 para recursos El administrador de recurso 206, en respuesta, primero carga una sene de caracteres en un lenguaje que está asociado con el local actualmente seleccionado por la plataforma 200 El administrador de recurso 206 decide que versión del recurso cargar basándose en una variedad de criterios tal como disponibilidad, nivel de confianza, configuraciones de usuario, etc El administrador de recurso 206 puede decidir invocar al acoplador de TM 210 Para hacer esto, el administrador de recurso 206 llama al acoplador TM 210 para obtener una traducción (o localización) de un recurso especifico. El acoplador TM 210 también puede tener datos de recurso pre-llenos para prevenir los retrasos de tiempo de funcionamiento en la carga de recurso; la información pre-llena se etiquetará con información relevante si viene del sistema MT 216 o el acoplador TM 210, su fuente de confianza, etc. esto se discute en mayor detalle posteriormente. Si el acoplador TM 210 no regresa un acoplamiento para el recurso, el administrador de recurso 206 que el informe de cascada a través de seguridades de recurso para que pueda proporcionarse la traducción en un lenguaje de seguridad diferente. Esto también se describe en mayor detalle posteriormente. También, en una modalidad, tanto el administrador de recurso 206 como el acoplador TM 210 tienen seguridades. Pueden ser diferentes una de otra y aunque los resultados del acoplador TM 210 pueden influenciar al administrador de recurso 206, el administrador de recurso 206 puede decidir la seguridad sin llamar al acoplador TM 210. No es extraño que los cambios hechos por la localización en las fuerzas de series de caracteres cambien en los artículos de presentación que contienen esas series de caracteres. Ejemplos comunes incluyen la necesidad de más espacio (series de caracteres más largas), cambios en el flujo de un diálogo (lenguajes de derecha a izquierda contra lenguajes de izquierda a derecha), etc. El procedimiento de ajuste puede suceder en tiempos de local.ización, en tiempo de presentación o ambos. El caso más común es que el reordenamiento y el reajuste de los artículos en un diálogo se necesite, y el procedimiento se denomina como un auto diseño. En la cantidad y precisión de la información improvista durante el procedimiento de autorización influenciará los resultados producidos en el tiempo de funcionamiento. El acoplador TM 210 se sitúa entre varias fuentes de traducciones y administrador de recurso 206, que solicita el contenido para acoplarse (o traducirse en otro lenguaje o de otra forma localizarse). El acoplador TM 210 busca los recursos disponibles (y aquellos recursos en los que se confía por una aplicación 202) para encontrar una traducción que tenga la marca de confianza superior asociada con ésta. De nuevo, una decisión más detallada de la operación del acoplador TM 210 se establece posteriormente con respecto a la Figura 4. Brevemente, sin embargo, el acoplador TM 210 accede a las reglas asociadas con la aplicación o contenido 202 en el almacenamiento de datos de reglas de aplicación 222 para asegurar que todo lo que la localización se proporciona de nuevo al administrador de recurso 206 no causa que la aplicación 202 tenga un mal funcionamiento. El acoplador TM 210 primero busca el almacenamiento de datos local 224 y almacenamiento de datos privados 226 para ver si una localización ya existe. El almacenamiento local 224 soporta las traducciones u otras ubicaciones de recursos que ya se localizaron, en caso en que la solicitud que se hace por el administrador de recurso 206 es una que se hizo antes.
El acoplador TM 210 también invoca al servicio de datos TM 214. El servicio de datos TM 214 accede a la memoria de traducción 234 que contiene traducciones u otras localizaciones de una amplia variedad de diferentes cosas, tal como elementos de ¡nterfase de usuario (UI) comunes almacenados en el almacenamiento 236, así como términos definidos almacenados en la base de termino 228, y almacenamiento de ontología 232 proporciona información de contexto para aplicación 202 y un dominio asociado. Si no existen todavía localizaciones ya sea localmente en el almacenamiento 224 o 226, o remotamente en el almacenamiento 234, el acoplador TM 210 puede acceder a un sistema de traducción de máquina (MT) opcionalmente disponible 216 (o una de una pluralidad de sistemas MT disponibles) para realizar traducción de máquina o el contenido para localizarse. La decisión por el acoplador TM 210 para invocar el sistema MT 216 puede basarse en preferencias de usuario, la disponibilidad de una traducción, la calidad de traducciones disponibles y traducciones proporcionadas por MT, etc. El sistema de traducción de máquina 216, en una modalidad, es cualquier sistema MT comercialmente disponible y solamente se utiliza ilustrativamente para traducciones y no hay concordancia con un nivel de confianza superior desde cualquier otro de los recursos de memoria (tal como servicios de datos TM 214 y los almacenamientos de datos locales y privados 224 y 226). El hecho de que el sistema MT 216 pueda ser substancialmente cualquier sistema MT, o cualquier sistema capaz de utilizar los datos en los diferentes almacenamientos (por ejemplo traducciones previas) para producir traducciones ampliamente aumenta la extensión del sistema debido a que nuevos o diferentes sistemas MT pueden utilizarse fácilmente por el acoplador TM 210. Por supuesto, la extensión del sistema MT no es la única extensión en el sistema, pero es solamente un ejemplo. Algunos otros ejemplos de extensión de sistema incluyen editores de autorización de contenido, analizadores de lenguaje, memorias de traducción de tercera parte, editores de comunidad, ambientes de autorización de desarrollo, conexión de servicios web, etc. La extensión en estas áreas y otras se soporta por las APIs en la plataforma 200. En cualquier caso, cada uno de los recursos de traducción llamado por el acoplador TM 210 ilustrativamente proporcionar el acoplador TM 210 con una marca de confianza (o velocidad de traducción, velocidad de reciclado, u otra medida similar) que indica la confianza o velocidad de reutilización asociada con la localizacíón que se solicita. En acoplador TM 210 después puede seleccionar la localización o traducción de la fuente confiable que proporciona la traducción asociada con la marca superior. Las traducciones después se descargan por el administrador de descarga 212 al almacenamiento local 224, si todavía no están almacenadas ahí. En una modalidad ilustrativa, una amplia variedad de fuentes de entrada 204 pueden proporcionar entradas de traducción a las varias memorias en el sistema 200. Por ejemplo, los vendedores o fabricantes de software que desarrollan sistemas operativos que incorporan plataforma de localización 200 proporcionaran ilustrativamente términos confiables a las varias memorias. Sin embargo, en una modalidad, las fuentes de entrada 204 pueden incluir la comunidad en comunidad grande y de desarrollo. La comunidad en grande permite a cualquier que realiza servicios de localización que utiliza sistema 200 proporcionar una localización sugerida de contendido a la memoria apropiada a través del componente de recolección de datos 205. Los recursos de entrada 204 también pueden incluir la comunidad de desarrollo que (como opuesto a la comunidad en grande) almacenara traducciones provistas solamente por desarrolladores oficialmente reconocidos como tales. De esa forma, se puede observar que la plataforma 200 permite que el procedimiento de localización se abra a la involucración de comunidad en una muy gran escala así como ajustarse a un nivel granular (por ejemplo el usuario decide en que confiar o en que no) para satisfacer las necesidades y expectaciones de usuario. Además, el componente de recolección de datos puede dinámicamente (durante el arranque, tiempo de funcionamiento, configuración, etc.) recolectar intermitentemente nuevos datos de una variedad de fuentes de entrada 204. Los nuevos datos por supuesto pueden ser nuevos datos de recursos así como datos pre-localizados o datos de memoria de traducción, para soportar nuevas aplicaciones, nuevos dominios, y para realizar autosintonización de un sistema operativo en funcionamiento. Esto abarca la adaptabilidad y exactitud del sistema. Sin embargo, un desarrollador de aplicación particular, administrador de sistema o usuario puede ser que sólo se confié en cierto contenido de localización. El desarrollador, por ejemplo, puede no desear confiar en el contenido de localización de la comunidad en grande o la comunidad en desarrollo, pero solamente de vendedores y de fabricantes de OS. Esto permite a un desarrollador o usuario establecer la extensión a la cual la plataforma 200 abre las tareas de localización a diferentes recursos. Esto puede establecerse incluso en una base de serie por serie de caracteres. En una de tales modalidades, el sistema 200 incluye el sistema de certificado 220 que une certificados al contenido provisto por ciertos recursos. En cada caso, el desarrollador de aplicación 202 puede desear que solamente el contenido de localización con un certificado unido se confíe. Por ejemplo, los desarrolladores y otros contribuyentes pueden ser capaces de obtener el derecho de firmar su contenido que es relativo al enlace en el que están en relación a su aplicación. Lo que significa que un certificado del desarrollador de una aplicación coloca al desarrollador en el enlace de desarrollador para esa aplicación específica y todos los otros contribuyentes están en un enlace hacia abajo en el "otro ISV", comunidad o enlace de usuario. Los certificados pueden confiarse en relación al enlace del contribuyente. Por ejemplo, un fabricante dado siempre puede tener en el enlace superior, pero desde ese enlace hacia abajo el usuario puede determinar un enlace confiable y dentro de fuentes confiables de unión. La indicación de que contenido de localización se va a confiar con cualquier aplicación dada 202 o por cualquier usuario puede almacenarse en el almacenamiento de datos de reglas de aplicación 222. Los certificados ayudan a establecer un sistema de confianza para traducciones. El usuario o desarrollador también puede elegir fuentes confiables jerárquicas. Por ejemplo, con base en el origen del contenido de localización, un usuario puede determinar si confía solamente en el fabricante OS, y si ninguno está disponible, después confía en las traducciones de vendedor de software independientes, y si esas no están disponibles, sólo después confiar en la comunidad de desarrollo, y así sucesivamente. En una modalidad ilustrativa, esta jerarquía se establece por omisión, pero un usuario puede simplemente aceptar o superarla con configuraciones personales. Para configuración puede implementarse en las reglas de aplicación asociadas con cada aplicación o con una máquina individual que funciona en la aplicación. También, se debe notar que el almacenamiento privado 226 es similar al almacenamiento local 224, ya que reside en un almacenamiento de datos de usuario. Sin embargo, el almacenamiento local 224 es ilustrativamente un almacenamiento ancho de sistema con almacenamiento privado 226 que es un almacenamiento que puede utilizarse para indicar contenido de localización confiable que corresponde a un usuario individual que incluye datos ingresados por el usuario para su propio uso privado. Por lo tanto, cada usuario individual puede identificar contenido de localización confiable diferente. Ese contenido se identifica para ese usuario en particular en el almacenamiento privado 226. Esto permite a un usuario individual adaptar el procedimiento de localización incluso más allá de lo asociado con una aplicación individual. Por ejemplo, el usuario puede hacer cambios a sus propias aplicaciones, como sea necesario y permitirse por la aplicación. El usuario también puede compartir almacenamientos locales o privados de nuevo a la comunidad. Además, ciertas traducciones pueden cerrarse para que nos e modifiquen. Esto puede ser crípticamente importante para evitar traducciones malignas potencialmente. Por ejemplo, una de las fuentes de entrada puede proporcionar una traducción maligna que traduciría el término "Dar Clic Aquí para Formatear su Unidad Dura" como "Dar Clic Aquí para Continuar". Una vez que el acoplador TM 210 obtiene una localízación indeseada de la solicitud del administrador de recurso 206, aplica filtros 218 y reglas de aplicación del almacenamiento 222. Los filtros 218 ilustrativamente definen términos que no se van a colocar en cualquier contenido de localízación en cualquier lenguaje dado. Por ejemplo, algunos usuarios pueden desear filtrar términos obscenos o cualquier otro contenido objetable. Por lo tanto, los filtros 218 se aplican antes de utilizar el contenido localizado solicitado por el administrador de recurso 206. Se notará que aplicar filtros (así como cualquier otro tipo de validación) es un paso en la localización y puede aplicarse en muchos pasos en el procedimiento, tal como edición, descarga, utilización, etc.). Por ejemplo, la validación, en general, ocurre en cualquier momento que los componentes intercambian datos, a menos que los componentes confien completamente uno el otro, y el canal utilizado para comunicarse también sea confiable (tal como contra actividad clandestina). Por lo tanto, por ejemplo, si los recursos se descargan de una fuente confiable, y los recursos tiene una firma válida, ninguna otra validación (diferente a la validación de la firma) necesita hacerse. Si la fuente es confiable pero el archivo no se marca después el canal utilizado para transportar la información se evalúo para determinar si también es confiable. Por ejemplo, un archivo no marcado que se descargo del internet es más probable que se falsifique que un archivo no marcado que un usuario copio de otra carpeta en la misma computadora. Dependiendo de varios factores puede decidir someterse a una validación funcional rápida, o alguna validación de contenido adicional puede conducirse, tal como revisión de palabras ofensivas o para asegurar términos en el recurso original están presentes en el recurso objetivo (por ejemplo, el "menú" no se traduce como "carpeta"). El componente de establecimiento/configuración de aplicación 240 se utiliza durante la configuración y post-configuración de establecimiento. Durante la configuración, la aplicación 202 registra sus recursos con almacenamiento de recurso local 224. El componente 240 ilustrativamente expone una interfase de usuario que permite al usuario localizar la aplicación a un lenguaje objetivo soportado por la plataforma si todavía no está localizado. La interfase de usuario puede permitir al usuario seleccionar explícitamente el lenguaje objetivo. El componente de localización a demanda 241 pasa estas solicitudes al administrador de recurso 206 y también posiblemente al acoplador TM 210. La aplicación de legado 242 representa aplicaciones que se desarrollaron y no están consientes de la plataforma 200. La capa de compatibilidad 242 soporta interfases de recursos existentes utilizadas por la aplicación 242, y redirige llamadas al administrador de recurso 206. La Figura 3 es un diagrama de flujo que ¡lustra la operación de plataforma 200 en mayor detalle, de acuerdo con una modalidad de la presente invención. Durante el tiempo de funcionamiento, un usuario primero selecciona o inicia una aplicación 202. Esto se indica por el bloque 300 en la Figura 3. Después, en esta modalidad, el administrador de recurso 206 carga los recursos necesarios asociados con la aplicación 202 en la memoria caché 207 (o en otro dispositivo de almacenamiento, todos los cuales se denominan aquí como "memoria caché", en este contexto). Esto se indica por el bloque 302. En los antecedentes, el sistema operativo (y en particular la plataforma de localízación 200) comienza a traducir los recursos en la memoria caché 207 al lenguaje deseado. Al hacer esto, la plataforma 200 implementa las reglas de aplicación 222 asociadas con la aplicación 202, y el modelo de confianza (es decir, las fuentes de localización confiables) asociadas con la aplicación 202 o el usuario (el que aplique). El administrador de recurso 206 invoca al acoplador TM 210 para los recursos almacenados en la memoria caché 207 para obtener su valor localizado. La localizacíón de los recursos cargados en la memoria caché 207, en los antecedentes, se indica por el bloque 304, en la Figura 3. También se debe notar que llenar los recursos localizados para una aplicación no necesita esperar hasta el tiempo de funcionamiento. En vez de esto, esto puede hacerse durante la configuración u otro tiempo. Además, algunas partes de la localización pueden activarse en el tiempo de funcionamiento mientras otras pueden hacerse en la configuración u otro tiempo. Por ejemplo, algunas de las más tareas de consumo de tiempo o computacionalmente costosas pueden realizarse en los antecedentes, durante la configuración u otro tiempo, mientras las tareas más rápidas pueden realizarse en el tiempo de funcionamiento. Incluso en otra modalidad las tareas pueden asignarse por el usuario) para realizarse en cualquier tiempo especifico y el estado de estas tareas puede presentarse también. Mientras los recursos se localizan en los antecedentes, no sólo los valores localizados están almacenados en la memoria caché 207, si no también se colocan en el almacenamiento local 224. Por lo tanto, la siguiente vez que la aplicación 202 se inicie, el procedimiento de localización será mucho más rápido, debido a que todos los valores de recurso que se localizaron ya se localizarán en el almacenamiento local 224. De esa forma, el acoplador TM 210 no necesita buscar el servicio de datos TM 214 o tener los valores traducidos al utilizar el sistema de traducción de máquina 216, debido a que las localizaciones se recordarán por el sistema. En vez de esto, simplemente pueden recuperarse del almacenamiento local 224. El almacenamiento de las traducciones en el almacenamiento local 224 se indica por el bloque 306 en la Figura 3. También, a demanda, las traducciones completas pueden cargarse en el almacenamiento local 224 que utiliza el administrador de descarga 212. Por supuesto, el presente sistema también puede realizar actualizaciones. Por ejemplo, una traducción no ideal inicialmente puede elegirse debido a que no se puede localizar una mejor. Posteriormente, sin embargo, una traducción mejor puede cargarse en una de las memorias por una de las fuentes 204. El recurso después puede actualizarse periódicamente para acomodar esto. Similarmente, las actualizaciones de código pueden tomar recursos previamente localizados inválidos. Por lo tanto, en una modalidad, los cambios de código activa la re-localización de algunos o todos los recursos. Mientras se hacen las traducciones de recursos, el motor de diseño 208 identifica ciertas traducciones que requerirán modificaciones al diseño de la presentación para la aplicación.
Además, las fuentes utilizadas en el lenguaje de fuente en la aplicación se delinean a las fuentes en el lenguaje objetivo. Esto puede hacerse por el motor de diseño 208 u otros componentes en el tiempo de funcionamiento o en el tiempo previo. El diseño y el delineado de fuente se indican por el bloque 308 en la Figura 3. De esta forma, la plataforma de localización 200 en el sistema operativo continúo para localizar los recursos asociados con la aplicación 202 y almacenados en caché 207. Sin embargo, puede suceder que la aplicación haga una solicitud de un recurso que aún no se localizo en el antecedente. Tal solicitud se indica por el bloque 310 en la Figura 3. El administrador de recurso 206 primero determina si el recurso solicitado ya se localizó y almacenó en la memoria caché 207. Esto se indica por el bloque 312 en la Figura 3. Sí es así, la localización del recurso solicitado simplemente se regresa de la memoria caché 207 a la aplicación 202. Esto se indica por el bloque 314. Sin embargo, si el recurso uno se localizó en los antecedentes y se almaceno en caché 207, después el administrador de recurso 206 solicita localización del recurso de la acoplador TM 210. El acoplador TM 210 después solicita localización del recurso de las varias fuentes, a las que tiene acceso, y regresa a la localización del recuso solicitado. Invocar el acoplador TM 210 se indica por el bloque 316 en la Figura 3. La operación de acoplador TM 210 se describe en más detalle con respecto a la Figura 4. Al localizar los recursos en la memoria caché 207 en antecedentes, la plataforma de localización 200 se aparta significativamente de los sistemas anteriores. Los sistemas anteriores cargan a la memoria caché con los recursos. Sin embargo, esto lleva a desventaja significativa en localización. Si la plataforma de localización espera la aplicación para solicitar un recurso con el fin de localizarla, en el momento de invocar el MT, esto probablemente resulta en un retraso indeseable en la operación de aplicación 202 o los resultados se limitarán por el grupo de algoritmos que pueden utilizarse en tal ambiente limitado (requerimientos de desempeño pueden limitar la exactitud). La tecnología de traducción de máquina actual requiere aproximadamente la mitad de un segundo para traducir un enunciado. Mientras la traducción en el momento y otra localizacíón ciertamente se contempla por la presente invención, traducir todos los recursos en el momento, al utilizar un sistema de traducción de máquina 216, probablemente resulte en un retraso indebido en la operación de la aplicación. Por supuesto, si un número substancial de los recursos se localizo antes y se almacena en el almacenamiento local 224 o almacenamiento privado 226, o si se almacenan en la memoria de traducción 234, y solamente una pequeña porción relativamente de los recursos necesitan traducirse por el sistema MT 216, después la localización de caché 207 en el antecedente no es tan importante como evitar comprometer la operación de aplicación 202. En cualquier caso, el acoplador TM 210 continúa al localizar los valores en la memoria caché 207, ya sea en los antecedentes, y/o en el momento. El acoplador TM 210 continúa hasta que se localizan todos los recursos. En general, el acoplador TM 210 puede trabajar contra uno o más almacenamientos de datos. Esto puede integrarse opcionalmente con otras máquinas de reciclado (tal como acopladores TM o sistemas MT). Esto puede tomar ventaja opcionalmente de terminologías juntos con sus traducciones y relaciones (ontologías). Esto puede utilizar metadatos para decidir que piezas de datos en los almacenamientos suponen constituir el espacio de búsqueda (tal como área de dominio, autor, estado de aprobación, u otros metadatos). Esto puede observarse en restricciones (reglas/filtros de aplicación) en la misma serie de caracteres y tomar ventaja de aquellos para producir una mejor concordancia a una concordancia que se validará más fácilmente. Por su puesto, estas características son opcionales y pueden agregarse más o pueden cambiarse éstas o eliminarse de la operación de acoplador TM, como se desee. La Figura 4 es un diagrama de flujo que ilustra una modalidad de la operación del acoplador TM 210 en más detalle, para la búsqueda de ejemplo solamente. El administrador de recurso 206 primero proporciona al acoplador TM 210 una solicitud para localización. Esto se indica por el bloque 350 en la Figura 4. El acoplador TM 210 después obtiene información de modelo de confianza para el contexto actual. En una modalidad la información de modelo de confianza se almacena con los mismos datos, pero también puede almacenarse en el almacenamiento privado 226 o en cualquier otra fuente que identifique cualquier otro de los artículos de contexto con el cual las fuentes de localización confiables van a determinarse dado el presente contexto. La información de modelo de confianza puede incluir una indicación de que fuentes se confía, o una lista de requerimientos que deben satisfacer un artículo localizado para ser válido y considerado. Esto ayuda en los escenarios de actualización también. Las actualizaciones en código pueden cambiar el grupo de limitaciones que los recursos deben satisfacer. Estos cambios requerirán la re-validación de recursos válidos previamente asumidos. Esto se indica por el bloque 352 en ia Figura 4. El acoplador TM 210 después solicita ilustrativamente localizaciones de los recursos de todas las fuentes de localización confiables, pero también lo hace en un orden dado. El orden y el número de recursos revisados ilustrativamente varía dependiendo de las circunstancias (tal como si la localización toma lugar en el tiempo de funcionamiento, tiempo de configuración, en el procesamiento de grupo, etc.). Esto se indica por el bloque 354. En otras palabras, en una modalidad m el acoplador TM 210 incluso no solicita una traducción de fuentes no confiables. En ese caso, se asume que el usuario no desea confiar en traducciones de la comunidad en grande o de la comunidad de desarrollo en fuentes de entrada 204. El acoplador TM 210 sólo pedirá ei contenido de localización que se origino de las fuentes confiables, y con ello excluirá todo el contenido de localización provisto por la comunidad en grande y comunidad de desarrollo. Por supuesto, el acoplador TM 210 modificará las fuentes de las cuales resulta la localizacíón que se solicitan basándose en las fuentes confiables dado el contexto presente. En respuesta la solicitud del acoplador TM 210, las varias fuentes que se solicitaron para que el contendido de localización regrese sus marcas de confianza asociadas. Por ejemplo, es muy común para resultados de traducción tener un nivel de confianza asociado indicativo de cómo es que la traducción es correcta dado la entrada en el lenguaje de fuente. No es importante para los propósitos de la presente invención qué medida particular se utiliza para indicar la confianza asociada con una traducción u otra localización. En la modalidad ilustrativa, las marcas para todas las fuentes ya sea utilizar la misma medida, o medidas que se correlacionan una con otra, para que el acoplador TM 210 pueda determinar la magnitud relativa de las marcas. Regresando a las marcas de confianza asociadas a las traducciones (o contenido de localización) se indican por el bloque 356 en la Figura 4. El acoplador TM 210 después obtiene el contenido localizado (por ejemplo, la traducción) de la fuente confiable de marca superior. Esto se indica por el bloque 358. También, el acoplador TM 210 puede seleccionar contenido localizado basándose en otros o adicionales criterios también, tal como el tiempo requerido para obtener el contenido localizado, que tan cerca está el contenido localizado del mercado objetivo, criterios de validación u otros criterios o cualquier combinación de criterios. Además, el acoplador TM puede recuperar el contenido de localización de múltiples fuentes y combinarlos. Una vez que se recibe la traducción, el acoplador TM 210 aplica los filtros 218 y otra validación para asegurar que el contenido de localización (o traducción es apropiado dada la aplicación y contexto y cualquiera de los filtros o criterios de validación deseados por el usuario. Aplicar los filtros y otra validación se indica por el bloque 360 en la Figura 4. El acoplador TM 210 también aplica ilustrativamente las reglas de aplicación para que el contenido de localización recuperado del recurso dado no inhiba operación de la aplicación o cause operación inapropiada o de otra forma colapse la aplicación. También se debe notar que alguno del procesamiento de filtrado y validación puede pre-calcularse, más que esperar realizar todos los pasos necesarios en este punto en el procedimiento. Una vez que esto se hace, el acoplador TM 210 regresa al resultado al administrador de recurso 206. Esto se índica por el bloque 362. Se apreciará que este procedimientos e realizará en cualquier momento en el que se invoca al acoplador TM 210 por el administrador de recurso 206. De esa forma, el procedimiento se realizará cuando los recursos en la memoria caché 207 se localizan en el antecedente, y se realizarán cuando una aplicación 202 hace una llamada para un recurso no, o ya localizado. En cualquier caso, el acoplador TM 210 puede encontrar que no hay traducción disponible en el lenguaje deseado o las marcas de confianza regresada se les proporcionan posteriormente un umbral, pero una traducción debe tomarse al utilizar un sistema y traducción de máquina 216. En ese punto, en una modalidad, se notifica al administrador de recurso 206, y puede solicitar al acoplador TM 210 para observar una traducción en un lenguaje de seguridad. Por ejemplo, si el lenguaje objetivo es catalán, la aplicación 202 puede solicitar traducción de un recurso, pero sólo puede no estar disponible en catalán. Sin embargo, el administrador de recurso 206 puede configurarse para que el español sea un primer lenguaje de seguridad a catalán. En ese caso, el acoplador TM 210 regresa al administrador de recurso 206 que indica que ninguna traducción está disponible en catalán y que el sistema de traducción de máquina 216 debe invocarse para obtener tal traducción (alternativamente, sistema MT 216 puede llamarse en la primera llamada por el acoplador TM 210). El administrador de recurso 206 puede, en vez de tomar la penalización de desempeño asociada con la traducción de máquina en momento, simplemente solicita al acoplador TM 210 a regresar una traducción de los recursos solicitados en español. Si uno está disponible, se regresa por el acoplador TM 210. Por supuesto, como se indico anteriormente, las localizaciones/lenguajes de seguridad pueden colocarse en cascada jerárquicamente a cualquier grado deseado para que los varios locales sean seguridades para varios otros locales, la última seguridad de la cual puede ser el lenguaje de fuente. De esa forma, si se alcanza la última seguridad, en vez de proporcionar la traducción de recurso solicitado, el administrador de recurso 206 implementa regresar a la aplicación 202 el recurso solicitado en una seguridad última que se asegura por la plataforma para que la aplicación no colapse o pierda un punto de interacción con el usuario debido a la plataforma. El usuario también puede establecer ilustrativamente como trabaja la jerarquía de seguridad. Por ejemplo, el usuario puede indicar que presentar un grupo de recursos (por ejemplo, un diálogo con varias series de caracteres) puede mostrar partes del diálogo en un lenguaje (o localizarse en un mercado) y partes en otro (por ejemplo en la seguridad). Otros usuarios pueden indicar que el grupo presentado de recursos para todos va estar en un lenguaje (localizado en el mismo mercado). También se notará que el usuario no necesita iniciar la aplicación para traducirla por la plataforma 200. El usuario simplemente puede seleccionar una aplicación u otro componente de software para localización, y plataforma 200 puede localizarla en el antecedente. Por ejemplo, en una modalidad, el usuario da clic derecho en una aplicación y, desde un menú, el usuario selecciona "Localizar". La plataforma 200 después comienza a localizar la aplicación en el antecedente, que almacena el contenido localizado en el almacenamiento local. El contenido también puede localizarse en el antecedente. En una modalidad el usuario da clic derecho en un documento que se almacena en el sistema de archivo o en un servidor y elige "Localiza". La plataforma de localización localizará el documento en el antecedente. Lo mismo aplica a documentos que se descartan de internet. Además, cuando se instala una aplicación (o en un documento posterior) el usuario puede seleccionar una pluralidad de idiomas diferentes para instalación. Estos idiomas después se cargan en el almacenamiento local 224. Las traducciones pueden almacenarse en el disco compacto, u otro medio. La Figura 5 es un diagrama de bloque que ilustra los componentes de plataforma 200 en el contexto de desarrollo. Un gran número de artículos son similares a aquellos mostrados en la Figura 2 y se enumeran similarmente. La Figura 5 muestra plataforma de ayuda 380 y componente de desarrollo 382. El componente de desarrollo 382 puede ser cualquier componente de desarrollo deseable tal como Estudio Visual Disponible de Microsoft Corporation de Redmond, Washington, o cualquier otro componente de desarrollo deseado para autorizar software. La plataforma de ayuda 380 ayuda a autorizar contenido al interactuar con uno o más componentes de plataforma 200, tal como plataforma de traducción 381 para permitir al desarrollador desarrollar un producto que tiene una alta velocidad de reciclado, y de esa forma un costo ampliamente reducido para localización en diferentes lenguajes. Tanto componentes de desarrollo 382 como la plataforma de asistencia 380 consumen servicios por la plataforma 200. Al hacer eso, el componente de desarrollo 382 y la plataforma de ayuda 380 en conjunto con los otros componentes construyen ciertas prácticas en el procedimiento de desarrollo/autorización de extremo frontal que probablemente aumente ampliamente la capacidad del producto para localizarse para ingresarse en varios mercados diferentes y de esa forma aumenta ampliamente el regreso de inversión en desarrollo. El componente de construcción 384 utiliza la información provista por la plataforma de localización y/o plataforma de ayuda 380 o cualquier otra herramienta de autorización de contenido que puede acceder a la plataforma de localización a través de las APIs y las reglas de aplicación en el almacenamiento de datos 222 y construye la aplicación 202 así como documentos de contenido. También se debe notar que la presente discusión de la Figura 5 procede generalmente con respecto al desarrollador que desarrolla una aplicación o un contenido de autorización de autor. Sin embargo, el sistema puede utilizarse para una variedad de cosas sin importar el tipo de contenido o software que el desarrollador desarrolla o que el autor autoriza. De acuerdo con una modalidad de la presente invención, existen dos formas para que un desarrollador o autor respectivamente utilicen un componente de desarrollo 382 para desarrollar software o plataforma de ayuda 380 para desarrollar contenido. Lo primero es utilizar una característica en su ambiente de autorización/desarrollo que, a través de una interfase de programación de aplicación de plataforma (API) u otro mecanismo similar determine si cualquier contenido similar o software ya se desarrollo, y se almacena en cualquiera de las memorias en la plataforma 200. La segunda forma es que el desarrollador simplemente desarrolle el software o contenido (original o no). En el último caso, la plataforma 200 simplemente actúa para proporcionar al desarrollador retroalimentación como a la velocidad de recíclado (por ejemplo, la cantidad de contenido/software que puede traducirse en diferentes lenguajes en la plataforma 200 dadas traducciones previas) del contenido/software y las prácticas de sugerencia que probablemente aumentarán la velocidad de reciclado y también sugieren practicas que inhibirán la aplicación de mal funcionamiento después de localización. De acuerdo con la primera modalidad, el autor de contenido proporciona una entrada a través de plataforma de asistencia 380, y plataforma de asistencia 380 llama a una API u otro mecanismo similar para autorizar un recurso. Esto puede indicarse por el bloque 500 en la Figura 6. La plataforma de ayuda 380 después invoca el acoplador TM 210 para acceder al almacenamiento local 224 y regresa todos los tipos de recurso que ya tiene traducciones. Esto se indica por el bloque 502 de la Figura 6. Por ejemplo, la plataforma de desarrollar puede invocar a una API que indica que el desarrollador de contenido desea autorizar un recurso. En respuesta, la plataforma 380 regresa una indicación de todas las clases diferentes de recursos que están contenidas en la plataforma 200 y que ya tienen traducciones en una variedad de diferentes lenguajes. Por ejemplo, se asume que el resultado de la plataforma y presentada al usuario por la plataforma de desarrollador son las clases de "menús", y "mensajes de error". A través de la funcionalidad expuesta en la API, el desarrollador puede elegir las clases de "mensaje de error" y plataforma de ayuda 380 solicita esta información de plataforma 200 (puede almacenarse en memoria) después regresa todas las clases diferentes de mensajes de error que están contenidas en la plataforma 200. El desarrollador después selecciona una de las clases de mensajes de error, y la plataforma 380 regresa todos los mensajes de error específicos asociados con esa clase. El usuario después puede seleccionar simplemente una de esas clases. El usuario después puede simplemente seleccionar una de los mensajes de error, que ya se autorizaron, y para los cuales la localización será altamente eficiente (por ejemplo, debido a que ya se tradujo en una variedad de diferentes lenguajes o de otra forma se localizo). El desarrollador que selecciona el tipo, clase y recurso específico, si está disponible, se indica por el bloque 504 en la Figura 6. También se apreciara, por supuesto, que el mensaje exacto, específico con el cual el desarrollador desea autorizar puede no estar ya disponible. En ese caso, el usuario puede seleccionar un mensaje muy cercano y modificarlo. El mensaje modificado probablemente, muchos casos no será capaz de localizarse un poco eficientemente, debido a que la mayoría de este ya estaba en existencia en la plataforma de localización 200. En cualquier caso, elegir un mensaje similar, no idéntico resultará en una penalización de confianza. Modifica un recurso elegido se indica con el bloque 506 en la Figura 6. Este tipo de reciclado proporciona al autor un grado alto de flexibilidad en relación a un localizador de técnica anterior que ocurre después de desarrollo. Por ejemplo, el autor puede cambiar el número de colocables en una serie de caracteres de software, mientras un localizador tradicional está un poco más restringido. También, el autor puede reubicar completamente una oración de fuente (al asumir que los términos claves se mantienen) mientras un localizador tradicional puede ser no capaz de hacerlo. Considerar la oración para un mensaje de error: "archivo {0} no existe". El autor puede cambiar esto a "archivo {0} en la unidad {1} no puede encontrarse", mientras un localizador convencional no puede utilizar la traducción de la primera oración como una traducción para la segunda debido a que, sin el exceso al código, el localizador convencional no es capaz de cambiar la suposiciones fundamentales en el código con respecto al número de colocables. El recíclado no sólo debe hacerse con respecto al texto encontrado en mensajes, si no también debe hacerse con respecto a elementos de Ul comunes en el almacenamiento de datos 236. Reutilizar elementos de Ul anteriores también puede aumentar la velocidad de reciclado y localización del producto. Durante el desarrollo, el desarrollador también puede desear proporcionar almacenamiento de ontología a ontología 232. La ontología es una especificación de una conceptualización y describe las relaciones entre términos, lo que permite la codificación semántica de contenido y series de caracteres. Una modalidad de una ontología se establece en las Patentes de E.U.A. No. 6,253,170, y 6,098,033. Otra descripción de ontologías se establece en Gruber, UN ACERCAMIENTO A TRADUCCIÓN PARA ONTOLOGÍAS PORTÁTILES, ADQUISICIÓN DE RECONOCIMIENTO, 5(2):199-220 (1993). En general, las palabras se traducen de forma diferente dependiendo del contexto. Específicamente, las palabras o términos pueden traducirse de forma diferente dependiendo del contexto de aplicación en localización de software. La plataforma de localización 200 tiene acceso a datos semánticos en la forma de almacenamiento de datos de ontología 282 que describe la relación entre términos. Las ontologías pueden generarse manualmente al ingresar información semántica junto con la palabra o término o al aplicar automáticamente algoritmos que son capaces de determinar el contexto semántico por la proximidad de una palabra o término a otras palabras o términos. El almacenamiento de datos 282 se llena ilustrativamente por estructura y contexto de aplicación derivado del formato de recursos. El tipo de codificación semántica en almacenamiento de ontología 282 permite que la plataforma 200 elimine ambigüedades a las semánticas para los recursos a traducirse, mientras también proporciona capacidades de búsqueda poderosas debido a que permite también la eliminación de ambigüedades de consulta. La plataforma de traducción 381 determina la eliminación de ambigüedades y se requiere en el bloque 508 en la Figura 6. Si es así, el almacenamiento de ontología 232 puede accederse para obtener información de semántica de eliminación de ambigüedades, o plataforma de ayuda 380 puede solicitar la eliminación de ambigüedades de información semántica del autor, de la misma forma que el componente de desarrollo 382 puede hacer lo mismo al desarrollador. Esto se indica por el bloque 510 en la Figura 6. Mientras el desarrollador continúa desarrollando el producto, cada uno de los recursos autorizados se somete a un estimado de velocidad de localización por la plataforma de traducción 381 en la plataforma 200. Al estimar la velocidad de localización en los recursos autorizados, la plataforma de traducción 381 identifica los porcentajes de esos recursos que ya se tradujeron (o de otra forma se localizan) y que residen en algún lugar en la plataforma 200. La plataforma de traducción 381 también cuenta el requerimiento para someter los recursos a traducción de máquina por el sistema 216, y también toma en cuenta las marcas de confianza asociadas con cada una de las traducciones que residen en la plataforma 200. Estos artículos se combinan para proporcionar una velocidad de reciclado que es una medida de que tan fácil será para el producto autorizado localizarse en mercados que operan bajo diferentes lenguajes. Proporcionar la velocidad de reciclado total en funcionamiento se indica por el bloque 512 en la Figura 6. Se notará que la velocidad de reciclado puede utilizarse en una amplia variedad de diferentes formas. Por ejemplo, si el desarrollador sólo desarrolla un componente de un sistema completo, el componente puede requerirse para satisfacerse cierto umbral de reciclado antes de que se le permita revisarlo. Similarmente, la velocidad de reciclado puede también ser indicativa del valor de producto dado que probable es que el producto se introduzca en otros mercados. Por supuesto, esta velocidad de reciclado puede utilizarse en una amplia variedad de otras formas también. Se debe notar que el sistema puede calcular la velocidad del reciclado para código que nos e desarrolla en la plataforma. El código simplemente puede proporcionarse a la plataforma 200 ye el acoplador TM 210 puede calcular la velocidad de reciclado para el código, como un todo, y regresarlo, como se desee. Esto puede utilizarse al decidir si se expande un producto a nuevos mercados o incluso si se compran derechos del producto. La discusión procede con respecto a la modalidad en la cual el desarrollador no elige recursos ya existentes. Asumir que el desarrollador no desea seleccionar a partir de recursos pre-autorizados, el desarrollador puede autorizar recursos originales o contenidos. Esto se indica por el bloque 514 en la Figura 6. En ese caso, el desarrollador simplemente autoriza una porción del contenido y plataforma de ayuda 380 llama al acoplador TM 210 para determinar una velocidad de reciclado para el contenido autorizado. Esto se indica por el bloque 516 en la Figura 6. El acoplador TM 210 después accede a sus fuentes de localización y regresa una velocidad de reciclado para el recurso o contenido recientemente autorizado. Estos se indican por el bloque 518 en la Figura 6. En este punto, la plataforma 200 también puede utilizarse para notificar al autor de las prácticas que pueden ayudar al autor a mejorar la velocidad de reciclado del producto bajo desarrollo, o alertar al autor que ciertas prácticas pueden causar que la aplicación funcioné mal una vez que se localiza. Regresar estas indicaciones se indica por el bloque 520 en la Figura 6. En una modalidad, estas indicaciones se proporcionan incluso si el recurso del producto se reutilíza. El hecho que se reutilíza puede como por supuesto significar que algunas de las revisiones ya se habían realizado. Algunos ejemplos de prácticas que pueden afectar la velocidad de reciclado o función de aplicación incluyen, por ejemplo, escribir series de caracteres largas. Las series de caracteres largas no sólo son más difíciles de entender si no también son más difíciles de traducir. Además el software presenta el riesgo que u amortiguador de invasión colapse la aplicación. Otras tácticas que pueden afectar la velocidad de reciclado o función incluyen el uso de caracteres especiales o el uso de gramática impropia, o informal. Utilizar gramática propia construye guías a un aumento mayor en la capacidad de traducir el texto. El acoplador TM 210 de esa forma proporciona una retroalimentación en tiempo real de la velocidad de reciclado del código y los consejos de práctica. También, la plataforma 200 puede tomar ciertas acciones para reducir una afección negativa de estas áreas de problema en el contendido bajo análisis. Estas acciones reducirán la probabilidad que una aplicación colapse después de la localización experimentada. La plataforma 200 puede alertar al usuario que estas acciones de remedio pueden tomarse. Un número de otros artículos deben notarse con respecto a la presente invención. Primero, ilustrativamente proporciona automatización de tecla clave. La plataforma de traducción 381 ilustrativamente rastrea teclas calve que se presentan en cualquier Ul dada con el fin de evitar dos funciones que se asignan a la misma tecla clave en una Ul dada. La plataforma de traducción 381 puede invocarse para seleccionar una tecla clave automáticamente o puede simplemente invocarse para revisar para asegurar que ningún duplicado de tecla clave se toma en una Ul dada. Con el fin de ser capaz de seleccionar o sugerir una tecla clave al usuario la plataforma necesita información con respecto a que artículo están disponibles para el usuario simultáneamente para que pueda evitar repeticiones. Esa información está cercanamente relacionada con la necesaria para presentar la información en la computadora de usuario. La presente invención también puede proporcionar validación y simulación de un ambiente en tiempo de funcionamiento. Una vez que el desarrollador autorizó el componente, el desarrollador puede invocar una API en la plataforma de desarrollo 382 y la plataforma 200 simulará un ambiente de tiempo de funcionamiento bajo el cual se requiere localización. La simulación de tiempo de funcionamiento permite al desarrollador observar físicamente la presentación en la pantalla de presentación, después que se localizó. Esto permite al desarrollador revisar fallas, medir la apariencia estética de las presentaciones y hacer cambios, como se desee. La presente invención de esa forma aumenta la capacidad de un desarrollador de reutílizar el contenido ya desarrollado. Esto significativamente aumenta la velocidad de reciclado y la localizacíón del producto. Además, la presente invención proporciona un sistema que combina inteligentemente localizado del sistema operativo, aplicaciones, la comunidad y terceras partes y de traducción de máquinas. El administrador de recursos carga recursos a una aplicación al regresar recursos solicitados de acuerdo con el lenguaje necesario u otros criterios culturales o de mercado de una variedad de fuentes o almacenamientos de datos (también denominados como componentes de contenido de localización). Además, la plataforma de localización puede utilizarse para proporcionar datos localizados a una amplia variedad de entidades solicitantes tal como aplicaciones, navegadores, máquinas de búsqueda, cargadores de recurso, herramientas de autorización, etc.
También, al permitir a la comunidad y comunidad en grande sugerir alternativas de localización, la presente invención permite que se defina la localización estándar de comunidad, y, a veces permite la localización en algunos mercados muy pequeños. Por ejemplo, la presente invención permite a un usuario localizar una aplicación de lenguaje de inglés para Swahili. El usuario puede proporcionar esta localización de nuevo a la plataforma 200 como una producción sugerida de los varios recursos en la aplicación. Otros usuarios sudafricanos pueden elegir confiar este contenido localizado y descargarlo en Swahili, o localizar por si mismos o modificar la ubicación y proporcionar su propia ubicación de nuevo a la plataforma 200. De esta forma, la aplicación puede localizarse y revisarse a disponibilidad en un mercado en donde de otra forma puede' no ser debido al tamaño de mercado pequeño. En una modalidad, cuando una fuente de entrada 204 proporciona datos, el componente de recolección de datos 205 también registra metadatos, tal como origen, uso, información de contexto (tal como versión de recurso), nivel de confianza, atributos, indicaciones de traducción de máquina, etc. Otros datos pueden recolectarse y almacenarse también. También, en una modalidad, solamente la fuente de entrada 204 que proporcionó esos datos puede cambiar esos datos. La presente invención no sólo proporciona traducciones de descarga para una comunidad, sino también la carga de éstas. Además, las series de caracteres de fuente pueden cargarse/descargarse de una forma similar. También se debe notar que las compañías de tercera parte y comunidades pueden agregar nueva fuente y memorias de traducción a la plataforma 200. En una modalidad ilustrativa, la plataforma 200 proporciona una página web o servicio web que permite la adición ce un nuevo término de fuente y sus metadatos. Los usuarios ilustrativamente se autentificarán para que la plataforma 200 pueda determinar la fuente de cada artículo recientemente agregado. Además, la plataforma 200 ilustrativamente trabajara de acuerdo con un esquema publicado (tal como un esquema XML) que permite a los usuarios cargar varías series de caracteres a la vez. De nuevo, la fuente para cada serie de carácter se conoce ya que cada operación puede requerir autentíficación. Tales series de caracteres pueden agregarse ilustrativamente con una o más traducciones. La plataforma 200 opera similarmente con respecto a términos en las bases de datos de término. También, de acuerdo con una modalidad, las comunidades son capaces de proporcionar traducciones a las series de caracteres de fuente en la plataforma 200. Cuando se editan las traducciones, los metadatos presentes en la fuente están ilustrativamente disponibles para el "traductor" y los metadatos se obligan antes de aceptar la traducción. Esto puede hacerse en una interfase de web simple. Estas traducciones pueden utilizarse por otra gente si el usuario elige compartir sus traducciones con la comunidad. La presente invención también muestra ilustrativamente la comunidad para revisar traducciones que ya existen en la plataforma 200. Esto permite a una fuente de traducciones determinar cuántas veces se eligieron sus traducciones por otros usuarios. Esto permitirá a las fuentes de entrada en la comunidad construir un nombre para sí mismos basándose en la calidad de trabajo y esto conduce a fuentes de entrada a hacer un mejor trabajo para volverse más valiosos en la comunidad. De acuerdo incluso con otra modalidad de la presente invención, cuando un desarrollador carga una aplicación para traducción, el desarrollador se le proporciona una oportunidad a usuarios finales descargar su propia versión localizadas del producto. Si esa opción se habilita, el usuario puede registrarse en la plataforma 200 y recoger el lenguaje, motores y traducciones para utilizarlas con el fin de generar una versión persona del producto. Por ejemplo, el usuario puede pedir la versión "xyz" de un producto mientras se especifica sólo concordancias exactas de traducción que utilizan memorias de traducción que la comunidad (o un usuario específico) aprobó. Este procedimiento puede repetirse periódicamente para obtener un porcentaje superior de traducción de recurso. La plataforma 200 también puede proporcionar notificaciones a usuarios a través de correo u otros servicios de alerta cuando están disponibles nuevas traducciones. De acuerdo con otra modalidad, una tercera parte puede agregar una nueva máquina de verificación de fuente (o traducción) a plataforma 200. Como se discutió anteriormente, un desarrollador puede enviar una aplicación a la plataforma 200 para determinar si una aplicación es altamente localizable. Las terceras partes pueden describir nuevas máquinas para soportar esto. Cuando una tercera parte desarrolla una máquina que satisface los criterios para realizar verificación de fuente (por ejemplo, cuando implementa una interfase deseada), después la tercera parte puede cargarla a la plataforma 200 y cargarla de regreso al usuario para descargar la máquina. Como con las otras partes de los procedimientos descritos con respecto a la presente invención, el marcado y autentificación se utilizan ilustrativamente para asegurar que la fuente de la máquina se conoce y que el usuario decidió confiar en esa fuente. Las máquinas de traducción pueden agregarse en una forma similar, pero ilustrativamente corren en la plataforma de servidor 200 con pasos tomados para asegurar que la máquina de traducción no corrompa cualquiera de los datos de traducción ya existentes. Además, la presente invención realiza globalización y revisiones de lingüística para ayudar a los autores. La presente invención también permite a la comunidad ayudar a un autor. Por ejemplo, la comunidad puede pedir una serie de caracteres de fuente en un cuadro de diálogo en cierto dominio, en donde la serie de caracteres de fuente puede localizarse fácilmente. Esto ayuda al autor al inicio en autorizar contenido altamente localizable. Se debe notar que, mientras se asignan ciertas funciones a ciertos componentes en la modalidad descrita, este no puede ser el caso. Las funciones pueden realizarse por diferentes componentes y alguno componentes pueden eliminarse, modificarse o agregarse, todos dentro del alcance de la presente invención. De esa forma se puede observar que la presente invención consolida datos para localización de localizaciones pasadas de una amplia variedad de productos y una amplia variedad de fuentes de entrada. En vez de cada producto o producto que tiene su propia memoria de traducciones, que no son accesibles por otros productos, la plataforma 200 hace esta información disponible, como se desea por el desarrollador o usuario, a la ubicación subsecuente de diferentes productos. Esto también cambia el procedimiento de localización para que los usuarios finales tengan acceso a un grado de opciones para adaptar (localizar) su experiencia de computadora. Esto también permite la participación de comunidad en el procedimiento. Como consecuencia, la tarea de localización por si misma se hace independiente de producto, solamente enlazada al producto a través del contexto de aplicación. Otras aplicaciones pueden acceder a las series de caracteres localizadas en cualquier momento si el modelo de confianza y el contexto de aplicación lo permiten. Aunque la presente invención se describió con referencia a modalidades particulares, los expertos en la técnica reconocerán los cambios en la forma y detalles sin apartarse del espíritu y alcance de la invención.

Claims (1)

  1. REIVINDICACIONES 1.- Una plataforma de localización operativamente acoplada a un sistema operativo, que comprende: una pluralidad de componentes de localización que proporcionan datos localizados que se localizan en uno o más mercados distintos; un almacenamiento de ontología que almacena información de ontología; y un componente de acoplamiento de traducción configurado para recibir una solicitud de localización que corresponde a datos de entrada para ser localizados, para acceder a la pluralidad de componentes de localización y el almacenamiento de ontología basándose en la solicitud de localización, y para seleccionar y sacar datos localizados de uno o más de la pluralidad de componentes de localización basándose en criterios predeterminados. 2.- La plataforma de localización de acuerdo con la reivindicación 1, en donde el componente de acoplamiento de traducción se configura para acceder al almacenamiento de ontología que elimina ambigüedades de los datos de entrada para localizarse. 3.- La plataforma de localización de acuerdo con la reivindicación 2, en donde el componente de acoplamiento de traducción se configura para recibir datos de entrada de un componente de autorización. 4.- La plataforma de localización de acuerdo con la reivindicación 2, en donde el componente de acoplamiento de traducción se configura para recibir los datos de entrada de un administrador de recurso que se acopla a una aplicación 5 - La plataforma de locahzación de acuerdo con la reivindicación 1, en donde los componentes de locahzación, el almacenamiento de ontología y el componente de acoplamiento de traducción se integran con un sistema operativo 6 - La plataforma de localizacion de acuerdo con la reivindicación 1, en donde los componentes de localización proporcionan marcas de confianza asociadas con los datos localizados, dados los datos de entrada y en donde el componente de traducción se configura para seleccionar los datos localizados basándose en las marcas de confianza 7 - La plataforma de localización de acuerdo con la reivindicación 1, en donde los componentes de localización comprenden una pluralidad de almacenamientos de datos que almacenan datos localizados en uno o más mercados distintos 8 - La plataforma de locahzación de acuerdo con la reivindicación 1, en donde los componentes de localización comprenden al menos un sistema de traducción de máquina 9 - La plataforma de localización de acuerdo con la reivindicación 1, en donde la plataforma de localización se configura para proporcionar localización como un servicio a un sistema operativo separado. 10.- Un método para localizar datos, que comprende: recibir una solicitud indicativa de la información a ser localizada; acceder a una pluralidad de componentes de localiza.ción que proporcionan datos localizados basándose en la solicitud; acceder a un almacenamiento de ontología basándose en la solicitud; y seleccionar datos localizados de uno o más de la pluralidad de componentes de localización basándose en criterios predeterminados. 11.- El método de acuerdo con la reivindicación 10, en donde la selección comprende: eliminar ambigüedades de la información para localizarse basándose en datos de ontología en el almacenamiento de ontología. 12.- El método de acuerdo con la reivindicación 10, en donde el recibir comprende: recibir la solicitud de un componente de autorización. 13.- El método de acuerdo con la reivindicación 10, en donde el recibir comprende: recibir la solicitud de un administrador de recursos que se configura para recibir la información que se localizará basándose en una solicitud de una aplicación. 14.- El método de acuerdo con la reivindicación 10, en donde los pasos de recibir una solicitud, acceder a una pluralidad de componentes de localización, acceder a un almacenamiento de ontología y seleccionar datos localizados se realizan por un sistema operativo. 15.- El método de acuerdo con la reivindicación 10, en donde los pasos de recibir una solicitud, acceder una pluralidad de componentes de localización, acceder a un almacenamiento de ontología y seleccionar datos localizados se realizan por un servicio en respuesta a una llamada de un sistema operativo. 16.- El método de acuerdo con la reivindicación 10, en donde los componentes de localización proporcionan marcas de confianza asociadas con los datos localizados, dado los datos de entrada y en donde el seleccionar comprende: seleccionar los datos localizados basándose en las marcas de confianza. 17.- El método de acuerdo con la reivindicación 10, en donde los componentes de localización comprenden una pluralidad de marcas de datos que almacenan datos localizados en uno o más mercados distintos y un componente de servicio de datos acoplado al componente de acoplamiento de traducción y en donde el seleccionar comprende: acceder a los almacenamientos de datos a través del componente de servicio de datos. 18.- El método de acuerdo con la reivindicación 17, en donde los componentes de localización comprenden al menos un sistema de traducción de máquina y en donde el seleccionar comprende: acceder al menos a un sistema de traducción de máquina.
MX2007011028A 2005-03-08 2006-03-08 Ontologia de incorporacion de autorizacion de recursos. MX2007011028A (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US65961605P 2005-03-08 2005-03-08
US11/118,544 US7653528B2 (en) 2005-03-08 2005-04-29 Resource authoring incorporating ontology
PCT/US2006/012901 WO2006132700A2 (en) 2005-03-08 2006-03-08 Resource authoring incorporating ontology

Publications (1)

Publication Number Publication Date
MX2007011028A true MX2007011028A (es) 2007-11-15

Family

ID=36972139

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007011028A MX2007011028A (es) 2005-03-08 2006-03-08 Ontologia de incorporacion de autorizacion de recursos.

Country Status (12)

Country Link
US (1) US7653528B2 (es)
EP (1) EP1856631A4 (es)
JP (1) JP5058966B2 (es)
KR (1) KR20070110341A (es)
AU (1) AU2006255783B2 (es)
BR (1) BRPI0609159A2 (es)
CA (1) CA2600474A1 (es)
EG (1) EG25786A (es)
MX (1) MX2007011028A (es)
NO (1) NO20074637L (es)
RU (1) RU2422890C2 (es)
WO (1) WO2006132700A2 (es)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489980B2 (en) * 1998-02-23 2013-07-16 Transperfect Global, Inc. Translation management system
US20130124987A1 (en) 1998-02-23 2013-05-16 Transperfect Global, Inc. Translation management system
US7665063B1 (en) 2004-05-26 2010-02-16 Pegasystems, Inc. Integration of declarative rule-based processing with procedural programming
US8335704B2 (en) 2005-01-28 2012-12-18 Pegasystems Inc. Methods and apparatus for work management and routing
US8219907B2 (en) * 2005-03-08 2012-07-10 Microsoft Corporation Resource authoring with re-usability score and suggested re-usable data
US20060206797A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Authorizing implementing application localization rules
BRPI0706404B1 (pt) * 2006-02-17 2019-08-27 Google Inc acesso escalável, de codificação e adaptável de modelos distribuídos
US8924335B1 (en) 2006-03-30 2014-12-30 Pegasystems Inc. Rule-based user interface conformance methods
US8335679B2 (en) 2006-11-21 2012-12-18 Lionbridge Technologies, Inc. Methods and systems for local, computer-aided translation incorporating translator revisions to remotely-generated translation predictions
US8494834B2 (en) * 2006-11-21 2013-07-23 Lionbridge Technologies, Inc. Methods and systems for using and updating remotely-generated translation predictions during local, computer-aided translation
US8046233B2 (en) * 2006-11-21 2011-10-25 Lionbridge Technologies, Inc. Methods and systems for local, computer-aided translation using remotely-generated translation predictions
US8036859B2 (en) * 2006-12-22 2011-10-11 Merced Systems, Inc. Disambiguation with respect to multi-grained dimension coordinates
US7711684B2 (en) * 2006-12-28 2010-05-04 Ebay Inc. Collaborative content evaluation
US8250525B2 (en) 2007-03-02 2012-08-21 Pegasystems Inc. Proactive performance management for multi-user enterprise software systems
US8051075B2 (en) * 2007-09-24 2011-11-01 Merced Systems, Inc. Temporally-aware evaluative score
US8725490B2 (en) * 2007-10-18 2014-05-13 Yahoo! Inc. Virtual universal translator for a mobile device with a camera
US9910850B2 (en) * 2007-10-25 2018-03-06 Disney Enterprises, Inc. System and method of localizing assets using text substitutions
US8086692B2 (en) * 2008-08-27 2011-12-27 Satyam Computer Services Limited System and method for efficient delivery in a multi-source, multi destination network
US8843435B1 (en) 2009-03-12 2014-09-23 Pegasystems Inc. Techniques for dynamic data processing
US8468492B1 (en) 2009-03-30 2013-06-18 Pegasystems, Inc. System and method for creation and modification of software applications
US8645936B2 (en) * 2009-09-30 2014-02-04 Zynga Inc. Apparatuses, methods and systems for an a API call abstractor
FR2959333B1 (fr) * 2010-04-27 2014-05-23 Alcatel Lucent Procede et systeme d'adaptation d'un contenu textuel au comportement langagier d'une communaute en ligne
US20110289424A1 (en) * 2010-05-21 2011-11-24 Microsoft Corporation Secure application of custom resources in multi-tier systems
US8880487B1 (en) 2011-02-18 2014-11-04 Pegasystems Inc. Systems and methods for distributed rules processing
US20130006603A1 (en) * 2011-06-30 2013-01-03 Verizon Patent And Licensing, Inc. Graphical user interface localization systems and methods
US8949465B2 (en) * 2011-08-26 2015-02-03 Netflix, Inc. Internationalization with virtual staging and versioning
US9244902B2 (en) * 2011-10-20 2016-01-26 Zynga, Inc. Localization framework for dynamic text
US9195936B1 (en) 2011-12-30 2015-11-24 Pegasystems Inc. System and method for updating or modifying an application without manual coding
US20130290926A1 (en) * 2012-04-30 2013-10-31 Rheti Inc. Semantic code binding to enable non-developers to build apps
US10469396B2 (en) 2014-10-10 2019-11-05 Pegasystems, Inc. Event processing with enhanced throughput
US9922028B2 (en) * 2015-09-17 2018-03-20 Oslabs Pte. Ltd. System and method for translation and localization of content in digital applications
US9760627B1 (en) * 2016-05-13 2017-09-12 International Business Machines Corporation Private-public context analysis for natural language content disambiguation
US10698599B2 (en) 2016-06-03 2020-06-30 Pegasystems, Inc. Connecting graphical shapes using gestures
US10698647B2 (en) 2016-07-11 2020-06-30 Pegasystems Inc. Selective sharing for collaborative application usage
US11048488B2 (en) 2018-08-14 2021-06-29 Pegasystems, Inc. Software code optimizer and method
US11567945B1 (en) 2020-08-27 2023-01-31 Pegasystems Inc. Customized digital content generation systems and methods

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69430421T2 (de) * 1994-01-14 2003-03-06 Sun Microsystems Inc Verfahren und Gerät zur Automatisierung der Umgebungsanpassung von Rechnerprogrammen
US5678039A (en) * 1994-09-30 1997-10-14 Borland International, Inc. System and methods for translating software into localized versions
JP3670324B2 (ja) * 1994-11-29 2005-07-13 株式会社東芝 情報処理装置
US5694559A (en) * 1995-03-07 1997-12-02 Microsoft Corporation On-line help method and system utilizing free text query
US5918222A (en) * 1995-03-17 1999-06-29 Kabushiki Kaisha Toshiba Information disclosing apparatus and multi-modal information input/output system
US5903859A (en) * 1996-03-27 1999-05-11 Dell Usa, L.P. Dynamic multi-lingual software module system
US6169981B1 (en) * 1996-06-04 2001-01-02 Paul J. Werbos 3-brain architecture for an intelligent decision and control system
US7165020B2 (en) * 1998-05-29 2007-01-16 Citicorp Development Center, Inc. Multi-language phrase editor and method thereof
US6151022A (en) * 1997-12-01 2000-11-21 Microsoft Corporation Method and apparatus for statically testing visual resources
US6092036A (en) * 1998-06-02 2000-07-18 Davox Corporation Multi-lingual data processing system and system and method for translating text used in computer software utilizing an embedded translator
WO2000025708A1 (en) 1998-11-03 2000-05-11 Throwright Llc Elbow brace for teaching baseball throwing
US6275978B1 (en) * 1998-11-04 2001-08-14 Agilent Technologies, Inc. System and method for term localization differentiation using a resource bundle generator
US6339755B1 (en) * 1998-12-15 2002-01-15 International Business Machines Corporation Method, system and data structure for splitting language and locale properties in a data processing system
US6519571B1 (en) * 1999-05-27 2003-02-11 Accenture Llp Dynamic customer profile management
US6530039B1 (en) * 1999-06-14 2003-03-04 Microsoft Corporation Porting engine for testing of multi-lingual software
US6321190B1 (en) * 1999-06-28 2001-11-20 Avaya Technologies Corp. Infrastructure for developing application-independent language modules for language-independent applications
US6425123B1 (en) * 1999-06-29 2002-07-23 International Business Machines Corporation System, method, and program for testing translatability of software by using english multi-byte transliteration creating double-wide characters
US6275790B1 (en) * 1999-07-28 2001-08-14 International Business Machines Corporation Introspective editor system, program, and method for software translation
US6490547B1 (en) * 1999-12-07 2002-12-03 International Business Machines Corporation Just in time localization
US6865716B1 (en) * 2000-05-05 2005-03-08 Aspect Communication Corporation Method and apparatus for dynamic localization of documents
US7865358B2 (en) * 2000-06-26 2011-01-04 Oracle International Corporation Multi-user functionality for converting data from a first form to a second form
AU2001296823A1 (en) * 2000-10-13 2002-04-22 Trados Corporation Client-driven workflow environment
EP1202168A3 (en) * 2000-10-30 2006-08-23 Microsoft Corporation System and method for dynamically veryfying the compatibility of a user interface resource
US6993568B1 (en) * 2000-11-01 2006-01-31 Microsoft Corporation System and method for providing language localization for server-based applications with scripts
US6983238B2 (en) * 2001-02-07 2006-01-03 American International Group, Inc. Methods and apparatus for globalizing software
US7340389B2 (en) * 2001-02-16 2008-03-04 Microsoft Corporation Multilanguage UI with localized resources
US20020143523A1 (en) * 2001-03-30 2002-10-03 Lakshmi Balaji System and method for providing a file in multiple languages
US7099885B2 (en) * 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US6938259B2 (en) * 2001-10-02 2005-08-30 Hewlett-Packard Development Company, L.P. API to enforce internationalization
EP1315084A1 (en) 2001-11-27 2003-05-28 Sun Microsystems, Inc. Method and apparatus for localizing software
US20030154071A1 (en) * 2002-02-11 2003-08-14 Shreve Gregory M. Process for the document management and computer-assisted translation of documents utilizing document corpora constructed by intelligent agents
CN1643511A (zh) * 2002-03-11 2005-07-20 南加利福尼亚大学 命名实体翻译
US7110937B1 (en) * 2002-06-20 2006-09-19 Siebel Systems, Inc. Translation leveraging
JP2004062446A (ja) * 2002-07-26 2004-02-26 Ibm Japan Ltd 情報収集システム、アプリケーションサーバ、情報収集方法、およびプログラム
US7194413B2 (en) * 2002-07-31 2007-03-20 Deere & Company Method of providing localized information from a single global transformation source
WO2004049195A2 (en) * 2002-11-22 2004-06-10 Transclick, Inc. System and method for language translation via remote devices
US7509251B2 (en) * 2002-12-23 2009-03-24 International Business Machines Corporation Mock translating software applications at runtime
JP2004362249A (ja) * 2003-06-04 2004-12-24 Advanced Telecommunication Research Institute International 翻訳知識最適化装置、翻訳知識最適化のためのコンピュータプログラム、コンピュータ及び記憶媒体
US7533372B2 (en) * 2003-08-05 2009-05-12 Microsoft Corporation Cross language migration
US7437704B2 (en) * 2003-08-28 2008-10-14 Ines Antje Dahne-Steuber Real-time generation of software translation
JP3919771B2 (ja) * 2003-09-09 2007-05-30 株式会社国際電気通信基礎技術研究所 機械翻訳システム、その制御装置、及びコンピュータプログラム
US7283950B2 (en) * 2003-10-06 2007-10-16 Microsoft Corporation System and method for translating from a source language to at least one target language utilizing a community of contributors
US7318020B1 (en) * 2003-10-08 2008-01-08 Microsoft Corporation Methods and systems for external localization
US7814101B2 (en) * 2003-10-30 2010-10-12 Microsoft Corporation Term database extension for label system
US20060173671A1 (en) * 2005-02-02 2006-08-03 Kabushiki Kaisha Toshiba Localizing tool for client software

Also Published As

Publication number Publication date
EG25786A (en) 2012-07-29
WO2006132700A3 (en) 2009-04-23
EP1856631A4 (en) 2010-01-06
BRPI0609159A2 (pt) 2010-02-23
RU2422890C2 (ru) 2011-06-27
JP2008533598A (ja) 2008-08-21
KR20070110341A (ko) 2007-11-16
RU2007133808A (ru) 2009-03-20
AU2006255783B2 (en) 2010-11-11
US7653528B2 (en) 2010-01-26
NO20074637L (no) 2007-09-28
JP5058966B2 (ja) 2012-10-24
EP1856631A2 (en) 2007-11-21
CA2600474A1 (en) 2006-12-14
WO2006132700A2 (en) 2006-12-14
AU2006255783A1 (en) 2006-12-14
US20060206303A1 (en) 2006-09-14

Similar Documents

Publication Publication Date Title
MX2007011028A (es) Ontologia de incorporacion de autorizacion de recursos.
US7698126B2 (en) Localization matching component
US7774195B2 (en) Method and system for creating, storing, managing and consuming culture specific data
US8219907B2 (en) Resource authoring with re-usability score and suggested re-usable data
EP1701255B1 (en) Authoring implementing application localization rules
US7814125B2 (en) Methods for facilitating application development
KR101130500B1 (ko) 데이터 구동 커맨드 라인 출력을 제공하는 메커니즘
US20080019281A1 (en) Reuse of available source data and localizations
JP5346154B2 (ja) リモート境界を横切ってコンピュータ読取り可能オブジェクトを転送するためのシステムおよび方法
US6973655B2 (en) System and method of integrating software components
US8433729B2 (en) Method and system for automatically generating a communication interface

Legal Events

Date Code Title Description
FG Grant or registration
PD Change of proprietorship

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC