MXPA06002683A - Metodo y sistema para crear, almacenar, manejar y cosumir datos especificos de cultura. - Google Patents

Metodo y sistema para crear, almacenar, manejar y cosumir datos especificos de cultura.

Info

Publication number
MXPA06002683A
MXPA06002683A MXPA06002683A MXPA06002683A MXPA06002683A MX PA06002683 A MXPA06002683 A MX PA06002683A MX PA06002683 A MXPA06002683 A MX PA06002683A MX PA06002683 A MXPA06002683 A MX PA06002683A MX PA06002683 A MXPA06002683 A MX PA06002683A
Authority
MX
Mexico
Prior art keywords
location
data
platform
application
content
Prior art date
Application number
MXPA06002683A
Other languages
English (en)
Inventor
Wei Wu
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 MXPA06002683A publication Critical patent/MXPA06002683A/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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Machine Translation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Micro-Organisms Or Cultivation Processes Thereof (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

MÉTODO Y SISTEMA PARA CREAR, ALMACENAR. MANEJAR Y CONSUMIR DATOS ESPECÍFICOS DE CULTURA ANTECEDENTES DE LA INVENCIÓN La presente invención trata el procesamiento de datos. La localización es un proceso para modificar productos y servicios para explicar las diferencias en distintos mercados. Un ejemplo muy común de localización ocurre cuando una aplicación es producida en un lenguaje fuente y se introduce en el mercado que utiliza un lenguaje objetivo diferente del original. Por ejemplo, si una aplicación se produjo en el lenguaje Inglés y después se introdujo en China, se localizará traduciendo las varias cadenas del lenguaje en Inglés y elementos Ul (menús, iconos, etc.), componentes de computadora y asistencia del usuario en la aplicación en Chino. El diseño y el estilo Ul (incluyendo el tipo de fuente, tamaño, posiciones de control, etc.) también probablemente cambiará para adecuarse al lenguaje objetivo. Por supuesto, el concepto de localización es más amplio que simplemente modificar el lenguaje. Los mercados que utilizan el mismo lenguaje pueden ser diferentes por otras razones. Por ejemplo, una aplicación de software puede ser "localizada" para diferentes grupos de edad. Puede tener un grupo de lenguaje y apariencia para adultos y otro para niños o adolescentes. De esta forma, la localización ilustrativamente se adapta para una amplia variedad de diferencias en distintos mercados. Aunque, como se describió anteriormente la localización involucra muchas más cosas que solamente transcribir cadenas; para facilitar la lectura del documento se concentrará la descripción en ese escenario. En una forma similar, la mayor parte de los ejemplos se toman del campo de localización del software, pero la invención no está limitada a la localización del software. Similarmente, ya gran parte de la presente discusión se enfoca en la localización del producto, la invención no está limitada y es solamente aplicable a servicios, y de esta forma el término "producto" incluye "servicios" para el bien de la descripción. En el pasado, no ha habido un intento a nivel de sistema para proveer la localización más bien, la localización ha sido desarrollada utilizando componentes individuales para resolver problemas individuales. Por ejemplo, un localizador puede ampliarse con ciertas técnicas de transcripción de máquina para mejorar la velocidad de la localización, la exactitud y consistencia. Sin embargo, un localizador diferente puede utilizar solamente memorias de transcripción con el fin de incrementar la velocidad de reciclaje reutilizando las transcripciones previas, por lo tanto provee un resultado más consiste a una velocidad más alta que la que tendría sin el uso de herramientas. También, todo esto se ha hecho, convencionalmente, en una forma fuera de línea. En otras palabras, el autor crea una aplicación completa o una porción de un componente más grande, y ese componente o aplicación se provee a un localizador para la localización. El proceso usual es tal que la interacción del localizador con el autor original es mínima o no existente. Esto hace difícil introducir cambios en el contenido original que facilitarían su localización. De hecho, in muchos casos, la localización no se realiza hasta después de que el producto has sido bien desarrollado y se ha hecho una decisión de mercadotecnia estratégica para expandir ese producto dentro de un mercado diferente que utiliza un lenguaje diferente o distinto en otra forma. En todos estos casos, típicamente hay muy poco trabajo inicial hecho en el desarrollo de una aplicación con la localización en mente o aún la optimización para la localización. Similarmente, hay muy poco soporte, en la etapa de desarrollo/producción, para desarrollar una aplicación u otro producto/servicio el cual será relativamente fácil de localizar, aún cuando la producción de un producto o servicio que es fácilmente localizable no es más difícil que producir uno que no es tan fácil localizar. Por consiguiente, los productos, servicios y aplicaciones has sido tradicionalmente transcritos en diferentes lenguajes o por el contrario localizados a través de un proceso complejo, manual y de trabajo intensivo. El costo de esta localización de productos de software, y la transcripción del contenido relacionado con el producto, representa un obstáculo importante que deber ser superado con el fin de introducir nuevos mercados. Esto es especialmente cierto para vendedores o productores de contenido de software independientes de tamaño pequeño a medio.
El problema de la localización también aumenta dependiendo de la ubicación particular en donde se desarrolla el software. Para los programadores que están produciendo software en lugares que tienen grandes mercados, la localización del software para diferentes (y probablemente más pequeños) mercados es menos que una necesidad. Sin embargo, si un programador produce en un lugar (y utilizando un lenguaje) que tiene un mercado relativamente pequeño, la viabilidad completa de producto puede depender de la habilidad para localizar ese producto en lenguajes utilizados en mercados más grandes. Esto requiere que los fabricantes gasten una desmesuradamente alta cantidad de recursos en la localización. Esto por lo general devalúa los recursos disponibles para el desarrollo. Otro problema asociado con los esfuerzos de localización anteriores es que no ha habido un buen camino para trabajar otras fuentes de localización. Por ejemplo, una amplia variedad de vendedores localizan sus productos de varios mercados. Las aplicaciones similares, desarrolladas por diferentes vendedores pueden probablemente estar localizando las mismas cadenas o cadenas muy similares o software para los mismos mercados. Sin embargo, actualmente no hay una forma conveniente para que los dos saquen, compartan, los esfuerzos uno del otro. Por consiguiente, existe mucho esfuerzo duplicado en el localización. Además, existen muchos modelos de programación diferentes (tales como la programación Win32, CLR y WEB) con diferentes tipos de administradores de recursos, formatos de recursos y almacenes de datos. Estos requieren de diferentes configuraciones de programas analizadores y herramientas para manejar a localización, lo cual da como resultado procesos complejos y costosos, e inconsistencias en la calidad de localización.
COMPENDIO DE LA INVENCIÓN La presente invención provee un sistema para el procesamiento de datos.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La Figura 1 es una modalidad ilustrativa de un entorno en el cual la presente invención se puede utilizar. La Figura 2 es un diagrama de bloque más detallado de un entorno de tiempo de ejecución que utiliza aspectos de la presente invención. La Figura 3 es un diagrama de flujo que ilustra la operación global de la plataforma (o sistema) mostrado en la Figura 2 en el cual la transcripción no está disponible. La Figura 4 es un diagrama de flujo ilustra la operación de un componente coincidente 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, según utilizado durante el desarrollo de una aplicación u otro contenido. La Figura 6 es un diagrama de flujo ilustra como se puede desarrollar un producto a través de técnicas de implementación que ayudan en la posterior localización, de acuerdo con una modalidad de la presente invención.
DESCRIPCIÓN DETALLADA DE LAS MODALIDADES ILUSTRATIVAS La presente invención provee un sistema operativo con una plataforma de localización integrada, o una plataforma de localización que tiene componentes estrechamente operables con el sistema operativo, aunque no completamente integrados. La presente plataforma de localización también puede ser provista como un servicio que es solicitado a través del sistema operativo. La presente invención utiliza la plataforma de localización para localizar contenido y software. La presente invención también se puede utilizar durante el desarrollo de productos o servicios, mediante la implementación de prácticas que habilitan una localización más rápida y más eficiente del producto o servicio. La presente discusión procederá principalmente con respecto a la transcripción durante el proceso de localización, pero la presente invención no está limitada y la localización incluye una amplia variedad de otras configuraciones para distintos mercados también. Antes de describir la presente invención con más detalle, se describirá una modalidad de un entorno en donde se puede utilizar la presente invención.
La Figura 1 ilustra un ejemplo de un entorno del sistema de computación adecuado 100 en el cual se puede ¡mplementaria invención. El entorno del sistema de computación 100 es solamente un ejemplo de un entorno de computación adecuado y no pretende sugerir ninguna limitación al alcance de uso o funcionalidad de la invención. El entorno de computación 100 tampoco deberá ser interpretado como teniendo ninguna dependencia o requerimiento relacionado con cualquiera o una combinación de los componentes ilustrados en el entorno operativo ilustrativo 100. La invención es operacional con numerosos otros entornos o configuraciones del sistema de computación de propósito general o propósito especial. Ejemplos de sistemas de computación, entornos, y/o configuraciones en conocidos que pueden ser adecuados para uso con la presente invención incluyen, pero no se limitan a, computadoras personales, computadora servidor, dispositivos manuales o portátiles, sistemas multiprocesador, sistemas basados en microprocesador, cajas encima del televisor, electrónicos de consumidor programables, PCs en red, minicomputadoras, computadoras principales, sistemas de telefonía, entornos de computación distribuidos que incluyen cualquiera de los sistemas dispositivos anteriores, y similares. La invención se puede describir en el contexto general de instrucciones ejecutables por computadora, tales como módulos de programa, siendo ejecutados a través de una computadora. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc., que llevan a cabo tareas particulares o implementan tipos de datos abstractos particulares. La invención está diseñada para ser practicada en entornos de computación distribuidos en donde las tareas se llevan a cabo a través de dispositivos de procesamiento remotos están enlazados a través de una red de comunicaciones. En un entorno de computación distribuido, los módulos de programa están localizados en ambos, los medios de almacenamiento de computadora locales y remotos incluyendo dispositivos de almacenamiento de memoria. Con referencia la Figura 1, un sistema ilustrativo para implementar la invención incluye un dispositivo de computación 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 memoria del sistema 130, y un conductor común del sistema 121 que acopla varios componentes del sistema incluyéndola memoria del sistema a la unidad de procesamiento 120. El conductor común del sistema 121 puede ser cualquiera de varios tipos de estructuras de conductores comunes incluyendo un conductor común de memoria o controlador de memoria, un conductor común periférico y un conductor común local utilizando cualquiera de una variedad de arquitecturas de conductores comunes. A manera de ejemplo, y no limitación, dichas arquitecturas incluyen el conductor común de la Arquitectura Estándar de la Industria (ISA), el conductor común de la Arquitectura del Canal Micro (MCA), el conductor común ISA Mejorado (EISA), el conductor común local de la Asociación de Estándares Electrónicos de Video (VESA) y el conductor común de Interconexión del Componente Periférico (PCI) también conocido como conductor común Mezanine. La computadora 110 típicamente ¡ncluye una variedad de medios legibles por computadora. Los medios legibles por computadora pueden ser cualquier medio disponible que puede ser accedido a través de la computadora 110 e ¡ncluye ambos, medios volátiles y no volátiles, y medios removibles y no removibles. A manera de ejemplo, y no limitación, los medios legibles por computadora pueden comprender medios almacenamiento por computadora y medios de comunicación. Los medios almacenamiento por computadora incluyen medios volátiles y no volátiles, removibles no removibles implementados a través de cualquier método o tecnología para almacenar información tales como las instrucciones legibles por computadora, estructuras datos, módulos de programa u otros datos. Los medios almacenamiento por computadora incluyen, pero no se limitan a, RAM, ROM, EEPROM, memoria no volátil u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD), u otro almacenamiento en disco óptico, casetes magnéticos, cinta magnética, almacenamiento en disco magnético, u otros dispositivos almacenamiento magnéticos, o cualquier otro medio que pueda ser utilizado para almacenar información deseada y que puede ser accedido a través de la computadora 110. Los medios de comunicación típicamente modalizan 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 distribución información. El término "señal de datos modulada" significa una señal que tiene un aún más características establecidas o cambiadas en tal forma que codifícala información en una señal. A manera de ejemplo, y no limitación, los medios de comunicación incluyen medios cableados tal como una red cableada o conexión cableada directa, y medios inalámbricos tales como acústicos, RF, infrarrojos y otros medios inalámbricos. Las combinaciones de cualquiera de los anteriores también deberán incluirse dentro de alcance de los medios legibles por computadora La memoria del sistema 130 incluyen medios almacenamiento por computadora en la forma de memoria volátil y/o no volátil tal como la memoria de sólo lectura (ROM) 131 y memoria de acceso aleatorio (RAM) 132. Un sistema de entradas/salida básico 133 (BIOS), conteniendo las rutinas básicas que ayudan a transferir información entre los elementos dentro de la computadora 110, tal como durante el arranque, típicamente se almacena en ROM 131. RAM 132 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles para y/o están siendo actualmente operados a través de la unidad de procesamiento 120. A manera de ejemplo, y no 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 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 lee de o escribe en un medio magnético no volátil, no removible, una unidad de disco magnético 151 que lee de o escribe en un disco magnético no volátil, removible 152, y una unidad de disco óptico 155 que lee de o escribe en un disco óptico no volátil, removible 156 tal como un CD-ROM u otro medio óptico. Otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles que puede ser utilizados en el entorno operativo ilustrativo incluyen, pero no se limitan a, casetes de cinta magnética, tarjetas de memoria no volátil, 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 está típicamente conectada al conductor común del sistema 121 a través de una interfase de memoria no removible tal como la interfase 140, y la unidad de disco magnético 151 y la unidad de disco óptico 155 están típicamente conectadas al conductor común del sistema 121 a través de una interfase de memoria removible, tal como la interfase 150. Las unidades y sus medios almacenamiento por computadora asociados discutidos anteriormente e ilustrados en la figura 1, proveen 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, los programas de aplicación 145, otros módulos de programa 146, y datos de programa 147. Observar que estos componentes pueden ser ya sea ¡guales o diferentes del sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. Al sistema operativo 144, a los programas de aplicación 145, a otros módulos de programa 146, y a los datos de programa 147 se les han dado números diferentes aquí, para ilustrar que, en un mínimo son copias diferentes. Un usuario puede capturar comandos e información dentro de la computadora 110 a través de dispositivos de entrada tales como un teclado 162, un micrófono 163, y un dispositivo de apuntamiento 161 tal como un ratón, seguibola, o almohadilla sensible al tacto. Otros positivos de entrada (no mostrados) pueden incluir una palanca de mandos, una almohadilla para juegos, una antena parabólica, un escáner, o similares. Estos y otros dispositivos entrada por lo general están conectados a la unidad de procesamiento 120 a través de una interfase de entrada 160 está acoplada al conductor común del sistema, pero pueden estar conectados a través de otras interfases y estructuras de conductores comunes, tales como un puerto paralelo, un puerto para juegos, un conductor común serial universal (USB). Un monitor 191 u otro tipo de dispositivo de pantalla también está conectado al conductor común del 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éricos tales como bocinas 197 y una impresora 196, que pueden estar conectados a través de una interfase periférica de salida 195. La computadora 110 se opera en un entorno conectado en red utilizando conexiones lógicas a uno más computadoras remotas, tal como la computadora remota 180. La computadora remota 180 puede ser una computadora personal, un dispositivo manual, un servidor, un enrutador, una PC en red, un dispositivo interpar u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente con relación a la computadora 110. Las conexiones lógicas descritas en la Figura 1 ¡ncluye una red de área local (LAN) 171 y una red de área amplia (WAN) 173, pero también puede incluir otras redes. Dichos entornos conectados en red son lugares comunes en las oficinas, redes de computadora a nivel de empresa, intranets y el Internet. Cuando se utiliza en un entorno conectado en red LAN, la computadora 110 está conectada a la LAN 171 a través de una interfase de red o adaptador 170. Cuando se utiliza en un ambiente conectado en red WAN, la computadora 110 típicamente incluye un módem 172 u otros medios para establecer comunicaciones a través de WAN 173, tal como el Internet. El módem 172, el cual puede ser interno o externo, puede conectarse al conductor común del sistema 121 a través de una interfase de entrada de usuario 160, u otro mecanismo apropiado. En un entorno conectado en red, los módulos de programa descritos con relación a la computadora 110, o porciones de los mismos, se pueden almacenar en el dispositivo de almacenamiento de memoria remoto. A manera de ejemplo, y no limitación, la Figura 1 ilustra programas de aplicación remotos 185 como estando residentes en la computadora remota 180. Se apreciará que las conexiones en red mostradas son ilustrativas y que se pueden utilizar otros medios para establecer un enlace de comunicaciones entre las computadoras. La Figura 2 ilustra una plataforma de localización (o sistema) 200 está integrado dentro de sistema operativo 134 mostrado la Figura 1. La plataforma de localización 200 se muestra con un número de diferentes almacenes de memoria, y se apreciará que esos almacenes de memoria pueden ser modalizados en cualquiera de una variedad de dispositivos de almacenamiento mostrados en la Figura 1, o diferentes dispositivos de almacenamiento. El sistema 200 se muestra interactivamente configurado con una aplicación 202 que experimentará la localización de una variedad de fuentes de entrada 204 que capturan varias transcripciones dentro de los almacenes de datos en el sistema 200 a través del componente recolector de datos 205. El sistema 200, por sí mismo, incluye administrador de recursos 206, el motor de diseño 208, el comparador de memoria de transcripción (TM) 210, el administrador de descargas 212, el servicio de datos de memoria de transcripción (TM) 214, el sistema de transcripción de máquina (MT) 216, filtros 218, sistema de certificado 220 y una pluralidad de diferentes almacenes de datos.
Los almacenes de datos mostrados en la Figura 2 incluyen el almacén de datos de reglas de aplicación 222, almacenes local y privado 224 y 226, respectivamente, el almacén de datos de base de términos 228 y el almacén de datos de transcripción base de términos 230, el almacén de ontología 232, la memoria de transcripción 234 y el almacén de datos de elementos Ul comunes 236. En general, las reglas aplicación se utilizan en los recursos para especificar los datos ricos relacionados con aplicación, mientras los filtros utilizan para asegurar que las entidades (o fuentes de entrada 204) y contribuyen con los datos sean solamente capaces de modificar los datos que han contribuido, y que todos los datos agregados sean filtrados con base en ciertas reglas. Por supuesto, los almacenes datos pueden agrupar, fusionar o dividir en forma diferente, en cualquier forma deseada. La operación detallada del sistema 200 se describe más adelante en especificación con respecto las Figuras 2-6. Sin embargo, ahora se realizará una breve discusión de la operación del sistema 200 y de los elementos mostrados en la Figura 2. Durante el tiempo de ejecución, el administrador de recursos 206 carga los recursos asociados con aplicación 202 dentro de la memoria caché 207 (se pueden encontrar escenarios similares para contenido y otros tipos de datos localizables). El administrador de recursos 206 también recíbela llamadas de la aplicación 202 para los recursos. El administrador de recursos 206, en respuesta, primero carga una cadena en un lenguaje que está asociado con el local actualmente seleccionado por la plataforma 200. El administrador de recursos 206 decide qué versión de los recursos cargar con base en una variedad de criterios tal como disponibilidad, nivel de confianza, configuraciones del usuario, etc. El administrador de los recursos 206 puede decidir invocar el comparador TM 210. Para hacer esto, el administrador de recursos 206 llama al comparador TM 210 para obtener una transcripción (o localización) de un recurso especificado. El comparador TM 210 también puede tener datos recursos pre-alimentados para prevenir retrasos en el tiempo de operación en la carga del recurso; la información pre-alimentada será etiquetada con información relevante tal como si tiene de un sistema MT 216 o del comparador T M 210, su recurso de confianza, etc. Esto se discute con mayor detalle más adelante. Si el comparador TM 210 no devuelve ninguna coincidencia de recurso, el administrador de recursos 206 se mueve en cascada a través de los sistemas de seguridad los recursos para que la transcripción puede ser provista en un lenguaje diferente, de seguridad. Eso también se describe con mayor detalle más adelante. También, en una modalidad, el administrador de recursos 206 y el comparador TM 210 tienen programas de seguridad. Estos pueden ser diferentes uno del otro ya que los resultados del comparador TM 210 pueden tener influencia sobre el administrador recursos 206, el administrador de recursos 206 puede decidir volver atrás sin llama al comparador TM 210. No es común los cambios hechos a través de la localización en los cambios en las fuerzas de las cadenas en los artículos una pantalla contengan esos cadenas. Los ejemplos comunes incluyen la necesidad de más espacio (cadenas más largas), cambios en el flujo de un diálogo (lenguajes de derecha a izquierda contra lenguajes de izquierda a derecha), etc. El proceso de ajuste puede suceder en el momento de la localización, en el momento de la conversión en ambos. El caso más común es la reconfiguración y redimensionamiento de los artículos en un diálogo son necesarios, y el proceso es referido como auto-diseño. La cantidad y corrección de la información provista durante proceso de producción tendrá influencia en los resultados producidos en el tiempo de ejecución. El comparador TM 210 está colocado entre varias fuentes del administrador de transcripciones y recursos 206, el cual solicita el contenido sea comparado (o traducido en otra lenguaje por el contrario localizado). El comparador TM 210 busca las fuentes disponibles (y aquellas fuentes que son confiables a través de la aplicación 202) para encontrar una transcripción que tiene la puntuación de confianza más alta asociada con ella. Otra vez, se establece una discusión más detallada del comparador TM 210 más adelante con respecto la Figura 4. Brevemente, sin embargo, el comparador T 210 accede las reglas asociadas con la aplicación o contenido 202 en el almacén de datos de reglas de la aplicación 222 para asegurarse de que cualquier localización que es provista de nuevo al administrador recursos 206 no causa el aplicación 202 funcione mal. El comparador TM 210 primeros busca en el almacén de datos 224 y en el almacén de datos privados 226 para ver si ya existe una localización. El almacén de datos local 224 controla las transcripciones u otras localizaciones de recursos ya han sido localizadas, en el caso en el que se haga una solicitud a través de administrador recursos 206 ya ha sido hecha anteriormente. El comparador TM 210 también invoca el servicio de datos TM 214. El servicio de datos 214 accede a la memoria de transcripción 234 que contiene las transcripciones u otras localizaciones de una amplia variedad en diferentes cosas, tales como los elementos de ¡nterfase de usuario común (Ul) almacenados en el almacén 236, así como los términos definidos almacenados en la base de términos 228, y el almacén de ontología 232 provéela información de contexto para la aplicación 202 y un dominio asociado. Si todavía no existen localizaciones en ya sea el almacén 224 o 226, o remotamente en el almacén 234, el comparador RM 210 puede acceder un sistema de transcripción de máquina opcionalmente disponible (MT) 216 (uno de una pluralidad de sistemas MT disponibles) para llevar a cabo la transcripción de la máquina del contenido que va ser localizado. La decisión mediante el comparador TM 210 para invocar al sistema MT 216 se puede basar en las preferencias del usuario, la habilidad de una transcripción, la calidad de las transcripciones disponibles y las transacciones provistas por MT, etc. El sistema de transcripción de máquina 216, en una modalidad, es cualquier sistema MT comercialmente disponible y solamente es utilizado ilustrativamente para transcripciones sino hay coincidencias con un nivel de confianza más alto de cualquiera de las otras fuentes de memoria (tal como el servicio de datos TM 214 y los almacenes de datos local y privado 224 y 226). El hecho de que sistema MT 216 puede ser sustancialmente cualquier sistema MT, o cualquier sistema capaz de utilizar los datos en los diferentes almacenes (por ejemplo transcripciones previas) para producir transcripciones, enormemente mejora la extensibilidad del sistema, debido a que los sistemas MT nuevos diferentes pueden ser fácilmente utilizados por el comparador TM 210. Por supuesto, la extensibilidad del sistema de metilo no es la única extensibilidad en el sistema, sino es solamente un ejemplo. Algunos otros ejemplos en extensibilidad el sistema contienen editores de producción de contenido, analizadores del lenguaje, memorias de transcripción de terceros, editores comunitarios, entornos de producción de desarrollo, conexión a servicios web, etc. la extensibilidad en estas áreas y otras se soportan a través de APIs en la plataforma 200. En cualquier caso, cada uno de los recursos de la transcripción llamado por el comparador TM 210 ilustrativamente proveerá al comparador TM 210 una puntuación de confianza (o grado de transcripción, grado de reciclaje, u otra medida similar) indicativa de la confianza o grado de reutilización con la localización que se está solicitando. El comparador TM 210 entonces puede seleccionar la localización o transcripción de la fuente confiable que provee la transcripción asociada con la puntuación más alta. Las transcripciones después se descargan a través del administrador de descargas 212 al almacén local 224, si aún no están almacenadas ahí. En una modalidad ilustrativa, una amplia variedad de fuentes de entrada 204 puede proveer las capturas de transcripción a las varias memorias en el sistema 200. Por ejemplo, los vendedores o fabricantes de software que desarrollen sistemas operativos que incorporan la plataforma de localización 200 ilustrativamente proveerán términos confiables a las varias memorias. Sin embargo, en una modalidad, las fuentes entrada 204 pueden incluir la comunidad en general y desarrollo de la comunidad. La comunidad en general permite que cualquiera que realice los servicios de localización utilizando sistema 200 provea una localización sugerida de una pieza de contenido a la memoria apropiada a través del componente de recolección de datos 205. Las fuentes entrada 204 también pueden incluir el desarrollo de la comunidad el cual (según opuesto a la comunidad en general) almacena las transcripciones provistas solamente por los programadores oficialmente reconocidos como tales. De esta forma se puede ver que esa plataforma 200 permiten el proceso de localización sea abierto para la interacción de la comunidad aún a muy grande escala así como ajustada a un nivel granular (por ejemplo, el usuario decide en que confiar y que no confiar) para cumplir con las necesidades y expectativas del usuario. Además, el componente para la recolección de datos puede dinámicamente (durante la configuración, el tiempo de filtración, el establecimiento, etc.) intermitentemente recolectar nuevos datos de una variedad de fuentes de entrada 204. Los datos pueden por supuesto ser nuevos datos de recurso así como datos prelocalizados o datos de memoria de transcripción, para soportar las más aplicaciones, los dominios, y para llevar a cabo el auto-cambio de dirección de un sistema operativo en operación. Esto abarca la adaptabilidad y la exactitud el sistema. Sin embargo, un programador de una aplicación particular, administrador del sistema o usuario puede desear que solamente cierto contenido de localización sea confiable. El programador puede, por ejemplo, no desea confiar en el contenido de localización de la comunidad en general o el desarrollo de la comunidad, sino solamente de vendedores y fabricantes OS. Esto permite a un programador o usuario establece la extensión a la cual la plataforma 200 abre las tareas de localización para diferentes fuentes. Esto se puede establecer aún el número uno sobre bases de cadena por cadena. En dichas modalidad, el sistema 200 incluye el sistema de certificado 220 que anexa certificados al contenido provisto por ciertas fuentes. En ese caso, el programador del aplicación 202 puede desear que solamente el contenido de localización con un certificado anexo sea confiable. Por ejemplo, los programadores y otros contribuyentes podrían ser capaces de obtener el derecho de firmar su contenido que es relativo al nivel en el que ellos están, en relación con su aplicación. Esto significa que un certificado de un programador de una aplicación pone a ese programador en el nivel de programador para esa aplicación específica y todos los otros contribuyentes están nivel abajo en la "otra ISV", comunidad nivel del usuario. Los certificados pueden ser confiables con relación al nivel del contribuyente. Por ejemplo, un fabricante dado podría siempre tener en nivel más alto, pero a partir de ese nivel hacia abajo el usuario puede determinar un nivel confiable y dentro de fuentes confiables de nivel. La indicación de que contenido de localización va hacer confiable a través de cualquier aplicación dada 202 o a través de cualquier usuario se puede almacenar en el almacén de datos de reglas del aplicación 222. El certificado ayuda establecer un sistema de confianza para las transcripciones. El usuario o programador también puede seleccionar fuentes confiables de manera jerárquica. Por ejemplo, con base en el origen del contenido de la localización, un usuario puede determinar si confía solamente en el fabricante OS, y si ninguno está disponible, entonces confiar en transcripciones de vendedores de software independientes, y si éstos no están disponibles, entonces solamente confiar en la comunidad de desarrollo, etcétera. En una modalidad ilustrativa, esta jerarquía se establece por omisión, pero no usuario puede simplemente aceptarla o anularla con configuraciones personales. Dichos configuraciones se pueden implementar en las reglas de aplicación asociadas con cada aplicación o con una máquina individual que operan aplicación. También, se deberá observar el almacén privado 226 es similar al almacén local 224, en que reside en el almacén de datos del usuario. Sin embargo, el almacén local 224 ilustrativamente es un almacén a nivel de sistema mientras que el almacén privado 226 es un almacén que puede utilizarse para indicar contenido de localización confiable correspondiente a un usuario individual incluyendo datos capturados por el usuario para su uso privado. Por consiguiente, cada usuario individual puede identificar diferente contenido de localización confiable. Ese contenido se identifica para ese usuario particular en el almacén privado 226. Esto permite a un usuario individual personalizar el proceso de localización aún más que aquel asociado con una aplicación individual. Por ejemplo, el usuario puede hacer cambios a sus propias aplicaciones, según sea necesario y permitida por la aplicación. El usuario también puede compartir los almacenes local o privado de nuevo con la comunidad.
Además, ciertas transcripciones se pueden bloquear para que no sean modificadas. Esto puede ser críticamente importante para indicar las transcripciones potencialmente maliciosas. Por ejemplo, una de las fuentes de recursos podría proveer una transcripción maliciosas que traduciría el término "Pulsar aquí para formatear tu disco duro" como "pulsar aquí para continuar". Una vez el comparador TM 210 obtiene una localización deseada del administrador de recursos 206, aplica filtros 218 y reglas de aplicación del almacén 222. Los filtros 218 ilustrativamente definen los términos que no se van a colocar en ningún contenido de localización en ningún lenguaje dado. Por ejemplo, algunos usuarios pueden desear filtrar términos obscenos o cualquier otro contenido con objeciones. Por consiguiente, los filtros 218 se aplican antes de utilizar el contenido localizado solicitado por el administrador de recursos 206. Se observará que al aplicar filtros (así como cualquier otro tipo de validación) es un paso en la localización y se puede aplicar en muchos pasos en el proceso, tal como edición, descarga, utilización, etc. Por ejemplo, la validación, en general, ocurre siempre que los componentes intercambian datos, a menos que los ponentes completamente confíen uno en el otro, y el canal utilizado para la comunicación también es confiable (tal como contra actividad subrepticia). Por consiguiente, por ejemplo, si los recursos se descargan de una fuente confiable, y los recursos contienen una firma maldita, no se necesita hacer ninguna otra validación (diferente de la validación de la firma). Si la fuente es confiable pero el archivo no está firmado, entonces el canal utilizado para transportar información se evalúa para determinar si también es confiable. Por ejemplo un archivo no firmado que ha sido descargado del Internet es más probablemente que sea manipulado con un archivo no firmado que un usuario copió de otra carpeta en la misma computadora. Dependiendo de varios factores puede decidir si llevar a cabo una validación funcional rápida, o puede ser conducida alguna validación de contenido adicional, tal como verificar palabras ofensivas o asegurarse que los términos en el recurso original están presentes en el recurso objetivo (por ejemplo, que "menú" no sea transcrito, "carpeta"). El componente de establecimiento/configuración de la aplicación 240 se utiliza durante el establecimiento y después de la configuración. Durante el establecimiento, la aplicación 202 registra sus recursos con el almacén de recursos local 224. El componente 240 ilustrativamente expone una ¡nterfase de usuario que permite al usuario localizar la aplicación para un lenguaje objetivo soportado por la plataforma si no ha sido ya localizado. La interfase de usuario puede permitir que el usuario explícitamente seleccione el lenguaje objetivo. El componente de localización en demanda 241 pasa estas solicitudes al administrador de recursos 206 y también posiblemente al comparador TM 210. La aplicación de legado 242 representa las aplicaciones que fueron desarrolladas y no conocen la plataforma 200. La capa de compatibilidad 243 soporta las interfases de recursos existentes utilizadas por la aplicación 242, y se dirigen las llamadas al administrador de recursos 206. La Figura 3 es un diagrama de flujo que ilustra la operación de la plataforma 200 con mayor detalle, de acuerdo con una modalidad de la presente ¡nvención. Durante el tiempo de ejecución, un usuario selecciona o carga un aplicación 202. Esto se indica a través del bloque 300 el Figura 3. Enseguida, en esta modalidad, el administrador de recursos 206 carga los recursos necesarios asociados con aplicación 202 dentro de la memoria caché 207 (o dentro de otro dispositivo de almacenamiento, todos los cuales serán recibidos aquí como "caché", en éste contexto). Esto se indica mediante el bloque 302. En el fondo, el sistema operativo (y en particular la plataforma de localización 200) inicia la transcripción de los recursos en la memoria caché 207 en el lenguaje deseado. Al hacer esto, la plataforma 200 implementadas en las en aplicación 222 asociados con aplicación 202, y el modelo de confianza (es decir, las fuentes de localización confiables) asociadas con aplicación 202 o el usuario (lo que sea aplicable). El administrador de recursos 206 invoca al comparador TM 210 para los recursos almacenados en memoria caché 207 para obtener su valor localizado. La localización de los recursos cargados en la memoria caché 207, en el fondo, se indica por el bloque 304, en la Figura 3. También se deberá observar que la alimentación de recursos localizados para una aplicación no necesita esperar hasta el tiempo ejecución. Más bien, esto se pueda ser durante el establecimiento o en otro momento. Además, algunas partes de la localización se pueden operar en el tiempo ejecución mientras que otras se pueden hacer en la configuración o en otro momento. Por ejemplo, algunas de las tareas más computacionalmente caras o consumidoras de tiempo se pueden llevar a cabo en el fondo, durante la configuración o en otro momento, mientras que las tareas más rápidas se pueden llevar a cabo en tiempo ejecución. En aún otra modalidad, las tareas se pueden asignar (a través del usuario) para que sean llevadas a cabo en cualquier tiempo específico y el estado de esas áreas se puede desplegar también. Ya que los recursos están localizados en el fondo, no solamente son los valores localizados almacenados en memoria caché 207, sino que también están colocados en el almacén local 224. Por consiguiente, la próxima vez en la que se carga aplicación 202, el proceso de localización será mucho más rápido, porque todos los valores de los recursos que han sido localizados ya estarán localizados en el almacén local 224. De esta forma, el comparador TM 210 no necesita buscar los servicios de datos TM 214 u obtener los valores transcritos utilizando el sistema de transcripción de máquina 216, porque las localizaciones serán recordadas por el sistema. Más bien, estas pueden ser simplemente recuperadas del almacén local 224. El almacenamiento de las transcripciones en el almacén local 224 se indica por el bloque 306 en la Figura 3. También, sobre demanda, las transcripciones completas se pueden cargar dentro del almacén local 224 utilizando el administrador de descargas 212. Por supuesto, el presente sistema también puede verificar actualizaciones. Por ejemplo, una transcripción ideal podría ser seleccionada inicialmente porque no se pueden localizar ninguna mejor. Después, sin embargo, se podría cargar una mejor transcripción dentro de una de las memorias a través de una de las fuentes 204. El recurso entonces puede ser periódicamente actualizado para acomodar esto. Similarmente las actualizaciones de código podrían hacer a los recursos previamente localizados inválidos. Por consiguiente, en una modalidad, los cambios de código activan la relocalización de algunos o todos los recursos. Según se hacen las transcripciones de recursos, el motor de diseño 208 identifica ciertas transcripciones que requerirán modificaciones en el diseño de despliegue para la aplicación. Además, las fuentes utilizadas en el lenguaje de origen en aplicación se representan para las fuentes en el lenguaje objetivo. Esto se puede hacer mediante el motor de diseño 208 u otros componentes en el tiempo de operación o en un momento previo. La representación de diseño y de la fuente se indica por el bloque 308 en la Figura 3. En esta forma, la plataforma de localización 200 en el sistema operativo continuar localizando los recursos asociados con aplicación 202 y almacenados en memoria caché 207. Puede suceder, sin embargo, que la aplicación haga una solicitud de un recurso que aún no ha sido localizada en el fondo. Dicha solicitud se indica a través de bloque 310 en la Figura 3 el administrador de recursos 206 determina si el recurso solicitado ya ha sido localizado y almacenado en memoria caché 207. Esto se indica a través de bloque 312 en la Figura 3. Si es así, la localización de recurso solicitado es simplemente devuelta de la memoria caché 207 a la aplicación 202. Esto se indica por el bloque 314. Sin embargo, si el recurso aún no ha sido localizado en el fondo y almacenado en memoria caché 207, entonces el administrador del recurso 206 solicita la localización del recurso del comparador TM 210. El comparador TM 210 entonces solicita la localización del recurso de las varias fuentes, a las que tiene acceso, y devuelve la localización del recurso solicitado. La invocación del comparador TM 210 se invoca a través del bloque 316 en la Figura 3. La operación el comparador TM 210 se describe con mayor detalle con respecto a la Figura 4. Al localizar los recursos en la memoria caché 207 en el fondo, la plataforma de localización 200 se sale significativamente de los sistemas anteriores. Los sistemas anteriores cargan el caché con los recursos. Sin embargo, esto conduce a desventajas importantes en la localización. Si la plataforma de localización espera que la aplicación solicite un recurso con el fin de localizarse, al vuelo invocando MT, esto probablemente dará como resultado un retraso indeseable en la operación de la aplicación 202 o los resultados estarán limitados por el grupo de algoritmos que se pueden utilizar en dicho entorno- restringido (los requerimientos de funcionamiento pueden limitar la exactitud). La tecnología de transcripción de la máquina actual requiere aproximadamente de la mitad de un segundo para transcribir una oración. Ya que la transcripción sobre la marcha y otras localizaciones ciertamente se contemplan a través de la presente ¡nvención, la transcripción de todos los recursos sobre la marcha, utilizando el sistema de transcripción de máquina 216, probablemente da como resultado un retraso indebido en la operación de la aplicación. Por supuesto, si un número substancial de recursos ha sido localizado antes y almacenado en el almacén local 224 por el almacén privado 226, o si se almacenaron en la memoria de transcripción 234, y solamente una porción relativamente pequeña de los recursos necesita ser transcrita por el sistema MT 216, entonces la localización de caché 207 en el fondo no es tan importante para evitar comprometer la operación del aplicación 202. En cualquier caso, el comparador TM 210 continúa localizando los valores en caché 207, ya sea en el fondo y/o sobre la marcha. El comparador TM 210 continúa hasta que todos los recursos son localizados. En general, el comparador TM 210 puede trabajar contra uno o más almacenes. Esto puede opcionalmente integrarse con otros motores de reciclaje (tales como los compradores TM o los sistemas MT). Puede opcionalmente tomar ventaja de las terminologías junto con sus transcripciones y relaciones (ontologías). Puede utilizar metadatos para decidir qué partes de los datos en los almacenes se supone que constituyen el espacio de búsqueda (tal como el área del dominio, el autor, el estado de aprobación, u otros metadatos). Puede buscar en las restricciones (reglas/filtros de la aplicación) en la cadena misma y tomar ventaja de aquellas que producen una mejor coincidencia una coincidencia que será más fácilmente validada. Por supuesto, esas características todas son opcionales y se pueden adicionar más o éstas pueden cambiarse o eliminarse de la operación del comparador TM, según se desee. La Figura 4 es un diagrama de flujo que ¡lustra una modalidad de la operación del comparador T M 210 con más detalle, en beneficio del ejemplo solamente. El administrador de recursos 206 primero provee al comparador TM 210 una solicitud para localización. Esto se indica a través del bloque 350 en la Figura 4. El comparador TM 210 entonces obtiene la información del modelo confiable para el contexto actual. En una modalidad, la información del modelo confiable se almacena con los datos mismos, pero también se podría almacenar en un almacén privado 226 o en cualquier otra fuente que identifica cualesquiera otros aspectos de contexto dependiendo de que recursos de localización confiables que se van a determinar dado el presente contexto. La información del modelo confiable puede incluir una indicación de que fuentes son confiables, una lista de requerimientos pueden reunirse para que un artículo localizado sea válido y considerado. Esto ayuda en actualización de los escenarios también. Las actualizaciones en el código pueden cambiar el grupo de restricciones que deben reunir los recursos. Estos cambios requerirán la revalidación de recursos válidos previamente asumidos. Esto se indica a través del bloque 352 en la Figura 4. El comparador TM 210 entonces ilustrativamente soliciten las localizaciones de los recursos de todas las fuentes de localización confiables, pero puede hacer esto en un orden dado. El orden de números de fuentes verificadas ilustrativamente varía dependiendo de las circunstancias (tal como sigue localización está tomando lugar en el tiempo de ejecución, en el tiempo de configuración, en el procesamiento por lotes, etc.). Esto se indica por el bloque 354. En otras palabras, en una modalidad, el comparador TM 210 ni siquiera solicita una transcripción de fuentes no confiables. En ese caso, asumir que el usuario no desea confiar en transcripciones de la comunidad en general o de la comunidad en desarrollo en las fuentes de captura 204. El comparador TM 210 solamente preguntará por el contenido de la localización que se originó de fuentes confiables, y por lo tanto excluirá todo el contenido de localización provisto por la comunidad en general y de la comunidad en desarrollo. Por supuesto, el comparador TM 210 modificará las fuentes de donde los resultados de localización son solicitados con base en las fuentes confiables dadas por el presente contexto. En respuesta a las solicitudes comparador TM 210, las varias fuentes que han solicitado contenido de localización regresan sus puntuaciones de confianza asociadas. Por ejemplo, es muy común para los resultados de transcripción tener un nivel de confianza asociado indicativo de como probablemente la transcripción es correcta dada la captura en el lenguaje de origen. No es importante para propósitos de la presente invención que medida particular se utiliza para indicar la confianza asociada con una transcripción u otra localización. En la modalidad ilustrativa, las puntuaciones de todas las fuentes utilizan ya sea la misma medida, o medidas que están relacionadas una con la otra, por lo que comparador TM 210 puede determinar la magnitud relativa de las puntuaciones. Volviendo a los puntajes de confianza asociadas con las transcripciones (o contenido de localización) se indica a través de bloque 356 en la Figura 4. El comparador TM 210 entonces obtiene el contenido localizado (por ejemplo, la transcripción) de la fuente confiable con puntaje más alto. Esto se indica través de bloque 358. También, el comparador TM 210 puede seleccionar el contenido localizado con base en otros criterios o criterios adicionales también, tal como el tiempo requerido para obtener el contenido localizado, que tan cerca está el contenido localizado del mercado objetivo, criterio de validación u otros criterios, o cualquier combinación de criterios. Además, el comparador TM puede recuperar el contenido de localización de múltiples fuentes y combinarlos. Una vez que se recibe la transcripción, el comparador TM 210 aplica los filtros 218 y otra validación para asegurar el contenido de localización (o transcripción) es apropiada dada la aplicación y el contexto y cualesquiera filtros o criterios de validación deseados por el usuario. La aplicación de los filtros y otra validación se indica través de bloque 360 en la Figura 4. El comparador TM 210 También ilustrativamente aplica las reglas aplicación de tal forma que el contenido de localización recuperado de un recurso dado no inhibirán la operación de la aplicación o causará una operación inapropiada o por el contrario para que la operación falle. También se deberá observar que alguna parte del filtrado y procesamiento de la validación se puede pre-calcular, en lugar de esperar que se lleven a cabo todos los pasos necesarios en este punto en el proceso. Una vez que se hace esto, el comparador TM 210 devuelve el resultado al administrador de recursos 206. Esto se indica por el bloque 362. Se apreciará que este proceso se llevará cabo en cualquier momento en el que el comparador TM 210 es invocado por el administrador de recursos 206. De esta forma, el proceso se llevará cabo cuando los recursos en el caché 207 están siendo localizados en el fondo, y se llevará a cabo cuando un aplicación 202 hace una llamada para un recurso no localizado, por ahora. En cualquier caso, el comparador TM 210 puede encontrar que no existe ninguna transcripción disponible en el lenguaje viciado o el puntaje de confianza devuelto está por debajo de un umbral dado, pero que se debe realizar una transcripción utilizando el sistema de transcripción de máquinas 216. En este punto, en una modalidad, el administrador de recursos 206 es notificado, y puede solicitar al comparador TM 210 que busque una transcripción en el lenguaje de seguridad. Por ejemplo, si lenguaje objetivo es catalán, la aplicación 202 puede solicitar la transcripción de un recurso, pero pueden no estar disponibles en catalán. Sin embargo, el administrador de recursos 206 puede estar configurado de tal forma que el español es un primer lenguaje de seguridad para catalán. En ese caso, el comparador TM 210 regresa al administrador recursos 206 indicando que ninguna transcripción estar disponible en catalán y que sistema de transcripción de máquina 216 deberá ser invocado para obtener dicha transcripción (alternativamente, el sistema MT 216 puede ser llamado en la primera llamada a través del comparador TM 210). El administrador los recursos 206 puede, en lugar de tomar la penalización de funcionamiento asociada con la transcripción de máquina sobre la marcha, simplemente solicitar al comparador TM 210 que devuelva una transcripción del recurso solicitado en español. Si uno está disponible, se devuelve a través del comparador TM 210. Por supuesto, como se indicó anteriormente, los locales/lenguajes de seguridad puede ser jerárquicamente colocado en cascada a cualquier grado deseado de tal forma que los varios locales son los programas de seguridad para varios otros locales, el último recurso del cual puede ser el lenguaje de origen. De esta forma, si el último recurso es logrado, en lugar de proveer una transcripción del recurso solicitado, el administrador de recursos 206 simplemente regresa a la aplicación 202 el recurso solicitado en un recurso final que es asegurado por la plataforma por lo que la aplicación no fallará o perderá el punto de interacción con el usuario debido a la plataforma. El usuario también puede ilustrativamente configurar cómo trabaja la jerarquía de seguridad. Por ejemplo, el usuario puede indicar desplegar un grupo de recursos juntos (por ejemplo, un diálogo con varias cadenas) puede mostrar partes del diálogo en un lenguaje (o localizado a un mercado) y partes en otro (por ejemplo en el programa de seguridad). Otros usuarios pueden indicar que el grupo de recursos desplegado todos estarán en un lenguaje (o localizados en el mismo mercado). También se deberá observar el usuario no necesita cargar la aplicación para transcribirla a través de la plataforma 200. El usuario puede simplemente seleccionar una aplicación u otro componente de soporte para la localización, y la plataforma 200 puede localizarla en el fondo. Por ejemplo, en una modalidad, el usuario pulsa el botón derecho sobre una aplicación y, a partir de un menú, selecciona "Localizar". La plataforma 200 entonces inicia la localización de la aplicación en el fondo, almacenando el contenido localizado en el almacén local. El contenido también se puede localizar en el fondo. En una modalidad el usuario pulsa el botón derecho sobre un documento está almacenado en el sistema de archivo o en un servidor selecciona "Localizar". La plataforma de localización localizara el documento en el fondo. Lo mismo se aplica a documentos que son descargados de Internet. Además, cuando una aplicación se instala (por un momento posterior) el usuario puede seleccionar una pluralidad de diferentes lenguajes para instalación. Estos lenguajes entonces son cargados dentro del almacén de datos local 224. Las transcripciones pueden almacenar en el producto del disco compacto, u otro medio. La Figura 5 es un diagrama de bloque que ilustra los componentes de la plataforma 200 en contexto de desarrollo. Un gran número de artículos son similares a aquellos mostrados en la Figura 2 y son similarmente enumerados. La Figura 5 muestra la plataforma de asistencia 380 y el componente de desarrollo 382. El componente de desarrollo 382 puede ser cualquier componente de desarrollo deseable tal como Visual Studio disponible de Microsoft Corporation of Redmond, Washington, o cualquier otro componente de desarrollo deseado para producir software. La plataforma de asistencia 380 ayuda en la producción del contenido a través de la interacción con uno o más componentes de la plataforma 200, tal como la plataforma de transcripción 381 para permitir al programador desarrollar un producto que tiene un grado de reciclaje alto y de esta forma un costo enormemente reducido para la localización en diferentes lenguajes. Ambos, el componente de desarrollo 382 y la plataforma de asistencia 380 consumen servicios provistos por la plataforma 200. Al hacer esto, el componente de desarrollo 382 y la plataforma de asistencia 380 en conjunción con otros componentes construidos en ciertas prácticas en el proceso de desarrollo/producción del procesador frontal el cual probablemente mejorará enormemente la habilidad del producto que va ser localizado para ti entre en varios diferentes mercados y de esta forma en gran medida incremente la utilidad de la inversión del desarrollo. El componente constructor 384 utiliza la información provista por la plataforma de localización y/o la plataforma de asistencia 380 o cualquier otra herramienta de producción de contenido que puede acceder a la plataforma de localización a través de APIs y las reglas de aplicación en el almacén de datos 222 y la aplicación constructora 202 así como los documentos de contenido. También se observará que la presente discusión de la Figura 5 prosigue generalmente con respecto al programador que desarrolla una aplicación o un autor que produce contenido. Sin embargo, el sistema puede ser utilizado por una variedad de cosas con respecto al tipo de contenido o software el programador está desarrollando por el autor está produciendo. De acuerdo con una modalidad de la presente ¡nvención, en dos formas para que un programador o autor respectivamente utilicen el componente de desarrollo 382 para desarrollar software o la plataforma de asistencia 380 para desarrollar contenido. Lo primero es utilizar una característica en su entorno de producción/desarrollo que, a través de la ¡nterfase de ataque del programa de aplicación de la plataforma (API) u otro mecanismo similar determina si cualquier contenido similar o software ha sido desarrollado, o está almacenado en cualquiera de las memorias en la plataforma 200. La segunda forma es para que el programador simplemente desarrolle el software o el contenido (original o no original). En el último caso, la plataforma 200 simplemente actúa para proveer al programador la interacción según el grado de reciclaje (por ejemplo, la cantidad de contenido/software que puede ser transcrito en diferentes lenguajes en la plataforma 200 dadas las transacciones previas) del contenido/software y para sugerir prácticas que probablemente incrementarán el grado de reciclaje y también sugerir prácticas inhibirán aplicación de malos funcionamientos después de la localización. De acuerdo con la primera modalidad, el autor del contenido provee una captura a través de la plataforma de asistencia 380, y la plataforma de asistencia 380 llama una API u otro mecanismo similar para producir un recurso. Esto se indica por el bloque 500 en la Figura 6. La plataforma de asistencia 380 entonces invoca al comparador TM 210 para acceder un almacén local 224 y devuelve todos los tipos de recursos que ya tienen transcripciones. Esto se indica por el bloque 502 en la Figura 6. Por ejemplo, la plataforma de programador puede invocar una API indicando que el programador de contenido desea producir un recurso. En respuesta, la plataforma 380 regresa una indicación de todas las diferentes clases de recursos que están contenidas en la plataforma 200 y que ya tienen transcripciones en una variedad de diferentes lenguajes. Asumir, por ejemplo, el resultado de la plataforma y presentado al usuario a través de la plataforma de programador son las clases "menús", y "mensajes error". A través de la funcionalidad expuesta en API, el programador puede seleccionar las clases de "mensajes error" y la plataforma de asistencia 380 selecciona esta información de la plataforma 200 (puede estar almacenada en cualquier memoria) entonces devuelve todas las diferentes clases de mensajes error están contenidos en la plataforma 200. El programador entonces selecciona una de las clases de mensajes error, y la plataforma 380 devuelve todos los mensajes de error específicos asociados con esa clase. El usuario puede entonces simplemente seleccionar uno de los mensajes error, y ya ha sido producido, y para el cual la localización ya sido altamente eficiente (por ejemplo, porque ya ha sido transcrita en una variedad de diferentes lenguajes o por el contrario localizada). La selección de programador del tipo, clase, y recursos específico, si está disponible, se indica por el bloque 504 en la Figura 6. También se apreciará, por supuesto, que el mensaje exacto, específico que el programador decía producir puede no estar ya disponible. En este caso, el usuario puede seleccionar una variedad de mensajes muy parecidos y modificarlos. El mensaje modificado probablemente, en muchos casos, será capaz de ser localizado de manera bastante eficiente, porque la mayor parte de este ya existe en la plataforma de localización 200. En cualquier caso, al seleccionar un mensaje no idéntico, similar dará como resultado una penalización en la confianza. La modificación de un recurso seleccionado se indica por el bloque 560 en la Figura 6. Este tipo de reciclaje proporciona al autor un alto grado de flexibilidad con relación al localizador de la técnica anterior que ocurre después del desarrollo. Por ejemplo, el autor puede cambiar el número de artículos que se pueden colocar en una cadena de software, mientras un localizador tradicional es mucho más restricto. También, el autor puede completamente reemplazar una frase de origen (asumiendo que los términos través se controlan) mientras un localizador tradicional no es capaz de hacer esto. Considerar la frase para un mensajes error: "archivo {0} no existe." El autor puede cambiar esto ha "archivo {0} en unidad {1} no se puede encontrar.", mientras un localizador convencional no puede utilizar la transcripción de ésta primera frase como una transcripción para la segunda debido, sin acceso al código, a que el localizador convencional no es capaz de cambiar las suposiciones subyacentes en el código con respecto número de artículos que se pueden colocar. El reciclaje no solamente puede ser hecho con respecto al texto encontrar los mensajes, sino también puede ser hecho con respecto a los elementos Ul comunes en el almacén de datos 236. Reutilizando los elementos Ul anteriores se mejora el grado de reciclaje y la localización del producto. Durante el desarrollo, el programador también puede desear proveer el almacén de ontología a ontología 232. Ontología es una especificación de una conceptualización y describe las relaciones entre términos, lo que permite la codificación de la semántica del contenido y las cadenas. Una modalidad de una ontología se establece en las Patentes de E.U.A. Nos. 6,253,170 y 6,098,033. Otra descripción de ontología se establece en Gruber, UN MÉTODO DE TRANSCRIPCIÓN PARA ONTOLOGIAS PORTÁTILES, Adquisición de Conocimiento, 5(2): 199-220 (1995). En general, las palabras se describen de manera diferente dependiendo del contexto. Específicamente, las palabras términos se pueden transcribir de manera diferente dependiendo de un contexto de aplicación en la localización de software. La plataforma de localización 200 tiene acceso a los datos semánticos en la forma del almacén de datos de ontología 282 que describe las relaciones entre los términos. Las ontologías se pueden generar manualmente a través de la captura de la información semántica junto con la palabra o término o automáticamente aplicando algoritmos que son capaces de determinar el contexto de semántica a través de la proximidad de una palabra o término con otras palabras términos. El almacén de datos 282 ilustrativamente se alimenta a través estructuras y el contexto de la aplicación derivados del formato fuente. El tipo de codificación semántica en el almacén de ontología 282 permite a la plataforma 200 eliminar las ambigüedades de las semánticas para los recursos que van a ser transcritos, mientras también proveen capacidades de búsqueda poderosas, porque permite la eliminación de las ambigüedades de búsqueda también. La plataforma de transcripción 381 determinar si la eliminación de ambigüedades es requerida en el bloque 508 en la Figura 6. Si es así, el almacén de ontología 232 puede ser accedido para obtener la información de semántica para eliminación de ambigüedades, o la plataforma de asistencia 380 puede solicitar la información de semántica eliminación de ambigüedades del autor, en la misma forma, el componente de programación 382 puede hacer lo mismo que programador. Esto se indica por el bloque 510 en la Figura 6. Mientras el programador continúa programando el producto, cada uno de los recursos producidos es sometido a un estimado del grado de localización a través de la plataforma de transcripción 381 en la plataforma 200. Al estimar el grado de localización de los recursos producidos, la plataforma de transcripción 381 identifica los porcentajes de aquellos recursos que ya han sido transcritos (o por el contrario localizados) y que residen en algún lugar en la plataforma 200. La plataforma de transcripción 381 también toma en cuenta requerimiento para someter los recursos a la transcripción por máquina a través del sistema 216, y también toma en cuenta los puntajes de confianza asociados con cada una de las transcripciones residentes en la plataforma 200. Estos aspectos se combinan para proveer un grado de reciclaje lo cual es una medida de que tan fácil el producto que está siendo producido será localizado en mercados que operan bajo diferentes lenguajes. La provisión del grado de reciclaje global, en operación, se indica por el bloque 512 es la Figura 6. Se observará el grado de reciclaje se puede utilizar en una amplia variedad de diferentes formas. Por ejemplo, si programador está solamente programando un componente de un sistema completo, el componente puede ser requerido para reunir un cierto umbral del grado de reciclaje antes de que se le permita registrarse. Similarmente, el grado de reciclaje puede ser indicativo del valor del producto dado de que tan probablemente es que el producto será introducido en otros mercados. Por supuesto, este grado de reciclaje se puede utilizar en una amplia variedad de otras formas también. Se deberá observar que el sistema puede calcular el grado de reciclaje para el código que no es desarrollado en la plataforma. El código puede simplemente ser provisto a la plataforma 200 y el comparador TM 210 puede calcular el grado de reciclaje para el código, como un todo, y devolverlo, según se desee. Esto se puede utilizar en la decisión de si lanzar un producto en los mercados o aún comprar derechos sobre el producto. La discusión ahora prosigue con respecto a la modalidad en donde el programador no está seleccionando recursos ya existentes. Asumiendo que el programador no desea seleccionar de recursos pre-producidos, el programador puede producir recursos o contenido original esto se indica por el bloque 514 en la Figura 6 en este caso, el programador simplemente produce una porción del contenido y la plataforma de asistencia 380 llama al comparador TM 210 para determinar un grado reciclaje para el contenido producido. Esto se indica por el bloque 516 en la Figura 6. El comparador TM 210 entonces accede sus fuentes de localización y devuelve un grado de reciclaje para el recurso o contenido recién producido. Esto se indica 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 el caso de reciclaje del producto bajo desarrollo, o alertar al autor de ciertas prácticas que pueden causar que la aplicación funcionen mal una vez que está localizada. La devolución de estos consejos prácticos se indica por el bloque 520 en la Figura 6. En una modalidad, estos consejos prácticos son provistos aún si la fuente del producto está siendo reutilizada. El hecho de que está siendo reutilizada puede, por supuesto, significar que alguna de las verificaciones ya ha sido llevada a cabo. Algunos ejemplos de prácticas que podrían afectar el grado de reciclaje o la función de la aplicación incluyen, por ejemplo, escribir cadenas largas. Las cadenas largas no solamente son difíciles de entender, sino que también son más difíciles de transcribir. Además el software presenta el riesgo de una sobrecarga de memoria que podría hacer que la aplicación fallé. Otras prácticas que pueden afectar el grado de reciclaje o la función de la aplicación incluyen el uso de caracteres especiales o el uso de gramática inapropiada o informal en la habilidad para traducir el texto. El comparador TM 210 de esta forma provee una interacción en tiempo real según el grado de reciclaje del código y los consejos prácticos. También, la plataforma 200 puede tomar ciertas acciones para reducir un efecto negativo de estas áreas de problema en el contenido bajo análisis. Estas acciones reducirán la probabilidad de que una aplicación falle después de experimentar la localización. La plataforma 200 puede alertar al usuario de que estas acciones de remedio serán tomadas. Un número de otros aspectos deberán observarse con respecto a la presente invención. Primero, ilustrativamente provee la automatización de tecla clave. La plataforma de transcripción 381 ilustrativamente rastrea las teclas clave que se despliegan en una Ul dad con el fin de evitar que dos funciones sean asignadas a la misma tecla en una Ul dada. La plataforma de transcripción 381 puede invocar secaron seleccionar una tecla clave automáticamente, o puede ser simplemente invocada para verificar y asegurar que hemos está llevando a cabo una duplicación de la tecla clave 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 aspectos están disponibles para el usuario simultáneamente para que así pueda evitar las repeticiones. Esta información está estrechamente relacionada con la necesaria , para convertir la información en la computadora del usuario. La presente invención también provee la validación y simulación de un entorno de tiempo de ejecución. Una vez que el programador ha producido el componente, el programador puede invocar una API en la plataforma de desarrollo 382 y la plataforma 200 simulará un entorno de tiempo de ejecución bajo el cual la localización es requerida. La simulación del tiempo de ejecución permite programador físicamente ver la exhibición en la pantalla de exhibición, después de que ha sido localizada. Esto permite el programador explorar errores, medir la apariencia estética de las pantallas y hacer los cambios, según sea deseado. La presente invención de esta forma mejora la habilidad de un programador para reutilizar contenido ya programado. Esto significativamente mejora el grado de reciclaje y la localización del producto. Además, la presente ¡nvención provee un sistema que inteligentemente combina el contenido localizado del sistema operativo, aplicaciones, la comunidad y terceros, y de la transcripción por máquina. El administrador de recursos carga los recursos de una aplicación devolviendo los recursos solicitados de acuerdo con el lenguaje necesario u otros criterios culturales o de mercado a partir de una variedad de almacenes de recursos o de datos (también referidos como componentes del contenido de localización). Además, la plataforma de localización puede utilizarse para proveer datos localizados a una amplia variedad de entidades solicitantes, tales, aplicaciones, navegadores, motores de búsqueda, cargadores de recursos, herramientas de producción, etcétera. También, al permitir que la comunidad y la comunidad en general sugieran alternativas de localización, la presente invención permite que la localización estándar de la comunidad sea definida, y, algunas veces, permite la localización dentro de algunos mercados muy pequeños. Por ejemplo, la presente invención permite a un usuario localizado una aplicación en idioma Inglés para Swahili. El usuario puede proveer esta localización de nuevo a la plataforma 200 como una transcripción sugerida de los varios recursos en la aplicación. Otros usuarios Sudafricanos pueden elegir confiar en este contenido localizado y descargarlo en Swahili, o localizarlo ellos mismos o modificar la localización y proveer su propia localización de nuevo a la plataforma 200. En esta forma, la aplicación se pone localizar y revisar y hacer disponible en un mercado en el cual por el contrario no se podría hacer debido al tamaño pequeño del mercado. En una modalidad, cuando una fuente de entrada 204 provee datos, el componente para la recolección de datos 205 también registra metadatos, tales como origen, utilización, información de contexto (tales como la versión del recurso), nivel de confianza, atributos, consejos prácticos para la traducción de máquina, etcétera. Otros datos se pueden recolectar y clasificar también. También, en una modalidad, solamente la fuente de captura 204 que provee datos puede cambiar esos datos. La presente invención no solamente provee la descarga de transcripciones de una comunidad, sino subirlas también. Además, las cadenas de origen se pueden subir/descargar en una forma similar. También se observará que compañías y comunidades terceras pueden agregar nuevas memorias de transcripción y de origen a la plataforma 200. En una modalidad ilustrativa, la plataforma 200 provee una página web o servicio web que habilita la visión de nuevos términos de recurso y sus metadatos. Los usuarios ilustrativamente se autentificaran por lo que la plataforma 200 puede determinar la fuente de cada artículo recién agregado. Además, la plataforma 200 ilustrativamente trabajará de acuerdo con un esquema publicado (tal como un esquema XML) que habilita al usuario para subir varias cadenas del mismo tiempo. Otra vez, el origen de cada cadena es conocido ya que cada operación puede requerir autentificación. Dichas cadenas de origen pueden ilustrativamente adicionarse con una o más transcripciones. La plataforma 200 opera similarmente con respecto a los términos en la base de datos de términos. También, de acuerdo con una modalidad, las comunidades son capaces de proveer transcripciones a las cadenas de origen en la plataforma 200. Cuando se editan las transcripciones, los metadatos presentes en la fuente están ilustrativamente disponibles para el "transcriptor" y los metadatos se imponen antes de aceptar la transcripción. Esto se puede hacer a través de una simple interfase web. Estas transcripciones se pueden utilizar mediante otras personas, si el usuario selecciona compartir sus transcripciones con la comunidad. La presente ¡nvención también ilustrativamente permite que la comunidad revise las transcripciones que ya existen en la plataforma 200. Esto permite a la fuente de las transcripciones determinar cuántas veces sus transcripciones han sido seleccionadas por otros usuarios. Esto habilitará a las fuentes de captura en la comunidad construir un nombre para ellos mismos con base en la calidad del trabajo, y esto conduce a que las fuentes de origen hagan un mejor trabajo y así convertirse en más valiosos en la comunidad. De acuerdo con aún otra modalidad de la presente invención, cuando un programador sube una aplicación para transcripción, el programador es provisto con una oportunidad para habilitar al usuario final para descargar sus propias versiones localizadas del producto. Si esa opción está habilitada, el usuario puede registrarse en la plataforma 200 y seleccionar qué lenguaje, motores y transcripciones utilizar con el fin de generar una versión personal del producto. Por ejemplo, el usuario puede preguntar por la versión "xyz" de un producto mientras especifica solamente coincidencias exactas de motores de transcripción utilizando las memorias de transcripción que la comunidad (o un usuario específico) ha aprobado. Este proceso puede ser periódicamente repetido para obtener un porcentaje más alto de transcripción de recursos. La plataforma 200 también puede proveer notificaciones a los usuarios a través de correo electrónico u otros servicios de alerta cuando las más transcripciones están disponibles. De acuerdo con otra modalidad, un tercero puede agregar un nuevo motor para la verificación de origen (o transcripción) a la plataforma 200. Como se discutió anteriormente, un programador puede someter una aplicación a la plataforma 200 para determinar si una aplicación es altamente localizable los terceros pueden escribir nuevos motores para soportar esto. Cuando un tercero programa un motor para que reúna el criterio para llevar a cabo la verificación de la fuente (por ejemplo, cuando ¡mplementa una interfase deseada), el tercero puede subirlo a la plataforma 200 y hacer un cargo los usuarios para descargarla del motor. Como con las otras partes de los procesos descritos con respecto a la presente invención, la firma y autentificación ilustrativamente se utilizan para asegurar que una fuente de motores conocida y el usuario ha decidido confiar en esa fuente. Los motores de transcripción se pueden agregar en una forma similar, pero muy ilustrativamente operan en el servidor incrementa la plataforma 200 con pasos tomados para asegurar el motor de la transcripción no corrompe ningún datos de transcripción ya existente. Además, la presente invención lleva cabo la globalización y las verificaciones lingüísticas para ayudar los autores. La presente invención también permite a la comunidad ayudar al autor. Por ejemplo, la comunidad puede preguntar por una cadena de origen en una caja de diálogo en un cierto dominio, en donde la cadena de origen puede ser fácilmente localizada. Esto ayuda al autor al principio de la producción del contenido altamente localizable. También se deberá observar que, mientras ciertas funciones se asignan a ciertos componentes en la modalidad escrita, esa necesidad no será el caso. La función se puede llevar a cabo a través de diferentes componentes y por lo tanto algunos componentes pueden ser eliminados, modificados o agregados, todos dentro del alcance de la presente invención. De esta forma se puede ver que la presente invención consolida los datos para la localización de localizaciones pasadas de una amplia variedad de productos y una amplia variedad de fuentes de captura. Más bien cada aplicación o producto que tiene su propia memoria de transcripciones, que no son accesibles para otros productos, la plataforma 200 hace esta información disponible, según se desee a través del programador usuario, para la subsiguiente localización de diferentes productos. Esto también cambia el proceso de localización de tal forma que los usuarios finales tienen acceso a un grado mucho más amplio de opciones para personalizar (localizar) su experiencia computadora. Esto también habilita la participación de la comunidad en el proceso. Como una consecuencia, la cadena de localización se convierte en un producto independiente, solamente enlazado al producto a través del contexto de la aplicación. Otras aplicaciones pueden acceder las cadenas localizadas en cualquier momento si el modelo confiable y el contexto de la aplicación lo permiten. Aunque la presente invención ha sido descrita con referencia modalidades particulares, los trabajadores con experiencia técnica reconocerán que se pueden hacer cambios en forma y detalle sin apartarse el espíritu y alcance de la invención.

Claims (20)

REIVINDICACIONES
1. Un sistema operativo, que comprende: una plataforma de localización que incluye un administrador de recursos configurado para cargar recursos de una aplicación dentro de un componente de memoria y responder a las solicitudes de recursos a partir del aplicación mediante la devolución de los recursos solicitados al aplicación; un componente de comparación; y una pluralidad componentes de contenido de localización, el componente de comparación estando configurado para recibir una solicitud de localización del administrador de recursos, buscar en una pluralidad de componentes de contenido de localización y obtener el contenido localizado, correspondiente a la solicitud de localización, de uno o más de una pluralidad de componentes de contenido de localización.
2. El sistema operativo de acuerdo con la reivindicación 1, en donde la plataforma de localización comprende: un componente para la recolección de datos configurado para recibir contenido de localización de una pluralidad de fuentes de entrada, y almacenar el contenido de localización en los componentes de contenido de localización.
3. El sistema operativo de acuerdo con la reivindicación 2, en donde el componente para la recolección de datos está configurado para almacenar por lo menos uno de los metadatos, e información de contexto, correspondiente al contenido de localización en los componentes de contenido de localización.
4. El sistema operativo de acuerdo con la reivindicación 2, en donde los componentes del contenido de localización comprenden: un almacén de datos local, local para el administrador de recursos; y un almacén de datos remotos, remoto para el administrador de recursos.
5. El sistema operativo de acuerdo con la reivindicación 1, en donde los componentes del contenido de localización comprenden: un servicio de datos de memoria de transcripción operablemente acoplado al componente de comparación y una pluralidad de almacenes de datos de contenido de localización, el servicio de datos de memoria de transcripción estando configurado para buscar en los almacenes de datos el contenido de localización para el contenido de localización.
6. El sistema operativo de acuerdo con la reivindicación 5, en donde el almacén de datos de contenido de localización incluye por lo menos uno de una base de término y una o más memorias de transcripción que almacenan transcripciones de términos o elementos IU comunes o ambos.
7. El sistema operativo de acuerdo con la reivindicación 1, en donde los componentes del contenido de localización comprenden: un sistema de transcripción de máquina que provee una transcripción en respuesta a una solicitud a través del componente de comparación.
8. El sistema operativo de acuerdo con la reivindicación 2, en donde el componente para la recolección de datos está configurado para recibir contenido de localización de la pluralidad de fuentes de entrada a través de una interfase de página web un servicio web.
9. El sistema operativo de acuerdo con la reivindicación 2, en donde el componente para la recolección de datos está configurado para permitir que una fuente de entrada modifique solamente el contenido de localización que es provisto a través del componente para la recolección de datos a través de aquella fuente de entrada.
10. El sistema operativo de acuerdo con la reivindicación 2, en donde el componente para la recolección de datos está configurado para recibir aplicaciones de las fuentes de entrada para la localización a través de la plataforma de localización.
11. El sistema operativo de acuerdo con la reivindicación 1, en donde la plataforma de localización está configurada para localizar por lo menos porciones de la aplicación en operaciones de fondo.
12. El sistema operativo de acuerdo con la reivindicación 1, en donde la plataforma de localización está configurada para localizar por lo menos porciones de la aplicación durante el establecimiento o configuración de la aplicación.
13. El sistema operativo de acuerdo con la reivindicación 1, en donde la plataforma de localización está configurada para localizar por lo menos porciones de la aplicación en el tiempo ejecución.
14. Una plataforma de localización, que comprende: una pluralidad de componentes de localización configurados para proveer datos están localizados para uno o más mercados diferentes; y un componente comparador configurado para recibir datos de captura que van a ser localizados para un mercado predeterminado, para acceder la pluralidad de componentes de localización, y para devolver los datos localizados correspondientes a los datos entrada con base en el acceso a la pluralidad componentes de localización.
15. La plataforma de localización de acuerdo con la reivindicación 14, en donde la pluralidad de componentes de localización y el componente comparador están integrados en un sistema operativo.
16. La plataforma de localización de acuerdo con la reivindicación 14, en donde la pluralidad de componentes de localización y el componente comparador están configurados para proveer los datos localizados como un servicio en respuesta a una llamada de un componente externo que comprende uno de una aplicación y un sistema operativo.
17. La plataforma de localización de acuerdo con la reivindicación 14 y que además comprende: un componente para la recolección de datos configurado para recibir los datos que están localizados para uno o más mercados a partir de una pluralidad de diferentes fuentes entrada y para proveerlos a los componentes de localización.
18. La plataforma de localización de acuerdo con la reivindicación 14, en donde los componentes de localización comprenden: un componente de servicios de datos accesible a través del componente comparador; y una pluralidad de almacenes de datos de localización, accesibles a través del componente de servicios de datos, que almacena los datos localizados para uno o más diferentes mercados.
19. La plataforma de localización de acuerdo con la reivindicación 18, en donde los componentes de localización comprenden: por lo menos un sistema de transcripción de máquina accesible a través del componente comparador y configurado para acceder el componente de servicios de datos.
20. La plataforma de localización de acuerdo con la reivindicación 14, en donde los datos que van a ser localizados comprenden una aplicación.
MXPA06002683A 2005-03-08 2006-03-08 Metodo y sistema para crear, almacenar, manejar y cosumir datos especificos de cultura. MXPA06002683A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US65961605P 2005-03-08 2005-03-08
US11/118,548 US7774195B2 (en) 2005-03-08 2005-04-29 Method and system for creating, storing, managing and consuming culture specific data

Publications (1)

Publication Number Publication Date
MXPA06002683A true MXPA06002683A (es) 2006-09-26

Family

ID=36293461

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06002683A MXPA06002683A (es) 2005-03-08 2006-03-08 Metodo y sistema para crear, almacenar, manejar y cosumir datos especificos de cultura.

Country Status (11)

Country Link
US (1) US7774195B2 (es)
EP (1) EP1701253A1 (es)
JP (1) JP5058499B2 (es)
KR (1) KR101311074B1 (es)
AU (1) AU2006200694B2 (es)
BR (1) BRPI0600777A (es)
CA (1) CA2538629A1 (es)
MX (1) MXPA06002683A (es)
MY (1) MY145379A (es)
RU (1) RU2412474C2 (es)
TW (1) TWI415003B (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698126B2 (en) 2005-03-08 2010-04-13 Microsoft Corporation Localization matching component
US20060206797A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Authorizing implementing application localization rules
US8219907B2 (en) * 2005-03-08 2012-07-10 Microsoft Corporation Resource authoring with re-usability score and suggested re-usable data
WO2007070558A2 (en) * 2005-12-12 2007-06-21 Meadan, Inc. Language translation using a hybrid network of human and machine translators
US8375362B1 (en) * 2006-11-28 2013-02-12 Emc Corporation Wizard for web service search adapter
US8069433B2 (en) * 2007-04-18 2011-11-29 Microsoft Corporation Multi-format centralized distribution of localized resources for multiple products
US20090094609A1 (en) * 2007-10-09 2009-04-09 Microsoft Corporation Dynamically providing a localized user interface language resource
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
US9710261B2 (en) * 2010-05-06 2017-07-18 Microsoft Technology Licensing, Llc Techniques to enhance software production
US20110289424A1 (en) * 2010-05-21 2011-11-24 Microsoft Corporation Secure application of custom resources in multi-tier systems
CN102480512B (zh) 2010-11-29 2015-08-12 国际商业机器公司 用于扩展服务器端处理能力的方法和装置
US9015030B2 (en) 2011-04-15 2015-04-21 International Business Machines Corporation Translating prompt and user input
US9195653B2 (en) * 2011-10-24 2015-11-24 Google Inc. Identification of in-context resources that are not fully localized
US8452814B1 (en) 2011-10-24 2013-05-28 Google Inc. Gathering context in action to support in-context localization
US20130174136A1 (en) * 2012-01-03 2013-07-04 International Business Machiness Corporation Detecting, Compiling, and Updating a New Locale Object in Real Time
US8769404B2 (en) 2012-01-03 2014-07-01 International Business Machines Corporation Rule-based locale definition generation for a new or customized locale support
US8893116B2 (en) * 2012-01-15 2014-11-18 Microsoft Corporation Installation engine and package format for parallelizable, reliable installations
US9128579B2 (en) * 2012-06-14 2015-09-08 Intuit Inc. Software localization through user contribution
US20140195220A1 (en) * 2013-01-07 2014-07-10 Unisys Corporation Method and system for internationalization of a computing device
US9430227B2 (en) 2013-06-13 2016-08-30 Intuit Inc. Automatic customization of a software application
US10102376B2 (en) 2016-08-22 2018-10-16 International Business Machines Corporation Implementing locale management on PaaS: locale replacement risk analysis
US9910666B1 (en) 2016-08-22 2018-03-06 International Business Machines Corporation Implementing locale management on PaaS: live locale object update
US11673059B2 (en) 2021-05-18 2023-06-13 Roblox Corporation Automatic presentation of suitable content
US11861332B2 (en) * 2021-08-24 2024-01-02 Microstrategy Incorporated String localization for universal use

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2136038C1 (ru) * 1992-09-04 1999-08-27 Катерпиллар Инк. Компьютерная система и способ подготовки текста на исходном языке и перевода на иностранные языки
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
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
US5671378A (en) * 1995-03-31 1997-09-23 International Business Machines Corporation Method and system for sizing of graphical user interface objects for localization
US5903859A (en) * 1996-03-27 1999-05-11 Dell Usa, L.P. Dynamic multi-lingual software module system
AU3477397A (en) * 1996-06-04 1998-01-05 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
US6035121A (en) * 1997-07-07 2000-03-07 Netscape Communication Corporation Method and system for localizing a computer program
US6098033A (en) 1997-07-31 2000-08-01 Microsoft Corporation Determining similarity between words
US6078878A (en) 1997-07-31 2000-06-20 Microsoft Corporation Bootstrapping sense characterizations of occurrences of polysemous words
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
CA2349191A1 (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
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
WO2002031736A2 (en) * 2000-10-13 2002-04-18 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
US6944846B2 (en) * 2001-12-14 2005-09-13 Hewlett-Packard Development Company, L.P. Algorithm for localization of a JAVA application using reflection API and a custom class loader
EP1483687A4 (en) * 2002-03-11 2008-08-06 Univ Southern California TRANSLATION OF CALLED ENTITIES
US7110937B1 (en) * 2002-06-20 2006-09-19 Siebel Systems, Inc. Translation leveraging
US7596777B2 (en) * 2002-06-25 2009-09-29 Siebel Systems, Inc. Method and apparatus to control translatable properties of metadata
US7194413B2 (en) 2002-07-31 2007-03-20 Deere & Company Method of providing localized information from a single global transformation source
GB2392600A (en) 2002-09-04 2004-03-10 Cnh Belgium Nv Cutting platform for a combine harvester
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
TW200421130A (en) * 2003-04-10 2004-10-16 Ching-Shyang Hwang System and method for customized Web-ADC service
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
JP5058499B2 (ja) 2012-10-24
US20060206871A1 (en) 2006-09-14
AU2006200694B2 (en) 2010-11-11
RU2412474C2 (ru) 2011-02-20
BRPI0600777A (pt) 2006-11-14
US7774195B2 (en) 2010-08-10
KR101311074B1 (ko) 2013-09-25
TW200703114A (en) 2007-01-16
CA2538629A1 (en) 2006-09-08
RU2006107184A (ru) 2007-09-27
KR20060096945A (ko) 2006-09-13
EP1701253A1 (en) 2006-09-13
AU2006200694A1 (en) 2006-09-28
JP2006260558A (ja) 2006-09-28
TWI415003B (zh) 2013-11-11
MY145379A (en) 2012-01-31

Similar Documents

Publication Publication Date Title
MXPA06002683A (es) Metodo y sistema para crear, almacenar, manejar y cosumir datos especificos de cultura.
US7698126B2 (en) Localization matching component
US7653528B2 (en) Resource authoring incorporating ontology
US8219907B2 (en) Resource authoring with re-usability score and suggested re-usable data
EP1701255B1 (en) Authoring implementing application localization rules
US7634720B2 (en) System and method for providing context to an input method
US20060090154A1 (en) System and method for contributing remote object content to an integrated development environment type-ahead
US7657869B2 (en) Integration of external tools into an existing design environment
Layka et al. Play with java and scala

Legal Events

Date Code Title Description
FG Grant or registration